[Home] [Help]
PACKAGE BODY: APPS.XLA_00200_AAD_S_000020_PKG
Source
1 PACKAGE BODY XLA_00200_AAD_S_000020_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_000020_PKG |
10 | |
11 | DESCRIPTION |
12 | Package generated From Product Accounting Definition |
13 | Name : China Accrual Basis |
14 | Code : JA_CN_ACCRUAL |
15 | Owner : PRODUCT |
16 | Version : |
17 | AMB Context Code: DEFAULT |
18 | HISTORY |
19 | Generated at 30-03-2009 at 06:03:13 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_000020_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_000020_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_000020_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_000020_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
307 WHEN xla_exceptions_pkg.application_exception THEN
304 ,p_module => l_log_module);
305 END IF;
306 RAISE;
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);
313 END IF;
314 RAISE;
315 WHEN OTHERS THEN
316 xla_exceptions_pkg.raise_message
317 (p_location => 'XLA_00200_AAD_S_000020_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
443 l_source := SUBSTR(p_source_6,1,1996);
440 l_description := SUBSTR(CONCAT(l_description,'Document Sequence Name:'),1,2000);
441 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
442 END IF;
444 IF l_source IS NOT NULL THEN
445 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
446 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
447 END IF;
448 IF
449 l_ledger_language = 'US' THEN
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
572 END IF;
569 (p_msg => 'ERROR: '||sqlerrm
570 ,p_level => C_LEVEL_EXCEPTION
571 ,p_module => l_log_module);
573 RAISE;
574 WHEN xla_exceptions_pkg.application_exception THEN
575 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
576 trace
577 (p_msg => 'ERROR: '||sqlerrm
578 ,p_level => C_LEVEL_EXCEPTION
579 ,p_module => l_log_module);
580 END IF;
581 RAISE;
582 WHEN OTHERS THEN
583 xla_exceptions_pkg.raise_message
584 (p_location => 'XLA_00200_AAD_S_000020_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);
710 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
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,
711 IF l_source IS NOT NULL THEN
712 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
713 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
714 END IF;
715 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'
836 END IF;
833 ,p_level => C_LEVEL_PROCEDURE
834 ,p_module => l_log_module);
835
837 RETURN l_description;
838
839 END IF;
840 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
841 trace
842 (p_msg => 'END of Description_3'
843 ,p_level => C_LEVEL_PROCEDURE
844 ,p_module => l_log_module);
845 END IF;
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_000020_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(
980 ,p_token_3 => 'PAD_NAME'
977 'XLA_OWNER_TYPE'
978 ,l_component_type_code
979 )
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(
984 'XLA_OWNER_TYPE'
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_000020_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 )
1111 ,l_component_type_code
1108 ,p_token_2 => 'OWNER'
1109 ,p_value_2 => xla_lookups_pkg.get_meaning(
1110 'XLA_OWNER_TYPE'
1112 )
1113 ,p_token_3 => 'PAD_NAME'
1114 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_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_000020_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'
1236 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1233 ,l_component_type_code
1234 )
1235 ,p_token_3 => 'PAD_NAME'
1237 ,p_token_4 => 'PAD_OWNER'
1238 ,p_value_4 => xla_lookups_pkg.get_meaning(
1239 'XLA_OWNER_TYPE'
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_000020_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
1369 ,p_value_2 => xla_lookups_pkg.get_meaning(
1366 , l_amb_context_code
1367 )
1368 ,p_token_2 => 'OWNER'
1370 'XLA_OWNER_TYPE'
1371 ,l_component_type_code
1372 )
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_000020_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
1506
1503 RETURN '#$NO_OVERRIDE#$';
1504 END IF;
1505 END IF;
1507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1508
1509 trace
1510 (p_msg => 'END of AcctDerRule_8(invalid)'
1511 ,p_level => C_LEVEL_PROCEDURE
1512 ,p_module => l_log_module);
1513
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_000020_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'
1632 END IF;
1629 ,p_level => C_LEVEL_PROCEDURE
1630 ,p_module => l_log_module);
1631
1633 x_value_combination_id := TO_NUMBER(p_source_20) ;
1634 x_value_segment_code := 'GL_ACCOUNT' ;
1635 x_value_type_code := 'S';
1636 l_output_value := null;
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_000020_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;
1755
1752 x_accounting_coa_id := null;
1753 x_flexfield_segment_code := 'GL_ACCOUNT';
1754 x_flex_value_set_id := null ;
1756
1757 IF NVL(p_source_15,'
1758 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1759 NVL(p_source_22,'
1760 ') = 'INVENTORY'
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_000020_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
1884 ,p_module => l_log_module);
1881 trace
1882 (p_msg => 'BEGIN of AcctDerRule_11'
1883 ,p_level => C_LEVEL_PROCEDURE
1885
1886 END IF;
1887
1888 l_component_type := 'AMB_ADR';
1889 l_component_code := 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG';
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'
2025 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2022 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2023 )
2024 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2026 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_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_000020_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
2154 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2151 ,p_token_4 => 'PAD_OWNER'
2152 ,p_value_4 => xla_lookups_pkg.get_meaning(
2153 'XLA_OWNER_TYPE'
2155 )
2156 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
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_000020_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 )
2288 ,l_component_type_code
2285 ,p_token_2 => 'OWNER'
2286 ,p_value_2 => xla_lookups_pkg.get_meaning(
2287 'XLA_OWNER_TYPE'
2289 )
2290 ,p_token_3 => 'PAD_NAME'
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_000020_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 )
2421 ,l_component_type_code
2418 ,p_token_2 => 'OWNER'
2419 ,p_value_2 => xla_lookups_pkg.get_meaning(
2420 'XLA_OWNER_TYPE'
2422 )
2423 ,p_token_3 => 'PAD_NAME'
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_000020_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'
2546 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2543 ,l_component_type_code
2544 )
2545 ,p_token_3 => 'PAD_NAME'
2547 ,p_token_4 => 'PAD_OWNER'
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_000020_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_000020_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_000020_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
2942
2939 RETURN '#$NO_OVERRIDE#$';
2940 END IF;
2941 END IF;
2943 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
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_000020_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_000020_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_000020_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_000020_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_000020_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';
3567 x_flex_value_set_id := null ;
3571 ') = 'BALANCING_SEGMENT' AND
3568
3569
3570 IF NVL(p_source_15,'
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_000020_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';
3696 l_component_type_code := 'S';
3700 x_accounting_coa_id := null;
3697 l_component_appl_id := 200;
3698 l_amb_context_code := 'DEFAULT';
3699 x_transaction_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_000020_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
3823 ,p_module => l_log_module);
3824
3828 l_component_code := 'AP_WH_RELATED_DIST_BAL_SEG';
3825 END IF;
3826
3827 l_component_type := 'AMB_ADR';
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_000020_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
3952 ,p_module => l_log_module);
3953 END IF;
3957 l_component_type_code := 'S';
3954 --
3955 l_component_type := 'AMB_ADR';
3956 l_component_code := 'AP_BANK_CHARGES';
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_000020_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
4079 ,p_module => l_log_module);
4080 END IF;
4084 l_component_type_code := 'S';
4081 --
4082 l_component_type := 'AMB_ADR';
4083 l_component_code := 'AP_BANK_ERRORS';
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_000020_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';
4207 l_component_appl_id := 200;
4208 l_amb_context_code := 'DEFAULT';
4212
4209 x_transaction_coa_id := null;
4210 x_accounting_coa_id := null;
4211 --
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_000020_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;
4332 --
4333
4337 ') <> 'ACCOUNT_SEGMENT_VALUE'
4334 IF NVL(p_source_19,'
4335 ') = 'SYSTEM' AND
4336 NVL(p_source_15,'
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 --
4504 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4505 trace
4509 END IF;
4506 (p_msg => 'END of AcctDerRule_29(invalid)'
4507 ,p_level => C_LEVEL_PROCEDURE
4508 ,p_module => l_log_module);
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_000020_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;
4625 x_value_type_code := 'S';
4629 ELSIF NVL(p_source_22,'
4626 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4627 RETURN l_output_value;
4628
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_000020_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) ;
4755 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_31';
4752 l_output_value NUMBER ;
4753 BEGIN
4754 IF g_log_enabled THEN
4756 END IF;
4757 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4758 trace
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 )
4887 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4891 );
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
4890 ,p_ae_header_id => NULL
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_000020_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_000020_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_000020_PKG.AcctDerRule_33');
5129 END AcctDerRule_33;
5130 --
5131
5132 ---------------------------------------
5133 --
5134 -- PRIVATE FUNCTION
5138 FUNCTION AcctDerRule_34 (
5135 -- AcctDerRule_34
5136 --
5137 ---------------------------------------
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_000020_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 --Bank Cash Clearing Account
5247 , p_source_35 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_PMT_CASH_CLEAR';
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_35));
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_000020_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 --Invoice Distribution Account
5351 , p_source_30 IN NUMBER
5352 --Prepaid Expense Account Source Option
5353 , p_source_31 IN VARCHAR2
5354 , p_source_31_meaning IN VARCHAR2
5355 --Purchase Order Number
5356 , p_source_32 IN VARCHAR2
5357 --Invoice Distribution Type
5358 , p_source_33 IN VARCHAR2
5359 , p_source_33_meaning IN VARCHAR2
5360 --Purchase Order Charge Account
5361 , p_source_45 IN NUMBER
5362 , x_transaction_coa_id OUT NOCOPY NUMBER
5363 , x_accounting_coa_id OUT NOCOPY NUMBER
5364 , x_value_type_code OUT NOCOPY VARCHAR2
5365 )
5366 RETURN NUMBER
5367 IS
5368 l_component_type VARCHAR2(80) ;
5369 l_component_code VARCHAR2(30) ;
5370 l_component_type_code VARCHAR2(1) ;
5371 l_component_appl_id INTEGER ;
5372 l_amb_context_code VARCHAR2(30) ;
5373 l_log_module VARCHAR2(240) ;
5374 l_output_value NUMBER ;
5375 BEGIN
5376 IF g_log_enabled THEN
5377 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_36';
5378 END IF;
5379 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5380 trace
5381 (p_msg => 'BEGIN of AcctDerRule_36'
5382 ,p_level => C_LEVEL_PROCEDURE
5383 ,p_module => l_log_module);
5384 END IF;
5385 --
5386 l_component_type := 'AMB_ADR';
5390 l_amb_context_code := 'DEFAULT';
5387 l_component_code := 'AP_PREPAY_INVOICE_DIST';
5388 l_component_type_code := 'S';
5389 l_component_appl_id := 200;
5391 x_transaction_coa_id := null;
5392 x_accounting_coa_id := null;
5393 --
5394
5395 IF NVL(p_source_31,'
5396 ') <> 'Y' OR
5397 (NVL(p_source_31,'
5398 ') = 'Y' AND
5399 p_source_32 IS NULL )
5400 THEN
5401 --
5402 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5403 trace
5404 (p_msg => 'END of AcctDerRule_36'
5405 ,p_level => C_LEVEL_PROCEDURE
5406 ,p_module => l_log_module);
5407 END IF;
5408 x_value_type_code := 'S';
5409 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5410 RETURN l_output_value;
5411
5412 ELSIF NVL(p_source_31,'
5413 ') = 'Y' AND
5414 p_source_32 IS NOT NULL AND
5415 NVL(p_source_33,'
5416 ') = 'ITEM'
5417 THEN
5418 --
5419 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5420 trace
5421 (p_msg => 'END of AcctDerRule_36'
5422 ,p_level => C_LEVEL_PROCEDURE
5423 ,p_module => l_log_module);
5424 END IF;
5425 x_value_type_code := 'S';
5426 l_output_value := TO_NUMBER(TO_NUMBER(p_source_45));
5427 RETURN l_output_value;
5428
5429 END IF;
5430 --
5431 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5432 trace
5433 (p_msg => 'END of AcctDerRule_36(invalid)'
5434 ,p_level => C_LEVEL_PROCEDURE
5435 ,p_module => l_log_module);
5436 END IF;
5437 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5438 x_value_type_code := null;
5439 l_output_value := null;
5440 xla_accounting_err_pkg.build_message
5441 (p_appli_s_name => 'XLA'
5442 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5443 ,p_token_1 => 'COMPONENT_NAME'
5444 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5445 l_component_type
5446 , l_component_code
5447 , l_component_type_code
5448 , l_component_appl_id
5449 , l_amb_context_code
5450 )
5451 ,p_token_2 => 'OWNER'
5452 ,p_value_2 => xla_lookups_pkg.get_meaning(
5453 'XLA_OWNER_TYPE'
5454 ,l_component_type_code
5455 )
5456 ,p_token_3 => 'PAD_NAME'
5457 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5458 ,p_token_4 => 'PAD_OWNER'
5459 ,p_value_4 => xla_lookups_pkg.get_meaning(
5460 'XLA_OWNER_TYPE'
5461 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5462 )
5463 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5464 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5465 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5466 ,p_ae_header_id => NULL
5467 );
5468 RETURN l_output_value;
5469 EXCEPTION
5470 WHEN xla_exceptions_pkg.application_exception THEN
5471 RAISE;
5472 WHEN OTHERS THEN
5473 xla_exceptions_pkg.raise_message
5474 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_36');
5475 END AcctDerRule_36;
5476 --
5477
5478 ---------------------------------------
5479 --
5480 -- PRIVATE FUNCTION
5481 -- AcctDerRule_37
5482 --
5483 ---------------------------------------
5484 FUNCTION AcctDerRule_37 (
5485 p_application_id IN NUMBER
5486 , p_ae_header_id IN NUMBER
5487 , p_side IN VARCHAR2
5488 --Automatic Offsets Value
5489 , p_source_15 IN VARCHAR2
5490 , p_source_15_meaning IN VARCHAR2
5491 --Invoice Distribution Account
5492 , p_source_30 IN NUMBER
5493 --Internal Realized Gain Account
5494 , p_source_36 IN NUMBER
5495 --Bank Gain Account
5496 , p_source_37 IN NUMBER
5497 , x_transaction_coa_id OUT NOCOPY NUMBER
5498 , x_accounting_coa_id OUT NOCOPY NUMBER
5499 , x_value_type_code OUT NOCOPY VARCHAR2
5500 )
5501 RETURN NUMBER
5502 IS
5503 l_component_type VARCHAR2(80) ;
5504 l_component_code VARCHAR2(30) ;
5505 l_component_type_code VARCHAR2(1) ;
5506 l_component_appl_id INTEGER ;
5507 l_amb_context_code VARCHAR2(30) ;
5508 l_log_module VARCHAR2(240) ;
5509 l_output_value NUMBER ;
5510 BEGIN
5511 IF g_log_enabled THEN
5512 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_37';
5513 END IF;
5514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5515 trace
5516 (p_msg => 'BEGIN of AcctDerRule_37'
5517 ,p_level => C_LEVEL_PROCEDURE
5518 ,p_module => l_log_module);
5519 END IF;
5520 --
5524 l_component_appl_id := 200;
5521 l_component_type := 'AMB_ADR';
5522 l_component_code := 'AP_REAL_GAIN';
5523 l_component_type_code := 'S';
5525 l_amb_context_code := 'DEFAULT';
5526 x_transaction_coa_id := null;
5527 x_accounting_coa_id := null;
5528 --
5529
5530 IF NVL(p_source_15,'
5531 ') <> 'ACCOUNT_SEGMENT_VALUE'
5532 THEN
5533 --
5534 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5535 trace
5536 (p_msg => 'END of AcctDerRule_37'
5537 ,p_level => C_LEVEL_PROCEDURE
5538 ,p_module => l_log_module);
5539 END IF;
5540 x_value_type_code := 'S';
5541 l_output_value := TO_NUMBER(TO_NUMBER(p_source_36));
5542 RETURN l_output_value;
5543
5544 ELSIF NVL(p_source_15,'
5545 ') <> 'ACCOUNT_SEGMENT_VALUE'
5546 THEN
5547 --
5548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5549 trace
5550 (p_msg => 'END of AcctDerRule_37'
5551 ,p_level => C_LEVEL_PROCEDURE
5552 ,p_module => l_log_module);
5553 END IF;
5554 x_value_type_code := 'S';
5555 l_output_value := TO_NUMBER(TO_NUMBER(p_source_37));
5556 RETURN l_output_value;
5557
5558 ELSIF NVL(p_source_15,'
5559 ') = 'ACCOUNT_SEGMENT_VALUE'
5560 THEN
5561 --
5562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5563 trace
5564 (p_msg => 'END of AcctDerRule_37'
5565 ,p_level => C_LEVEL_PROCEDURE
5566 ,p_module => l_log_module);
5567 END IF;
5568 x_value_type_code := 'S';
5569 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5570 RETURN l_output_value;
5571
5572 END IF;
5573 --
5574 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5575 trace
5576 (p_msg => 'END of AcctDerRule_37(invalid)'
5577 ,p_level => C_LEVEL_PROCEDURE
5578 ,p_module => l_log_module);
5579 END IF;
5580 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5581 x_value_type_code := null;
5582 l_output_value := null;
5583 xla_accounting_err_pkg.build_message
5584 (p_appli_s_name => 'XLA'
5585 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5586 ,p_token_1 => 'COMPONENT_NAME'
5587 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5588 l_component_type
5589 , l_component_code
5590 , l_component_type_code
5591 , l_component_appl_id
5592 , l_amb_context_code
5593 )
5594 ,p_token_2 => 'OWNER'
5595 ,p_value_2 => xla_lookups_pkg.get_meaning(
5596 'XLA_OWNER_TYPE'
5597 ,l_component_type_code
5598 )
5599 ,p_token_3 => 'PAD_NAME'
5600 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5601 ,p_token_4 => 'PAD_OWNER'
5602 ,p_value_4 => xla_lookups_pkg.get_meaning(
5603 'XLA_OWNER_TYPE'
5604 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5605 )
5606 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5607 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5608 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5609 ,p_ae_header_id => NULL
5610 );
5611 RETURN l_output_value;
5612 EXCEPTION
5613 WHEN xla_exceptions_pkg.application_exception THEN
5614 RAISE;
5615 WHEN OTHERS THEN
5616 xla_exceptions_pkg.raise_message
5617 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_37');
5618 END AcctDerRule_37;
5619 --
5620
5621 ---------------------------------------
5622 --
5623 -- PRIVATE FUNCTION
5624 -- AcctDerRule_38
5625 --
5626 ---------------------------------------
5627 FUNCTION AcctDerRule_38 (
5628 p_application_id IN NUMBER
5629 , p_ae_header_id IN NUMBER
5630 , p_side IN VARCHAR2
5631 --Automatic Offsets Value
5632 , p_source_15 IN VARCHAR2
5633 , p_source_15_meaning IN VARCHAR2
5634 --Invoice Distribution Account
5635 , p_source_30 IN NUMBER
5636 --Internal Realized Loss Account
5637 , p_source_38 IN NUMBER
5638 --Bank Loss Account
5639 , p_source_39 IN NUMBER
5640 , x_transaction_coa_id OUT NOCOPY NUMBER
5641 , x_accounting_coa_id OUT NOCOPY NUMBER
5642 , x_value_type_code OUT NOCOPY VARCHAR2
5643 )
5644 RETURN NUMBER
5645 IS
5646 l_component_type VARCHAR2(80) ;
5647 l_component_code VARCHAR2(30) ;
5648 l_component_type_code VARCHAR2(1) ;
5652 l_output_value NUMBER ;
5649 l_component_appl_id INTEGER ;
5650 l_amb_context_code VARCHAR2(30) ;
5651 l_log_module VARCHAR2(240) ;
5653 BEGIN
5654 IF g_log_enabled THEN
5655 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_38';
5656 END IF;
5657 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5658 trace
5659 (p_msg => 'BEGIN of AcctDerRule_38'
5660 ,p_level => C_LEVEL_PROCEDURE
5661 ,p_module => l_log_module);
5662 END IF;
5663 --
5664 l_component_type := 'AMB_ADR';
5665 l_component_code := 'AP_REAL_LOSS';
5666 l_component_type_code := 'S';
5667 l_component_appl_id := 200;
5668 l_amb_context_code := 'DEFAULT';
5669 x_transaction_coa_id := null;
5670 x_accounting_coa_id := null;
5671 --
5672
5673 IF NVL(p_source_15,'
5674 ') <> 'ACCOUNT_SEGMENT_VALUE'
5675 THEN
5676 --
5677 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5678 trace
5679 (p_msg => 'END of AcctDerRule_38'
5680 ,p_level => C_LEVEL_PROCEDURE
5681 ,p_module => l_log_module);
5682 END IF;
5683 x_value_type_code := 'S';
5684 l_output_value := TO_NUMBER(TO_NUMBER(p_source_38));
5685 RETURN l_output_value;
5686
5687 ELSIF NVL(p_source_15,'
5688 ') <> 'ACCOUNT_SEGMENT_VALUE'
5689 THEN
5690 --
5691 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5692 trace
5693 (p_msg => 'END of AcctDerRule_38'
5694 ,p_level => C_LEVEL_PROCEDURE
5695 ,p_module => l_log_module);
5696 END IF;
5697 x_value_type_code := 'S';
5698 l_output_value := TO_NUMBER(TO_NUMBER(p_source_39));
5699 RETURN l_output_value;
5700
5701 ELSIF NVL(p_source_15,'
5702 ') = 'ACCOUNT_SEGMENT_VALUE'
5703 THEN
5704 --
5705 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5706 trace
5707 (p_msg => 'END of AcctDerRule_38'
5708 ,p_level => C_LEVEL_PROCEDURE
5709 ,p_module => l_log_module);
5710 END IF;
5711 x_value_type_code := 'S';
5712 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5713 RETURN l_output_value;
5714
5715 END IF;
5716 --
5717 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5718 trace
5719 (p_msg => 'END of AcctDerRule_38(invalid)'
5720 ,p_level => C_LEVEL_PROCEDURE
5721 ,p_module => l_log_module);
5722 END IF;
5723 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5724 x_value_type_code := null;
5725 l_output_value := null;
5726 xla_accounting_err_pkg.build_message
5727 (p_appli_s_name => 'XLA'
5728 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5729 ,p_token_1 => 'COMPONENT_NAME'
5730 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5731 l_component_type
5732 , l_component_code
5733 , l_component_type_code
5734 , l_component_appl_id
5735 , l_amb_context_code
5736 )
5737 ,p_token_2 => 'OWNER'
5738 ,p_value_2 => xla_lookups_pkg.get_meaning(
5739 'XLA_OWNER_TYPE'
5740 ,l_component_type_code
5741 )
5742 ,p_token_3 => 'PAD_NAME'
5743 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5744 ,p_token_4 => 'PAD_OWNER'
5745 ,p_value_4 => xla_lookups_pkg.get_meaning(
5746 'XLA_OWNER_TYPE'
5747 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5748 )
5749 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5750 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5751 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5752 ,p_ae_header_id => NULL
5753 );
5754 RETURN l_output_value;
5755 EXCEPTION
5756 WHEN xla_exceptions_pkg.application_exception THEN
5757 RAISE;
5758 WHEN OTHERS THEN
5759 xla_exceptions_pkg.raise_message
5760 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_38');
5761 END AcctDerRule_38;
5762 --
5763
5764 ---------------------------------------
5765 --
5766 -- PRIVATE FUNCTION
5767 -- AcctDerRule_39
5768 --
5769 ---------------------------------------
5770 FUNCTION AcctDerRule_39 (
5771 p_application_id IN NUMBER
5772 , p_ae_header_id IN NUMBER
5773 , p_side IN VARCHAR2
5774 --Automatic Offsets Value
5775 , p_source_15 IN VARCHAR2
5776 , p_source_15_meaning IN VARCHAR2
5777 --Invoice Distribution Account
5778 , p_source_30 IN NUMBER
5782 , x_accounting_coa_id OUT NOCOPY NUMBER
5779 --Retainage Related Item Distribution Account
5780 , p_source_42 IN NUMBER
5781 , x_transaction_coa_id OUT NOCOPY NUMBER
5783 , x_value_type_code OUT NOCOPY VARCHAR2
5784 )
5785 RETURN NUMBER
5786 IS
5787 l_component_type VARCHAR2(80) ;
5788 l_component_code VARCHAR2(30) ;
5789 l_component_type_code VARCHAR2(1) ;
5790 l_component_appl_id INTEGER ;
5791 l_amb_context_code VARCHAR2(30) ;
5792 l_log_module VARCHAR2(240) ;
5793 l_output_value NUMBER ;
5794 BEGIN
5795 IF g_log_enabled THEN
5796 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_39';
5797 END IF;
5798 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5799 trace
5800 (p_msg => 'BEGIN of AcctDerRule_39'
5801 ,p_level => C_LEVEL_PROCEDURE
5802 ,p_module => l_log_module);
5803 END IF;
5804 --
5805 l_component_type := 'AMB_ADR';
5806 l_component_code := 'AP_RETAINAGE';
5807 l_component_type_code := 'S';
5808 l_component_appl_id := 200;
5809 l_amb_context_code := 'DEFAULT';
5810 x_transaction_coa_id := null;
5811 x_accounting_coa_id := null;
5812 --
5813
5814 IF NVL(p_source_15,'
5815 ') <> 'ACCOUNT_SEGMENT_VALUE'
5816 THEN
5817 --
5818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5819 trace
5820 (p_msg => 'END of AcctDerRule_39'
5821 ,p_level => C_LEVEL_PROCEDURE
5822 ,p_module => l_log_module);
5823 END IF;
5824 x_value_type_code := 'S';
5825 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5826 RETURN l_output_value;
5827
5828 ELSIF NVL(p_source_15,'
5829 ') = 'ACCOUNT_SEGMENT_VALUE'
5830 THEN
5831 --
5832 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5833 trace
5834 (p_msg => 'END of AcctDerRule_39'
5835 ,p_level => C_LEVEL_PROCEDURE
5836 ,p_module => l_log_module);
5837 END IF;
5838 x_value_type_code := 'S';
5839 l_output_value := TO_NUMBER(TO_NUMBER(p_source_42));
5840 RETURN l_output_value;
5841
5842 END IF;
5843 --
5844 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5845 trace
5846 (p_msg => 'END of AcctDerRule_39(invalid)'
5847 ,p_level => C_LEVEL_PROCEDURE
5848 ,p_module => l_log_module);
5849 END IF;
5850 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5851 x_value_type_code := null;
5852 l_output_value := null;
5853 xla_accounting_err_pkg.build_message
5854 (p_appli_s_name => 'XLA'
5855 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5856 ,p_token_1 => 'COMPONENT_NAME'
5857 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5858 l_component_type
5859 , l_component_code
5860 , l_component_type_code
5861 , l_component_appl_id
5862 , l_amb_context_code
5863 )
5864 ,p_token_2 => 'OWNER'
5865 ,p_value_2 => xla_lookups_pkg.get_meaning(
5866 'XLA_OWNER_TYPE'
5867 ,l_component_type_code
5868 )
5869 ,p_token_3 => 'PAD_NAME'
5870 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5871 ,p_token_4 => 'PAD_OWNER'
5872 ,p_value_4 => xla_lookups_pkg.get_meaning(
5873 'XLA_OWNER_TYPE'
5874 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5875 )
5876 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5877 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5878 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5879 ,p_ae_header_id => NULL
5880 );
5881 RETURN l_output_value;
5882 EXCEPTION
5883 WHEN xla_exceptions_pkg.application_exception THEN
5884 RAISE;
5885 WHEN OTHERS THEN
5886 xla_exceptions_pkg.raise_message
5887 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_39');
5888 END AcctDerRule_39;
5889 --
5890
5891 ---------------------------------------
5892 --
5893 -- PRIVATE FUNCTION
5894 -- AcctDerRule_40
5895 --
5896 ---------------------------------------
5897 FUNCTION AcctDerRule_40 (
5898 p_application_id IN NUMBER
5899 , p_ae_header_id IN NUMBER
5900 , p_side IN VARCHAR2
5901 --Automatic Offsets Value
5902 , p_source_15 IN VARCHAR2
5903 , p_source_15_meaning IN VARCHAR2
5904 --Invoice Distribution Account
5908 , x_transaction_coa_id OUT NOCOPY NUMBER
5905 , p_source_30 IN NUMBER
5906 --Payables Options Rounding Account
5907 , p_source_48 IN NUMBER
5909 , x_accounting_coa_id OUT NOCOPY NUMBER
5910 , x_value_type_code OUT NOCOPY VARCHAR2
5911 )
5912 RETURN NUMBER
5913 IS
5914 l_component_type VARCHAR2(80) ;
5915 l_component_code VARCHAR2(30) ;
5916 l_component_type_code VARCHAR2(1) ;
5917 l_component_appl_id INTEGER ;
5918 l_amb_context_code VARCHAR2(30) ;
5919 l_log_module VARCHAR2(240) ;
5920 l_output_value NUMBER ;
5921 BEGIN
5922 IF g_log_enabled THEN
5923 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_40';
5924 END IF;
5925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5926 trace
5927 (p_msg => 'BEGIN of AcctDerRule_40'
5928 ,p_level => C_LEVEL_PROCEDURE
5929 ,p_module => l_log_module);
5930 END IF;
5931 --
5932 l_component_type := 'AMB_ADR';
5933 l_component_code := 'AP_ROUNDING';
5934 l_component_type_code := 'S';
5935 l_component_appl_id := 200;
5936 l_amb_context_code := 'DEFAULT';
5937 x_transaction_coa_id := null;
5938 x_accounting_coa_id := null;
5939 --
5940
5941 IF NVL(p_source_15,'
5942 ') <> 'ACCOUNT_SEGMENT_VALUE'
5943 THEN
5944 --
5945 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5946 trace
5947 (p_msg => 'END of AcctDerRule_40'
5948 ,p_level => C_LEVEL_PROCEDURE
5949 ,p_module => l_log_module);
5950 END IF;
5951 x_value_type_code := 'S';
5952 l_output_value := TO_NUMBER(TO_NUMBER(p_source_48));
5953 RETURN l_output_value;
5954
5955 ELSIF NVL(p_source_15,'
5956 ') = 'ACCOUNT_SEGMENT_VALUE'
5957 THEN
5958 --
5959 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5960 trace
5961 (p_msg => 'END of AcctDerRule_40'
5962 ,p_level => C_LEVEL_PROCEDURE
5963 ,p_module => l_log_module);
5964 END IF;
5965 x_value_type_code := 'S';
5966 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5967 RETURN l_output_value;
5968
5969 END IF;
5970 --
5971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5972 trace
5973 (p_msg => 'END of AcctDerRule_40(invalid)'
5974 ,p_level => C_LEVEL_PROCEDURE
5975 ,p_module => l_log_module);
5976 END IF;
5977 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5978 x_value_type_code := null;
5979 l_output_value := null;
5980 xla_accounting_err_pkg.build_message
5981 (p_appli_s_name => 'XLA'
5982 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5983 ,p_token_1 => 'COMPONENT_NAME'
5984 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5985 l_component_type
5986 , l_component_code
5987 , l_component_type_code
5988 , l_component_appl_id
5989 , l_amb_context_code
5990 )
5991 ,p_token_2 => 'OWNER'
5992 ,p_value_2 => xla_lookups_pkg.get_meaning(
5993 'XLA_OWNER_TYPE'
5994 ,l_component_type_code
5995 )
5996 ,p_token_3 => 'PAD_NAME'
5997 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5998 ,p_token_4 => 'PAD_OWNER'
5999 ,p_value_4 => xla_lookups_pkg.get_meaning(
6000 'XLA_OWNER_TYPE'
6001 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6002 )
6003 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6004 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6005 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6006 ,p_ae_header_id => NULL
6007 );
6008 RETURN l_output_value;
6009 EXCEPTION
6010 WHEN xla_exceptions_pkg.application_exception THEN
6011 RAISE;
6012 WHEN OTHERS THEN
6013 xla_exceptions_pkg.raise_message
6014 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_40');
6015 END AcctDerRule_40;
6016 --
6017
6018 ---------------------------------------
6019 --
6020 -- PRIVATE FUNCTION
6021 -- AcctDerRule_41
6022 --
6023 ---------------------------------------
6024 FUNCTION AcctDerRule_41 (
6025 p_application_id IN NUMBER
6026 , p_ae_header_id IN NUMBER
6027 , p_side IN VARCHAR2
6028 --Self-Assessed Tax Account
6029 , p_source_49 IN NUMBER
6030 , x_transaction_coa_id OUT NOCOPY NUMBER
6034 RETURN NUMBER
6031 , x_accounting_coa_id OUT NOCOPY NUMBER
6032 , x_value_type_code OUT NOCOPY VARCHAR2
6033 )
6035 IS
6036 l_component_type VARCHAR2(80) ;
6037 l_component_code VARCHAR2(30) ;
6038 l_component_type_code VARCHAR2(1) ;
6039 l_component_appl_id INTEGER ;
6040 l_amb_context_code VARCHAR2(30) ;
6041 l_log_module VARCHAR2(240) ;
6042 l_output_value NUMBER ;
6043 BEGIN
6044 IF g_log_enabled THEN
6045 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_41';
6046 END IF;
6047 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6048 trace
6049 (p_msg => 'BEGIN of AcctDerRule_41'
6050 ,p_level => C_LEVEL_PROCEDURE
6051 ,p_module => l_log_module);
6052 END IF;
6053 --
6054 l_component_type := 'AMB_ADR';
6055 l_component_code := 'AP_SELF_ASSESSED_TAX';
6056 l_component_type_code := 'S';
6057 l_component_appl_id := 200;
6058 l_amb_context_code := 'DEFAULT';
6059 x_transaction_coa_id := null;
6060 x_accounting_coa_id := null;
6061 --
6062
6063 --
6064 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6065 trace
6066 (p_msg => 'END of AcctDerRule_41'
6067 ,p_level => C_LEVEL_PROCEDURE
6068 ,p_module => l_log_module);
6069 END IF;
6070 x_value_type_code := 'S';
6071 l_output_value := TO_NUMBER(TO_NUMBER(p_source_49));
6072 RETURN l_output_value;
6073
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_000020_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 Liability 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);
6156 END IF;
6160 l_component_type_code := 'S';
6157 --
6158 l_component_type := 'AMB_ADR';
6159 l_component_code := 'AP_SELF_ASSESSED_TAX_LIAB';
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_000020_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 --Recoverable Tax 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_TAX_ACCOUNT';
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';
6279 l_output_value := TO_NUMBER(TO_NUMBER(p_source_51));
6280 RETURN l_output_value;
6281
6282 --
6283 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6287 ,p_module => l_log_module);
6284 trace
6285 (p_msg => 'END of AcctDerRule_43(invalid)'
6286 ,p_level => C_LEVEL_PROCEDURE
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_000020_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 --Automatic Offsets Value
6341 , p_source_15 IN VARCHAR2
6342 , p_source_15_meaning IN VARCHAR2
6343 --Invoice Distribution Account
6344 , p_source_30 IN NUMBER
6345 --Payables Options Tax Difference Account
6346 , p_source_41 IN NUMBER
6347 , x_transaction_coa_id OUT NOCOPY NUMBER
6348 , x_accounting_coa_id OUT NOCOPY NUMBER
6349 , x_value_type_code OUT NOCOPY VARCHAR2
6350 )
6351 RETURN NUMBER
6352 IS
6353 l_component_type VARCHAR2(80) ;
6354 l_component_code VARCHAR2(30) ;
6355 l_component_type_code VARCHAR2(1) ;
6356 l_component_appl_id INTEGER ;
6357 l_amb_context_code VARCHAR2(30) ;
6358 l_log_module VARCHAR2(240) ;
6359 l_output_value NUMBER ;
6360 BEGIN
6361 IF g_log_enabled THEN
6362 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_44';
6363 END IF;
6364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6365 trace
6366 (p_msg => 'BEGIN of AcctDerRule_44'
6367 ,p_level => C_LEVEL_PROCEDURE
6368 ,p_module => l_log_module);
6369 END IF;
6370 --
6371 l_component_type := 'AMB_ADR';
6372 l_component_code := 'AP_TAX_DIFFERENCE';
6373 l_component_type_code := 'S';
6374 l_component_appl_id := 200;
6375 l_amb_context_code := 'DEFAULT';
6376 x_transaction_coa_id := null;
6377 x_accounting_coa_id := null;
6378 --
6379
6380 IF NVL(p_source_15,'
6381 ') <> 'ACCOUNT_SEGMENT_VALUE'
6382 THEN
6383 --
6384 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6385 trace
6386 (p_msg => 'END of AcctDerRule_44'
6387 ,p_level => C_LEVEL_PROCEDURE
6388 ,p_module => l_log_module);
6389 END IF;
6390 x_value_type_code := 'S';
6391 l_output_value := TO_NUMBER(TO_NUMBER(p_source_41));
6392 RETURN l_output_value;
6393
6394 ELSIF NVL(p_source_15,'
6395 ') = 'ACCOUNT_SEGMENT_VALUE'
6396 THEN
6397 --
6398 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6399 trace
6400 (p_msg => 'END of AcctDerRule_44'
6401 ,p_level => C_LEVEL_PROCEDURE
6402 ,p_module => l_log_module);
6403 END IF;
6404 x_value_type_code := 'S';
6408 END IF;
6405 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
6406 RETURN l_output_value;
6407
6409 --
6410 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6411 trace
6412 (p_msg => 'END of AcctDerRule_44(invalid)'
6413 ,p_level => C_LEVEL_PROCEDURE
6414 ,p_module => l_log_module);
6415 END IF;
6416 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6417 x_value_type_code := null;
6418 l_output_value := null;
6419 xla_accounting_err_pkg.build_message
6420 (p_appli_s_name => 'XLA'
6421 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6422 ,p_token_1 => 'COMPONENT_NAME'
6423 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6424 l_component_type
6425 , l_component_code
6426 , l_component_type_code
6427 , l_component_appl_id
6428 , l_amb_context_code
6429 )
6430 ,p_token_2 => 'OWNER'
6431 ,p_value_2 => xla_lookups_pkg.get_meaning(
6432 'XLA_OWNER_TYPE'
6433 ,l_component_type_code
6434 )
6435 ,p_token_3 => 'PAD_NAME'
6436 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6437 ,p_token_4 => 'PAD_OWNER'
6438 ,p_value_4 => xla_lookups_pkg.get_meaning(
6439 'XLA_OWNER_TYPE'
6440 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6441 )
6442 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6443 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6444 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6445 ,p_ae_header_id => NULL
6446 );
6447 RETURN l_output_value;
6448 EXCEPTION
6449 WHEN xla_exceptions_pkg.application_exception THEN
6450 RAISE;
6451 WHEN OTHERS THEN
6452 xla_exceptions_pkg.raise_message
6453 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_44');
6454 END AcctDerRule_44;
6455 --
6456
6457 ---------------------------------------
6458 --
6459 -- PRIVATE FUNCTION
6460 -- AcctDerRule_45
6461 --
6462 ---------------------------------------
6463 FUNCTION AcctDerRule_45 (
6464 p_application_id IN NUMBER
6465 , p_ae_header_id IN NUMBER
6466 , p_side IN VARCHAR2
6467 --Automatic Offsets Value
6468 , p_source_15 IN VARCHAR2
6469 , p_source_15_meaning IN VARCHAR2
6470 --Invoice Distribution Account
6471 , p_source_30 IN NUMBER
6472 --Withholding Related Distribution Account
6473 , p_source_43 IN NUMBER
6474 , x_transaction_coa_id OUT NOCOPY NUMBER
6475 , x_accounting_coa_id OUT NOCOPY NUMBER
6476 , x_value_type_code OUT NOCOPY VARCHAR2
6477 )
6478 RETURN NUMBER
6479 IS
6480 l_component_type VARCHAR2(80) ;
6481 l_component_code VARCHAR2(30) ;
6482 l_component_type_code VARCHAR2(1) ;
6483 l_component_appl_id INTEGER ;
6484 l_amb_context_code VARCHAR2(30) ;
6485 l_log_module VARCHAR2(240) ;
6486 l_output_value NUMBER ;
6487 BEGIN
6488 IF g_log_enabled THEN
6489 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_45';
6490 END IF;
6491 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6492 trace
6493 (p_msg => 'BEGIN of AcctDerRule_45'
6494 ,p_level => C_LEVEL_PROCEDURE
6495 ,p_module => l_log_module);
6496 END IF;
6497 --
6498 l_component_type := 'AMB_ADR';
6499 l_component_code := 'AP_WH_DIST_ACCT';
6500 l_component_type_code := 'S';
6501 l_component_appl_id := 200;
6502 l_amb_context_code := 'DEFAULT';
6503 x_transaction_coa_id := null;
6504 x_accounting_coa_id := null;
6505 --
6506
6507 IF NVL(p_source_15,'
6508 ') <> 'ACCOUNT_SEGMENT_VALUE'
6509 THEN
6510 --
6511 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6512 trace
6513 (p_msg => 'END of AcctDerRule_45'
6514 ,p_level => C_LEVEL_PROCEDURE
6515 ,p_module => l_log_module);
6516 END IF;
6517 x_value_type_code := 'S';
6518 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
6519 RETURN l_output_value;
6520
6521 ELSIF NVL(p_source_15,'
6522 ') = 'ACCOUNT_SEGMENT_VALUE'
6523 THEN
6524 --
6525 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6526 trace
6527 (p_msg => 'END of AcctDerRule_45'
6528 ,p_level => C_LEVEL_PROCEDURE
6529 ,p_module => l_log_module);
6530 END IF;
6531 x_value_type_code := 'S';
6535 END IF;
6532 l_output_value := TO_NUMBER(TO_NUMBER(p_source_43));
6533 RETURN l_output_value;
6534
6536 --
6537 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6538 trace
6539 (p_msg => 'END of AcctDerRule_45(invalid)'
6540 ,p_level => C_LEVEL_PROCEDURE
6541 ,p_module => l_log_module);
6542 END IF;
6543 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6544 x_value_type_code := null;
6545 l_output_value := null;
6546 xla_accounting_err_pkg.build_message
6547 (p_appli_s_name => 'XLA'
6548 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6549 ,p_token_1 => 'COMPONENT_NAME'
6550 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6551 l_component_type
6552 , l_component_code
6553 , l_component_type_code
6554 , l_component_appl_id
6555 , l_amb_context_code
6556 )
6557 ,p_token_2 => 'OWNER'
6558 ,p_value_2 => xla_lookups_pkg.get_meaning(
6559 'XLA_OWNER_TYPE'
6560 ,l_component_type_code
6561 )
6562 ,p_token_3 => 'PAD_NAME'
6563 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6564 ,p_token_4 => 'PAD_OWNER'
6565 ,p_value_4 => xla_lookups_pkg.get_meaning(
6566 'XLA_OWNER_TYPE'
6567 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6568 )
6569 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6570 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6571 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6572 ,p_ae_header_id => NULL
6573 );
6574 RETURN l_output_value;
6575 EXCEPTION
6576 WHEN xla_exceptions_pkg.application_exception THEN
6577 RAISE;
6578 WHEN OTHERS THEN
6579 xla_exceptions_pkg.raise_message
6580 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctDerRule_45');
6581 END AcctDerRule_45;
6582 --
6583
6584 ---------------------------------------
6585 --
6586 -- PRIVATE FUNCTION
6587 -- AcctLineType_46
6588 --
6589 ---------------------------------------
6590 PROCEDURE AcctLineType_46 (
6591 p_application_id IN NUMBER
6592 ,p_event_id IN NUMBER
6593 ,p_calculate_acctd_flag IN VARCHAR2
6594 ,p_calculate_g_l_flag IN VARCHAR2
6595 ,p_actual_flag IN OUT VARCHAR2
6596 ,p_balance_type_code OUT VARCHAR2
6597 ,p_gain_or_loss_ref OUT VARCHAR2
6598
6599 --Invoice Distribution Description
6600 , p_source_1 IN VARCHAR2
6601 --Invoice Distribution Ledger Amount
6602 , p_source_21 IN NUMBER
6603 --Invoice Distribution Account
6604 , p_source_30 IN NUMBER
6605 --Invoice Distribution Type
6606 , p_source_33 IN VARCHAR2
6607 , p_source_33_meaning IN VARCHAR2
6608 --Accounting Reversal Indicator
6609 , p_source_52 IN VARCHAR2
6610 --Distribution Link Type
6611 , p_source_54 IN VARCHAR2
6612 --Allocation to Main Distribution Identifier
6613 , p_source_56 IN NUMBER
6614 --Invoice Identifier
6615 , p_source_57 IN NUMBER
6616 --Business Flow Purchasing Application Identifier
6617 , p_source_58 IN NUMBER
6618 --Business Flow Purchase Order Distribution Type
6619 , p_source_59 IN VARCHAR2
6620 --Business Flow Purchase Order Entity Code
6621 , p_source_60 IN VARCHAR2
6622 --Business Flow Purchase Order Distribution Identifier
6623 , p_source_61 IN NUMBER
6624 --Business Flow Purchasing Document Identifier
6625 , p_source_62 IN NUMBER
6626 --Invoice Distribution Identifier
6627 , p_source_63 IN NUMBER
6628 --Payables Encumbrance Upgrade Credit Account
6629 , p_source_64 IN NUMBER
6630 --Payables Encumbrance Upgrade Credit Amount
6631 , p_source_65 IN NUMBER
6632 --Invoice Currency Code
6633 , p_source_66 IN VARCHAR2
6634 --Payables Encumbrance Upgrade Credit Base Amount
6635 , p_source_67 IN NUMBER
6636 --Payables Encumbrance Upgrade Debit Account
6637 , p_source_68 IN NUMBER
6638 --Payables Encumbrance Upgrade Debit Amount
6639 , p_source_69 IN NUMBER
6640 --Payables Encumbrance Upgrade Debit Base Amount
6641 , p_source_70 IN NUMBER
6642 --Payables Encumbrance Upgrade Option
6643 , p_source_71 IN VARCHAR2
6644 --Invoice Distribution Amount
6645 , p_source_72 IN NUMBER
6646 --Purchase Order Exchange Rate Date
6647 , p_source_73 IN DATE
6648 --Purchase Order Exchange Rate
6652 --Deferred Accounting End Date
6649 , p_source_74 IN NUMBER
6650 --Purchase Order Exchange Rate Type
6651 , p_source_75 IN VARCHAR2
6653 , p_source_76 IN DATE
6654 --Deferred Accounting Option
6655 , p_source_77 IN VARCHAR2
6656 --Deferred Accounting Start Date
6657 , p_source_78 IN DATE
6658 --Override Accounted Amount Indicator
6659 , p_source_79 IN VARCHAR2
6660 , p_source_79_meaning IN VARCHAR2
6661 --Invoice Supplier Identifier
6662 , p_source_80 IN NUMBER
6663 --Invoice Supplier Site Identifier
6664 , p_source_81 IN NUMBER
6665 --Third Party Type
6666 , p_source_82 IN VARCHAR2
6667 --Parent Reversal Identifier
6668 , p_source_83 IN NUMBER
6669 --Invoice Distribution Statistical Amount
6670 , p_source_84 IN NUMBER
6671 --Invoice Distribution Tax Line Identifier
6672 , p_source_85 IN NUMBER
6673 --Invoice Distribution Tax Distribution Identifier from Tax
6674 , p_source_86 IN NUMBER
6675 --Invoice Distribution Summary Tax Line Identifier
6676 , p_source_87 IN NUMBER
6677 --Payables Upgrade Credit Encumbrance Type Identifier
6678 , p_source_88 IN NUMBER
6679 --Payables Upgrade Debit Encumbrance Type Identifier
6680 , p_source_89 IN NUMBER
6681 )
6682 IS
6683
6684 l_component_type VARCHAR2(80);
6685 l_component_code VARCHAR2(30);
6686 l_component_type_code VARCHAR2(1);
6687 l_component_appl_id INTEGER;
6688 l_amb_context_code VARCHAR2(30);
6689 l_entity_code VARCHAR2(30);
6690 l_event_class_code VARCHAR2(30);
6691 l_ae_header_id NUMBER;
6692 l_event_type_code VARCHAR2(30);
6693 l_line_definition_code VARCHAR2(30);
6694 l_line_definition_owner_code VARCHAR2(1);
6695 --
6696 -- adr variables
6697 l_segment VARCHAR2(30);
6698 l_ccid NUMBER;
6699 l_adr_transaction_coa_id NUMBER;
6700 l_adr_accounting_coa_id NUMBER;
6701 l_adr_flexfield_segment_code VARCHAR2(30);
6702 l_adr_flex_value_set_id NUMBER;
6703 l_adr_value_type_code VARCHAR2(30);
6704 l_adr_value_combination_id NUMBER;
6705 l_adr_value_segment_code VARCHAR2(30);
6706
6707 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
6708 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
6709 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
6710 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
6711
6712 -- 4262811 Variables ------------------------------------------------------------------------------------------
6713 l_entered_amt_idx NUMBER;
6714 l_accted_amt_idx NUMBER;
6715 l_acc_rev_flag VARCHAR2(1);
6716 l_accrual_line_num NUMBER;
6717 l_tmp_amt NUMBER;
6718 l_acc_rev_natural_side_code VARCHAR2(1);
6719
6720 l_num_entries NUMBER;
6721 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
6722 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
6723 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
6724 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
6725 l_recog_line_1 NUMBER;
6726 l_recog_line_2 NUMBER;
6727
6728 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
6729 l_bflow_applied_to_amt NUMBER; -- 5132302
6730 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
6731
6732 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
6733
6734 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
6735 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
6736
6737 ---------------------------------------------------------------------------------------------------------------
6738
6739
6740 --
6741 -- bulk performance
6742 --
6743 l_balance_type_code VARCHAR2(1);
6744 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6745 l_log_module VARCHAR2(240);
6746
6747 --
6748 -- Upgrade strategy
6749 --
6750 l_actual_upg_option VARCHAR2(1);
6751 l_enc_upg_option VARCHAR2(1);
6752
6753 --
6754 BEGIN
6755 --
6756 IF g_log_enabled THEN
6757 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_46';
6758 END IF;
6759 --
6760 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6761
6762 trace
6763 (p_msg => 'BEGIN of AcctLineType_46'
6764 ,p_level => C_LEVEL_PROCEDURE
6765 ,p_module => l_log_module);
6766
6767 END IF;
6768 --
6769 l_component_type := 'AMB_JLT';
6770 l_component_code := 'AP_ACCRUAL_CM';
6771 l_component_type_code := 'S';
6772 l_component_appl_id := 200;
6773 l_amb_context_code := 'DEFAULT';
6774 l_entity_code := 'AP_INVOICES';
6775 l_event_class_code := 'CREDIT MEMOS';
6776 l_event_type_code := 'CREDIT MEMOS_ALL';
6777 l_line_definition_owner_code := 'S';
6778 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
6779 --
6783 l_adr_transaction_coa_id := NULL;
6780 l_balance_type_code := 'A';
6781 l_segment := NULL;
6782 l_ccid := NULL;
6784 l_adr_accounting_coa_id := NULL;
6785 l_adr_flexfield_segment_code := NULL;
6786 l_adr_flex_value_set_id := NULL;
6787 l_adr_value_type_code := NULL;
6788 l_adr_value_combination_id := NULL;
6789 l_adr_value_segment_code := NULL;
6790
6791 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
6792 l_bflow_class_code := ''; -- 4219869 Business Flow
6793 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
6794 l_budgetary_control_flag := 'N';
6795
6796 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6797 l_bflow_applied_to_amt := NULL; -- 5132302
6798 l_entered_amt_idx := NULL; -- 4262811
6799 l_accted_amt_idx := NULL; -- 4262811
6800 l_acc_rev_flag := NULL; -- 4262811
6801 l_accrual_line_num := NULL; -- 4262811
6802 l_tmp_amt := NULL; -- 4262811
6803 --
6804
6805 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
6806 l_balance_type_code <> 'B' THEN
6807 IF NVL(p_source_33,'
6808 ') = 'RETROACCRUAL' OR
6809 NVL(p_source_33,'
6810 ') = 'ACCRUAL'
6811 THEN
6812
6813 --
6814 XLA_AE_LINES_PKG.SetNewLine;
6815
6816 p_balance_type_code := l_balance_type_code;
6817 -- set the flag so later we will know whether the gain loss line needs to be created
6818
6819 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
6820 p_actual_flag :='A';
6821 END IF;
6822
6823 --
6824 -- bulk performance
6825 --
6826 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6827 p_header_num => 0); -- 4262811
6828 --
6829 -- set accounting line options
6830 --
6831 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6832 p_natural_side_code => 'D'
6833 , p_gain_or_loss_flag => 'N'
6834 , p_gl_transfer_mode_code => 'S'
6835 , p_acct_entry_type_code => 'A'
6836 , p_switch_side_flag => 'Y'
6837 , p_merge_duplicate_code => 'A'
6838 );
6839 --
6840 l_acc_rev_natural_side_code := 'C'; -- 4262811
6841 --
6842 --
6843 -- set accounting line type info
6844 --
6845 xla_ae_lines_pkg.SetAcctLineType
6846 (p_component_type => l_component_type
6847 ,p_event_type_code => l_event_type_code
6848 ,p_line_definition_owner_code => l_line_definition_owner_code
6849 ,p_line_definition_code => l_line_definition_code
6850 ,p_accounting_line_code => l_component_code
6851 ,p_accounting_line_type_code => l_component_type_code
6852 ,p_accounting_line_appl_id => l_component_appl_id
6853 ,p_amb_context_code => l_amb_context_code
6854 ,p_entity_code => l_entity_code
6855 ,p_event_class_code => l_event_class_code);
6856 --
6857 -- set accounting class
6858 --
6859 xla_ae_lines_pkg.SetAcctClass(
6860 p_accounting_class_code => 'ACCRUAL'
6861 , p_ae_header_id => l_ae_header_id
6862 );
6863
6864 --
6865 -- set rounding class
6866 --
6867 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6868 'ACCRUAL';
6869
6870 --
6871 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6872 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6873 --
6874 -- bulk performance
6875 --
6876 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6877
6878 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6879 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6880
6881 -- 4955764
6882 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6883 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6884
6885 -- 4458381 Public Sector Enh
6886
6887 --
6888 -- set accounting attributes for the line type
6889 --
6890 l_entered_amt_idx := 23;
6891 l_accted_amt_idx := 28;
6892 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6893 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
6894 l_rec_acct_attrs.array_char_value(1) := p_source_52;
6895 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
6896 l_rec_acct_attrs.array_num_value(2) :=
6897 xla_ae_sources_pkg.GetSystemSourceNum(
6898 p_source_code => 'XLA_EVENT_APPL_ID'
6899 , p_source_type_code => 'Y'
6900 , p_source_application_id => 602
6901 );
6902 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
6903 l_rec_acct_attrs.array_char_value(3) := p_source_54;
6904 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
6905 l_rec_acct_attrs.array_char_value(4) :=
6906 xla_ae_sources_pkg.GetSystemSourceChar(
6910 );
6907 p_source_code => 'XLA_ENTITY_CODE'
6908 , p_source_type_code => 'Y'
6909 , p_source_application_id => 602
6911 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
6912 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
6913 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
6914 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
6915 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
6916 l_rec_acct_attrs.array_num_value(7) := p_source_58;
6917 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
6918 l_rec_acct_attrs.array_char_value(8) := p_source_59;
6919 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
6920 l_rec_acct_attrs.array_char_value(9) := p_source_60;
6921 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
6922 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_61);
6923 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
6924 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_62);
6925 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
6926 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
6927 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
6928 l_rec_acct_attrs.array_char_value(13) := p_source_54;
6929 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
6930 l_rec_acct_attrs.array_num_value(14) := p_source_64;
6931 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
6932 l_rec_acct_attrs.array_num_value(15) := p_source_65;
6933 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
6934 l_rec_acct_attrs.array_char_value(16) := p_source_66;
6935 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
6936 l_rec_acct_attrs.array_num_value(17) := p_source_67;
6937 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
6938 l_rec_acct_attrs.array_num_value(18) := p_source_68;
6939 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
6940 l_rec_acct_attrs.array_num_value(19) := p_source_69;
6941 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
6942 l_rec_acct_attrs.array_char_value(20) := p_source_66;
6943 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
6944 l_rec_acct_attrs.array_num_value(21) := p_source_70;
6945 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
6946 l_rec_acct_attrs.array_char_value(22) := p_source_71;
6947 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
6948 l_rec_acct_attrs.array_num_value(23) := p_source_72;
6949 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
6950 l_rec_acct_attrs.array_char_value(24) := p_source_66;
6951 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
6952 l_rec_acct_attrs.array_date_value(25) := p_source_73;
6953 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
6954 l_rec_acct_attrs.array_num_value(26) := p_source_74;
6955 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
6956 l_rec_acct_attrs.array_char_value(27) := p_source_75;
6957 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
6958 l_rec_acct_attrs.array_num_value(28) := p_source_21;
6959 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
6960 l_rec_acct_attrs.array_date_value(29) := p_source_76;
6961 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
6962 l_rec_acct_attrs.array_char_value(30) := p_source_77;
6963 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
6964 l_rec_acct_attrs.array_date_value(31) := p_source_78;
6965 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
6966 l_rec_acct_attrs.array_char_value(32) := p_source_79;
6967 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
6968 l_rec_acct_attrs.array_num_value(33) := p_source_80;
6969 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
6970 l_rec_acct_attrs.array_num_value(34) := p_source_81;
6971 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
6972 l_rec_acct_attrs.array_char_value(35) := p_source_82;
6973 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
6974 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
6975 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
6976 l_rec_acct_attrs.array_char_value(37) := p_source_54;
6977 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
6978 l_rec_acct_attrs.array_num_value(38) := p_source_84;
6979 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
6980 l_rec_acct_attrs.array_num_value(39) := p_source_85;
6981 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
6982 l_rec_acct_attrs.array_num_value(40) := p_source_86;
6983 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
6984 l_rec_acct_attrs.array_num_value(41) := p_source_87;
6985 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
6986 l_rec_acct_attrs.array_num_value(42) := p_source_88;
6987 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6988 l_rec_acct_attrs.array_num_value(43) := p_source_89;
6989
6990 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6991 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6992
6996 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6993 ---------------------------------------------------------------------------------------------------------------
6994 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6995 ---------------------------------------------------------------------------------------------------------------
6997
6998 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6999 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7000
7001 IF xla_accounting_cache_pkg.GetValueChar
7002 (p_source_code => 'LEDGER_CATEGORY_CODE'
7003 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7004 AND l_bflow_method_code = 'PRIOR_ENTRY'
7005 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7006 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7007 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7008 )
7009 THEN
7010 xla_ae_lines_pkg.BflowUpgEntry
7011 (p_business_method_code => l_bflow_method_code
7012 ,p_business_class_code => l_bflow_class_code
7013 ,p_balance_type => l_balance_type_code);
7014 ELSE
7015 NULL;
7016 -- No business flow processing for business flow method of NONE.
7017 END IF;
7018
7019 --
7020 -- call analytical criteria
7021 --
7022
7023 --
7024 -- call description
7025 --
7026
7027 xla_ae_lines_pkg.SetLineDescription(
7028 p_ae_header_id => l_ae_header_id
7029 ,p_description => Description_1 (
7030 p_application_id => p_application_id
7031 , p_ae_header_id => l_ae_header_id
7032 , p_source_1 => p_source_1
7033 )
7034 );
7035
7036
7037 --
7038 -- call ADRs
7039 -- Bug 4922099
7040 --
7041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7042 (NVL(l_actual_upg_option, 'N') = 'O') OR
7043 (NVL(l_enc_upg_option, 'N') = 'O')
7044 )
7045 THEN
7046 NULL;
7047 --
7048 --
7049
7050 l_ccid := AcctDerRule_33(
7051 p_application_id => p_application_id
7052 , p_ae_header_id => l_ae_header_id
7053 , p_source_30 => p_source_30
7054 , x_transaction_coa_id => l_adr_transaction_coa_id
7055 , x_accounting_coa_id => l_adr_accounting_coa_id
7056 , x_value_type_code => l_adr_value_type_code
7057 , p_side => 'NA'
7058 );
7059
7060 xla_ae_lines_pkg.set_ccid(
7061 p_code_combination_id => l_ccid
7062 , p_value_type_code => l_adr_value_type_code
7063 , p_transaction_coa_id => l_adr_transaction_coa_id
7064 , p_accounting_coa_id => l_adr_accounting_coa_id
7065 , p_adr_code => 'AP_INVOICE_DIST'
7066 , p_adr_type_code => 'S'
7067 , p_component_type => l_component_type
7068 , p_component_code => l_component_code
7069 , p_component_type_code => l_component_type_code
7070 , p_component_appl_id => l_component_appl_id
7071 , p_amb_context_code => l_amb_context_code
7072 , p_side => 'NA'
7073 );
7074
7075
7076 --
7077 --
7078 END IF;
7079 --
7080 -- Bug 4922099
7081 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7082 (NVL(l_enc_upg_option, 'N') = 'O')
7083 ) AND
7084 (l_bflow_method_code = 'PRIOR_ENTRY')
7085 )
7086 THEN
7087 IF
7088 --
7089 1 = 2
7090 --
7091 THEN
7092 xla_accounting_err_pkg.build_message
7093 (p_appli_s_name => 'XLA'
7094 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7095 ,p_token_1 => 'LINE_NUMBER'
7096 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7097 ,p_token_2 => 'LINE_TYPE_NAME'
7098 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7099 l_component_type
7100 ,l_component_code
7101 ,l_component_type_code
7102 ,l_component_appl_id
7103 ,l_amb_context_code
7104 ,l_entity_code
7105 ,l_event_class_code
7106 )
7107 ,p_token_3 => 'OWNER'
7108 ,p_value_3 => xla_lookups_pkg.get_meaning(
7109 p_lookup_type => 'XLA_OWNER_TYPE'
7113 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7110 ,p_lookup_code => l_component_type_code
7111 )
7112 ,p_token_4 => 'PRODUCT_NAME'
7114 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7115 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7116 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7117 ,p_ae_header_id => NULL
7118 );
7119
7120 IF (C_LEVEL_ERROR>= g_log_level) THEN
7121 trace
7122 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7123 ,p_level => C_LEVEL_ERROR
7124 ,p_module => l_log_module);
7125 END IF;
7126 END IF;
7127 END IF;
7128 --
7129 --
7130 ------------------------------------------------------------------------------------------------
7131 -- 4219869 Business Flow
7132 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7133 -- Prior Entry. Currently, the following code is always generated.
7134 ------------------------------------------------------------------------------------------------
7135 XLA_AE_LINES_PKG.ValidateCurrentLine;
7136
7137 ------------------------------------------------------------------------------------
7138 -- 4219869 Business Flow
7139 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7140 ------------------------------------------------------------------------------------
7141 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7142
7143 ----------------------------------------------------------------------------------
7144 -- 4219869 Business Flow
7145 -- Update journal entry status -- Need to generate this within IF <condition>
7146 ----------------------------------------------------------------------------------
7147 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7148 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7149 ,p_balance_type_code => l_balance_type_code
7150 );
7151
7152 -------------------------------------------------------------------------------------------
7153 -- 4262811 - Generate the Accrual Reversal lines
7154 -------------------------------------------------------------------------------------------
7155 BEGIN
7156 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7157 (g_array_event(p_event_id).array_value_num('header_index'));
7158 IF l_acc_rev_flag IS NULL THEN
7159 l_acc_rev_flag := 'N';
7160 END IF;
7161 EXCEPTION
7162 WHEN OTHERS THEN
7163 l_acc_rev_flag := 'N';
7164 END;
7165 --
7166 IF (l_acc_rev_flag = 'Y') THEN
7167
7168 -- 4645092 ------------------------------------------------------------------------------
7169 -- To allow MPA report to determine if it should generate report process
7170 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7171 ------------------------------------------------------------------------------------------
7172
7173 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7174 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7175 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7176 -- call ADRs
7177 -- Bug 4922099
7178 --
7179 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7180 (NVL(l_actual_upg_option, 'N') = 'O') OR
7181 (NVL(l_enc_upg_option, 'N') = 'O')
7182 )
7183 THEN
7184 NULL;
7185 --
7186 --
7187
7188 l_ccid := AcctDerRule_33(
7189 p_application_id => p_application_id
7190 , p_ae_header_id => l_ae_header_id
7191 , p_source_30 => p_source_30
7192 , x_transaction_coa_id => l_adr_transaction_coa_id
7193 , x_accounting_coa_id => l_adr_accounting_coa_id
7194 , x_value_type_code => l_adr_value_type_code
7195 , p_side => 'NA'
7196 );
7197
7198 xla_ae_lines_pkg.set_ccid(
7199 p_code_combination_id => l_ccid
7200 , p_value_type_code => l_adr_value_type_code
7201 , p_transaction_coa_id => l_adr_transaction_coa_id
7202 , p_accounting_coa_id => l_adr_accounting_coa_id
7203 , p_adr_code => 'AP_INVOICE_DIST'
7204 , p_adr_type_code => 'S'
7205 , p_component_type => l_component_type
7206 , p_component_code => l_component_code
7207 , p_component_type_code => l_component_type_code
7208 , p_component_appl_id => l_component_appl_id
7209 , p_amb_context_code => l_amb_context_code
7210 , p_side => 'NA'
7211 );
7212
7213
7214 --
7215 --
7216 END IF;
7217
7218 --
7219 -- Update the line information that should be overwritten
7220 --
7224
7221 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7222 p_header_num => 1);
7223 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7225 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7226
7227 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7228 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7229 END IF;
7230
7231 --
7232 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7233 --
7234 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7235 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7236 ELSE
7237 ---------------------------------------------------------------------------------------------------
7238 -- 4262811a Switch Sign
7239 ---------------------------------------------------------------------------------------------------
7240 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7241 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7242 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7243 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7244 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7245 -- 5132302
7246 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7247 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7248
7249 END IF;
7250
7251 -- 4955764
7252 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7253 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7254
7255
7256 XLA_AE_LINES_PKG.ValidateCurrentLine;
7257 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7258
7259 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7260 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7261 ,p_balance_type_code => l_balance_type_code);
7262
7263 END IF;
7264
7265 -----------------------------------------------------------------------------------------
7266 -- 4262811 Multiperiod Accounting
7267 -----------------------------------------------------------------------------------------
7268 -- No MPA option is assigned.
7269
7270
7271 END IF;
7272 END IF;
7273 --
7274
7275 --
7276 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7277 trace
7278 (p_msg => 'END of AcctLineType_46'
7279 ,p_level => C_LEVEL_PROCEDURE
7280 ,p_module => l_log_module);
7281 END IF;
7282 --
7283 EXCEPTION
7284 WHEN xla_exceptions_pkg.application_exception THEN
7285 RAISE;
7286 WHEN OTHERS THEN
7287 xla_exceptions_pkg.raise_message
7288 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_46');
7289 END AcctLineType_46;
7290 --
7291
7292 ---------------------------------------
7293 --
7294 -- PRIVATE FUNCTION
7295 -- AcctLineType_47
7296 --
7297 ---------------------------------------
7298 PROCEDURE AcctLineType_47 (
7299 p_application_id IN NUMBER
7300 ,p_event_id IN NUMBER
7301 ,p_calculate_acctd_flag IN VARCHAR2
7302 ,p_calculate_g_l_flag IN VARCHAR2
7303 ,p_actual_flag IN OUT VARCHAR2
7304 ,p_balance_type_code OUT VARCHAR2
7305 ,p_gain_or_loss_ref OUT VARCHAR2
7306
7307 --Invoice Distribution Description
7308 , p_source_1 IN VARCHAR2
7309 --Invoice Distribution Ledger Amount
7310 , p_source_21 IN NUMBER
7311 --Invoice Distribution Account
7312 , p_source_30 IN NUMBER
7313 --Invoice Distribution Type
7314 , p_source_33 IN VARCHAR2
7315 , p_source_33_meaning IN VARCHAR2
7316 --Accounting Reversal Indicator
7317 , p_source_52 IN VARCHAR2
7318 --Distribution Link Type
7319 , p_source_54 IN VARCHAR2
7320 --Allocation to Main Distribution Identifier
7321 , p_source_56 IN NUMBER
7322 --Invoice Identifier
7323 , p_source_57 IN NUMBER
7324 --Business Flow Purchasing Application Identifier
7325 , p_source_58 IN NUMBER
7326 --Business Flow Purchase Order Distribution Type
7327 , p_source_59 IN VARCHAR2
7328 --Business Flow Purchase Order Entity Code
7329 , p_source_60 IN VARCHAR2
7330 --Business Flow Purchase Order Distribution Identifier
7331 , p_source_61 IN NUMBER
7332 --Business Flow Purchasing Document Identifier
7333 , p_source_62 IN NUMBER
7334 --Invoice Distribution Identifier
7335 , p_source_63 IN NUMBER
7336 --Payables Encumbrance Upgrade Credit Account
7337 , p_source_64 IN NUMBER
7338 --Payables Encumbrance Upgrade Credit Amount
7339 , p_source_65 IN NUMBER
7340 --Invoice Currency Code
7341 , p_source_66 IN VARCHAR2
7342 --Payables Encumbrance Upgrade Credit Base Amount
7346 --Payables Encumbrance Upgrade Debit Amount
7343 , p_source_67 IN NUMBER
7344 --Payables Encumbrance Upgrade Debit Account
7345 , p_source_68 IN NUMBER
7347 , p_source_69 IN NUMBER
7348 --Payables Encumbrance Upgrade Debit Base Amount
7349 , p_source_70 IN NUMBER
7350 --Payables Encumbrance Upgrade Option
7351 , p_source_71 IN VARCHAR2
7352 --Invoice Distribution Amount
7353 , p_source_72 IN NUMBER
7354 --Purchase Order Exchange Rate Date
7355 , p_source_73 IN DATE
7356 --Purchase Order Exchange Rate
7357 , p_source_74 IN NUMBER
7358 --Purchase Order Exchange Rate Type
7359 , p_source_75 IN VARCHAR2
7360 --Deferred Accounting End Date
7361 , p_source_76 IN DATE
7362 --Deferred Accounting Option
7363 , p_source_77 IN VARCHAR2
7364 --Deferred Accounting Start Date
7365 , p_source_78 IN DATE
7366 --Override Accounted Amount Indicator
7367 , p_source_79 IN VARCHAR2
7368 , p_source_79_meaning IN VARCHAR2
7369 --Invoice Supplier Identifier
7370 , p_source_80 IN NUMBER
7371 --Invoice Supplier Site Identifier
7372 , p_source_81 IN NUMBER
7373 --Third Party Type
7374 , p_source_82 IN VARCHAR2
7375 --Parent Reversal Identifier
7376 , p_source_83 IN NUMBER
7377 --Invoice Distribution Tax Line Identifier
7378 , p_source_85 IN NUMBER
7379 --Invoice Distribution Tax Distribution Identifier from Tax
7380 , p_source_86 IN NUMBER
7381 --Invoice Distribution Summary Tax Line Identifier
7382 , p_source_87 IN NUMBER
7383 --Payables Upgrade Credit Encumbrance Type Identifier
7384 , p_source_88 IN NUMBER
7385 --Payables Upgrade Debit Encumbrance Type Identifier
7386 , p_source_89 IN NUMBER
7387 )
7388 IS
7389
7390 l_component_type VARCHAR2(80);
7391 l_component_code VARCHAR2(30);
7392 l_component_type_code VARCHAR2(1);
7393 l_component_appl_id INTEGER;
7394 l_amb_context_code VARCHAR2(30);
7395 l_entity_code VARCHAR2(30);
7396 l_event_class_code VARCHAR2(30);
7397 l_ae_header_id NUMBER;
7398 l_event_type_code VARCHAR2(30);
7399 l_line_definition_code VARCHAR2(30);
7400 l_line_definition_owner_code VARCHAR2(1);
7401 --
7402 -- adr variables
7403 l_segment VARCHAR2(30);
7404 l_ccid NUMBER;
7405 l_adr_transaction_coa_id NUMBER;
7406 l_adr_accounting_coa_id NUMBER;
7407 l_adr_flexfield_segment_code VARCHAR2(30);
7408 l_adr_flex_value_set_id NUMBER;
7409 l_adr_value_type_code VARCHAR2(30);
7410 l_adr_value_combination_id NUMBER;
7411 l_adr_value_segment_code VARCHAR2(30);
7412
7413 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7414 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7415 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7416 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7417
7418 -- 4262811 Variables ------------------------------------------------------------------------------------------
7419 l_entered_amt_idx NUMBER;
7420 l_accted_amt_idx NUMBER;
7421 l_acc_rev_flag VARCHAR2(1);
7422 l_accrual_line_num NUMBER;
7423 l_tmp_amt NUMBER;
7424 l_acc_rev_natural_side_code VARCHAR2(1);
7425
7426 l_num_entries NUMBER;
7427 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7428 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7429 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7430 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7431 l_recog_line_1 NUMBER;
7432 l_recog_line_2 NUMBER;
7433
7434 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7435 l_bflow_applied_to_amt NUMBER; -- 5132302
7436 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7437
7438 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7439
7440 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7441 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7442
7443 ---------------------------------------------------------------------------------------------------------------
7444
7445
7446 --
7447 -- bulk performance
7448 --
7449 l_balance_type_code VARCHAR2(1);
7450 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7451 l_log_module VARCHAR2(240);
7452
7453 --
7454 -- Upgrade strategy
7455 --
7456 l_actual_upg_option VARCHAR2(1);
7457 l_enc_upg_option VARCHAR2(1);
7458
7459 --
7460 BEGIN
7461 --
7462 IF g_log_enabled THEN
7463 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_47';
7464 END IF;
7465 --
7466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7467
7468 trace
7469 (p_msg => 'BEGIN of AcctLineType_47'
7470 ,p_level => C_LEVEL_PROCEDURE
7471 ,p_module => l_log_module);
7472
7473 END IF;
7474 --
7478 l_component_appl_id := 200;
7475 l_component_type := 'AMB_JLT';
7476 l_component_code := 'AP_ACCRUAL_DM';
7477 l_component_type_code := 'S';
7479 l_amb_context_code := 'DEFAULT';
7480 l_entity_code := 'AP_INVOICES';
7481 l_event_class_code := 'DEBIT MEMOS';
7482 l_event_type_code := 'DEBIT MEMOS_ALL';
7483 l_line_definition_owner_code := 'S';
7484 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
7485 --
7486 l_balance_type_code := 'A';
7487 l_segment := NULL;
7488 l_ccid := NULL;
7489 l_adr_transaction_coa_id := NULL;
7490 l_adr_accounting_coa_id := NULL;
7491 l_adr_flexfield_segment_code := NULL;
7492 l_adr_flex_value_set_id := NULL;
7493 l_adr_value_type_code := NULL;
7494 l_adr_value_combination_id := NULL;
7495 l_adr_value_segment_code := NULL;
7496
7497 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
7498 l_bflow_class_code := ''; -- 4219869 Business Flow
7499 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
7500 l_budgetary_control_flag := 'N';
7501
7502 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7503 l_bflow_applied_to_amt := NULL; -- 5132302
7504 l_entered_amt_idx := NULL; -- 4262811
7505 l_accted_amt_idx := NULL; -- 4262811
7506 l_acc_rev_flag := NULL; -- 4262811
7507 l_accrual_line_num := NULL; -- 4262811
7508 l_tmp_amt := NULL; -- 4262811
7509 --
7510
7511 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
7512 l_balance_type_code <> 'B' THEN
7513 IF NVL(p_source_33,'
7514 ') = 'RETROACCRUAL' OR
7515 NVL(p_source_33,'
7516 ') = 'ACCRUAL'
7517 THEN
7518
7519 --
7520 XLA_AE_LINES_PKG.SetNewLine;
7521
7522 p_balance_type_code := l_balance_type_code;
7523 -- set the flag so later we will know whether the gain loss line needs to be created
7524
7525 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
7526 p_actual_flag :='A';
7527 END IF;
7528
7529 --
7530 -- bulk performance
7531 --
7532 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7533 p_header_num => 0); -- 4262811
7534 --
7535 -- set accounting line options
7536 --
7537 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7538 p_natural_side_code => 'D'
7539 , p_gain_or_loss_flag => 'N'
7540 , p_gl_transfer_mode_code => 'S'
7541 , p_acct_entry_type_code => 'A'
7542 , p_switch_side_flag => 'Y'
7543 , p_merge_duplicate_code => 'A'
7544 );
7545 --
7546 l_acc_rev_natural_side_code := 'C'; -- 4262811
7547 --
7548 --
7549 -- set accounting line type info
7550 --
7551 xla_ae_lines_pkg.SetAcctLineType
7552 (p_component_type => l_component_type
7553 ,p_event_type_code => l_event_type_code
7554 ,p_line_definition_owner_code => l_line_definition_owner_code
7555 ,p_line_definition_code => l_line_definition_code
7556 ,p_accounting_line_code => l_component_code
7557 ,p_accounting_line_type_code => l_component_type_code
7558 ,p_accounting_line_appl_id => l_component_appl_id
7559 ,p_amb_context_code => l_amb_context_code
7560 ,p_entity_code => l_entity_code
7561 ,p_event_class_code => l_event_class_code);
7562 --
7563 -- set accounting class
7564 --
7565 xla_ae_lines_pkg.SetAcctClass(
7566 p_accounting_class_code => 'ACCRUAL'
7567 , p_ae_header_id => l_ae_header_id
7568 );
7569
7570 --
7571 -- set rounding class
7572 --
7573 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7574 'ACCRUAL';
7575
7576 --
7577 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7578 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7579 --
7580 -- bulk performance
7581 --
7582 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7583
7584 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7585 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7586
7587 -- 4955764
7588 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7589 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7590
7591 -- 4458381 Public Sector Enh
7592
7593 --
7594 -- set accounting attributes for the line type
7595 --
7596 l_entered_amt_idx := 23;
7597 l_accted_amt_idx := 28;
7598 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7599 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
7600 l_rec_acct_attrs.array_char_value(1) := p_source_52;
7601 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
7602 l_rec_acct_attrs.array_num_value(2) :=
7606 , p_source_application_id => 602
7603 xla_ae_sources_pkg.GetSystemSourceNum(
7604 p_source_code => 'XLA_EVENT_APPL_ID'
7605 , p_source_type_code => 'Y'
7607 );
7608 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
7609 l_rec_acct_attrs.array_char_value(3) := p_source_54;
7610 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
7611 l_rec_acct_attrs.array_char_value(4) :=
7612 xla_ae_sources_pkg.GetSystemSourceChar(
7613 p_source_code => 'XLA_ENTITY_CODE'
7614 , p_source_type_code => 'Y'
7615 , p_source_application_id => 602
7616 );
7617 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
7618 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
7619 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
7620 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
7621 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
7622 l_rec_acct_attrs.array_num_value(7) := p_source_58;
7623 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
7624 l_rec_acct_attrs.array_char_value(8) := p_source_59;
7625 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
7626 l_rec_acct_attrs.array_char_value(9) := p_source_60;
7627 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
7628 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_61);
7629 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
7630 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_62);
7631 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
7632 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
7633 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
7634 l_rec_acct_attrs.array_char_value(13) := p_source_54;
7635 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
7636 l_rec_acct_attrs.array_num_value(14) := p_source_64;
7637 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
7638 l_rec_acct_attrs.array_num_value(15) := p_source_65;
7639 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
7640 l_rec_acct_attrs.array_char_value(16) := p_source_66;
7641 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
7642 l_rec_acct_attrs.array_num_value(17) := p_source_67;
7643 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
7644 l_rec_acct_attrs.array_num_value(18) := p_source_68;
7645 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
7646 l_rec_acct_attrs.array_num_value(19) := p_source_69;
7647 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7648 l_rec_acct_attrs.array_char_value(20) := p_source_66;
7649 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7650 l_rec_acct_attrs.array_num_value(21) := p_source_70;
7651 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7652 l_rec_acct_attrs.array_char_value(22) := p_source_71;
7653 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7654 l_rec_acct_attrs.array_num_value(23) := p_source_72;
7655 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7656 l_rec_acct_attrs.array_char_value(24) := p_source_66;
7657 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
7658 l_rec_acct_attrs.array_date_value(25) := p_source_73;
7659 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
7660 l_rec_acct_attrs.array_num_value(26) := p_source_74;
7661 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
7662 l_rec_acct_attrs.array_char_value(27) := p_source_75;
7663 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
7664 l_rec_acct_attrs.array_num_value(28) := p_source_21;
7665 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
7666 l_rec_acct_attrs.array_date_value(29) := p_source_76;
7667 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
7668 l_rec_acct_attrs.array_char_value(30) := p_source_77;
7669 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
7670 l_rec_acct_attrs.array_date_value(31) := p_source_78;
7671 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
7672 l_rec_acct_attrs.array_char_value(32) := p_source_79;
7673 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
7674 l_rec_acct_attrs.array_num_value(33) := p_source_80;
7675 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
7676 l_rec_acct_attrs.array_num_value(34) := p_source_81;
7677 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
7678 l_rec_acct_attrs.array_char_value(35) := p_source_82;
7679 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
7680 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
7681 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
7682 l_rec_acct_attrs.array_char_value(37) := p_source_54;
7683 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
7684 l_rec_acct_attrs.array_num_value(38) := p_source_85;
7685 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
7686 l_rec_acct_attrs.array_num_value(39) := p_source_86;
7687 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
7688 l_rec_acct_attrs.array_num_value(40) := p_source_87;
7689 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
7690 l_rec_acct_attrs.array_num_value(41) := p_source_88;
7694 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7691 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
7692 l_rec_acct_attrs.array_num_value(42) := p_source_89;
7693
7695 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7696
7697 ---------------------------------------------------------------------------------------------------------------
7698 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7699 ---------------------------------------------------------------------------------------------------------------
7700 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7701
7702 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7703 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7704
7705 IF xla_accounting_cache_pkg.GetValueChar
7706 (p_source_code => 'LEDGER_CATEGORY_CODE'
7707 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7708 AND l_bflow_method_code = 'PRIOR_ENTRY'
7709 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7710 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7711 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7712 )
7713 THEN
7714 xla_ae_lines_pkg.BflowUpgEntry
7715 (p_business_method_code => l_bflow_method_code
7716 ,p_business_class_code => l_bflow_class_code
7717 ,p_balance_type => l_balance_type_code);
7718 ELSE
7719 NULL;
7720 -- No business flow processing for business flow method of NONE.
7721 END IF;
7722
7723 --
7724 -- call analytical criteria
7725 --
7726
7727 --
7728 -- call description
7729 --
7730
7731 xla_ae_lines_pkg.SetLineDescription(
7732 p_ae_header_id => l_ae_header_id
7733 ,p_description => Description_1 (
7734 p_application_id => p_application_id
7735 , p_ae_header_id => l_ae_header_id
7736 , p_source_1 => p_source_1
7737 )
7738 );
7739
7740
7741 --
7742 -- call ADRs
7743 -- Bug 4922099
7744 --
7745 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7746 (NVL(l_actual_upg_option, 'N') = 'O') OR
7747 (NVL(l_enc_upg_option, 'N') = 'O')
7748 )
7749 THEN
7750 NULL;
7751 --
7752 --
7753
7754 l_ccid := AcctDerRule_33(
7755 p_application_id => p_application_id
7756 , p_ae_header_id => l_ae_header_id
7757 , p_source_30 => p_source_30
7758 , x_transaction_coa_id => l_adr_transaction_coa_id
7759 , x_accounting_coa_id => l_adr_accounting_coa_id
7760 , x_value_type_code => l_adr_value_type_code
7761 , p_side => 'NA'
7762 );
7763
7764 xla_ae_lines_pkg.set_ccid(
7765 p_code_combination_id => l_ccid
7766 , p_value_type_code => l_adr_value_type_code
7767 , p_transaction_coa_id => l_adr_transaction_coa_id
7768 , p_accounting_coa_id => l_adr_accounting_coa_id
7769 , p_adr_code => 'AP_INVOICE_DIST'
7770 , p_adr_type_code => 'S'
7771 , p_component_type => l_component_type
7772 , p_component_code => l_component_code
7773 , p_component_type_code => l_component_type_code
7774 , p_component_appl_id => l_component_appl_id
7775 , p_amb_context_code => l_amb_context_code
7776 , p_side => 'NA'
7777 );
7778
7779
7780 --
7781 --
7782 END IF;
7783 --
7784 -- Bug 4922099
7785 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7786 (NVL(l_enc_upg_option, 'N') = 'O')
7787 ) AND
7788 (l_bflow_method_code = 'PRIOR_ENTRY')
7789 )
7790 THEN
7791 IF
7792 --
7793 1 = 2
7794 --
7795 THEN
7796 xla_accounting_err_pkg.build_message
7797 (p_appli_s_name => 'XLA'
7798 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7799 ,p_token_1 => 'LINE_NUMBER'
7800 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7801 ,p_token_2 => 'LINE_TYPE_NAME'
7802 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7803 l_component_type
7804 ,l_component_code
7805 ,l_component_type_code
7806 ,l_component_appl_id
7807 ,l_amb_context_code
7808 ,l_entity_code
7809 ,l_event_class_code
7810 )
7814 ,p_lookup_code => l_component_type_code
7811 ,p_token_3 => 'OWNER'
7812 ,p_value_3 => xla_lookups_pkg.get_meaning(
7813 p_lookup_type => 'XLA_OWNER_TYPE'
7815 )
7816 ,p_token_4 => 'PRODUCT_NAME'
7817 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7818 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7819 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7820 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7821 ,p_ae_header_id => NULL
7822 );
7823
7824 IF (C_LEVEL_ERROR>= g_log_level) THEN
7825 trace
7826 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7827 ,p_level => C_LEVEL_ERROR
7828 ,p_module => l_log_module);
7829 END IF;
7830 END IF;
7831 END IF;
7832 --
7833 --
7834 ------------------------------------------------------------------------------------------------
7835 -- 4219869 Business Flow
7836 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7837 -- Prior Entry. Currently, the following code is always generated.
7838 ------------------------------------------------------------------------------------------------
7839 XLA_AE_LINES_PKG.ValidateCurrentLine;
7840
7841 ------------------------------------------------------------------------------------
7842 -- 4219869 Business Flow
7843 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7844 ------------------------------------------------------------------------------------
7845 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7846
7847 ----------------------------------------------------------------------------------
7848 -- 4219869 Business Flow
7849 -- Update journal entry status -- Need to generate this within IF <condition>
7850 ----------------------------------------------------------------------------------
7851 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7852 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7853 ,p_balance_type_code => l_balance_type_code
7854 );
7855
7856 -------------------------------------------------------------------------------------------
7857 -- 4262811 - Generate the Accrual Reversal lines
7858 -------------------------------------------------------------------------------------------
7859 BEGIN
7860 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7861 (g_array_event(p_event_id).array_value_num('header_index'));
7862 IF l_acc_rev_flag IS NULL THEN
7863 l_acc_rev_flag := 'N';
7864 END IF;
7865 EXCEPTION
7866 WHEN OTHERS THEN
7867 l_acc_rev_flag := 'N';
7868 END;
7869 --
7870 IF (l_acc_rev_flag = 'Y') THEN
7871
7872 -- 4645092 ------------------------------------------------------------------------------
7873 -- To allow MPA report to determine if it should generate report process
7874 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7875 ------------------------------------------------------------------------------------------
7876
7877 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7878 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7879 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7880 -- call ADRs
7881 -- Bug 4922099
7882 --
7883 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7884 (NVL(l_actual_upg_option, 'N') = 'O') OR
7885 (NVL(l_enc_upg_option, 'N') = 'O')
7886 )
7887 THEN
7888 NULL;
7889 --
7890 --
7891
7892 l_ccid := AcctDerRule_33(
7893 p_application_id => p_application_id
7894 , p_ae_header_id => l_ae_header_id
7895 , p_source_30 => p_source_30
7896 , x_transaction_coa_id => l_adr_transaction_coa_id
7897 , x_accounting_coa_id => l_adr_accounting_coa_id
7898 , x_value_type_code => l_adr_value_type_code
7899 , p_side => 'NA'
7900 );
7901
7902 xla_ae_lines_pkg.set_ccid(
7903 p_code_combination_id => l_ccid
7904 , p_value_type_code => l_adr_value_type_code
7905 , p_transaction_coa_id => l_adr_transaction_coa_id
7906 , p_accounting_coa_id => l_adr_accounting_coa_id
7907 , p_adr_code => 'AP_INVOICE_DIST'
7908 , p_adr_type_code => 'S'
7909 , p_component_type => l_component_type
7910 , p_component_code => l_component_code
7911 , p_component_type_code => l_component_type_code
7912 , p_component_appl_id => l_component_appl_id
7913 , p_amb_context_code => l_amb_context_code
7917
7914 , p_side => 'NA'
7915 );
7916
7918 --
7919 --
7920 END IF;
7921
7922 --
7923 -- Update the line information that should be overwritten
7924 --
7925 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7926 p_header_num => 1);
7927 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7928
7929 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7930
7931 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7932 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7933 END IF;
7934
7935 --
7936 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7937 --
7938 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7939 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7940 ELSE
7941 ---------------------------------------------------------------------------------------------------
7942 -- 4262811a Switch Sign
7943 ---------------------------------------------------------------------------------------------------
7944 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7945 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7946 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7947 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7948 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7949 -- 5132302
7950 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7951 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7952
7953 END IF;
7954
7955 -- 4955764
7956 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7957 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7958
7959
7960 XLA_AE_LINES_PKG.ValidateCurrentLine;
7961 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7962
7963 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7964 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7965 ,p_balance_type_code => l_balance_type_code);
7966
7967 END IF;
7968
7969 -----------------------------------------------------------------------------------------
7970 -- 4262811 Multiperiod Accounting
7971 -----------------------------------------------------------------------------------------
7972 -- No MPA option is assigned.
7973
7974
7975 END IF;
7976 END IF;
7977 --
7978
7979 --
7980 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7981 trace
7982 (p_msg => 'END of AcctLineType_47'
7983 ,p_level => C_LEVEL_PROCEDURE
7984 ,p_module => l_log_module);
7985 END IF;
7986 --
7987 EXCEPTION
7988 WHEN xla_exceptions_pkg.application_exception THEN
7989 RAISE;
7990 WHEN OTHERS THEN
7991 xla_exceptions_pkg.raise_message
7992 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_47');
7993 END AcctLineType_47;
7994 --
7995
7996 ---------------------------------------
7997 --
7998 -- PRIVATE FUNCTION
7999 -- AcctLineType_48
8000 --
8001 ---------------------------------------
8002 PROCEDURE AcctLineType_48 (
8003 p_application_id IN NUMBER
8004 ,p_event_id IN NUMBER
8005 ,p_calculate_acctd_flag IN VARCHAR2
8006 ,p_calculate_g_l_flag IN VARCHAR2
8007 ,p_actual_flag IN OUT VARCHAR2
8008 ,p_balance_type_code OUT VARCHAR2
8009 ,p_gain_or_loss_ref OUT VARCHAR2
8010
8011 --Invoice Distribution Description
8012 , p_source_1 IN VARCHAR2
8013 --Invoice Distribution Ledger Amount
8014 , p_source_21 IN NUMBER
8015 --Invoice Distribution Account
8016 , p_source_30 IN NUMBER
8017 --Invoice Distribution Type
8018 , p_source_33 IN VARCHAR2
8019 , p_source_33_meaning IN VARCHAR2
8020 --Accounting Reversal Indicator
8021 , p_source_52 IN VARCHAR2
8022 --Distribution Link Type
8023 , p_source_54 IN VARCHAR2
8024 --Allocation to Main Distribution Identifier
8025 , p_source_56 IN NUMBER
8026 --Invoice Identifier
8027 , p_source_57 IN NUMBER
8028 --Business Flow Purchasing Application Identifier
8029 , p_source_58 IN NUMBER
8030 --Business Flow Purchase Order Distribution Type
8031 , p_source_59 IN VARCHAR2
8032 --Business Flow Purchase Order Entity Code
8033 , p_source_60 IN VARCHAR2
8034 --Business Flow Purchase Order Distribution Identifier
8035 , p_source_61 IN NUMBER
8036 --Business Flow Purchasing Document Identifier
8037 , p_source_62 IN NUMBER
8038 --Invoice Distribution Identifier
8042 --Payables Encumbrance Upgrade Credit Amount
8039 , p_source_63 IN NUMBER
8040 --Payables Encumbrance Upgrade Credit Account
8041 , p_source_64 IN NUMBER
8043 , p_source_65 IN NUMBER
8044 --Invoice Currency Code
8045 , p_source_66 IN VARCHAR2
8046 --Payables Encumbrance Upgrade Credit Base Amount
8047 , p_source_67 IN NUMBER
8048 --Payables Encumbrance Upgrade Debit Account
8049 , p_source_68 IN NUMBER
8050 --Payables Encumbrance Upgrade Debit Amount
8051 , p_source_69 IN NUMBER
8052 --Payables Encumbrance Upgrade Debit Base Amount
8053 , p_source_70 IN NUMBER
8054 --Payables Encumbrance Upgrade Option
8055 , p_source_71 IN VARCHAR2
8056 --Invoice Distribution Amount
8057 , p_source_72 IN NUMBER
8058 --Purchase Order Exchange Rate Date
8059 , p_source_73 IN DATE
8060 --Purchase Order Exchange Rate
8061 , p_source_74 IN NUMBER
8062 --Purchase Order Exchange Rate Type
8063 , p_source_75 IN VARCHAR2
8064 --Deferred Accounting End Date
8065 , p_source_76 IN DATE
8066 --Deferred Accounting Option
8067 , p_source_77 IN VARCHAR2
8068 --Deferred Accounting Start Date
8069 , p_source_78 IN DATE
8070 --Override Accounted Amount Indicator
8071 , p_source_79 IN VARCHAR2
8072 , p_source_79_meaning IN VARCHAR2
8073 --Invoice Supplier Identifier
8074 , p_source_80 IN NUMBER
8075 --Invoice Supplier Site Identifier
8076 , p_source_81 IN NUMBER
8077 --Third Party Type
8078 , p_source_82 IN VARCHAR2
8079 --Parent Reversal Identifier
8080 , p_source_83 IN NUMBER
8081 --Invoice Distribution Statistical Amount
8082 , p_source_84 IN NUMBER
8083 --Invoice Distribution Tax Line Identifier
8084 , p_source_85 IN NUMBER
8085 --Invoice Distribution Tax Distribution Identifier from Tax
8086 , p_source_86 IN NUMBER
8087 --Invoice Distribution Summary Tax Line Identifier
8088 , p_source_87 IN NUMBER
8089 --Payables Upgrade Credit Encumbrance Type Identifier
8090 , p_source_88 IN NUMBER
8091 --Payables Upgrade Debit Encumbrance Type Identifier
8092 , p_source_89 IN NUMBER
8093 )
8094 IS
8095
8096 l_component_type VARCHAR2(80);
8097 l_component_code VARCHAR2(30);
8098 l_component_type_code VARCHAR2(1);
8099 l_component_appl_id INTEGER;
8100 l_amb_context_code VARCHAR2(30);
8101 l_entity_code VARCHAR2(30);
8102 l_event_class_code VARCHAR2(30);
8103 l_ae_header_id NUMBER;
8104 l_event_type_code VARCHAR2(30);
8105 l_line_definition_code VARCHAR2(30);
8106 l_line_definition_owner_code VARCHAR2(1);
8107 --
8108 -- adr variables
8109 l_segment VARCHAR2(30);
8110 l_ccid NUMBER;
8111 l_adr_transaction_coa_id NUMBER;
8112 l_adr_accounting_coa_id NUMBER;
8113 l_adr_flexfield_segment_code VARCHAR2(30);
8114 l_adr_flex_value_set_id NUMBER;
8115 l_adr_value_type_code VARCHAR2(30);
8116 l_adr_value_combination_id NUMBER;
8117 l_adr_value_segment_code VARCHAR2(30);
8118
8119 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8120 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8121 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8122 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8123
8124 -- 4262811 Variables ------------------------------------------------------------------------------------------
8125 l_entered_amt_idx NUMBER;
8126 l_accted_amt_idx NUMBER;
8127 l_acc_rev_flag VARCHAR2(1);
8128 l_accrual_line_num NUMBER;
8129 l_tmp_amt NUMBER;
8130 l_acc_rev_natural_side_code VARCHAR2(1);
8131
8132 l_num_entries NUMBER;
8133 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8134 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8135 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8136 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8137 l_recog_line_1 NUMBER;
8138 l_recog_line_2 NUMBER;
8139
8140 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8141 l_bflow_applied_to_amt NUMBER; -- 5132302
8142 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8143
8144 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8145
8146 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8147 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8148
8149 ---------------------------------------------------------------------------------------------------------------
8150
8151
8152 --
8153 -- bulk performance
8154 --
8155 l_balance_type_code VARCHAR2(1);
8156 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8157 l_log_module VARCHAR2(240);
8158
8159 --
8160 -- Upgrade strategy
8161 --
8162 l_actual_upg_option VARCHAR2(1);
8163 l_enc_upg_option VARCHAR2(1);
8164
8165 --
8166 BEGIN
8167 --
8168 IF g_log_enabled THEN
8172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8169 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_48';
8170 END IF;
8171 --
8173
8174 trace
8175 (p_msg => 'BEGIN of AcctLineType_48'
8176 ,p_level => C_LEVEL_PROCEDURE
8177 ,p_module => l_log_module);
8178
8179 END IF;
8180 --
8181 l_component_type := 'AMB_JLT';
8182 l_component_code := 'AP_ACCRUAL_INV';
8183 l_component_type_code := 'S';
8184 l_component_appl_id := 200;
8185 l_amb_context_code := 'DEFAULT';
8186 l_entity_code := 'AP_INVOICES';
8187 l_event_class_code := 'INVOICES';
8188 l_event_type_code := 'INVOICES_ALL';
8189 l_line_definition_owner_code := 'S';
8190 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
8191 --
8192 l_balance_type_code := 'A';
8193 l_segment := NULL;
8194 l_ccid := NULL;
8195 l_adr_transaction_coa_id := NULL;
8196 l_adr_accounting_coa_id := NULL;
8197 l_adr_flexfield_segment_code := NULL;
8198 l_adr_flex_value_set_id := NULL;
8199 l_adr_value_type_code := NULL;
8200 l_adr_value_combination_id := NULL;
8201 l_adr_value_segment_code := NULL;
8202
8203 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8204 l_bflow_class_code := ''; -- 4219869 Business Flow
8205 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8206 l_budgetary_control_flag := 'N';
8207
8208 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8209 l_bflow_applied_to_amt := NULL; -- 5132302
8210 l_entered_amt_idx := NULL; -- 4262811
8211 l_accted_amt_idx := NULL; -- 4262811
8212 l_acc_rev_flag := NULL; -- 4262811
8213 l_accrual_line_num := NULL; -- 4262811
8214 l_tmp_amt := NULL; -- 4262811
8215 --
8216
8217 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8218 l_balance_type_code <> 'B' THEN
8219 IF NVL(p_source_33,'
8220 ') = 'RETROACCRUAL' OR
8221 NVL(p_source_33,'
8222 ') = 'ACCRUAL'
8223 THEN
8224
8225 --
8226 XLA_AE_LINES_PKG.SetNewLine;
8227
8228 p_balance_type_code := l_balance_type_code;
8229 -- set the flag so later we will know whether the gain loss line needs to be created
8230
8231 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8232 p_actual_flag :='A';
8233 END IF;
8234
8235 --
8236 -- bulk performance
8237 --
8238 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8239 p_header_num => 0); -- 4262811
8240 --
8241 -- set accounting line options
8242 --
8243 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8244 p_natural_side_code => 'D'
8245 , p_gain_or_loss_flag => 'N'
8246 , p_gl_transfer_mode_code => 'S'
8247 , p_acct_entry_type_code => 'A'
8248 , p_switch_side_flag => 'Y'
8249 , p_merge_duplicate_code => 'A'
8250 );
8251 --
8252 l_acc_rev_natural_side_code := 'C'; -- 4262811
8253 --
8254 --
8255 -- set accounting line type info
8256 --
8257 xla_ae_lines_pkg.SetAcctLineType
8258 (p_component_type => l_component_type
8259 ,p_event_type_code => l_event_type_code
8260 ,p_line_definition_owner_code => l_line_definition_owner_code
8261 ,p_line_definition_code => l_line_definition_code
8262 ,p_accounting_line_code => l_component_code
8263 ,p_accounting_line_type_code => l_component_type_code
8264 ,p_accounting_line_appl_id => l_component_appl_id
8265 ,p_amb_context_code => l_amb_context_code
8266 ,p_entity_code => l_entity_code
8267 ,p_event_class_code => l_event_class_code);
8268 --
8269 -- set accounting class
8270 --
8271 xla_ae_lines_pkg.SetAcctClass(
8272 p_accounting_class_code => 'ACCRUAL'
8273 , p_ae_header_id => l_ae_header_id
8274 );
8275
8276 --
8277 -- set rounding class
8278 --
8279 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8280 'ACCRUAL';
8281
8282 --
8283 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8284 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8285 --
8286 -- bulk performance
8287 --
8288 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8289
8290 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8291 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8292
8293 -- 4955764
8294 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8295 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8296
8297 -- 4458381 Public Sector Enh
8298
8299 --
8303 l_accted_amt_idx := 29;
8300 -- set accounting attributes for the line type
8301 --
8302 l_entered_amt_idx := 24;
8304 l_bflow_applied_to_amt_idx := 7; -- 5132302
8305 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8306 l_rec_acct_attrs.array_char_value(1) := p_source_52;
8307 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8308 l_rec_acct_attrs.array_num_value(2) :=
8309 xla_ae_sources_pkg.GetSystemSourceNum(
8310 p_source_code => 'XLA_EVENT_APPL_ID'
8311 , p_source_type_code => 'Y'
8312 , p_source_application_id => 602
8313 );
8314 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8315 l_rec_acct_attrs.array_char_value(3) := p_source_54;
8316 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8317 l_rec_acct_attrs.array_char_value(4) :=
8318 xla_ae_sources_pkg.GetSystemSourceChar(
8319 p_source_code => 'XLA_ENTITY_CODE'
8320 , p_source_type_code => 'Y'
8321 , p_source_application_id => 602
8322 );
8323 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8324 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
8325 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8326 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
8327 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
8328 l_rec_acct_attrs.array_num_value(7) := p_source_72;
8329 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
8330 l_rec_acct_attrs.array_num_value(8) := p_source_58;
8331 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8332 l_rec_acct_attrs.array_char_value(9) := p_source_59;
8333 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
8334 l_rec_acct_attrs.array_char_value(10) := p_source_60;
8335 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
8336 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_61);
8337 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8338 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_62);
8339 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
8340 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
8341 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
8342 l_rec_acct_attrs.array_char_value(14) := p_source_54;
8343 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
8344 l_rec_acct_attrs.array_num_value(15) := p_source_64;
8345 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
8346 l_rec_acct_attrs.array_num_value(16) := p_source_65;
8347 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
8348 l_rec_acct_attrs.array_char_value(17) := p_source_66;
8349 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
8350 l_rec_acct_attrs.array_num_value(18) := p_source_67;
8351 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
8352 l_rec_acct_attrs.array_num_value(19) := p_source_68;
8353 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
8354 l_rec_acct_attrs.array_num_value(20) := p_source_69;
8355 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
8356 l_rec_acct_attrs.array_char_value(21) := p_source_66;
8357 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
8358 l_rec_acct_attrs.array_num_value(22) := p_source_70;
8359 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
8360 l_rec_acct_attrs.array_char_value(23) := p_source_71;
8361 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
8362 l_rec_acct_attrs.array_num_value(24) := p_source_72;
8363 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
8364 l_rec_acct_attrs.array_char_value(25) := p_source_66;
8365 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
8366 l_rec_acct_attrs.array_date_value(26) := p_source_73;
8367 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
8368 l_rec_acct_attrs.array_num_value(27) := p_source_74;
8369 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
8370 l_rec_acct_attrs.array_char_value(28) := p_source_75;
8371 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
8372 l_rec_acct_attrs.array_num_value(29) := p_source_21;
8373 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
8374 l_rec_acct_attrs.array_date_value(30) := p_source_76;
8375 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
8376 l_rec_acct_attrs.array_char_value(31) := p_source_77;
8377 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
8378 l_rec_acct_attrs.array_date_value(32) := p_source_78;
8379 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
8380 l_rec_acct_attrs.array_char_value(33) := p_source_79;
8381 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
8382 l_rec_acct_attrs.array_num_value(34) := p_source_80;
8383 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
8384 l_rec_acct_attrs.array_num_value(35) := p_source_81;
8385 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
8386 l_rec_acct_attrs.array_char_value(36) := p_source_82;
8387 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
8388 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
8389 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
8393 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
8390 l_rec_acct_attrs.array_char_value(38) := p_source_54;
8391 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
8392 l_rec_acct_attrs.array_num_value(39) := p_source_84;
8394 l_rec_acct_attrs.array_num_value(40) := p_source_85;
8395 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
8396 l_rec_acct_attrs.array_num_value(41) := p_source_86;
8397 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
8398 l_rec_acct_attrs.array_num_value(42) := p_source_87;
8399 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
8400 l_rec_acct_attrs.array_num_value(43) := p_source_88;
8401 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
8402 l_rec_acct_attrs.array_num_value(44) := p_source_89;
8403
8404 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8405 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8406
8407 ---------------------------------------------------------------------------------------------------------------
8408 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8409 ---------------------------------------------------------------------------------------------------------------
8410 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8411
8412 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8413 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8414
8415 IF xla_accounting_cache_pkg.GetValueChar
8416 (p_source_code => 'LEDGER_CATEGORY_CODE'
8417 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8418 AND l_bflow_method_code = 'PRIOR_ENTRY'
8419 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8420 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8421 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8422 )
8423 THEN
8424 xla_ae_lines_pkg.BflowUpgEntry
8425 (p_business_method_code => l_bflow_method_code
8426 ,p_business_class_code => l_bflow_class_code
8427 ,p_balance_type => l_balance_type_code);
8428 ELSE
8429 NULL;
8430 -- No business flow processing for business flow method of NONE.
8431 END IF;
8432
8433 --
8434 -- call analytical criteria
8435 --
8436
8437 --
8438 -- call description
8439 --
8440
8441 xla_ae_lines_pkg.SetLineDescription(
8442 p_ae_header_id => l_ae_header_id
8443 ,p_description => Description_1 (
8444 p_application_id => p_application_id
8445 , p_ae_header_id => l_ae_header_id
8446 , p_source_1 => p_source_1
8447 )
8448 );
8449
8450
8451 --
8452 -- call ADRs
8453 -- Bug 4922099
8454 --
8455 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8456 (NVL(l_actual_upg_option, 'N') = 'O') OR
8457 (NVL(l_enc_upg_option, 'N') = 'O')
8458 )
8459 THEN
8460 NULL;
8461 --
8462 --
8463
8464 l_ccid := AcctDerRule_33(
8465 p_application_id => p_application_id
8466 , p_ae_header_id => l_ae_header_id
8467 , p_source_30 => p_source_30
8468 , x_transaction_coa_id => l_adr_transaction_coa_id
8469 , x_accounting_coa_id => l_adr_accounting_coa_id
8470 , x_value_type_code => l_adr_value_type_code
8471 , p_side => 'NA'
8472 );
8473
8474 xla_ae_lines_pkg.set_ccid(
8475 p_code_combination_id => l_ccid
8476 , p_value_type_code => l_adr_value_type_code
8477 , p_transaction_coa_id => l_adr_transaction_coa_id
8478 , p_accounting_coa_id => l_adr_accounting_coa_id
8479 , p_adr_code => 'AP_INVOICE_DIST'
8480 , p_adr_type_code => 'S'
8481 , p_component_type => l_component_type
8482 , p_component_code => l_component_code
8483 , p_component_type_code => l_component_type_code
8484 , p_component_appl_id => l_component_appl_id
8485 , p_amb_context_code => l_amb_context_code
8486 , p_side => 'NA'
8487 );
8488
8489
8490 --
8491 --
8492 END IF;
8493 --
8494 -- Bug 4922099
8495 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8496 (NVL(l_enc_upg_option, 'N') = 'O')
8497 ) AND
8498 (l_bflow_method_code = 'PRIOR_ENTRY')
8499 )
8500 THEN
8501 IF
8502 --
8503 1 = 2
8504 --
8505 THEN
8506 xla_accounting_err_pkg.build_message
8507 (p_appli_s_name => 'XLA'
8508 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8509 ,p_token_1 => 'LINE_NUMBER'
8510 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8511 ,p_token_2 => 'LINE_TYPE_NAME'
8515 ,l_component_type_code
8512 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8513 l_component_type
8514 ,l_component_code
8516 ,l_component_appl_id
8517 ,l_amb_context_code
8518 ,l_entity_code
8519 ,l_event_class_code
8520 )
8521 ,p_token_3 => 'OWNER'
8522 ,p_value_3 => xla_lookups_pkg.get_meaning(
8523 p_lookup_type => 'XLA_OWNER_TYPE'
8524 ,p_lookup_code => l_component_type_code
8525 )
8526 ,p_token_4 => 'PRODUCT_NAME'
8527 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8528 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8529 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8530 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8531 ,p_ae_header_id => NULL
8532 );
8533
8534 IF (C_LEVEL_ERROR>= g_log_level) THEN
8535 trace
8536 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8537 ,p_level => C_LEVEL_ERROR
8538 ,p_module => l_log_module);
8539 END IF;
8540 END IF;
8541 END IF;
8542 --
8543 --
8544 ------------------------------------------------------------------------------------------------
8545 -- 4219869 Business Flow
8546 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8547 -- Prior Entry. Currently, the following code is always generated.
8548 ------------------------------------------------------------------------------------------------
8549 XLA_AE_LINES_PKG.ValidateCurrentLine;
8550
8551 ------------------------------------------------------------------------------------
8552 -- 4219869 Business Flow
8553 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
8554 ------------------------------------------------------------------------------------
8555 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8556
8557 ----------------------------------------------------------------------------------
8558 -- 4219869 Business Flow
8559 -- Update journal entry status -- Need to generate this within IF <condition>
8560 ----------------------------------------------------------------------------------
8561 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8562 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
8563 ,p_balance_type_code => l_balance_type_code
8564 );
8565
8566 -------------------------------------------------------------------------------------------
8567 -- 4262811 - Generate the Accrual Reversal lines
8568 -------------------------------------------------------------------------------------------
8569 BEGIN
8570 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
8571 (g_array_event(p_event_id).array_value_num('header_index'));
8572 IF l_acc_rev_flag IS NULL THEN
8573 l_acc_rev_flag := 'N';
8574 END IF;
8575 EXCEPTION
8576 WHEN OTHERS THEN
8577 l_acc_rev_flag := 'N';
8578 END;
8579 --
8580 IF (l_acc_rev_flag = 'Y') THEN
8581
8582 -- 4645092 ------------------------------------------------------------------------------
8583 -- To allow MPA report to determine if it should generate report process
8584 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8585 ------------------------------------------------------------------------------------------
8586
8587 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8588 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8589 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8590 -- call ADRs
8591 -- Bug 4922099
8592 --
8593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8594 (NVL(l_actual_upg_option, 'N') = 'O') OR
8595 (NVL(l_enc_upg_option, 'N') = 'O')
8596 )
8597 THEN
8598 NULL;
8599 --
8600 --
8601
8602 l_ccid := AcctDerRule_33(
8603 p_application_id => p_application_id
8604 , p_ae_header_id => l_ae_header_id
8605 , p_source_30 => p_source_30
8606 , x_transaction_coa_id => l_adr_transaction_coa_id
8607 , x_accounting_coa_id => l_adr_accounting_coa_id
8608 , x_value_type_code => l_adr_value_type_code
8609 , p_side => 'NA'
8610 );
8611
8612 xla_ae_lines_pkg.set_ccid(
8613 p_code_combination_id => l_ccid
8614 , p_value_type_code => l_adr_value_type_code
8618 , p_adr_type_code => 'S'
8615 , p_transaction_coa_id => l_adr_transaction_coa_id
8616 , p_accounting_coa_id => l_adr_accounting_coa_id
8617 , p_adr_code => 'AP_INVOICE_DIST'
8619 , p_component_type => l_component_type
8620 , p_component_code => l_component_code
8621 , p_component_type_code => l_component_type_code
8622 , p_component_appl_id => l_component_appl_id
8623 , p_amb_context_code => l_amb_context_code
8624 , p_side => 'NA'
8625 );
8626
8627
8628 --
8629 --
8630 END IF;
8631
8632 --
8633 -- Update the line information that should be overwritten
8634 --
8635 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8636 p_header_num => 1);
8637 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8638
8639 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8640
8641 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8642 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8643 END IF;
8644
8645 --
8646 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8647 --
8648 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8649 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8650 ELSE
8651 ---------------------------------------------------------------------------------------------------
8652 -- 4262811a Switch Sign
8653 ---------------------------------------------------------------------------------------------------
8654 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8656 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8657 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8658 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8659 -- 5132302
8660 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8661 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8662
8663 END IF;
8664
8665 -- 4955764
8666 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8667 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8668
8669
8670 XLA_AE_LINES_PKG.ValidateCurrentLine;
8671 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8672
8673 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8674 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8675 ,p_balance_type_code => l_balance_type_code);
8676
8677 END IF;
8678
8679 -----------------------------------------------------------------------------------------
8680 -- 4262811 Multiperiod Accounting
8681 -----------------------------------------------------------------------------------------
8682 -- No MPA option is assigned.
8683
8684
8685 END IF;
8686 END IF;
8687 --
8688
8689 --
8690 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8691 trace
8692 (p_msg => 'END of AcctLineType_48'
8693 ,p_level => C_LEVEL_PROCEDURE
8694 ,p_module => l_log_module);
8695 END IF;
8696 --
8697 EXCEPTION
8698 WHEN xla_exceptions_pkg.application_exception THEN
8699 RAISE;
8700 WHEN OTHERS THEN
8701 xla_exceptions_pkg.raise_message
8702 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_48');
8703 END AcctLineType_48;
8704 --
8705
8706 ---------------------------------------
8707 --
8708 -- PRIVATE FUNCTION
8709 -- AcctLineType_49
8710 --
8711 ---------------------------------------
8712 PROCEDURE AcctLineType_49 (
8713 p_application_id IN NUMBER
8714 ,p_event_id IN NUMBER
8715 ,p_calculate_acctd_flag IN VARCHAR2
8716 ,p_calculate_g_l_flag IN VARCHAR2
8717 ,p_actual_flag IN OUT VARCHAR2
8718 ,p_balance_type_code OUT VARCHAR2
8719 ,p_gain_or_loss_ref OUT VARCHAR2
8720
8721 --Invoice Distribution Description
8722 , p_source_1 IN VARCHAR2
8723 --Invoice Distribution Ledger Amount
8724 , p_source_21 IN NUMBER
8725 --Invoice Distribution Account
8726 , p_source_30 IN NUMBER
8727 --Invoice Distribution Type
8728 , p_source_33 IN VARCHAR2
8729 , p_source_33_meaning IN VARCHAR2
8730 --Accounting Reversal Indicator
8731 , p_source_52 IN VARCHAR2
8732 --Distribution Link Type
8733 , p_source_54 IN VARCHAR2
8734 --Allocation to Main Distribution Identifier
8735 , p_source_56 IN NUMBER
8736 --Invoice Identifier
8737 , p_source_57 IN NUMBER
8738 --Invoice Distribution Identifier
8739 , p_source_63 IN NUMBER
8743 , p_source_65 IN NUMBER
8740 --Payables Encumbrance Upgrade Credit Account
8741 , p_source_64 IN NUMBER
8742 --Payables Encumbrance Upgrade Credit Amount
8744 --Invoice Currency Code
8745 , p_source_66 IN VARCHAR2
8746 --Payables Encumbrance Upgrade Credit Base Amount
8747 , p_source_67 IN NUMBER
8748 --Payables Encumbrance Upgrade Debit Account
8749 , p_source_68 IN NUMBER
8750 --Payables Encumbrance Upgrade Debit Amount
8751 , p_source_69 IN NUMBER
8752 --Payables Encumbrance Upgrade Debit Base Amount
8753 , p_source_70 IN NUMBER
8754 --Payables Encumbrance Upgrade Option
8755 , p_source_71 IN VARCHAR2
8756 --Invoice Distribution Amount
8757 , p_source_72 IN NUMBER
8758 --Purchase Order Exchange Rate Date
8759 , p_source_73 IN DATE
8760 --Purchase Order Exchange Rate
8761 , p_source_74 IN NUMBER
8762 --Purchase Order Exchange Rate Type
8763 , p_source_75 IN VARCHAR2
8764 --Deferred Accounting End Date
8765 , p_source_76 IN DATE
8766 --Deferred Accounting Option
8767 , p_source_77 IN VARCHAR2
8768 --Deferred Accounting Start Date
8769 , p_source_78 IN DATE
8770 --Override Accounted Amount Indicator
8771 , p_source_79 IN VARCHAR2
8772 , p_source_79_meaning IN VARCHAR2
8773 --Invoice Supplier Identifier
8774 , p_source_80 IN NUMBER
8775 --Invoice Supplier Site Identifier
8776 , p_source_81 IN NUMBER
8777 --Third Party Type
8778 , p_source_82 IN VARCHAR2
8779 --Parent Reversal Identifier
8780 , p_source_83 IN NUMBER
8781 --Invoice Distribution Statistical Amount
8782 , p_source_84 IN NUMBER
8783 --Invoice Distribution Tax Line Identifier
8784 , p_source_85 IN NUMBER
8785 --Invoice Distribution Tax Distribution Identifier from Tax
8786 , p_source_86 IN NUMBER
8787 --Invoice Distribution Summary Tax Line Identifier
8788 , p_source_87 IN NUMBER
8789 --Payables Upgrade Credit Encumbrance Type Identifier
8790 , p_source_88 IN NUMBER
8791 --Payables Upgrade Debit Encumbrance Type Identifier
8792 , p_source_89 IN NUMBER
8793 --Business Flow Accounts Payable Application Identifier
8794 , p_source_90 IN NUMBER
8795 --Business Flow Invoice Distribution Type
8796 , p_source_91 IN VARCHAR2
8797 --Business Flow Invoice Entity Code
8798 , p_source_92 IN VARCHAR2
8799 --Business Flow Invoice Distribution Identifier
8800 , p_source_93 IN NUMBER
8801 --Business Flow Invoice Identifier
8802 , p_source_94 IN NUMBER
8803 )
8804 IS
8805
8806 l_component_type VARCHAR2(80);
8807 l_component_code VARCHAR2(30);
8808 l_component_type_code VARCHAR2(1);
8809 l_component_appl_id INTEGER;
8810 l_amb_context_code VARCHAR2(30);
8811 l_entity_code VARCHAR2(30);
8812 l_event_class_code VARCHAR2(30);
8813 l_ae_header_id NUMBER;
8814 l_event_type_code VARCHAR2(30);
8815 l_line_definition_code VARCHAR2(30);
8816 l_line_definition_owner_code VARCHAR2(1);
8817 --
8818 -- adr variables
8819 l_segment VARCHAR2(30);
8820 l_ccid NUMBER;
8821 l_adr_transaction_coa_id NUMBER;
8822 l_adr_accounting_coa_id NUMBER;
8823 l_adr_flexfield_segment_code VARCHAR2(30);
8824 l_adr_flex_value_set_id NUMBER;
8825 l_adr_value_type_code VARCHAR2(30);
8826 l_adr_value_combination_id NUMBER;
8827 l_adr_value_segment_code VARCHAR2(30);
8828
8829 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8830 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8831 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8832 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8833
8834 -- 4262811 Variables ------------------------------------------------------------------------------------------
8835 l_entered_amt_idx NUMBER;
8836 l_accted_amt_idx NUMBER;
8837 l_acc_rev_flag VARCHAR2(1);
8838 l_accrual_line_num NUMBER;
8839 l_tmp_amt NUMBER;
8840 l_acc_rev_natural_side_code VARCHAR2(1);
8841
8842 l_num_entries NUMBER;
8843 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8844 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8845 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8846 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8847 l_recog_line_1 NUMBER;
8848 l_recog_line_2 NUMBER;
8849
8850 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8851 l_bflow_applied_to_amt NUMBER; -- 5132302
8852 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8853
8854 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8855
8856 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8857 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8858
8859 ---------------------------------------------------------------------------------------------------------------
8860
8861
8862 --
8863 -- bulk performance
8864 --
8868
8865 l_balance_type_code VARCHAR2(1);
8866 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8867 l_log_module VARCHAR2(240);
8869 --
8870 -- Upgrade strategy
8871 --
8872 l_actual_upg_option VARCHAR2(1);
8873 l_enc_upg_option VARCHAR2(1);
8874
8875 --
8876 BEGIN
8877 --
8878 IF g_log_enabled THEN
8879 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_49';
8880 END IF;
8881 --
8882 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8883
8884 trace
8885 (p_msg => 'BEGIN of AcctLineType_49'
8886 ,p_level => C_LEVEL_PROCEDURE
8887 ,p_module => l_log_module);
8888
8889 END IF;
8890 --
8891 l_component_type := 'AMB_JLT';
8892 l_component_code := 'AP_ACCRUAL_PREPAY';
8893 l_component_type_code := 'S';
8894 l_component_appl_id := 200;
8895 l_amb_context_code := 'DEFAULT';
8896 l_entity_code := 'AP_INVOICES';
8897 l_event_class_code := 'PREPAYMENTS';
8898 l_event_type_code := 'PREPAYMENTS_ALL';
8899 l_line_definition_owner_code := 'S';
8900 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
8901 --
8902 l_balance_type_code := 'A';
8903 l_segment := NULL;
8904 l_ccid := NULL;
8905 l_adr_transaction_coa_id := NULL;
8906 l_adr_accounting_coa_id := NULL;
8907 l_adr_flexfield_segment_code := NULL;
8908 l_adr_flex_value_set_id := NULL;
8909 l_adr_value_type_code := NULL;
8910 l_adr_value_combination_id := NULL;
8911 l_adr_value_segment_code := NULL;
8912
8913 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8914 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
8915 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8916 l_budgetary_control_flag := 'N';
8917
8918 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8919 l_bflow_applied_to_amt := NULL; -- 5132302
8920 l_entered_amt_idx := NULL; -- 4262811
8921 l_accted_amt_idx := NULL; -- 4262811
8922 l_acc_rev_flag := NULL; -- 4262811
8923 l_accrual_line_num := NULL; -- 4262811
8924 l_tmp_amt := NULL; -- 4262811
8925 --
8926
8927 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8928 l_balance_type_code <> 'B' THEN
8929 IF NVL(p_source_33,'
8930 ') = 'RETROACCRUAL' OR
8931 NVL(p_source_33,'
8932 ') = 'ACCRUAL'
8933 THEN
8934
8935 --
8936 XLA_AE_LINES_PKG.SetNewLine;
8937
8938 p_balance_type_code := l_balance_type_code;
8939 -- set the flag so later we will know whether the gain loss line needs to be created
8940
8941 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8942 p_actual_flag :='A';
8943 END IF;
8944
8945 --
8946 -- bulk performance
8947 --
8948 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8949 p_header_num => 0); -- 4262811
8950 --
8951 -- set accounting line options
8952 --
8953 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8954 p_natural_side_code => 'D'
8955 , p_gain_or_loss_flag => 'N'
8956 , p_gl_transfer_mode_code => 'S'
8957 , p_acct_entry_type_code => 'A'
8958 , p_switch_side_flag => 'Y'
8959 , p_merge_duplicate_code => 'A'
8960 );
8961 --
8962 l_acc_rev_natural_side_code := 'C'; -- 4262811
8963 --
8964 --
8965 -- set accounting line type info
8966 --
8967 xla_ae_lines_pkg.SetAcctLineType
8968 (p_component_type => l_component_type
8969 ,p_event_type_code => l_event_type_code
8970 ,p_line_definition_owner_code => l_line_definition_owner_code
8971 ,p_line_definition_code => l_line_definition_code
8972 ,p_accounting_line_code => l_component_code
8973 ,p_accounting_line_type_code => l_component_type_code
8974 ,p_accounting_line_appl_id => l_component_appl_id
8975 ,p_amb_context_code => l_amb_context_code
8976 ,p_entity_code => l_entity_code
8977 ,p_event_class_code => l_event_class_code);
8978 --
8979 -- set accounting class
8980 --
8981 xla_ae_lines_pkg.SetAcctClass(
8982 p_accounting_class_code => 'ACCRUAL'
8983 , p_ae_header_id => l_ae_header_id
8984 );
8985
8986 --
8987 -- set rounding class
8988 --
8989 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8990 'ACCRUAL';
8991
8992 --
8993 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8994 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8995 --
8996 -- bulk performance
8997 --
8998 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8999
9000 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9004 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9001 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9002
9003 -- 4955764
9005 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9006
9007 -- 4458381 Public Sector Enh
9008
9009 --
9010 -- set accounting attributes for the line type
9011 --
9012 l_entered_amt_idx := 23;
9013 l_accted_amt_idx := 28;
9014 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9015 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9016 l_rec_acct_attrs.array_char_value(1) := p_source_52;
9017 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9018 l_rec_acct_attrs.array_num_value(2) :=
9019 xla_ae_sources_pkg.GetSystemSourceNum(
9020 p_source_code => 'XLA_EVENT_APPL_ID'
9021 , p_source_type_code => 'Y'
9022 , p_source_application_id => 602
9023 );
9024 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9025 l_rec_acct_attrs.array_char_value(3) := p_source_54;
9026 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9027 l_rec_acct_attrs.array_char_value(4) :=
9028 xla_ae_sources_pkg.GetSystemSourceChar(
9029 p_source_code => 'XLA_ENTITY_CODE'
9030 , p_source_type_code => 'Y'
9031 , p_source_application_id => 602
9032 );
9033 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9034 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
9035 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9036 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
9037 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
9038 l_rec_acct_attrs.array_num_value(7) := p_source_90;
9039 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9040 l_rec_acct_attrs.array_char_value(8) := p_source_91;
9041 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
9042 l_rec_acct_attrs.array_char_value(9) := p_source_92;
9043 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
9044 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
9045 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9046 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
9047 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
9048 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
9049 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
9050 l_rec_acct_attrs.array_char_value(13) := p_source_54;
9051 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
9052 l_rec_acct_attrs.array_num_value(14) := p_source_64;
9053 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
9054 l_rec_acct_attrs.array_num_value(15) := p_source_65;
9055 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
9056 l_rec_acct_attrs.array_char_value(16) := p_source_66;
9057 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
9058 l_rec_acct_attrs.array_num_value(17) := p_source_67;
9059 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
9060 l_rec_acct_attrs.array_num_value(18) := p_source_68;
9061 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
9062 l_rec_acct_attrs.array_num_value(19) := p_source_69;
9063 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
9064 l_rec_acct_attrs.array_char_value(20) := p_source_66;
9065 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
9066 l_rec_acct_attrs.array_num_value(21) := p_source_70;
9067 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
9068 l_rec_acct_attrs.array_char_value(22) := p_source_71;
9069 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
9070 l_rec_acct_attrs.array_num_value(23) := p_source_72;
9071 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
9072 l_rec_acct_attrs.array_char_value(24) := p_source_66;
9073 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
9074 l_rec_acct_attrs.array_date_value(25) := p_source_73;
9075 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
9076 l_rec_acct_attrs.array_num_value(26) := p_source_74;
9077 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
9078 l_rec_acct_attrs.array_char_value(27) := p_source_75;
9079 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
9080 l_rec_acct_attrs.array_num_value(28) := p_source_21;
9081 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
9082 l_rec_acct_attrs.array_date_value(29) := p_source_76;
9083 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
9084 l_rec_acct_attrs.array_char_value(30) := p_source_77;
9085 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
9086 l_rec_acct_attrs.array_date_value(31) := p_source_78;
9087 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
9088 l_rec_acct_attrs.array_char_value(32) := p_source_79;
9089 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
9090 l_rec_acct_attrs.array_num_value(33) := p_source_80;
9091 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
9092 l_rec_acct_attrs.array_num_value(34) := p_source_81;
9093 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
9094 l_rec_acct_attrs.array_char_value(35) := p_source_82;
9098 l_rec_acct_attrs.array_char_value(37) := p_source_54;
9095 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
9096 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
9097 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
9099 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
9100 l_rec_acct_attrs.array_num_value(38) := p_source_84;
9101 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
9102 l_rec_acct_attrs.array_num_value(39) := p_source_85;
9103 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
9104 l_rec_acct_attrs.array_num_value(40) := p_source_86;
9105 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
9106 l_rec_acct_attrs.array_num_value(41) := p_source_87;
9107 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
9108 l_rec_acct_attrs.array_num_value(42) := p_source_88;
9109 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
9110 l_rec_acct_attrs.array_num_value(43) := p_source_89;
9111
9112 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9113 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9114
9115 ---------------------------------------------------------------------------------------------------------------
9116 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9117 ---------------------------------------------------------------------------------------------------------------
9118 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9119
9120 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9121 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9122
9123 IF xla_accounting_cache_pkg.GetValueChar
9124 (p_source_code => 'LEDGER_CATEGORY_CODE'
9125 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9126 AND l_bflow_method_code = 'PRIOR_ENTRY'
9127 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9128 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9129 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9130 )
9131 THEN
9132 xla_ae_lines_pkg.BflowUpgEntry
9133 (p_business_method_code => l_bflow_method_code
9134 ,p_business_class_code => l_bflow_class_code
9135 ,p_balance_type => l_balance_type_code);
9136 ELSE
9137 NULL;
9138 -- No business flow processing for business flow method of NONE.
9139 END IF;
9140
9141 --
9142 -- call analytical criteria
9143 --
9144
9145 --
9146 -- call description
9147 --
9148
9149 xla_ae_lines_pkg.SetLineDescription(
9150 p_ae_header_id => l_ae_header_id
9151 ,p_description => Description_1 (
9152 p_application_id => p_application_id
9153 , p_ae_header_id => l_ae_header_id
9154 , p_source_1 => p_source_1
9155 )
9156 );
9157
9158
9159 --
9160 -- call ADRs
9161 -- Bug 4922099
9162 --
9163 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9164 (NVL(l_actual_upg_option, 'N') = 'O') OR
9165 (NVL(l_enc_upg_option, 'N') = 'O')
9166 )
9167 THEN
9168 NULL;
9169 --
9170 --
9171
9172 l_ccid := AcctDerRule_33(
9173 p_application_id => p_application_id
9174 , p_ae_header_id => l_ae_header_id
9175 , p_source_30 => p_source_30
9176 , x_transaction_coa_id => l_adr_transaction_coa_id
9177 , x_accounting_coa_id => l_adr_accounting_coa_id
9178 , x_value_type_code => l_adr_value_type_code
9179 , p_side => 'NA'
9180 );
9181
9182 xla_ae_lines_pkg.set_ccid(
9183 p_code_combination_id => l_ccid
9184 , p_value_type_code => l_adr_value_type_code
9185 , p_transaction_coa_id => l_adr_transaction_coa_id
9186 , p_accounting_coa_id => l_adr_accounting_coa_id
9187 , p_adr_code => 'AP_INVOICE_DIST'
9188 , p_adr_type_code => 'S'
9189 , p_component_type => l_component_type
9190 , p_component_code => l_component_code
9191 , p_component_type_code => l_component_type_code
9192 , p_component_appl_id => l_component_appl_id
9193 , p_amb_context_code => l_amb_context_code
9194 , p_side => 'NA'
9195 );
9196
9197
9198 --
9199 --
9200 END IF;
9201 --
9202 -- Bug 4922099
9203 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9204 (NVL(l_enc_upg_option, 'N') = 'O')
9205 ) AND
9206 (l_bflow_method_code = 'PRIOR_ENTRY')
9207 )
9208 THEN
9209 IF
9210 --
9211 1 = 2
9212 --
9213 THEN
9214 xla_accounting_err_pkg.build_message
9215 (p_appli_s_name => 'XLA'
9216 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9217 ,p_token_1 => 'LINE_NUMBER'
9221 l_component_type
9218 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9219 ,p_token_2 => 'LINE_TYPE_NAME'
9220 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9222 ,l_component_code
9223 ,l_component_type_code
9224 ,l_component_appl_id
9225 ,l_amb_context_code
9226 ,l_entity_code
9227 ,l_event_class_code
9228 )
9229 ,p_token_3 => 'OWNER'
9230 ,p_value_3 => xla_lookups_pkg.get_meaning(
9231 p_lookup_type => 'XLA_OWNER_TYPE'
9232 ,p_lookup_code => l_component_type_code
9233 )
9234 ,p_token_4 => 'PRODUCT_NAME'
9235 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9236 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9237 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9238 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9239 ,p_ae_header_id => NULL
9240 );
9241
9242 IF (C_LEVEL_ERROR>= g_log_level) THEN
9243 trace
9244 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9245 ,p_level => C_LEVEL_ERROR
9246 ,p_module => l_log_module);
9247 END IF;
9248 END IF;
9249 END IF;
9250 --
9251 --
9252 ------------------------------------------------------------------------------------------------
9253 -- 4219869 Business Flow
9254 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9255 -- Prior Entry. Currently, the following code is always generated.
9256 ------------------------------------------------------------------------------------------------
9257 XLA_AE_LINES_PKG.ValidateCurrentLine;
9258
9259 ------------------------------------------------------------------------------------
9260 -- 4219869 Business Flow
9261 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9262 ------------------------------------------------------------------------------------
9263 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9264
9265 ----------------------------------------------------------------------------------
9266 -- 4219869 Business Flow
9267 -- Update journal entry status -- Need to generate this within IF <condition>
9268 ----------------------------------------------------------------------------------
9269 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9270 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9271 ,p_balance_type_code => l_balance_type_code
9272 );
9273
9274 -------------------------------------------------------------------------------------------
9275 -- 4262811 - Generate the Accrual Reversal lines
9276 -------------------------------------------------------------------------------------------
9277 BEGIN
9278 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9279 (g_array_event(p_event_id).array_value_num('header_index'));
9280 IF l_acc_rev_flag IS NULL THEN
9281 l_acc_rev_flag := 'N';
9282 END IF;
9283 EXCEPTION
9284 WHEN OTHERS THEN
9285 l_acc_rev_flag := 'N';
9286 END;
9287 --
9288 IF (l_acc_rev_flag = 'Y') THEN
9289
9290 -- 4645092 ------------------------------------------------------------------------------
9291 -- To allow MPA report to determine if it should generate report process
9292 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9293 ------------------------------------------------------------------------------------------
9294
9295 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9296 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9297 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9298 -- call ADRs
9299 -- Bug 4922099
9300 --
9301 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9302 (NVL(l_actual_upg_option, 'N') = 'O') OR
9303 (NVL(l_enc_upg_option, 'N') = 'O')
9304 )
9305 THEN
9306 NULL;
9307 --
9308 --
9309
9310 l_ccid := AcctDerRule_33(
9311 p_application_id => p_application_id
9315 , x_accounting_coa_id => l_adr_accounting_coa_id
9312 , p_ae_header_id => l_ae_header_id
9313 , p_source_30 => p_source_30
9314 , x_transaction_coa_id => l_adr_transaction_coa_id
9316 , x_value_type_code => l_adr_value_type_code
9317 , p_side => 'NA'
9318 );
9319
9320 xla_ae_lines_pkg.set_ccid(
9321 p_code_combination_id => l_ccid
9322 , p_value_type_code => l_adr_value_type_code
9323 , p_transaction_coa_id => l_adr_transaction_coa_id
9324 , p_accounting_coa_id => l_adr_accounting_coa_id
9325 , p_adr_code => 'AP_INVOICE_DIST'
9326 , p_adr_type_code => 'S'
9327 , p_component_type => l_component_type
9328 , p_component_code => l_component_code
9329 , p_component_type_code => l_component_type_code
9330 , p_component_appl_id => l_component_appl_id
9331 , p_amb_context_code => l_amb_context_code
9332 , p_side => 'NA'
9333 );
9334
9335
9336 --
9337 --
9338 END IF;
9339
9340 --
9341 -- Update the line information that should be overwritten
9342 --
9343 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9344 p_header_num => 1);
9345 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9346
9347 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9348
9349 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9350 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9351 END IF;
9352
9353 --
9354 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9355 --
9356 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9357 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9358 ELSE
9359 ---------------------------------------------------------------------------------------------------
9360 -- 4262811a Switch Sign
9361 ---------------------------------------------------------------------------------------------------
9362 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9363 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9364 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9365 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9366 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9367 -- 5132302
9368 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9369 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9370
9371 END IF;
9372
9373 -- 4955764
9374 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9375 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9376
9377
9378 XLA_AE_LINES_PKG.ValidateCurrentLine;
9379 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9380
9381 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9382 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9383 ,p_balance_type_code => l_balance_type_code);
9384
9385 END IF;
9386
9387 -----------------------------------------------------------------------------------------
9388 -- 4262811 Multiperiod Accounting
9389 -----------------------------------------------------------------------------------------
9390 -- No MPA option is assigned.
9391
9392
9393 END IF;
9394 END IF;
9395 --
9396
9397 --
9398 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9399 trace
9400 (p_msg => 'END of AcctLineType_49'
9401 ,p_level => C_LEVEL_PROCEDURE
9402 ,p_module => l_log_module);
9403 END IF;
9404 --
9405 EXCEPTION
9406 WHEN xla_exceptions_pkg.application_exception THEN
9407 RAISE;
9408 WHEN OTHERS THEN
9409 xla_exceptions_pkg.raise_message
9410 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_49');
9411 END AcctLineType_49;
9412 --
9413
9414 ---------------------------------------
9415 --
9416 -- PRIVATE FUNCTION
9417 -- AcctLineType_50
9418 --
9419 ---------------------------------------
9420 PROCEDURE AcctLineType_50 (
9421 p_application_id IN NUMBER
9422 ,p_event_id IN NUMBER
9423 ,p_calculate_acctd_flag IN VARCHAR2
9424 ,p_calculate_g_l_flag IN VARCHAR2
9425 ,p_actual_flag IN OUT VARCHAR2
9426 ,p_balance_type_code OUT VARCHAR2
9427 ,p_gain_or_loss_ref OUT VARCHAR2
9428
9429 --Invoice Distribution Description
9430 , p_source_1 IN VARCHAR2
9431 --Automatic Offsets Value
9432 , p_source_15 IN VARCHAR2
9433 , p_source_15_meaning IN VARCHAR2
9437 , p_source_21 IN NUMBER
9434 --Purchase Order Rate Variance Gain Account
9435 , p_source_20 IN NUMBER
9436 --Invoice Distribution Ledger Amount
9438 --Destination Type of the PO Distribution
9439 , p_source_22 IN VARCHAR2
9440 , p_source_22_meaning IN VARCHAR2
9441 --Purchase Order Rate Variance Loss Account
9442 , p_source_23 IN NUMBER
9443 --Invoice Distribution Account
9444 , p_source_30 IN NUMBER
9445 --Invoice Distribution Type
9446 , p_source_33 IN VARCHAR2
9447 , p_source_33_meaning IN VARCHAR2
9448 --Automatic Offsets Flag
9449 , p_source_47 IN VARCHAR2
9450 , p_source_47_meaning IN VARCHAR2
9451 --Accounting Reversal Indicator
9452 , p_source_52 IN VARCHAR2
9453 --Distribution Link Type
9454 , p_source_54 IN VARCHAR2
9455 --Allocation to Main Distribution Identifier
9456 , p_source_56 IN NUMBER
9457 --Invoice Identifier
9458 , p_source_57 IN NUMBER
9459 --Invoice Distribution Identifier
9460 , p_source_63 IN NUMBER
9461 --Payables Encumbrance Upgrade Credit Account
9462 , p_source_64 IN NUMBER
9463 --Payables Encumbrance Upgrade Credit Amount
9464 , p_source_65 IN NUMBER
9465 --Invoice Currency Code
9466 , p_source_66 IN VARCHAR2
9467 --Payables Encumbrance Upgrade Credit Base Amount
9468 , p_source_67 IN NUMBER
9469 --Payables Encumbrance Upgrade Debit Account
9470 , p_source_68 IN NUMBER
9471 --Payables Encumbrance Upgrade Debit Amount
9472 , p_source_69 IN NUMBER
9473 --Payables Encumbrance Upgrade Debit Base Amount
9474 , p_source_70 IN NUMBER
9475 --Payables Encumbrance Upgrade Option
9476 , p_source_71 IN VARCHAR2
9477 --Deferred Accounting End Date
9478 , p_source_76 IN DATE
9479 --Deferred Accounting Option
9480 , p_source_77 IN VARCHAR2
9481 --Deferred Accounting Start Date
9482 , p_source_78 IN DATE
9483 --Override Accounted Amount Indicator
9484 , p_source_79 IN VARCHAR2
9485 , p_source_79_meaning IN VARCHAR2
9486 --Invoice Supplier Identifier
9487 , p_source_80 IN NUMBER
9488 --Invoice Supplier Site Identifier
9489 , p_source_81 IN NUMBER
9490 --Third Party Type
9491 , p_source_82 IN VARCHAR2
9492 --Parent Reversal Identifier
9493 , p_source_83 IN NUMBER
9494 --Invoice Distribution Statistical Amount
9495 , p_source_84 IN NUMBER
9496 --Invoice Distribution Tax Line Identifier
9497 , p_source_85 IN NUMBER
9498 --Invoice Distribution Tax Distribution Identifier from Tax
9499 , p_source_86 IN NUMBER
9500 --Invoice Distribution Summary Tax Line Identifier
9501 , p_source_87 IN NUMBER
9502 --Payables Upgrade Credit Encumbrance Type Identifier
9503 , p_source_88 IN NUMBER
9504 --Payables Upgrade Debit Encumbrance Type Identifier
9505 , p_source_89 IN NUMBER
9506 --Business Flow Accounts Payable Application Identifier
9507 , p_source_90 IN NUMBER
9508 --Business Flow Invoice Distribution Type
9509 , p_source_91 IN VARCHAR2
9510 --Business Flow Invoice Entity Code
9511 , p_source_92 IN VARCHAR2
9512 --Business Flow Invoice Distribution Identifier
9513 , p_source_93 IN NUMBER
9514 --Business Flow Invoice Identifier
9515 , p_source_94 IN NUMBER
9516 )
9517 IS
9518
9519 l_component_type VARCHAR2(80);
9520 l_component_code VARCHAR2(30);
9521 l_component_type_code VARCHAR2(1);
9522 l_component_appl_id INTEGER;
9523 l_amb_context_code VARCHAR2(30);
9524 l_entity_code VARCHAR2(30);
9525 l_event_class_code VARCHAR2(30);
9526 l_ae_header_id NUMBER;
9527 l_event_type_code VARCHAR2(30);
9528 l_line_definition_code VARCHAR2(30);
9529 l_line_definition_owner_code VARCHAR2(1);
9530 --
9531 -- adr variables
9532 l_segment VARCHAR2(30);
9533 l_ccid NUMBER;
9534 l_adr_transaction_coa_id NUMBER;
9535 l_adr_accounting_coa_id NUMBER;
9536 l_adr_flexfield_segment_code VARCHAR2(30);
9537 l_adr_flex_value_set_id NUMBER;
9538 l_adr_value_type_code VARCHAR2(30);
9539 l_adr_value_combination_id NUMBER;
9540 l_adr_value_segment_code VARCHAR2(30);
9541
9542 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
9543 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
9544 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
9545 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
9546
9547 -- 4262811 Variables ------------------------------------------------------------------------------------------
9548 l_entered_amt_idx NUMBER;
9549 l_accted_amt_idx NUMBER;
9550 l_acc_rev_flag VARCHAR2(1);
9551 l_accrual_line_num NUMBER;
9552 l_tmp_amt NUMBER;
9553 l_acc_rev_natural_side_code VARCHAR2(1);
9554
9555 l_num_entries NUMBER;
9556 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
9557 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
9558 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
9562
9559 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
9560 l_recog_line_1 NUMBER;
9561 l_recog_line_2 NUMBER;
9563 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
9564 l_bflow_applied_to_amt NUMBER; -- 5132302
9565 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
9566
9567 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
9568
9569 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
9570 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
9571
9572 ---------------------------------------------------------------------------------------------------------------
9573
9574
9575 --
9576 -- bulk performance
9577 --
9578 l_balance_type_code VARCHAR2(1);
9579 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9580 l_log_module VARCHAR2(240);
9581
9582 --
9583 -- Upgrade strategy
9584 --
9585 l_actual_upg_option VARCHAR2(1);
9586 l_enc_upg_option VARCHAR2(1);
9587
9588 --
9589 BEGIN
9590 --
9591 IF g_log_enabled THEN
9592 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_50';
9593 END IF;
9594 --
9595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9596
9597 trace
9598 (p_msg => 'BEGIN of AcctLineType_50'
9599 ,p_level => C_LEVEL_PROCEDURE
9600 ,p_module => l_log_module);
9601
9602 END IF;
9603 --
9604 l_component_type := 'AMB_JLT';
9605 l_component_code := 'AP_ALC_EX_RATE_VAR_CM';
9606 l_component_type_code := 'S';
9607 l_component_appl_id := 200;
9608 l_amb_context_code := 'DEFAULT';
9609 l_entity_code := 'AP_INVOICES';
9610 l_event_class_code := 'CREDIT MEMOS';
9611 l_event_type_code := 'CREDIT MEMOS_ALL';
9612 l_line_definition_owner_code := 'S';
9613 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
9614 --
9615 l_balance_type_code := 'A';
9616 l_segment := NULL;
9617 l_ccid := NULL;
9618 l_adr_transaction_coa_id := NULL;
9619 l_adr_accounting_coa_id := NULL;
9620 l_adr_flexfield_segment_code := NULL;
9621 l_adr_flex_value_set_id := NULL;
9622 l_adr_value_type_code := NULL;
9623 l_adr_value_combination_id := NULL;
9624 l_adr_value_segment_code := NULL;
9625
9626 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
9627 l_bflow_class_code := ''; -- 4219869 Business Flow
9628 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9629 l_budgetary_control_flag := 'N';
9630
9631 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9632 l_bflow_applied_to_amt := NULL; -- 5132302
9633 l_entered_amt_idx := NULL; -- 4262811
9634 l_accted_amt_idx := NULL; -- 4262811
9635 l_acc_rev_flag := NULL; -- 4262811
9636 l_accrual_line_num := NULL; -- 4262811
9637 l_tmp_amt := NULL; -- 4262811
9638 --
9639 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
9640 (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
9641 return;
9642 END IF;
9643
9644 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
9645 l_balance_type_code <> 'B' THEN
9646 IF NVL(p_source_33,'
9647 ') = 'ACCRUAL'
9648 THEN
9649
9650 --
9651 XLA_AE_LINES_PKG.SetNewLine;
9652
9653 p_balance_type_code := l_balance_type_code;
9654 -- set the flag so later we will know whether the gain loss line needs to be created
9655
9656 IF(l_balance_type_code = 'A' ) THEN
9657 p_actual_flag :='G';
9658 END IF;
9659
9660 --
9661 -- bulk performance
9662 --
9663 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9664 p_header_num => 0); -- 4262811
9665 --
9666 -- set accounting line options
9667 --
9668 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9669 p_natural_side_code => 'G'
9670 , p_gain_or_loss_flag => 'N'
9671 , p_gl_transfer_mode_code => 'S'
9672 , p_acct_entry_type_code => 'A'
9673 , p_switch_side_flag => ''
9674 , p_merge_duplicate_code => 'A'
9675 );
9676 --
9677 l_acc_rev_natural_side_code := 'C'; -- 4262811
9678 --
9679 --
9680 -- set accounting line type info
9681 --
9682 xla_ae_lines_pkg.SetAcctLineType
9683 (p_component_type => l_component_type
9684 ,p_event_type_code => l_event_type_code
9685 ,p_line_definition_owner_code => l_line_definition_owner_code
9686 ,p_line_definition_code => l_line_definition_code
9687 ,p_accounting_line_code => l_component_code
9688 ,p_accounting_line_type_code => l_component_type_code
9689 ,p_accounting_line_appl_id => l_component_appl_id
9693 --
9690 ,p_amb_context_code => l_amb_context_code
9691 ,p_entity_code => l_entity_code
9692 ,p_event_class_code => l_event_class_code);
9694 -- set accounting class
9695 --
9696 xla_ae_lines_pkg.SetAcctClass(
9697 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
9698 , p_ae_header_id => l_ae_header_id
9699 );
9700
9701 --
9702 -- set rounding class
9703 --
9704 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9705 'EXCHANGE_RATE_VARIANCE';
9706
9707 --
9708 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9709 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9710 --
9711 -- bulk performance
9712 --
9713 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9714
9715 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9716 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9717
9718 -- 4955764
9719 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9720 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9721
9722 -- 4458381 Public Sector Enh
9723
9724 --
9725 -- set accounting attributes for the line type
9726 --
9727 l_entered_amt_idx := NULL;
9728 l_accted_amt_idx := 23;
9729 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9730 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9731 l_rec_acct_attrs.array_char_value(1) := p_source_52;
9732 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9733 l_rec_acct_attrs.array_num_value(2) :=
9734 xla_ae_sources_pkg.GetSystemSourceNum(
9735 p_source_code => 'XLA_EVENT_APPL_ID'
9736 , p_source_type_code => 'Y'
9737 , p_source_application_id => 602
9738 );
9739 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9740 l_rec_acct_attrs.array_char_value(3) := p_source_54;
9741 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9742 l_rec_acct_attrs.array_char_value(4) :=
9743 xla_ae_sources_pkg.GetSystemSourceChar(
9744 p_source_code => 'XLA_ENTITY_CODE'
9745 , p_source_type_code => 'Y'
9746 , p_source_application_id => 602
9747 );
9748 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9749 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
9750 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9751 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
9752 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
9753 l_rec_acct_attrs.array_num_value(7) := p_source_90;
9754 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9755 l_rec_acct_attrs.array_char_value(8) := p_source_91;
9756 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
9757 l_rec_acct_attrs.array_char_value(9) := p_source_92;
9758 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
9759 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
9760 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9761 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
9762 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
9763 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
9764 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
9765 l_rec_acct_attrs.array_char_value(13) := p_source_54;
9766 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
9767 l_rec_acct_attrs.array_num_value(14) := p_source_64;
9768 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
9769 l_rec_acct_attrs.array_num_value(15) := p_source_65;
9770 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
9771 l_rec_acct_attrs.array_char_value(16) := p_source_66;
9772 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
9773 l_rec_acct_attrs.array_num_value(17) := p_source_67;
9774 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
9775 l_rec_acct_attrs.array_num_value(18) := p_source_68;
9776 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
9777 l_rec_acct_attrs.array_num_value(19) := p_source_69;
9778 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
9779 l_rec_acct_attrs.array_char_value(20) := p_source_66;
9780 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
9781 l_rec_acct_attrs.array_num_value(21) := p_source_70;
9782 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
9783 l_rec_acct_attrs.array_char_value(22) := p_source_71;
9784 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
9785 l_rec_acct_attrs.array_num_value(23) := p_source_21;
9786 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
9787 l_rec_acct_attrs.array_date_value(24) := p_source_76;
9788 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
9789 l_rec_acct_attrs.array_char_value(25) := p_source_77;
9790 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
9791 l_rec_acct_attrs.array_date_value(26) := p_source_78;
9795 l_rec_acct_attrs.array_num_value(28) := p_source_80;
9792 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
9793 l_rec_acct_attrs.array_char_value(27) := p_source_79;
9794 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
9796 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
9797 l_rec_acct_attrs.array_num_value(29) := p_source_81;
9798 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
9799 l_rec_acct_attrs.array_char_value(30) := p_source_82;
9800 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
9801 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
9802 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
9803 l_rec_acct_attrs.array_char_value(32) := p_source_54;
9804 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
9805 l_rec_acct_attrs.array_num_value(33) := p_source_84;
9806 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
9807 l_rec_acct_attrs.array_num_value(34) := p_source_85;
9808 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
9809 l_rec_acct_attrs.array_num_value(35) := p_source_86;
9810 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
9811 l_rec_acct_attrs.array_num_value(36) := p_source_87;
9812 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
9813 l_rec_acct_attrs.array_num_value(37) := p_source_88;
9814 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
9815 l_rec_acct_attrs.array_num_value(38) := p_source_89;
9816
9817 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9818 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9819
9820 ---------------------------------------------------------------------------------------------------------------
9821 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9822 ---------------------------------------------------------------------------------------------------------------
9823 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9824
9825 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9826 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9827
9828 IF xla_accounting_cache_pkg.GetValueChar
9829 (p_source_code => 'LEDGER_CATEGORY_CODE'
9830 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9831 AND l_bflow_method_code = 'PRIOR_ENTRY'
9832 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9833 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9834 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9835 )
9836 THEN
9837 xla_ae_lines_pkg.BflowUpgEntry
9838 (p_business_method_code => l_bflow_method_code
9839 ,p_business_class_code => l_bflow_class_code
9840 ,p_balance_type => l_balance_type_code);
9841 ELSE
9842 NULL;
9843 -- No business flow processing for business flow method of NONE.
9844 END IF;
9845
9846 --
9847 -- call analytical criteria
9848 --
9849
9850 --
9851 -- call description
9852 --
9853
9854 xla_ae_lines_pkg.SetLineDescription(
9855 p_ae_header_id => l_ae_header_id
9856 ,p_description => Description_1 (
9857 p_application_id => p_application_id
9858 , p_ae_header_id => l_ae_header_id
9859 , p_source_1 => p_source_1
9860 )
9861 );
9862
9863
9864 --
9865 -- call ADRs
9866 -- Bug 4922099
9867 --
9868 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9869 (NVL(l_actual_upg_option, 'N') = 'O') OR
9870 (NVL(l_enc_upg_option, 'N') = 'O')
9871 )
9872 THEN
9873 NULL;
9874 --
9875 --
9876
9877 l_ccid := AcctDerRule_30(
9878 p_application_id => p_application_id
9879 , p_ae_header_id => l_ae_header_id
9880 , p_source_15 => p_source_15
9881 , p_source_15_meaning => p_source_15_meaning
9882 , p_source_20 => p_source_20
9883 , p_source_21 => p_source_21
9884 , p_source_22 => p_source_22
9885 , p_source_22_meaning => p_source_22_meaning
9886 , p_source_23 => p_source_23
9887 , p_source_30 => p_source_30
9888 , p_source_47 => p_source_47
9889 , p_source_47_meaning => p_source_47_meaning
9890 , x_transaction_coa_id => l_adr_transaction_coa_id
9891 , x_accounting_coa_id => l_adr_accounting_coa_id
9892 , x_value_type_code => l_adr_value_type_code
9893 , p_side => 'ALL'
9894 );
9895
9896 xla_ae_lines_pkg.set_ccid(
9897 p_code_combination_id => l_ccid
9898 , p_value_type_code => l_adr_value_type_code
9899 , p_transaction_coa_id => l_adr_transaction_coa_id
9900 , p_accounting_coa_id => l_adr_accounting_coa_id
9901 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
9902 , p_adr_type_code => 'S'
9903 , p_component_type => l_component_type
9904 , p_component_code => l_component_code
9905 , p_component_type_code => l_component_type_code
9909 );
9906 , p_component_appl_id => l_component_appl_id
9907 , p_amb_context_code => l_amb_context_code
9908 , p_side => 'ALL'
9910
9911
9912 l_segment := AcctDerRule_9(
9913 p_application_id => p_application_id
9914 , p_ae_header_id => l_ae_header_id
9915 , p_source_15 => p_source_15
9916 , p_source_15_meaning => p_source_15_meaning
9917 , p_source_20 => p_source_20
9918 , p_source_22 => p_source_22
9919 , p_source_22_meaning => p_source_22_meaning
9920 , x_transaction_coa_id => l_adr_transaction_coa_id
9921 , x_accounting_coa_id => l_adr_accounting_coa_id
9922 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9923 , x_flex_value_set_id => l_adr_flex_value_set_id
9924 , x_value_type_code => l_adr_value_type_code
9925 , x_value_combination_id => l_adr_value_combination_id
9926 , x_value_segment_code => l_adr_value_segment_code
9927 , p_side => 'DEBIT'
9928 , p_override_seg_flag => 'Y'
9929 );
9930
9931 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9932
9933 xla_ae_lines_pkg.set_segment(
9934 p_to_segment_code => 'GL_ACCOUNT'
9935 , p_segment_value => l_segment
9936 , p_from_segment_code => l_adr_value_segment_code
9937 , p_from_combination_id => l_adr_value_combination_id
9938 , p_value_type_code => l_adr_value_type_code
9939 , p_transaction_coa_id => l_adr_transaction_coa_id
9940 , p_accounting_coa_id => l_adr_accounting_coa_id
9941 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9942 , p_flex_value_set_id => l_adr_flex_value_set_id
9943 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
9944 , p_adr_type_code => 'S'
9945 , p_component_type => l_component_type
9946 , p_component_code => l_component_code
9947 , p_component_type_code => l_component_type_code
9948 , p_component_appl_id => l_component_appl_id
9949 , p_amb_context_code => l_amb_context_code
9950 , p_entity_code => 'AP_INVOICES'
9951 , p_event_class_code => 'CREDIT MEMOS'
9952 , p_side => 'DEBIT'
9953 );
9954
9955 END IF;
9956
9957 l_segment := AcctDerRule_10(
9958 p_application_id => p_application_id
9959 , p_ae_header_id => l_ae_header_id
9960 , p_source_15 => p_source_15
9961 , p_source_15_meaning => p_source_15_meaning
9962 , p_source_22 => p_source_22
9963 , p_source_22_meaning => p_source_22_meaning
9964 , p_source_23 => p_source_23
9965 , x_transaction_coa_id => l_adr_transaction_coa_id
9966 , x_accounting_coa_id => l_adr_accounting_coa_id
9967 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9968 , x_flex_value_set_id => l_adr_flex_value_set_id
9969 , x_value_type_code => l_adr_value_type_code
9970 , x_value_combination_id => l_adr_value_combination_id
9971 , x_value_segment_code => l_adr_value_segment_code
9972 , p_side => 'CREDIT'
9973 , p_override_seg_flag => 'Y'
9974 );
9975
9976 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9977
9978 xla_ae_lines_pkg.set_segment(
9979 p_to_segment_code => 'GL_ACCOUNT'
9980 , p_segment_value => l_segment
9981 , p_from_segment_code => l_adr_value_segment_code
9982 , p_from_combination_id => l_adr_value_combination_id
9983 , p_value_type_code => l_adr_value_type_code
9984 , p_transaction_coa_id => l_adr_transaction_coa_id
9985 , p_accounting_coa_id => l_adr_accounting_coa_id
9986 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9987 , p_flex_value_set_id => l_adr_flex_value_set_id
9988 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
9989 , p_adr_type_code => 'S'
9990 , p_component_type => l_component_type
9991 , p_component_code => l_component_code
9992 , p_component_type_code => l_component_type_code
9993 , p_component_appl_id => l_component_appl_id
9994 , p_amb_context_code => l_amb_context_code
9995 , p_entity_code => 'AP_INVOICES'
9996 , p_event_class_code => 'CREDIT MEMOS'
9997 , p_side => 'CREDIT'
9998 );
9999
10000 END IF;
10001
10002 l_segment := AcctDerRule_23(
10003 p_application_id => p_application_id
10004 , p_ae_header_id => l_ae_header_id
10005 , p_source_15 => p_source_15
10006 , p_source_15_meaning => p_source_15_meaning
10007 , p_source_22 => p_source_22
10008 , p_source_22_meaning => p_source_22_meaning
10009 , p_source_30 => p_source_30
10010 , x_transaction_coa_id => l_adr_transaction_coa_id
10011 , x_accounting_coa_id => l_adr_accounting_coa_id
10012 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10013 , x_flex_value_set_id => l_adr_flex_value_set_id
10014 , x_value_type_code => l_adr_value_type_code
10015 , x_value_combination_id => l_adr_value_combination_id
10016 , x_value_segment_code => l_adr_value_segment_code
10020
10017 , p_side => 'ALL'
10018 , p_override_seg_flag => 'Y'
10019 );
10021 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10022
10023 xla_ae_lines_pkg.set_segment(
10024 p_to_segment_code => 'GL_BALANCING'
10025 , p_segment_value => l_segment
10026 , p_from_segment_code => l_adr_value_segment_code
10027 , p_from_combination_id => l_adr_value_combination_id
10028 , p_value_type_code => l_adr_value_type_code
10029 , p_transaction_coa_id => l_adr_transaction_coa_id
10030 , p_accounting_coa_id => l_adr_accounting_coa_id
10031 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10032 , p_flex_value_set_id => l_adr_flex_value_set_id
10033 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10034 , p_adr_type_code => 'S'
10035 , p_component_type => l_component_type
10036 , p_component_code => l_component_code
10037 , p_component_type_code => l_component_type_code
10038 , p_component_appl_id => l_component_appl_id
10039 , p_amb_context_code => l_amb_context_code
10040 , p_entity_code => 'AP_INVOICES'
10041 , p_event_class_code => 'CREDIT MEMOS'
10042 , p_side => 'ALL'
10043 );
10044
10045 END IF;
10046
10047 --
10048 --
10049 END IF;
10050 --
10051 -- Bug 4922099
10052 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
10053 (NVL(l_enc_upg_option, 'N') = 'O')
10054 ) AND
10055 (l_bflow_method_code = 'PRIOR_ENTRY')
10056 )
10057 THEN
10058 IF
10059 --
10060 1 = 2
10061 --
10062 THEN
10063 xla_accounting_err_pkg.build_message
10064 (p_appli_s_name => 'XLA'
10065 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10066 ,p_token_1 => 'LINE_NUMBER'
10067 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10068 ,p_token_2 => 'LINE_TYPE_NAME'
10069 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10070 l_component_type
10071 ,l_component_code
10072 ,l_component_type_code
10073 ,l_component_appl_id
10074 ,l_amb_context_code
10075 ,l_entity_code
10076 ,l_event_class_code
10077 )
10078 ,p_token_3 => 'OWNER'
10079 ,p_value_3 => xla_lookups_pkg.get_meaning(
10080 p_lookup_type => 'XLA_OWNER_TYPE'
10081 ,p_lookup_code => l_component_type_code
10082 )
10083 ,p_token_4 => 'PRODUCT_NAME'
10084 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
10085 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
10086 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
10087 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
10088 ,p_ae_header_id => NULL
10089 );
10090
10091 IF (C_LEVEL_ERROR>= g_log_level) THEN
10092 trace
10093 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10094 ,p_level => C_LEVEL_ERROR
10095 ,p_module => l_log_module);
10096 END IF;
10097 END IF;
10098 END IF;
10099 --
10100 --
10101 ------------------------------------------------------------------------------------------------
10102 -- 4219869 Business Flow
10103 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10104 -- Prior Entry. Currently, the following code is always generated.
10105 ------------------------------------------------------------------------------------------------
10106 XLA_AE_LINES_PKG.ValidateCurrentLine;
10107
10108 ------------------------------------------------------------------------------------
10109 -- 4219869 Business Flow
10110 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
10111 ------------------------------------------------------------------------------------
10115 -- 4219869 Business Flow
10112 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10113
10114 ----------------------------------------------------------------------------------
10116 -- Update journal entry status -- Need to generate this within IF <condition>
10117 ----------------------------------------------------------------------------------
10118 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10119 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
10120 ,p_balance_type_code => l_balance_type_code
10121 );
10122
10123 -------------------------------------------------------------------------------------------
10124 -- 4262811 - Generate the Accrual Reversal lines
10125 -------------------------------------------------------------------------------------------
10126 BEGIN
10127 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
10128 (g_array_event(p_event_id).array_value_num('header_index'));
10129 IF l_acc_rev_flag IS NULL THEN
10130 l_acc_rev_flag := 'N';
10131 END IF;
10132 EXCEPTION
10133 WHEN OTHERS THEN
10134 l_acc_rev_flag := 'N';
10135 END;
10136 --
10137 IF (l_acc_rev_flag = 'Y') THEN
10138
10139 -- 4645092 ------------------------------------------------------------------------------
10140 -- To allow MPA report to determine if it should generate report process
10141 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10142 ------------------------------------------------------------------------------------------
10143
10144 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10145 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10146 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10147 -- call ADRs
10148 -- Bug 4922099
10149 --
10150 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10151 (NVL(l_actual_upg_option, 'N') = 'O') OR
10152 (NVL(l_enc_upg_option, 'N') = 'O')
10153 )
10154 THEN
10155 NULL;
10156 --
10157 --
10158
10159 l_ccid := AcctDerRule_30(
10160 p_application_id => p_application_id
10161 , p_ae_header_id => l_ae_header_id
10162 , p_source_15 => p_source_15
10163 , p_source_15_meaning => p_source_15_meaning
10164 , p_source_20 => p_source_20
10165 , p_source_21 => p_source_21
10166 , p_source_22 => p_source_22
10167 , p_source_22_meaning => p_source_22_meaning
10168 , p_source_23 => p_source_23
10169 , p_source_30 => p_source_30
10170 , p_source_47 => p_source_47
10171 , p_source_47_meaning => p_source_47_meaning
10172 , x_transaction_coa_id => l_adr_transaction_coa_id
10173 , x_accounting_coa_id => l_adr_accounting_coa_id
10174 , x_value_type_code => l_adr_value_type_code
10175 , p_side => 'ALL'
10176 );
10177
10178 xla_ae_lines_pkg.set_ccid(
10179 p_code_combination_id => l_ccid
10180 , p_value_type_code => l_adr_value_type_code
10181 , p_transaction_coa_id => l_adr_transaction_coa_id
10182 , p_accounting_coa_id => l_adr_accounting_coa_id
10183 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10184 , p_adr_type_code => 'S'
10185 , p_component_type => l_component_type
10186 , p_component_code => l_component_code
10187 , p_component_type_code => l_component_type_code
10188 , p_component_appl_id => l_component_appl_id
10189 , p_amb_context_code => l_amb_context_code
10190 , p_side => 'ALL'
10191 );
10192
10193
10194 l_segment := AcctDerRule_9(
10195 p_application_id => p_application_id
10196 , p_ae_header_id => l_ae_header_id
10197 , p_source_15 => p_source_15
10198 , p_source_15_meaning => p_source_15_meaning
10199 , p_source_20 => p_source_20
10200 , p_source_22 => p_source_22
10201 , p_source_22_meaning => p_source_22_meaning
10202 , x_transaction_coa_id => l_adr_transaction_coa_id
10203 , x_accounting_coa_id => l_adr_accounting_coa_id
10204 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10205 , x_flex_value_set_id => l_adr_flex_value_set_id
10206 , x_value_type_code => l_adr_value_type_code
10207 , x_value_combination_id => l_adr_value_combination_id
10208 , x_value_segment_code => l_adr_value_segment_code
10209 , p_side => 'DEBIT'
10210 , p_override_seg_flag => 'Y'
10211 );
10212
10213 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10214
10215 xla_ae_lines_pkg.set_segment(
10216 p_to_segment_code => 'GL_ACCOUNT'
10217 , p_segment_value => l_segment
10218 , p_from_segment_code => l_adr_value_segment_code
10219 , p_from_combination_id => l_adr_value_combination_id
10220 , p_value_type_code => l_adr_value_type_code
10221 , p_transaction_coa_id => l_adr_transaction_coa_id
10222 , p_accounting_coa_id => l_adr_accounting_coa_id
10223 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10224 , p_flex_value_set_id => l_adr_flex_value_set_id
10225 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10229 , p_component_type_code => l_component_type_code
10226 , p_adr_type_code => 'S'
10227 , p_component_type => l_component_type
10228 , p_component_code => l_component_code
10230 , p_component_appl_id => l_component_appl_id
10231 , p_amb_context_code => l_amb_context_code
10232 , p_entity_code => 'AP_INVOICES'
10233 , p_event_class_code => 'CREDIT MEMOS'
10234 , p_side => 'DEBIT'
10235 );
10236
10237 END IF;
10238
10239 l_segment := AcctDerRule_10(
10240 p_application_id => p_application_id
10241 , p_ae_header_id => l_ae_header_id
10242 , p_source_15 => p_source_15
10243 , p_source_15_meaning => p_source_15_meaning
10244 , p_source_22 => p_source_22
10245 , p_source_22_meaning => p_source_22_meaning
10246 , p_source_23 => p_source_23
10247 , x_transaction_coa_id => l_adr_transaction_coa_id
10248 , x_accounting_coa_id => l_adr_accounting_coa_id
10249 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10250 , x_flex_value_set_id => l_adr_flex_value_set_id
10251 , x_value_type_code => l_adr_value_type_code
10252 , x_value_combination_id => l_adr_value_combination_id
10253 , x_value_segment_code => l_adr_value_segment_code
10254 , p_side => 'CREDIT'
10255 , p_override_seg_flag => 'Y'
10256 );
10257
10258 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10259
10260 xla_ae_lines_pkg.set_segment(
10261 p_to_segment_code => 'GL_ACCOUNT'
10262 , p_segment_value => l_segment
10263 , p_from_segment_code => l_adr_value_segment_code
10264 , p_from_combination_id => l_adr_value_combination_id
10265 , p_value_type_code => l_adr_value_type_code
10266 , p_transaction_coa_id => l_adr_transaction_coa_id
10267 , p_accounting_coa_id => l_adr_accounting_coa_id
10268 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10269 , p_flex_value_set_id => l_adr_flex_value_set_id
10270 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10271 , p_adr_type_code => 'S'
10272 , p_component_type => l_component_type
10273 , p_component_code => l_component_code
10274 , p_component_type_code => l_component_type_code
10275 , p_component_appl_id => l_component_appl_id
10276 , p_amb_context_code => l_amb_context_code
10277 , p_entity_code => 'AP_INVOICES'
10278 , p_event_class_code => 'CREDIT MEMOS'
10279 , p_side => 'CREDIT'
10280 );
10281
10282 END IF;
10283
10284 l_segment := AcctDerRule_23(
10285 p_application_id => p_application_id
10286 , p_ae_header_id => l_ae_header_id
10287 , p_source_15 => p_source_15
10288 , p_source_15_meaning => p_source_15_meaning
10289 , p_source_22 => p_source_22
10290 , p_source_22_meaning => p_source_22_meaning
10291 , p_source_30 => p_source_30
10292 , x_transaction_coa_id => l_adr_transaction_coa_id
10293 , x_accounting_coa_id => l_adr_accounting_coa_id
10294 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10295 , x_flex_value_set_id => l_adr_flex_value_set_id
10296 , x_value_type_code => l_adr_value_type_code
10297 , x_value_combination_id => l_adr_value_combination_id
10298 , x_value_segment_code => l_adr_value_segment_code
10299 , p_side => 'ALL'
10300 , p_override_seg_flag => 'Y'
10301 );
10302
10303 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10304
10305 xla_ae_lines_pkg.set_segment(
10306 p_to_segment_code => 'GL_BALANCING'
10307 , p_segment_value => l_segment
10308 , p_from_segment_code => l_adr_value_segment_code
10309 , p_from_combination_id => l_adr_value_combination_id
10310 , p_value_type_code => l_adr_value_type_code
10311 , p_transaction_coa_id => l_adr_transaction_coa_id
10312 , p_accounting_coa_id => l_adr_accounting_coa_id
10313 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10314 , p_flex_value_set_id => l_adr_flex_value_set_id
10315 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10316 , p_adr_type_code => 'S'
10317 , p_component_type => l_component_type
10318 , p_component_code => l_component_code
10319 , p_component_type_code => l_component_type_code
10320 , p_component_appl_id => l_component_appl_id
10321 , p_amb_context_code => l_amb_context_code
10322 , p_entity_code => 'AP_INVOICES'
10323 , p_event_class_code => 'CREDIT MEMOS'
10324 , p_side => 'ALL'
10325 );
10326
10327 END IF;
10328
10329 --
10330 --
10331 END IF;
10332
10333 --
10334 -- Update the line information that should be overwritten
10335 --
10336 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10340 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10337 p_header_num => 1);
10338 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10339
10341
10342 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10343 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10344 END IF;
10345
10346 --
10347 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10348 --
10349 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10350 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10351 ELSE
10352 ---------------------------------------------------------------------------------------------------
10353 -- 4262811a Switch Sign
10354 ---------------------------------------------------------------------------------------------------
10355 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10356 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10357 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10358 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10359 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10360 -- 5132302
10361 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10362 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10363
10364 END IF;
10365
10366 -- 4955764
10367 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10368 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10369
10370
10371 XLA_AE_LINES_PKG.ValidateCurrentLine;
10372 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10373
10374 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10375 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10376 ,p_balance_type_code => l_balance_type_code);
10377
10378 END IF;
10379
10380 -----------------------------------------------------------------------------------------
10381 -- 4262811 Multiperiod Accounting
10382 -----------------------------------------------------------------------------------------
10383 -- No MPA option is assigned.
10384
10385
10386 END IF;
10387 END IF;
10388 --
10389
10390 --
10391 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10392 trace
10393 (p_msg => 'END of AcctLineType_50'
10394 ,p_level => C_LEVEL_PROCEDURE
10395 ,p_module => l_log_module);
10396 END IF;
10397 --
10398 EXCEPTION
10399 WHEN xla_exceptions_pkg.application_exception THEN
10400 RAISE;
10401 WHEN OTHERS THEN
10402 xla_exceptions_pkg.raise_message
10403 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_50');
10404 END AcctLineType_50;
10405 --
10406
10407 ---------------------------------------
10408 --
10409 -- PRIVATE FUNCTION
10410 -- AcctLineType_51
10411 --
10412 ---------------------------------------
10413 PROCEDURE AcctLineType_51 (
10414 p_application_id IN NUMBER
10415 ,p_event_id IN NUMBER
10416 ,p_calculate_acctd_flag IN VARCHAR2
10417 ,p_calculate_g_l_flag IN VARCHAR2
10418 ,p_actual_flag IN OUT VARCHAR2
10419 ,p_balance_type_code OUT VARCHAR2
10420 ,p_gain_or_loss_ref OUT VARCHAR2
10421
10422 --Invoice Distribution Description
10423 , p_source_1 IN VARCHAR2
10424 --Automatic Offsets Value
10425 , p_source_15 IN VARCHAR2
10426 , p_source_15_meaning IN VARCHAR2
10427 --Purchase Order Rate Variance Gain Account
10428 , p_source_20 IN NUMBER
10429 --Invoice Distribution Ledger Amount
10430 , p_source_21 IN NUMBER
10431 --Destination Type of the PO Distribution
10432 , p_source_22 IN VARCHAR2
10433 , p_source_22_meaning IN VARCHAR2
10434 --Purchase Order Rate Variance Loss Account
10435 , p_source_23 IN NUMBER
10436 --Invoice Distribution Account
10437 , p_source_30 IN NUMBER
10438 --Invoice Distribution Type
10439 , p_source_33 IN VARCHAR2
10440 , p_source_33_meaning IN VARCHAR2
10441 --Automatic Offsets Flag
10442 , p_source_47 IN VARCHAR2
10443 , p_source_47_meaning IN VARCHAR2
10444 --Accounting Reversal Indicator
10445 , p_source_52 IN VARCHAR2
10446 --Distribution Link Type
10447 , p_source_54 IN VARCHAR2
10448 --Allocation to Main Distribution Identifier
10449 , p_source_56 IN NUMBER
10450 --Invoice Identifier
10451 , p_source_57 IN NUMBER
10452 --Invoice Distribution Identifier
10453 , p_source_63 IN NUMBER
10454 --Payables Encumbrance Upgrade Credit Account
10455 , p_source_64 IN NUMBER
10456 --Payables Encumbrance Upgrade Credit Amount
10460 --Payables Encumbrance Upgrade Credit Base Amount
10457 , p_source_65 IN NUMBER
10458 --Invoice Currency Code
10459 , p_source_66 IN VARCHAR2
10461 , p_source_67 IN NUMBER
10462 --Payables Encumbrance Upgrade Debit Account
10463 , p_source_68 IN NUMBER
10464 --Payables Encumbrance Upgrade Debit Amount
10465 , p_source_69 IN NUMBER
10466 --Payables Encumbrance Upgrade Debit Base Amount
10467 , p_source_70 IN NUMBER
10468 --Payables Encumbrance Upgrade Option
10469 , p_source_71 IN VARCHAR2
10470 --Deferred Accounting End Date
10471 , p_source_76 IN DATE
10472 --Deferred Accounting Option
10473 , p_source_77 IN VARCHAR2
10474 --Deferred Accounting Start Date
10475 , p_source_78 IN DATE
10476 --Override Accounted Amount Indicator
10477 , p_source_79 IN VARCHAR2
10478 , p_source_79_meaning IN VARCHAR2
10479 --Invoice Supplier Identifier
10480 , p_source_80 IN NUMBER
10481 --Invoice Supplier Site Identifier
10482 , p_source_81 IN NUMBER
10483 --Third Party Type
10484 , p_source_82 IN VARCHAR2
10485 --Parent Reversal Identifier
10486 , p_source_83 IN NUMBER
10487 --Invoice Distribution Tax Line Identifier
10488 , p_source_85 IN NUMBER
10489 --Invoice Distribution Tax Distribution Identifier from Tax
10490 , p_source_86 IN NUMBER
10491 --Invoice Distribution Summary Tax Line Identifier
10492 , p_source_87 IN NUMBER
10493 --Payables Upgrade Credit Encumbrance Type Identifier
10494 , p_source_88 IN NUMBER
10495 --Payables Upgrade Debit Encumbrance Type Identifier
10496 , p_source_89 IN NUMBER
10497 --Business Flow Accounts Payable Application Identifier
10498 , p_source_90 IN NUMBER
10499 --Business Flow Invoice Distribution Type
10500 , p_source_91 IN VARCHAR2
10501 --Business Flow Invoice Entity Code
10502 , p_source_92 IN VARCHAR2
10503 --Business Flow Invoice Distribution Identifier
10504 , p_source_93 IN NUMBER
10505 --Business Flow Invoice Identifier
10506 , p_source_94 IN NUMBER
10507 )
10508 IS
10509
10510 l_component_type VARCHAR2(80);
10511 l_component_code VARCHAR2(30);
10512 l_component_type_code VARCHAR2(1);
10513 l_component_appl_id INTEGER;
10514 l_amb_context_code VARCHAR2(30);
10515 l_entity_code VARCHAR2(30);
10516 l_event_class_code VARCHAR2(30);
10517 l_ae_header_id NUMBER;
10518 l_event_type_code VARCHAR2(30);
10519 l_line_definition_code VARCHAR2(30);
10520 l_line_definition_owner_code VARCHAR2(1);
10521 --
10522 -- adr variables
10523 l_segment VARCHAR2(30);
10524 l_ccid NUMBER;
10525 l_adr_transaction_coa_id NUMBER;
10526 l_adr_accounting_coa_id NUMBER;
10527 l_adr_flexfield_segment_code VARCHAR2(30);
10528 l_adr_flex_value_set_id NUMBER;
10529 l_adr_value_type_code VARCHAR2(30);
10530 l_adr_value_combination_id NUMBER;
10531 l_adr_value_segment_code VARCHAR2(30);
10532
10533 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10534 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10535 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10536 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10537
10538 -- 4262811 Variables ------------------------------------------------------------------------------------------
10539 l_entered_amt_idx NUMBER;
10540 l_accted_amt_idx NUMBER;
10541 l_acc_rev_flag VARCHAR2(1);
10542 l_accrual_line_num NUMBER;
10543 l_tmp_amt NUMBER;
10544 l_acc_rev_natural_side_code VARCHAR2(1);
10545
10546 l_num_entries NUMBER;
10547 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10548 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10549 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10550 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10551 l_recog_line_1 NUMBER;
10552 l_recog_line_2 NUMBER;
10553
10554 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10555 l_bflow_applied_to_amt NUMBER; -- 5132302
10556 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10557
10558 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10559
10560 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10561 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10562
10563 ---------------------------------------------------------------------------------------------------------------
10564
10565
10566 --
10567 -- bulk performance
10568 --
10569 l_balance_type_code VARCHAR2(1);
10570 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10571 l_log_module VARCHAR2(240);
10572
10573 --
10574 -- Upgrade strategy
10575 --
10576 l_actual_upg_option VARCHAR2(1);
10577 l_enc_upg_option VARCHAR2(1);
10578
10579 --
10580 BEGIN
10581 --
10582 IF g_log_enabled THEN
10586 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10583 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_51';
10584 END IF;
10585 --
10587
10588 trace
10589 (p_msg => 'BEGIN of AcctLineType_51'
10590 ,p_level => C_LEVEL_PROCEDURE
10591 ,p_module => l_log_module);
10592
10593 END IF;
10594 --
10595 l_component_type := 'AMB_JLT';
10596 l_component_code := 'AP_ALC_EX_RATE_VAR_DM';
10597 l_component_type_code := 'S';
10598 l_component_appl_id := 200;
10599 l_amb_context_code := 'DEFAULT';
10600 l_entity_code := 'AP_INVOICES';
10601 l_event_class_code := 'DEBIT MEMOS';
10602 l_event_type_code := 'DEBIT MEMOS_ALL';
10603 l_line_definition_owner_code := 'S';
10604 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
10605 --
10606 l_balance_type_code := 'A';
10607 l_segment := NULL;
10608 l_ccid := NULL;
10609 l_adr_transaction_coa_id := NULL;
10610 l_adr_accounting_coa_id := NULL;
10611 l_adr_flexfield_segment_code := NULL;
10612 l_adr_flex_value_set_id := NULL;
10613 l_adr_value_type_code := NULL;
10614 l_adr_value_combination_id := NULL;
10615 l_adr_value_segment_code := NULL;
10616
10617 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10618 l_bflow_class_code := ''; -- 4219869 Business Flow
10619 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10620 l_budgetary_control_flag := 'N';
10621
10622 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10623 l_bflow_applied_to_amt := NULL; -- 5132302
10624 l_entered_amt_idx := NULL; -- 4262811
10625 l_accted_amt_idx := NULL; -- 4262811
10626 l_acc_rev_flag := NULL; -- 4262811
10627 l_accrual_line_num := NULL; -- 4262811
10628 l_tmp_amt := NULL; -- 4262811
10629 --
10630 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
10631 (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
10632 return;
10633 END IF;
10634
10635 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10636 l_balance_type_code <> 'B' THEN
10637 IF NVL(p_source_33,'
10638 ') = 'ACCRUAL'
10639 THEN
10640
10641 --
10642 XLA_AE_LINES_PKG.SetNewLine;
10643
10644 p_balance_type_code := l_balance_type_code;
10645 -- set the flag so later we will know whether the gain loss line needs to be created
10646
10647 IF(l_balance_type_code = 'A' ) THEN
10648 p_actual_flag :='G';
10649 END IF;
10650
10651 --
10652 -- bulk performance
10653 --
10654 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10655 p_header_num => 0); -- 4262811
10656 --
10657 -- set accounting line options
10658 --
10659 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10660 p_natural_side_code => 'G'
10661 , p_gain_or_loss_flag => 'N'
10662 , p_gl_transfer_mode_code => 'S'
10663 , p_acct_entry_type_code => 'A'
10664 , p_switch_side_flag => ''
10665 , p_merge_duplicate_code => 'A'
10666 );
10667 --
10668 l_acc_rev_natural_side_code := 'C'; -- 4262811
10669 --
10670 --
10671 -- set accounting line type info
10672 --
10673 xla_ae_lines_pkg.SetAcctLineType
10674 (p_component_type => l_component_type
10675 ,p_event_type_code => l_event_type_code
10676 ,p_line_definition_owner_code => l_line_definition_owner_code
10677 ,p_line_definition_code => l_line_definition_code
10678 ,p_accounting_line_code => l_component_code
10679 ,p_accounting_line_type_code => l_component_type_code
10680 ,p_accounting_line_appl_id => l_component_appl_id
10681 ,p_amb_context_code => l_amb_context_code
10682 ,p_entity_code => l_entity_code
10683 ,p_event_class_code => l_event_class_code);
10684 --
10685 -- set accounting class
10686 --
10687 xla_ae_lines_pkg.SetAcctClass(
10688 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
10689 , p_ae_header_id => l_ae_header_id
10690 );
10691
10692 --
10693 -- set rounding class
10694 --
10695 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10696 'EXCHANGE_RATE_VARIANCE';
10697
10698 --
10699 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10700 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10701 --
10702 -- bulk performance
10703 --
10704 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10705
10706 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10707 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10708
10709 -- 4955764
10710 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10714
10711 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10712
10713 -- 4458381 Public Sector Enh
10715 --
10716 -- set accounting attributes for the line type
10717 --
10718 l_entered_amt_idx := NULL;
10719 l_accted_amt_idx := 23;
10720 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10721 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10722 l_rec_acct_attrs.array_char_value(1) := p_source_52;
10723 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10724 l_rec_acct_attrs.array_num_value(2) :=
10725 xla_ae_sources_pkg.GetSystemSourceNum(
10726 p_source_code => 'XLA_EVENT_APPL_ID'
10727 , p_source_type_code => 'Y'
10728 , p_source_application_id => 602
10729 );
10730 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10731 l_rec_acct_attrs.array_char_value(3) := p_source_54;
10732 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10733 l_rec_acct_attrs.array_char_value(4) :=
10734 xla_ae_sources_pkg.GetSystemSourceChar(
10735 p_source_code => 'XLA_ENTITY_CODE'
10736 , p_source_type_code => 'Y'
10737 , p_source_application_id => 602
10738 );
10739 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10740 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
10741 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10742 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
10743 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10744 l_rec_acct_attrs.array_num_value(7) := p_source_90;
10745 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10746 l_rec_acct_attrs.array_char_value(8) := p_source_91;
10747 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10748 l_rec_acct_attrs.array_char_value(9) := p_source_92;
10749 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10750 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
10751 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10752 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
10753 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10754 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
10755 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10756 l_rec_acct_attrs.array_char_value(13) := p_source_54;
10757 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10758 l_rec_acct_attrs.array_num_value(14) := p_source_64;
10759 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10760 l_rec_acct_attrs.array_num_value(15) := p_source_65;
10761 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10762 l_rec_acct_attrs.array_char_value(16) := p_source_66;
10763 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10764 l_rec_acct_attrs.array_num_value(17) := p_source_67;
10765 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
10766 l_rec_acct_attrs.array_num_value(18) := p_source_68;
10767 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
10768 l_rec_acct_attrs.array_num_value(19) := p_source_69;
10769 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
10770 l_rec_acct_attrs.array_char_value(20) := p_source_66;
10771 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
10772 l_rec_acct_attrs.array_num_value(21) := p_source_70;
10773 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
10774 l_rec_acct_attrs.array_char_value(22) := p_source_71;
10775 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
10776 l_rec_acct_attrs.array_num_value(23) := p_source_21;
10777 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
10778 l_rec_acct_attrs.array_date_value(24) := p_source_76;
10779 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
10780 l_rec_acct_attrs.array_char_value(25) := p_source_77;
10781 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
10782 l_rec_acct_attrs.array_date_value(26) := p_source_78;
10783 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
10784 l_rec_acct_attrs.array_char_value(27) := p_source_79;
10785 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
10786 l_rec_acct_attrs.array_num_value(28) := p_source_80;
10787 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
10788 l_rec_acct_attrs.array_num_value(29) := p_source_81;
10789 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
10790 l_rec_acct_attrs.array_char_value(30) := p_source_82;
10791 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
10792 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
10793 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
10794 l_rec_acct_attrs.array_char_value(32) := p_source_54;
10795 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
10796 l_rec_acct_attrs.array_num_value(33) := p_source_85;
10797 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
10798 l_rec_acct_attrs.array_num_value(34) := p_source_86;
10799 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
10800 l_rec_acct_attrs.array_num_value(35) := p_source_87;
10801 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
10805
10802 l_rec_acct_attrs.array_num_value(36) := p_source_88;
10803 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
10804 l_rec_acct_attrs.array_num_value(37) := p_source_89;
10806 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10807 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10808
10809 ---------------------------------------------------------------------------------------------------------------
10810 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10811 ---------------------------------------------------------------------------------------------------------------
10812 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10813
10814 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10815 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10816
10817 IF xla_accounting_cache_pkg.GetValueChar
10818 (p_source_code => 'LEDGER_CATEGORY_CODE'
10819 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10820 AND l_bflow_method_code = 'PRIOR_ENTRY'
10821 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
10822 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10823 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10824 )
10825 THEN
10826 xla_ae_lines_pkg.BflowUpgEntry
10827 (p_business_method_code => l_bflow_method_code
10828 ,p_business_class_code => l_bflow_class_code
10829 ,p_balance_type => l_balance_type_code);
10830 ELSE
10831 NULL;
10832 -- No business flow processing for business flow method of NONE.
10833 END IF;
10834
10835 --
10836 -- call analytical criteria
10837 --
10838
10839 --
10840 -- call description
10841 --
10842
10843 xla_ae_lines_pkg.SetLineDescription(
10844 p_ae_header_id => l_ae_header_id
10845 ,p_description => Description_1 (
10846 p_application_id => p_application_id
10847 , p_ae_header_id => l_ae_header_id
10848 , p_source_1 => p_source_1
10849 )
10850 );
10851
10852
10853 --
10854 -- call ADRs
10855 -- Bug 4922099
10856 --
10857 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10858 (NVL(l_actual_upg_option, 'N') = 'O') OR
10859 (NVL(l_enc_upg_option, 'N') = 'O')
10860 )
10861 THEN
10862 NULL;
10863 --
10864 --
10865
10866 l_ccid := AcctDerRule_30(
10867 p_application_id => p_application_id
10868 , p_ae_header_id => l_ae_header_id
10869 , p_source_15 => p_source_15
10870 , p_source_15_meaning => p_source_15_meaning
10871 , p_source_20 => p_source_20
10872 , p_source_21 => p_source_21
10873 , p_source_22 => p_source_22
10874 , p_source_22_meaning => p_source_22_meaning
10875 , p_source_23 => p_source_23
10876 , p_source_30 => p_source_30
10877 , p_source_47 => p_source_47
10878 , p_source_47_meaning => p_source_47_meaning
10879 , x_transaction_coa_id => l_adr_transaction_coa_id
10880 , x_accounting_coa_id => l_adr_accounting_coa_id
10881 , x_value_type_code => l_adr_value_type_code
10882 , p_side => 'ALL'
10883 );
10884
10885 xla_ae_lines_pkg.set_ccid(
10886 p_code_combination_id => l_ccid
10887 , p_value_type_code => l_adr_value_type_code
10888 , p_transaction_coa_id => l_adr_transaction_coa_id
10889 , p_accounting_coa_id => l_adr_accounting_coa_id
10890 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10891 , p_adr_type_code => 'S'
10892 , p_component_type => l_component_type
10893 , p_component_code => l_component_code
10894 , p_component_type_code => l_component_type_code
10895 , p_component_appl_id => l_component_appl_id
10896 , p_amb_context_code => l_amb_context_code
10897 , p_side => 'ALL'
10898 );
10899
10900
10901 l_segment := AcctDerRule_9(
10902 p_application_id => p_application_id
10903 , p_ae_header_id => l_ae_header_id
10904 , p_source_15 => p_source_15
10905 , p_source_15_meaning => p_source_15_meaning
10906 , p_source_20 => p_source_20
10907 , p_source_22 => p_source_22
10908 , p_source_22_meaning => p_source_22_meaning
10909 , x_transaction_coa_id => l_adr_transaction_coa_id
10910 , x_accounting_coa_id => l_adr_accounting_coa_id
10911 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10912 , x_flex_value_set_id => l_adr_flex_value_set_id
10913 , x_value_type_code => l_adr_value_type_code
10914 , x_value_combination_id => l_adr_value_combination_id
10915 , x_value_segment_code => l_adr_value_segment_code
10916 , p_side => 'DEBIT'
10917 , p_override_seg_flag => 'Y'
10918 );
10919
10920 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10921
10922 xla_ae_lines_pkg.set_segment(
10923 p_to_segment_code => 'GL_ACCOUNT'
10927 , p_value_type_code => l_adr_value_type_code
10924 , p_segment_value => l_segment
10925 , p_from_segment_code => l_adr_value_segment_code
10926 , p_from_combination_id => l_adr_value_combination_id
10928 , p_transaction_coa_id => l_adr_transaction_coa_id
10929 , p_accounting_coa_id => l_adr_accounting_coa_id
10930 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10931 , p_flex_value_set_id => l_adr_flex_value_set_id
10932 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10933 , p_adr_type_code => 'S'
10934 , p_component_type => l_component_type
10935 , p_component_code => l_component_code
10936 , p_component_type_code => l_component_type_code
10937 , p_component_appl_id => l_component_appl_id
10938 , p_amb_context_code => l_amb_context_code
10939 , p_entity_code => 'AP_INVOICES'
10940 , p_event_class_code => 'DEBIT MEMOS'
10941 , p_side => 'DEBIT'
10942 );
10943
10944 END IF;
10945
10946 l_segment := AcctDerRule_10(
10947 p_application_id => p_application_id
10948 , p_ae_header_id => l_ae_header_id
10949 , p_source_15 => p_source_15
10950 , p_source_15_meaning => p_source_15_meaning
10951 , p_source_22 => p_source_22
10952 , p_source_22_meaning => p_source_22_meaning
10953 , p_source_23 => p_source_23
10954 , x_transaction_coa_id => l_adr_transaction_coa_id
10955 , x_accounting_coa_id => l_adr_accounting_coa_id
10956 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10957 , x_flex_value_set_id => l_adr_flex_value_set_id
10958 , x_value_type_code => l_adr_value_type_code
10959 , x_value_combination_id => l_adr_value_combination_id
10960 , x_value_segment_code => l_adr_value_segment_code
10961 , p_side => 'CREDIT'
10962 , p_override_seg_flag => 'Y'
10963 );
10964
10965 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10966
10967 xla_ae_lines_pkg.set_segment(
10968 p_to_segment_code => 'GL_ACCOUNT'
10969 , p_segment_value => l_segment
10970 , p_from_segment_code => l_adr_value_segment_code
10971 , p_from_combination_id => l_adr_value_combination_id
10972 , p_value_type_code => l_adr_value_type_code
10973 , p_transaction_coa_id => l_adr_transaction_coa_id
10974 , p_accounting_coa_id => l_adr_accounting_coa_id
10975 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10976 , p_flex_value_set_id => l_adr_flex_value_set_id
10977 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10978 , p_adr_type_code => 'S'
10979 , p_component_type => l_component_type
10980 , p_component_code => l_component_code
10981 , p_component_type_code => l_component_type_code
10982 , p_component_appl_id => l_component_appl_id
10983 , p_amb_context_code => l_amb_context_code
10984 , p_entity_code => 'AP_INVOICES'
10985 , p_event_class_code => 'DEBIT MEMOS'
10986 , p_side => 'CREDIT'
10987 );
10988
10989 END IF;
10990
10991 l_segment := AcctDerRule_23(
10992 p_application_id => p_application_id
10993 , p_ae_header_id => l_ae_header_id
10994 , p_source_15 => p_source_15
10995 , p_source_15_meaning => p_source_15_meaning
10996 , p_source_22 => p_source_22
10997 , p_source_22_meaning => p_source_22_meaning
10998 , p_source_30 => p_source_30
10999 , x_transaction_coa_id => l_adr_transaction_coa_id
11000 , x_accounting_coa_id => l_adr_accounting_coa_id
11001 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11002 , x_flex_value_set_id => l_adr_flex_value_set_id
11003 , x_value_type_code => l_adr_value_type_code
11004 , x_value_combination_id => l_adr_value_combination_id
11005 , x_value_segment_code => l_adr_value_segment_code
11006 , p_side => 'ALL'
11007 , p_override_seg_flag => 'Y'
11008 );
11009
11010 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11011
11012 xla_ae_lines_pkg.set_segment(
11013 p_to_segment_code => 'GL_BALANCING'
11014 , p_segment_value => l_segment
11015 , p_from_segment_code => l_adr_value_segment_code
11016 , p_from_combination_id => l_adr_value_combination_id
11017 , p_value_type_code => l_adr_value_type_code
11018 , p_transaction_coa_id => l_adr_transaction_coa_id
11019 , p_accounting_coa_id => l_adr_accounting_coa_id
11020 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11021 , p_flex_value_set_id => l_adr_flex_value_set_id
11022 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11023 , p_adr_type_code => 'S'
11024 , p_component_type => l_component_type
11025 , p_component_code => l_component_code
11026 , p_component_type_code => l_component_type_code
11027 , p_component_appl_id => l_component_appl_id
11031 , p_side => 'ALL'
11028 , p_amb_context_code => l_amb_context_code
11029 , p_entity_code => 'AP_INVOICES'
11030 , p_event_class_code => 'DEBIT MEMOS'
11032 );
11033
11034 END IF;
11035
11036 --
11037 --
11038 END IF;
11039 --
11040 -- Bug 4922099
11041 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
11042 (NVL(l_enc_upg_option, 'N') = 'O')
11043 ) AND
11044 (l_bflow_method_code = 'PRIOR_ENTRY')
11045 )
11046 THEN
11047 IF
11048 --
11049 1 = 2
11050 --
11051 THEN
11052 xla_accounting_err_pkg.build_message
11053 (p_appli_s_name => 'XLA'
11054 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11055 ,p_token_1 => 'LINE_NUMBER'
11056 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11057 ,p_token_2 => 'LINE_TYPE_NAME'
11058 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11059 l_component_type
11060 ,l_component_code
11061 ,l_component_type_code
11062 ,l_component_appl_id
11063 ,l_amb_context_code
11064 ,l_entity_code
11065 ,l_event_class_code
11066 )
11067 ,p_token_3 => 'OWNER'
11068 ,p_value_3 => xla_lookups_pkg.get_meaning(
11069 p_lookup_type => 'XLA_OWNER_TYPE'
11070 ,p_lookup_code => l_component_type_code
11071 )
11072 ,p_token_4 => 'PRODUCT_NAME'
11073 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
11074 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
11075 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
11076 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
11077 ,p_ae_header_id => NULL
11078 );
11079
11080 IF (C_LEVEL_ERROR>= g_log_level) THEN
11081 trace
11082 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11083 ,p_level => C_LEVEL_ERROR
11084 ,p_module => l_log_module);
11085 END IF;
11086 END IF;
11087 END IF;
11088 --
11089 --
11090 ------------------------------------------------------------------------------------------------
11091 -- 4219869 Business Flow
11092 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11093 -- Prior Entry. Currently, the following code is always generated.
11094 ------------------------------------------------------------------------------------------------
11095 XLA_AE_LINES_PKG.ValidateCurrentLine;
11096
11097 ------------------------------------------------------------------------------------
11098 -- 4219869 Business Flow
11099 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
11100 ------------------------------------------------------------------------------------
11101 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11102
11103 ----------------------------------------------------------------------------------
11104 -- 4219869 Business Flow
11105 -- Update journal entry status -- Need to generate this within IF <condition>
11106 ----------------------------------------------------------------------------------
11107 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11108 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
11109 ,p_balance_type_code => l_balance_type_code
11110 );
11111
11112 -------------------------------------------------------------------------------------------
11113 -- 4262811 - Generate the Accrual Reversal lines
11114 -------------------------------------------------------------------------------------------
11115 BEGIN
11116 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
11117 (g_array_event(p_event_id).array_value_num('header_index'));
11118 IF l_acc_rev_flag IS NULL THEN
11119 l_acc_rev_flag := 'N';
11120 END IF;
11121 EXCEPTION
11122 WHEN OTHERS THEN
11123 l_acc_rev_flag := 'N';
11124 END;
11125 --
11126 IF (l_acc_rev_flag = 'Y') THEN
11127
11131 ------------------------------------------------------------------------------------------
11128 -- 4645092 ------------------------------------------------------------------------------
11129 -- To allow MPA report to determine if it should generate report process
11130 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11132
11133 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11134 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11135 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11136 -- call ADRs
11137 -- Bug 4922099
11138 --
11139 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11140 (NVL(l_actual_upg_option, 'N') = 'O') OR
11141 (NVL(l_enc_upg_option, 'N') = 'O')
11142 )
11143 THEN
11144 NULL;
11145 --
11146 --
11147
11148 l_ccid := AcctDerRule_30(
11149 p_application_id => p_application_id
11150 , p_ae_header_id => l_ae_header_id
11151 , p_source_15 => p_source_15
11152 , p_source_15_meaning => p_source_15_meaning
11153 , p_source_20 => p_source_20
11154 , p_source_21 => p_source_21
11155 , p_source_22 => p_source_22
11156 , p_source_22_meaning => p_source_22_meaning
11157 , p_source_23 => p_source_23
11158 , p_source_30 => p_source_30
11159 , p_source_47 => p_source_47
11160 , p_source_47_meaning => p_source_47_meaning
11161 , x_transaction_coa_id => l_adr_transaction_coa_id
11162 , x_accounting_coa_id => l_adr_accounting_coa_id
11163 , x_value_type_code => l_adr_value_type_code
11164 , p_side => 'ALL'
11165 );
11166
11167 xla_ae_lines_pkg.set_ccid(
11168 p_code_combination_id => l_ccid
11169 , p_value_type_code => l_adr_value_type_code
11170 , p_transaction_coa_id => l_adr_transaction_coa_id
11171 , p_accounting_coa_id => l_adr_accounting_coa_id
11172 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11173 , p_adr_type_code => 'S'
11174 , p_component_type => l_component_type
11175 , p_component_code => l_component_code
11176 , p_component_type_code => l_component_type_code
11177 , p_component_appl_id => l_component_appl_id
11178 , p_amb_context_code => l_amb_context_code
11179 , p_side => 'ALL'
11180 );
11181
11182
11183 l_segment := AcctDerRule_9(
11184 p_application_id => p_application_id
11185 , p_ae_header_id => l_ae_header_id
11186 , p_source_15 => p_source_15
11187 , p_source_15_meaning => p_source_15_meaning
11188 , p_source_20 => p_source_20
11189 , p_source_22 => p_source_22
11190 , p_source_22_meaning => p_source_22_meaning
11191 , x_transaction_coa_id => l_adr_transaction_coa_id
11192 , x_accounting_coa_id => l_adr_accounting_coa_id
11193 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11194 , x_flex_value_set_id => l_adr_flex_value_set_id
11195 , x_value_type_code => l_adr_value_type_code
11196 , x_value_combination_id => l_adr_value_combination_id
11197 , x_value_segment_code => l_adr_value_segment_code
11198 , p_side => 'DEBIT'
11199 , p_override_seg_flag => 'Y'
11200 );
11201
11202 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11203
11204 xla_ae_lines_pkg.set_segment(
11205 p_to_segment_code => 'GL_ACCOUNT'
11206 , p_segment_value => l_segment
11207 , p_from_segment_code => l_adr_value_segment_code
11208 , p_from_combination_id => l_adr_value_combination_id
11209 , p_value_type_code => l_adr_value_type_code
11210 , p_transaction_coa_id => l_adr_transaction_coa_id
11211 , p_accounting_coa_id => l_adr_accounting_coa_id
11212 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11213 , p_flex_value_set_id => l_adr_flex_value_set_id
11214 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11215 , p_adr_type_code => 'S'
11216 , p_component_type => l_component_type
11217 , p_component_code => l_component_code
11218 , p_component_type_code => l_component_type_code
11219 , p_component_appl_id => l_component_appl_id
11220 , p_amb_context_code => l_amb_context_code
11221 , p_entity_code => 'AP_INVOICES'
11222 , p_event_class_code => 'DEBIT MEMOS'
11223 , p_side => 'DEBIT'
11224 );
11225
11226 END IF;
11227
11228 l_segment := AcctDerRule_10(
11229 p_application_id => p_application_id
11230 , p_ae_header_id => l_ae_header_id
11231 , p_source_15 => p_source_15
11232 , p_source_15_meaning => p_source_15_meaning
11233 , p_source_22 => p_source_22
11234 , p_source_22_meaning => p_source_22_meaning
11235 , p_source_23 => p_source_23
11236 , x_transaction_coa_id => l_adr_transaction_coa_id
11237 , x_accounting_coa_id => l_adr_accounting_coa_id
11238 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11242 , x_value_segment_code => l_adr_value_segment_code
11239 , x_flex_value_set_id => l_adr_flex_value_set_id
11240 , x_value_type_code => l_adr_value_type_code
11241 , x_value_combination_id => l_adr_value_combination_id
11243 , p_side => 'CREDIT'
11244 , p_override_seg_flag => 'Y'
11245 );
11246
11247 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11248
11249 xla_ae_lines_pkg.set_segment(
11250 p_to_segment_code => 'GL_ACCOUNT'
11251 , p_segment_value => l_segment
11252 , p_from_segment_code => l_adr_value_segment_code
11253 , p_from_combination_id => l_adr_value_combination_id
11254 , p_value_type_code => l_adr_value_type_code
11255 , p_transaction_coa_id => l_adr_transaction_coa_id
11256 , p_accounting_coa_id => l_adr_accounting_coa_id
11257 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11258 , p_flex_value_set_id => l_adr_flex_value_set_id
11259 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11260 , p_adr_type_code => 'S'
11261 , p_component_type => l_component_type
11262 , p_component_code => l_component_code
11263 , p_component_type_code => l_component_type_code
11264 , p_component_appl_id => l_component_appl_id
11265 , p_amb_context_code => l_amb_context_code
11266 , p_entity_code => 'AP_INVOICES'
11267 , p_event_class_code => 'DEBIT MEMOS'
11268 , p_side => 'CREDIT'
11269 );
11270
11271 END IF;
11272
11273 l_segment := AcctDerRule_23(
11274 p_application_id => p_application_id
11275 , p_ae_header_id => l_ae_header_id
11276 , p_source_15 => p_source_15
11277 , p_source_15_meaning => p_source_15_meaning
11278 , p_source_22 => p_source_22
11279 , p_source_22_meaning => p_source_22_meaning
11280 , p_source_30 => p_source_30
11281 , x_transaction_coa_id => l_adr_transaction_coa_id
11282 , x_accounting_coa_id => l_adr_accounting_coa_id
11283 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11284 , x_flex_value_set_id => l_adr_flex_value_set_id
11285 , x_value_type_code => l_adr_value_type_code
11286 , x_value_combination_id => l_adr_value_combination_id
11287 , x_value_segment_code => l_adr_value_segment_code
11288 , p_side => 'ALL'
11289 , p_override_seg_flag => 'Y'
11290 );
11291
11292 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11293
11294 xla_ae_lines_pkg.set_segment(
11295 p_to_segment_code => 'GL_BALANCING'
11296 , p_segment_value => l_segment
11297 , p_from_segment_code => l_adr_value_segment_code
11298 , p_from_combination_id => l_adr_value_combination_id
11299 , p_value_type_code => l_adr_value_type_code
11300 , p_transaction_coa_id => l_adr_transaction_coa_id
11301 , p_accounting_coa_id => l_adr_accounting_coa_id
11302 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11303 , p_flex_value_set_id => l_adr_flex_value_set_id
11304 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11305 , p_adr_type_code => 'S'
11306 , p_component_type => l_component_type
11307 , p_component_code => l_component_code
11308 , p_component_type_code => l_component_type_code
11309 , p_component_appl_id => l_component_appl_id
11310 , p_amb_context_code => l_amb_context_code
11311 , p_entity_code => 'AP_INVOICES'
11312 , p_event_class_code => 'DEBIT MEMOS'
11313 , p_side => 'ALL'
11314 );
11315
11316 END IF;
11317
11318 --
11319 --
11320 END IF;
11321
11322 --
11323 -- Update the line information that should be overwritten
11324 --
11325 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11326 p_header_num => 1);
11327 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11328
11329 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11330
11331 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11332 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11333 END IF;
11334
11335 --
11336 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11337 --
11338 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11339 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11340 ELSE
11341 ---------------------------------------------------------------------------------------------------
11342 -- 4262811a Switch Sign
11343 ---------------------------------------------------------------------------------------------------
11344 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11348 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11345 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11346 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11347 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11349 -- 5132302
11350 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11351 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11352
11353 END IF;
11354
11355 -- 4955764
11356 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11357 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11358
11359
11360 XLA_AE_LINES_PKG.ValidateCurrentLine;
11361 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11362
11363 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11364 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11365 ,p_balance_type_code => l_balance_type_code);
11366
11367 END IF;
11368
11369 -----------------------------------------------------------------------------------------
11370 -- 4262811 Multiperiod Accounting
11371 -----------------------------------------------------------------------------------------
11372 -- No MPA option is assigned.
11373
11374
11375 END IF;
11376 END IF;
11377 --
11378
11379 --
11380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11381 trace
11382 (p_msg => 'END of AcctLineType_51'
11383 ,p_level => C_LEVEL_PROCEDURE
11384 ,p_module => l_log_module);
11385 END IF;
11386 --
11387 EXCEPTION
11388 WHEN xla_exceptions_pkg.application_exception THEN
11389 RAISE;
11390 WHEN OTHERS THEN
11391 xla_exceptions_pkg.raise_message
11392 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_51');
11393 END AcctLineType_51;
11394 --
11395
11396 ---------------------------------------
11397 --
11398 -- PRIVATE FUNCTION
11399 -- AcctLineType_52
11400 --
11401 ---------------------------------------
11402 PROCEDURE AcctLineType_52 (
11403 p_application_id IN NUMBER
11404 ,p_event_id IN NUMBER
11405 ,p_calculate_acctd_flag IN VARCHAR2
11406 ,p_calculate_g_l_flag IN VARCHAR2
11407 ,p_actual_flag IN OUT VARCHAR2
11408 ,p_balance_type_code OUT VARCHAR2
11409 ,p_gain_or_loss_ref OUT VARCHAR2
11410
11411 --Invoice Distribution Description
11412 , p_source_1 IN VARCHAR2
11413 --Automatic Offsets Value
11414 , p_source_15 IN VARCHAR2
11415 , p_source_15_meaning IN VARCHAR2
11416 --Purchase Order Rate Variance Gain Account
11417 , p_source_20 IN NUMBER
11418 --Invoice Distribution Ledger Amount
11419 , p_source_21 IN NUMBER
11420 --Destination Type of the PO Distribution
11421 , p_source_22 IN VARCHAR2
11422 , p_source_22_meaning IN VARCHAR2
11423 --Purchase Order Rate Variance Loss Account
11424 , p_source_23 IN NUMBER
11425 --Invoice Distribution Account
11426 , p_source_30 IN NUMBER
11427 --Invoice Distribution Type
11428 , p_source_33 IN VARCHAR2
11429 , p_source_33_meaning IN VARCHAR2
11430 --Automatic Offsets Flag
11431 , p_source_47 IN VARCHAR2
11432 , p_source_47_meaning IN VARCHAR2
11433 --Accounting Reversal Indicator
11434 , p_source_52 IN VARCHAR2
11435 --Distribution Link Type
11436 , p_source_54 IN VARCHAR2
11437 --Allocation to Main Distribution Identifier
11438 , p_source_56 IN NUMBER
11439 --Invoice Identifier
11440 , p_source_57 IN NUMBER
11441 --Invoice Distribution Identifier
11442 , p_source_63 IN NUMBER
11443 --Payables Encumbrance Upgrade Credit Account
11444 , p_source_64 IN NUMBER
11445 --Payables Encumbrance Upgrade Credit Amount
11446 , p_source_65 IN NUMBER
11447 --Invoice Currency Code
11448 , p_source_66 IN VARCHAR2
11449 --Payables Encumbrance Upgrade Credit Base Amount
11450 , p_source_67 IN NUMBER
11451 --Payables Encumbrance Upgrade Debit Account
11452 , p_source_68 IN NUMBER
11453 --Payables Encumbrance Upgrade Debit Amount
11454 , p_source_69 IN NUMBER
11455 --Payables Encumbrance Upgrade Debit Base Amount
11456 , p_source_70 IN NUMBER
11457 --Payables Encumbrance Upgrade Option
11458 , p_source_71 IN VARCHAR2
11459 --Invoice Distribution Amount
11460 , p_source_72 IN NUMBER
11461 --Deferred Accounting End Date
11462 , p_source_76 IN DATE
11463 --Deferred Accounting Option
11464 , p_source_77 IN VARCHAR2
11465 --Deferred Accounting Start Date
11466 , p_source_78 IN DATE
11467 --Override Accounted Amount Indicator
11468 , p_source_79 IN VARCHAR2
11469 , p_source_79_meaning IN VARCHAR2
11470 --Invoice Supplier Identifier
11471 , p_source_80 IN NUMBER
11472 --Invoice Supplier Site Identifier
11473 , p_source_81 IN NUMBER
11474 --Third Party Type
11478 --Invoice Distribution Statistical Amount
11475 , p_source_82 IN VARCHAR2
11476 --Parent Reversal Identifier
11477 , p_source_83 IN NUMBER
11479 , p_source_84 IN NUMBER
11480 --Invoice Distribution Tax Line Identifier
11481 , p_source_85 IN NUMBER
11482 --Invoice Distribution Tax Distribution Identifier from Tax
11483 , p_source_86 IN NUMBER
11484 --Invoice Distribution Summary Tax Line Identifier
11485 , p_source_87 IN NUMBER
11486 --Payables Upgrade Credit Encumbrance Type Identifier
11487 , p_source_88 IN NUMBER
11488 --Payables Upgrade Debit Encumbrance Type Identifier
11489 , p_source_89 IN NUMBER
11490 --Business Flow Accounts Payable Application Identifier
11491 , p_source_90 IN NUMBER
11492 --Business Flow Invoice Distribution Type
11493 , p_source_91 IN VARCHAR2
11494 --Business Flow Invoice Entity Code
11495 , p_source_92 IN VARCHAR2
11496 --Business Flow Invoice Distribution Identifier
11497 , p_source_93 IN NUMBER
11498 --Business Flow Invoice Identifier
11499 , p_source_94 IN NUMBER
11500 )
11501 IS
11502
11503 l_component_type VARCHAR2(80);
11504 l_component_code VARCHAR2(30);
11505 l_component_type_code VARCHAR2(1);
11506 l_component_appl_id INTEGER;
11507 l_amb_context_code VARCHAR2(30);
11508 l_entity_code VARCHAR2(30);
11509 l_event_class_code VARCHAR2(30);
11510 l_ae_header_id NUMBER;
11511 l_event_type_code VARCHAR2(30);
11512 l_line_definition_code VARCHAR2(30);
11513 l_line_definition_owner_code VARCHAR2(1);
11514 --
11515 -- adr variables
11516 l_segment VARCHAR2(30);
11517 l_ccid NUMBER;
11518 l_adr_transaction_coa_id NUMBER;
11519 l_adr_accounting_coa_id NUMBER;
11520 l_adr_flexfield_segment_code VARCHAR2(30);
11521 l_adr_flex_value_set_id NUMBER;
11522 l_adr_value_type_code VARCHAR2(30);
11523 l_adr_value_combination_id NUMBER;
11524 l_adr_value_segment_code VARCHAR2(30);
11525
11526 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11527 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11528 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11529 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11530
11531 -- 4262811 Variables ------------------------------------------------------------------------------------------
11532 l_entered_amt_idx NUMBER;
11533 l_accted_amt_idx NUMBER;
11534 l_acc_rev_flag VARCHAR2(1);
11535 l_accrual_line_num NUMBER;
11536 l_tmp_amt NUMBER;
11537 l_acc_rev_natural_side_code VARCHAR2(1);
11538
11539 l_num_entries NUMBER;
11540 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11541 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11542 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11543 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11544 l_recog_line_1 NUMBER;
11545 l_recog_line_2 NUMBER;
11546
11547 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11548 l_bflow_applied_to_amt NUMBER; -- 5132302
11549 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11550
11551 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11552
11553 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11554 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11555
11556 ---------------------------------------------------------------------------------------------------------------
11557
11558
11559 --
11560 -- bulk performance
11561 --
11562 l_balance_type_code VARCHAR2(1);
11563 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11564 l_log_module VARCHAR2(240);
11565
11566 --
11567 -- Upgrade strategy
11568 --
11569 l_actual_upg_option VARCHAR2(1);
11570 l_enc_upg_option VARCHAR2(1);
11571
11572 --
11573 BEGIN
11574 --
11575 IF g_log_enabled THEN
11576 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_52';
11577 END IF;
11578 --
11579 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11580
11581 trace
11582 (p_msg => 'BEGIN of AcctLineType_52'
11583 ,p_level => C_LEVEL_PROCEDURE
11584 ,p_module => l_log_module);
11585
11586 END IF;
11587 --
11588 l_component_type := 'AMB_JLT';
11589 l_component_code := 'AP_ALC_EX_RATE_VAR_INV';
11590 l_component_type_code := 'S';
11591 l_component_appl_id := 200;
11592 l_amb_context_code := 'DEFAULT';
11593 l_entity_code := 'AP_INVOICES';
11594 l_event_class_code := 'INVOICES';
11595 l_event_type_code := 'INVOICES_ALL';
11596 l_line_definition_owner_code := 'S';
11597 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
11598 --
11599 l_balance_type_code := 'A';
11600 l_segment := NULL;
11601 l_ccid := NULL;
11602 l_adr_transaction_coa_id := NULL;
11606 l_adr_value_type_code := NULL;
11603 l_adr_accounting_coa_id := NULL;
11604 l_adr_flexfield_segment_code := NULL;
11605 l_adr_flex_value_set_id := NULL;
11607 l_adr_value_combination_id := NULL;
11608 l_adr_value_segment_code := NULL;
11609
11610 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11611 l_bflow_class_code := ''; -- 4219869 Business Flow
11612 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11613 l_budgetary_control_flag := 'N';
11614
11615 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11616 l_bflow_applied_to_amt := NULL; -- 5132302
11617 l_entered_amt_idx := NULL; -- 4262811
11618 l_accted_amt_idx := NULL; -- 4262811
11619 l_acc_rev_flag := NULL; -- 4262811
11620 l_accrual_line_num := NULL; -- 4262811
11621 l_tmp_amt := NULL; -- 4262811
11622 --
11623 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
11624 (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
11625 return;
11626 END IF;
11627
11628 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11629 l_balance_type_code <> 'B' THEN
11630 IF NVL(p_source_33,'
11631 ') = 'ACCRUAL'
11632 THEN
11633
11634 --
11635 XLA_AE_LINES_PKG.SetNewLine;
11636
11637 p_balance_type_code := l_balance_type_code;
11638 -- set the flag so later we will know whether the gain loss line needs to be created
11639
11640 IF(l_balance_type_code = 'A' ) THEN
11641 p_actual_flag :='G';
11642 END IF;
11643
11644 --
11645 -- bulk performance
11646 --
11647 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11648 p_header_num => 0); -- 4262811
11649 --
11650 -- set accounting line options
11651 --
11652 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11653 p_natural_side_code => 'G'
11654 , p_gain_or_loss_flag => 'N'
11655 , p_gl_transfer_mode_code => 'S'
11656 , p_acct_entry_type_code => 'A'
11657 , p_switch_side_flag => ''
11658 , p_merge_duplicate_code => 'A'
11659 );
11660 --
11661 l_acc_rev_natural_side_code := 'C'; -- 4262811
11662 --
11663 --
11664 -- set accounting line type info
11665 --
11666 xla_ae_lines_pkg.SetAcctLineType
11667 (p_component_type => l_component_type
11668 ,p_event_type_code => l_event_type_code
11669 ,p_line_definition_owner_code => l_line_definition_owner_code
11670 ,p_line_definition_code => l_line_definition_code
11671 ,p_accounting_line_code => l_component_code
11672 ,p_accounting_line_type_code => l_component_type_code
11673 ,p_accounting_line_appl_id => l_component_appl_id
11674 ,p_amb_context_code => l_amb_context_code
11675 ,p_entity_code => l_entity_code
11676 ,p_event_class_code => l_event_class_code);
11677 --
11678 -- set accounting class
11679 --
11680 xla_ae_lines_pkg.SetAcctClass(
11681 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
11682 , p_ae_header_id => l_ae_header_id
11683 );
11684
11685 --
11686 -- set rounding class
11687 --
11688 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11689 'EXCHANGE_RATE_VARIANCE';
11690
11691 --
11692 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11693 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11694 --
11695 -- bulk performance
11696 --
11697 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11698
11699 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11700 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11701
11702 -- 4955764
11703 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11704 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11705
11706 -- 4458381 Public Sector Enh
11707
11708 --
11709 -- set accounting attributes for the line type
11710 --
11711 l_entered_amt_idx := NULL;
11712 l_accted_amt_idx := 24;
11713 l_bflow_applied_to_amt_idx := 7; -- 5132302
11714 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
11715 l_rec_acct_attrs.array_char_value(1) := p_source_52;
11716 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
11717 l_rec_acct_attrs.array_num_value(2) :=
11718 xla_ae_sources_pkg.GetSystemSourceNum(
11719 p_source_code => 'XLA_EVENT_APPL_ID'
11720 , p_source_type_code => 'Y'
11721 , p_source_application_id => 602
11722 );
11723 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
11724 l_rec_acct_attrs.array_char_value(3) := p_source_54;
11728 p_source_code => 'XLA_ENTITY_CODE'
11725 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
11726 l_rec_acct_attrs.array_char_value(4) :=
11727 xla_ae_sources_pkg.GetSystemSourceChar(
11729 , p_source_type_code => 'Y'
11730 , p_source_application_id => 602
11731 );
11732 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
11733 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
11734 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
11735 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
11736 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
11737 l_rec_acct_attrs.array_num_value(7) := p_source_72;
11738 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
11739 l_rec_acct_attrs.array_num_value(8) := p_source_90;
11740 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
11741 l_rec_acct_attrs.array_char_value(9) := p_source_91;
11742 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
11743 l_rec_acct_attrs.array_char_value(10) := p_source_92;
11744 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
11745 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
11746 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
11747 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
11748 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
11749 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
11750 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
11751 l_rec_acct_attrs.array_char_value(14) := p_source_54;
11752 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
11753 l_rec_acct_attrs.array_num_value(15) := p_source_64;
11754 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
11755 l_rec_acct_attrs.array_num_value(16) := p_source_65;
11756 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
11757 l_rec_acct_attrs.array_char_value(17) := p_source_66;
11758 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
11759 l_rec_acct_attrs.array_num_value(18) := p_source_67;
11760 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
11761 l_rec_acct_attrs.array_num_value(19) := p_source_68;
11762 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
11763 l_rec_acct_attrs.array_num_value(20) := p_source_69;
11764 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
11765 l_rec_acct_attrs.array_char_value(21) := p_source_66;
11766 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
11767 l_rec_acct_attrs.array_num_value(22) := p_source_70;
11768 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
11769 l_rec_acct_attrs.array_char_value(23) := p_source_71;
11770 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
11771 l_rec_acct_attrs.array_num_value(24) := p_source_21;
11772 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
11773 l_rec_acct_attrs.array_date_value(25) := p_source_76;
11774 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
11775 l_rec_acct_attrs.array_char_value(26) := p_source_77;
11776 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
11777 l_rec_acct_attrs.array_date_value(27) := p_source_78;
11778 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
11779 l_rec_acct_attrs.array_char_value(28) := p_source_79;
11780 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
11781 l_rec_acct_attrs.array_num_value(29) := p_source_80;
11782 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
11783 l_rec_acct_attrs.array_num_value(30) := p_source_81;
11784 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
11785 l_rec_acct_attrs.array_char_value(31) := p_source_82;
11786 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
11787 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_83);
11788 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
11789 l_rec_acct_attrs.array_char_value(33) := p_source_54;
11790 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
11791 l_rec_acct_attrs.array_num_value(34) := p_source_84;
11792 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
11793 l_rec_acct_attrs.array_num_value(35) := p_source_85;
11794 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
11795 l_rec_acct_attrs.array_num_value(36) := p_source_86;
11796 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
11797 l_rec_acct_attrs.array_num_value(37) := p_source_87;
11798 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
11799 l_rec_acct_attrs.array_num_value(38) := p_source_88;
11800 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
11801 l_rec_acct_attrs.array_num_value(39) := p_source_89;
11802
11803 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11804 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11805
11806 ---------------------------------------------------------------------------------------------------------------
11807 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11808 ---------------------------------------------------------------------------------------------------------------
11812 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11809 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11810
11811 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11813
11814 IF xla_accounting_cache_pkg.GetValueChar
11815 (p_source_code => 'LEDGER_CATEGORY_CODE'
11816 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11817 AND l_bflow_method_code = 'PRIOR_ENTRY'
11818 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
11819 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11820 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11821 )
11822 THEN
11823 xla_ae_lines_pkg.BflowUpgEntry
11824 (p_business_method_code => l_bflow_method_code
11825 ,p_business_class_code => l_bflow_class_code
11826 ,p_balance_type => l_balance_type_code);
11827 ELSE
11828 NULL;
11829 -- No business flow processing for business flow method of NONE.
11830 END IF;
11831
11832 --
11833 -- call analytical criteria
11834 --
11835
11836 --
11837 -- call description
11838 --
11839
11840 xla_ae_lines_pkg.SetLineDescription(
11841 p_ae_header_id => l_ae_header_id
11842 ,p_description => Description_1 (
11843 p_application_id => p_application_id
11844 , p_ae_header_id => l_ae_header_id
11845 , p_source_1 => p_source_1
11846 )
11847 );
11848
11849
11850 --
11851 -- call ADRs
11852 -- Bug 4922099
11853 --
11854 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11855 (NVL(l_actual_upg_option, 'N') = 'O') OR
11856 (NVL(l_enc_upg_option, 'N') = 'O')
11857 )
11858 THEN
11859 NULL;
11860 --
11861 --
11862
11863 l_ccid := AcctDerRule_30(
11864 p_application_id => p_application_id
11865 , p_ae_header_id => l_ae_header_id
11866 , p_source_15 => p_source_15
11867 , p_source_15_meaning => p_source_15_meaning
11868 , p_source_20 => p_source_20
11869 , p_source_21 => p_source_21
11870 , p_source_22 => p_source_22
11871 , p_source_22_meaning => p_source_22_meaning
11872 , p_source_23 => p_source_23
11873 , p_source_30 => p_source_30
11874 , p_source_47 => p_source_47
11875 , p_source_47_meaning => p_source_47_meaning
11876 , x_transaction_coa_id => l_adr_transaction_coa_id
11877 , x_accounting_coa_id => l_adr_accounting_coa_id
11878 , x_value_type_code => l_adr_value_type_code
11879 , p_side => 'ALL'
11880 );
11881
11882 xla_ae_lines_pkg.set_ccid(
11883 p_code_combination_id => l_ccid
11884 , p_value_type_code => l_adr_value_type_code
11885 , p_transaction_coa_id => l_adr_transaction_coa_id
11886 , p_accounting_coa_id => l_adr_accounting_coa_id
11887 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11888 , p_adr_type_code => 'S'
11889 , p_component_type => l_component_type
11890 , p_component_code => l_component_code
11891 , p_component_type_code => l_component_type_code
11892 , p_component_appl_id => l_component_appl_id
11893 , p_amb_context_code => l_amb_context_code
11894 , p_side => 'ALL'
11895 );
11896
11897
11898 l_segment := AcctDerRule_9(
11899 p_application_id => p_application_id
11900 , p_ae_header_id => l_ae_header_id
11901 , p_source_15 => p_source_15
11902 , p_source_15_meaning => p_source_15_meaning
11903 , p_source_20 => p_source_20
11904 , p_source_22 => p_source_22
11905 , p_source_22_meaning => p_source_22_meaning
11906 , x_transaction_coa_id => l_adr_transaction_coa_id
11907 , x_accounting_coa_id => l_adr_accounting_coa_id
11908 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11909 , x_flex_value_set_id => l_adr_flex_value_set_id
11910 , x_value_type_code => l_adr_value_type_code
11911 , x_value_combination_id => l_adr_value_combination_id
11912 , x_value_segment_code => l_adr_value_segment_code
11913 , p_side => 'CREDIT'
11914 , p_override_seg_flag => 'Y'
11915 );
11916
11917 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11918
11919 xla_ae_lines_pkg.set_segment(
11920 p_to_segment_code => 'GL_ACCOUNT'
11921 , p_segment_value => l_segment
11922 , p_from_segment_code => l_adr_value_segment_code
11923 , p_from_combination_id => l_adr_value_combination_id
11924 , p_value_type_code => l_adr_value_type_code
11925 , p_transaction_coa_id => l_adr_transaction_coa_id
11926 , p_accounting_coa_id => l_adr_accounting_coa_id
11927 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11928 , p_flex_value_set_id => l_adr_flex_value_set_id
11929 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11930 , p_adr_type_code => 'S'
11931 , p_component_type => l_component_type
11935 , p_amb_context_code => l_amb_context_code
11932 , p_component_code => l_component_code
11933 , p_component_type_code => l_component_type_code
11934 , p_component_appl_id => l_component_appl_id
11936 , p_entity_code => 'AP_INVOICES'
11937 , p_event_class_code => 'INVOICES'
11938 , p_side => 'CREDIT'
11939 );
11940
11941 END IF;
11942
11943 l_segment := AcctDerRule_10(
11944 p_application_id => p_application_id
11945 , p_ae_header_id => l_ae_header_id
11946 , p_source_15 => p_source_15
11947 , p_source_15_meaning => p_source_15_meaning
11948 , p_source_22 => p_source_22
11949 , p_source_22_meaning => p_source_22_meaning
11950 , p_source_23 => p_source_23
11951 , x_transaction_coa_id => l_adr_transaction_coa_id
11952 , x_accounting_coa_id => l_adr_accounting_coa_id
11953 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11954 , x_flex_value_set_id => l_adr_flex_value_set_id
11955 , x_value_type_code => l_adr_value_type_code
11956 , x_value_combination_id => l_adr_value_combination_id
11957 , x_value_segment_code => l_adr_value_segment_code
11958 , p_side => 'DEBIT'
11959 , p_override_seg_flag => 'Y'
11960 );
11961
11962 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11963
11964 xla_ae_lines_pkg.set_segment(
11965 p_to_segment_code => 'GL_ACCOUNT'
11966 , p_segment_value => l_segment
11967 , p_from_segment_code => l_adr_value_segment_code
11968 , p_from_combination_id => l_adr_value_combination_id
11969 , p_value_type_code => l_adr_value_type_code
11970 , p_transaction_coa_id => l_adr_transaction_coa_id
11971 , p_accounting_coa_id => l_adr_accounting_coa_id
11972 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11973 , p_flex_value_set_id => l_adr_flex_value_set_id
11974 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11975 , p_adr_type_code => 'S'
11976 , p_component_type => l_component_type
11977 , p_component_code => l_component_code
11978 , p_component_type_code => l_component_type_code
11979 , p_component_appl_id => l_component_appl_id
11980 , p_amb_context_code => l_amb_context_code
11981 , p_entity_code => 'AP_INVOICES'
11982 , p_event_class_code => 'INVOICES'
11983 , p_side => 'DEBIT'
11984 );
11985
11986 END IF;
11987
11988 l_segment := AcctDerRule_23(
11989 p_application_id => p_application_id
11990 , p_ae_header_id => l_ae_header_id
11991 , p_source_15 => p_source_15
11992 , p_source_15_meaning => p_source_15_meaning
11993 , p_source_22 => p_source_22
11994 , p_source_22_meaning => p_source_22_meaning
11995 , p_source_30 => p_source_30
11996 , x_transaction_coa_id => l_adr_transaction_coa_id
11997 , x_accounting_coa_id => l_adr_accounting_coa_id
11998 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11999 , x_flex_value_set_id => l_adr_flex_value_set_id
12000 , x_value_type_code => l_adr_value_type_code
12001 , x_value_combination_id => l_adr_value_combination_id
12002 , x_value_segment_code => l_adr_value_segment_code
12003 , p_side => 'ALL'
12004 , p_override_seg_flag => 'Y'
12005 );
12006
12007 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12008
12009 xla_ae_lines_pkg.set_segment(
12010 p_to_segment_code => 'GL_BALANCING'
12011 , p_segment_value => l_segment
12012 , p_from_segment_code => l_adr_value_segment_code
12013 , p_from_combination_id => l_adr_value_combination_id
12014 , p_value_type_code => l_adr_value_type_code
12015 , p_transaction_coa_id => l_adr_transaction_coa_id
12016 , p_accounting_coa_id => l_adr_accounting_coa_id
12017 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12018 , p_flex_value_set_id => l_adr_flex_value_set_id
12019 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12020 , p_adr_type_code => 'S'
12021 , p_component_type => l_component_type
12022 , p_component_code => l_component_code
12023 , p_component_type_code => l_component_type_code
12024 , p_component_appl_id => l_component_appl_id
12025 , p_amb_context_code => l_amb_context_code
12026 , p_entity_code => 'AP_INVOICES'
12027 , p_event_class_code => 'INVOICES'
12028 , p_side => 'ALL'
12029 );
12030
12031 END IF;
12032
12033 --
12034 --
12035 END IF;
12036 --
12037 -- Bug 4922099
12038 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12039 (NVL(l_enc_upg_option, 'N') = 'O')
12040 ) AND
12041 (l_bflow_method_code = 'PRIOR_ENTRY')
12042 )
12043 THEN
12044 IF
12045 --
12046 1 = 2
12047 --
12048 THEN
12049 xla_accounting_err_pkg.build_message
12053 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12050 (p_appli_s_name => 'XLA'
12051 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12052 ,p_token_1 => 'LINE_NUMBER'
12054 ,p_token_2 => 'LINE_TYPE_NAME'
12055 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12056 l_component_type
12057 ,l_component_code
12058 ,l_component_type_code
12059 ,l_component_appl_id
12060 ,l_amb_context_code
12061 ,l_entity_code
12062 ,l_event_class_code
12063 )
12064 ,p_token_3 => 'OWNER'
12065 ,p_value_3 => xla_lookups_pkg.get_meaning(
12066 p_lookup_type => 'XLA_OWNER_TYPE'
12067 ,p_lookup_code => l_component_type_code
12068 )
12069 ,p_token_4 => 'PRODUCT_NAME'
12070 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12071 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12072 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12073 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12074 ,p_ae_header_id => NULL
12075 );
12076
12077 IF (C_LEVEL_ERROR>= g_log_level) THEN
12078 trace
12079 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12080 ,p_level => C_LEVEL_ERROR
12081 ,p_module => l_log_module);
12082 END IF;
12083 END IF;
12084 END IF;
12085 --
12086 --
12087 ------------------------------------------------------------------------------------------------
12088 -- 4219869 Business Flow
12089 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12090 -- Prior Entry. Currently, the following code is always generated.
12091 ------------------------------------------------------------------------------------------------
12092 XLA_AE_LINES_PKG.ValidateCurrentLine;
12093
12094 ------------------------------------------------------------------------------------
12095 -- 4219869 Business Flow
12096 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12097 ------------------------------------------------------------------------------------
12098 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12099
12100 ----------------------------------------------------------------------------------
12101 -- 4219869 Business Flow
12102 -- Update journal entry status -- Need to generate this within IF <condition>
12103 ----------------------------------------------------------------------------------
12104 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12105 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12106 ,p_balance_type_code => l_balance_type_code
12107 );
12108
12109 -------------------------------------------------------------------------------------------
12110 -- 4262811 - Generate the Accrual Reversal lines
12111 -------------------------------------------------------------------------------------------
12112 BEGIN
12113 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
12114 (g_array_event(p_event_id).array_value_num('header_index'));
12115 IF l_acc_rev_flag IS NULL THEN
12116 l_acc_rev_flag := 'N';
12117 END IF;
12118 EXCEPTION
12119 WHEN OTHERS THEN
12120 l_acc_rev_flag := 'N';
12121 END;
12122 --
12123 IF (l_acc_rev_flag = 'Y') THEN
12124
12125 -- 4645092 ------------------------------------------------------------------------------
12126 -- To allow MPA report to determine if it should generate report process
12127 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12128 ------------------------------------------------------------------------------------------
12129
12130 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12131 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12132 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12133 -- call ADRs
12134 -- Bug 4922099
12135 --
12136 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12137 (NVL(l_actual_upg_option, 'N') = 'O') OR
12138 (NVL(l_enc_upg_option, 'N') = 'O')
12139 )
12140 THEN
12141 NULL;
12145 l_ccid := AcctDerRule_30(
12142 --
12143 --
12144
12146 p_application_id => p_application_id
12147 , p_ae_header_id => l_ae_header_id
12148 , p_source_15 => p_source_15
12149 , p_source_15_meaning => p_source_15_meaning
12150 , p_source_20 => p_source_20
12151 , p_source_21 => p_source_21
12152 , p_source_22 => p_source_22
12153 , p_source_22_meaning => p_source_22_meaning
12154 , p_source_23 => p_source_23
12155 , p_source_30 => p_source_30
12156 , p_source_47 => p_source_47
12157 , p_source_47_meaning => p_source_47_meaning
12158 , x_transaction_coa_id => l_adr_transaction_coa_id
12159 , x_accounting_coa_id => l_adr_accounting_coa_id
12160 , x_value_type_code => l_adr_value_type_code
12161 , p_side => 'ALL'
12162 );
12163
12164 xla_ae_lines_pkg.set_ccid(
12165 p_code_combination_id => l_ccid
12166 , p_value_type_code => l_adr_value_type_code
12167 , p_transaction_coa_id => l_adr_transaction_coa_id
12168 , p_accounting_coa_id => l_adr_accounting_coa_id
12169 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12170 , p_adr_type_code => 'S'
12171 , p_component_type => l_component_type
12172 , p_component_code => l_component_code
12173 , p_component_type_code => l_component_type_code
12174 , p_component_appl_id => l_component_appl_id
12175 , p_amb_context_code => l_amb_context_code
12176 , p_side => 'ALL'
12177 );
12178
12179
12180 l_segment := AcctDerRule_9(
12181 p_application_id => p_application_id
12182 , p_ae_header_id => l_ae_header_id
12183 , p_source_15 => p_source_15
12184 , p_source_15_meaning => p_source_15_meaning
12185 , p_source_20 => p_source_20
12186 , p_source_22 => p_source_22
12187 , p_source_22_meaning => p_source_22_meaning
12188 , x_transaction_coa_id => l_adr_transaction_coa_id
12189 , x_accounting_coa_id => l_adr_accounting_coa_id
12190 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12191 , x_flex_value_set_id => l_adr_flex_value_set_id
12192 , x_value_type_code => l_adr_value_type_code
12193 , x_value_combination_id => l_adr_value_combination_id
12194 , x_value_segment_code => l_adr_value_segment_code
12195 , p_side => 'CREDIT'
12196 , p_override_seg_flag => 'Y'
12197 );
12198
12199 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12200
12201 xla_ae_lines_pkg.set_segment(
12202 p_to_segment_code => 'GL_ACCOUNT'
12203 , p_segment_value => l_segment
12204 , p_from_segment_code => l_adr_value_segment_code
12205 , p_from_combination_id => l_adr_value_combination_id
12206 , p_value_type_code => l_adr_value_type_code
12207 , p_transaction_coa_id => l_adr_transaction_coa_id
12208 , p_accounting_coa_id => l_adr_accounting_coa_id
12209 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12210 , p_flex_value_set_id => l_adr_flex_value_set_id
12211 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12212 , p_adr_type_code => 'S'
12213 , p_component_type => l_component_type
12214 , p_component_code => l_component_code
12215 , p_component_type_code => l_component_type_code
12216 , p_component_appl_id => l_component_appl_id
12217 , p_amb_context_code => l_amb_context_code
12218 , p_entity_code => 'AP_INVOICES'
12219 , p_event_class_code => 'INVOICES'
12220 , p_side => 'CREDIT'
12221 );
12222
12223 END IF;
12224
12225 l_segment := AcctDerRule_10(
12226 p_application_id => p_application_id
12227 , p_ae_header_id => l_ae_header_id
12228 , p_source_15 => p_source_15
12229 , p_source_15_meaning => p_source_15_meaning
12230 , p_source_22 => p_source_22
12231 , p_source_22_meaning => p_source_22_meaning
12232 , p_source_23 => p_source_23
12233 , x_transaction_coa_id => l_adr_transaction_coa_id
12234 , x_accounting_coa_id => l_adr_accounting_coa_id
12235 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12236 , x_flex_value_set_id => l_adr_flex_value_set_id
12237 , x_value_type_code => l_adr_value_type_code
12238 , x_value_combination_id => l_adr_value_combination_id
12239 , x_value_segment_code => l_adr_value_segment_code
12240 , p_side => 'DEBIT'
12241 , p_override_seg_flag => 'Y'
12242 );
12243
12244 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12245
12246 xla_ae_lines_pkg.set_segment(
12247 p_to_segment_code => 'GL_ACCOUNT'
12248 , p_segment_value => l_segment
12249 , p_from_segment_code => l_adr_value_segment_code
12250 , p_from_combination_id => l_adr_value_combination_id
12251 , p_value_type_code => l_adr_value_type_code
12252 , p_transaction_coa_id => l_adr_transaction_coa_id
12253 , p_accounting_coa_id => l_adr_accounting_coa_id
12257 , p_adr_type_code => 'S'
12254 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12255 , p_flex_value_set_id => l_adr_flex_value_set_id
12256 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12258 , p_component_type => l_component_type
12259 , p_component_code => l_component_code
12260 , p_component_type_code => l_component_type_code
12261 , p_component_appl_id => l_component_appl_id
12262 , p_amb_context_code => l_amb_context_code
12263 , p_entity_code => 'AP_INVOICES'
12264 , p_event_class_code => 'INVOICES'
12265 , p_side => 'DEBIT'
12266 );
12267
12268 END IF;
12269
12270 l_segment := AcctDerRule_23(
12271 p_application_id => p_application_id
12272 , p_ae_header_id => l_ae_header_id
12273 , p_source_15 => p_source_15
12274 , p_source_15_meaning => p_source_15_meaning
12275 , p_source_22 => p_source_22
12276 , p_source_22_meaning => p_source_22_meaning
12277 , p_source_30 => p_source_30
12278 , x_transaction_coa_id => l_adr_transaction_coa_id
12279 , x_accounting_coa_id => l_adr_accounting_coa_id
12280 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12281 , x_flex_value_set_id => l_adr_flex_value_set_id
12282 , x_value_type_code => l_adr_value_type_code
12283 , x_value_combination_id => l_adr_value_combination_id
12284 , x_value_segment_code => l_adr_value_segment_code
12285 , p_side => 'ALL'
12286 , p_override_seg_flag => 'Y'
12287 );
12288
12289 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12290
12291 xla_ae_lines_pkg.set_segment(
12292 p_to_segment_code => 'GL_BALANCING'
12293 , p_segment_value => l_segment
12294 , p_from_segment_code => l_adr_value_segment_code
12295 , p_from_combination_id => l_adr_value_combination_id
12296 , p_value_type_code => l_adr_value_type_code
12297 , p_transaction_coa_id => l_adr_transaction_coa_id
12298 , p_accounting_coa_id => l_adr_accounting_coa_id
12299 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12300 , p_flex_value_set_id => l_adr_flex_value_set_id
12301 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12302 , p_adr_type_code => 'S'
12303 , p_component_type => l_component_type
12304 , p_component_code => l_component_code
12305 , p_component_type_code => l_component_type_code
12306 , p_component_appl_id => l_component_appl_id
12307 , p_amb_context_code => l_amb_context_code
12308 , p_entity_code => 'AP_INVOICES'
12309 , p_event_class_code => 'INVOICES'
12310 , p_side => 'ALL'
12311 );
12312
12313 END IF;
12314
12315 --
12316 --
12317 END IF;
12318
12319 --
12320 -- Update the line information that should be overwritten
12321 --
12322 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12323 p_header_num => 1);
12324 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12325
12326 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12327
12328 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12329 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12330 END IF;
12331
12332 --
12333 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12334 --
12335 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12336 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12337 ELSE
12338 ---------------------------------------------------------------------------------------------------
12339 -- 4262811a Switch Sign
12340 ---------------------------------------------------------------------------------------------------
12341 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12343 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12344 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12345 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12346 -- 5132302
12347 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12348 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12349
12350 END IF;
12351
12352 -- 4955764
12353 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12354 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12355
12356
12357 XLA_AE_LINES_PKG.ValidateCurrentLine;
12358 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12362 ,p_balance_type_code => l_balance_type_code);
12359
12360 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12361 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12363
12364 END IF;
12365
12366 -----------------------------------------------------------------------------------------
12367 -- 4262811 Multiperiod Accounting
12368 -----------------------------------------------------------------------------------------
12369 -- No MPA option is assigned.
12370
12371
12372 END IF;
12373 END IF;
12374 --
12375
12376 --
12377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12378 trace
12379 (p_msg => 'END of AcctLineType_52'
12380 ,p_level => C_LEVEL_PROCEDURE
12381 ,p_module => l_log_module);
12382 END IF;
12383 --
12384 EXCEPTION
12385 WHEN xla_exceptions_pkg.application_exception THEN
12386 RAISE;
12387 WHEN OTHERS THEN
12388 xla_exceptions_pkg.raise_message
12389 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_52');
12390 END AcctLineType_52;
12391 --
12392
12393 ---------------------------------------
12394 --
12395 -- PRIVATE FUNCTION
12396 -- AcctLineType_53
12397 --
12398 ---------------------------------------
12399 PROCEDURE AcctLineType_53 (
12400 p_application_id IN NUMBER
12401 ,p_event_id IN NUMBER
12402 ,p_calculate_acctd_flag IN VARCHAR2
12403 ,p_calculate_g_l_flag IN VARCHAR2
12404 ,p_actual_flag IN OUT VARCHAR2
12405 ,p_balance_type_code OUT VARCHAR2
12406 ,p_gain_or_loss_ref OUT VARCHAR2
12407
12408 --Invoice Distribution Description
12409 , p_source_1 IN VARCHAR2
12410 --Automatic Offsets Value
12411 , p_source_15 IN VARCHAR2
12412 , p_source_15_meaning IN VARCHAR2
12413 --Purchase Order Rate Variance Gain Account
12414 , p_source_20 IN NUMBER
12415 --Invoice Distribution Ledger Amount
12416 , p_source_21 IN NUMBER
12417 --Destination Type of the PO Distribution
12418 , p_source_22 IN VARCHAR2
12419 , p_source_22_meaning IN VARCHAR2
12420 --Purchase Order Rate Variance Loss Account
12421 , p_source_23 IN NUMBER
12422 --Invoice Distribution Account
12423 , p_source_30 IN NUMBER
12424 --Invoice Distribution Type
12425 , p_source_33 IN VARCHAR2
12426 , p_source_33_meaning IN VARCHAR2
12427 --Automatic Offsets Flag
12428 , p_source_47 IN VARCHAR2
12429 , p_source_47_meaning IN VARCHAR2
12430 --Accounting Reversal Indicator
12431 , p_source_52 IN VARCHAR2
12432 --Distribution Link Type
12433 , p_source_54 IN VARCHAR2
12434 --Allocation to Main Distribution Identifier
12435 , p_source_56 IN NUMBER
12436 --Invoice Identifier
12437 , p_source_57 IN NUMBER
12438 --Invoice Distribution Identifier
12439 , p_source_63 IN NUMBER
12440 --Payables Encumbrance Upgrade Credit Account
12441 , p_source_64 IN NUMBER
12442 --Payables Encumbrance Upgrade Credit Amount
12443 , p_source_65 IN NUMBER
12444 --Invoice Currency Code
12445 , p_source_66 IN VARCHAR2
12446 --Payables Encumbrance Upgrade Credit Base Amount
12447 , p_source_67 IN NUMBER
12448 --Payables Encumbrance Upgrade Debit Account
12449 , p_source_68 IN NUMBER
12450 --Payables Encumbrance Upgrade Debit Amount
12451 , p_source_69 IN NUMBER
12452 --Payables Encumbrance Upgrade Debit Base Amount
12453 , p_source_70 IN NUMBER
12454 --Payables Encumbrance Upgrade Option
12455 , p_source_71 IN VARCHAR2
12456 --Deferred Accounting End Date
12457 , p_source_76 IN DATE
12458 --Deferred Accounting Option
12459 , p_source_77 IN VARCHAR2
12460 --Deferred Accounting Start Date
12461 , p_source_78 IN DATE
12462 --Override Accounted Amount Indicator
12463 , p_source_79 IN VARCHAR2
12464 , p_source_79_meaning IN VARCHAR2
12465 --Invoice Supplier Identifier
12466 , p_source_80 IN NUMBER
12467 --Invoice Supplier Site Identifier
12468 , p_source_81 IN NUMBER
12469 --Third Party Type
12470 , p_source_82 IN VARCHAR2
12471 --Parent Reversal Identifier
12472 , p_source_83 IN NUMBER
12473 --Invoice Distribution Statistical Amount
12474 , p_source_84 IN NUMBER
12475 --Invoice Distribution Tax Line Identifier
12476 , p_source_85 IN NUMBER
12477 --Invoice Distribution Tax Distribution Identifier from Tax
12478 , p_source_86 IN NUMBER
12479 --Invoice Distribution Summary Tax Line Identifier
12480 , p_source_87 IN NUMBER
12481 --Payables Upgrade Credit Encumbrance Type Identifier
12482 , p_source_88 IN NUMBER
12483 --Payables Upgrade Debit Encumbrance Type Identifier
12484 , p_source_89 IN NUMBER
12485 --Business Flow Accounts Payable Application Identifier
12486 , p_source_90 IN NUMBER
12487 --Business Flow Invoice Distribution Type
12488 , p_source_91 IN VARCHAR2
12489 --Business Flow Invoice Entity Code
12490 , p_source_92 IN VARCHAR2
12491 --Business Flow Invoice Distribution Identifier
12492 , p_source_93 IN NUMBER
12493 --Business Flow Invoice Identifier
12494 , p_source_94 IN NUMBER
12495 )
12496 IS
12500 l_component_type_code VARCHAR2(1);
12497
12498 l_component_type VARCHAR2(80);
12499 l_component_code VARCHAR2(30);
12501 l_component_appl_id INTEGER;
12502 l_amb_context_code VARCHAR2(30);
12503 l_entity_code VARCHAR2(30);
12504 l_event_class_code VARCHAR2(30);
12505 l_ae_header_id NUMBER;
12506 l_event_type_code VARCHAR2(30);
12507 l_line_definition_code VARCHAR2(30);
12508 l_line_definition_owner_code VARCHAR2(1);
12509 --
12510 -- adr variables
12511 l_segment VARCHAR2(30);
12512 l_ccid NUMBER;
12513 l_adr_transaction_coa_id NUMBER;
12514 l_adr_accounting_coa_id NUMBER;
12515 l_adr_flexfield_segment_code VARCHAR2(30);
12516 l_adr_flex_value_set_id NUMBER;
12517 l_adr_value_type_code VARCHAR2(30);
12518 l_adr_value_combination_id NUMBER;
12519 l_adr_value_segment_code VARCHAR2(30);
12520
12521 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
12522 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
12523 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
12524 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
12525
12526 -- 4262811 Variables ------------------------------------------------------------------------------------------
12527 l_entered_amt_idx NUMBER;
12528 l_accted_amt_idx NUMBER;
12529 l_acc_rev_flag VARCHAR2(1);
12530 l_accrual_line_num NUMBER;
12531 l_tmp_amt NUMBER;
12532 l_acc_rev_natural_side_code VARCHAR2(1);
12533
12534 l_num_entries NUMBER;
12535 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
12536 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
12537 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
12538 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
12539 l_recog_line_1 NUMBER;
12540 l_recog_line_2 NUMBER;
12541
12542 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
12543 l_bflow_applied_to_amt NUMBER; -- 5132302
12544 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
12545
12546 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
12547
12548 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
12549 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
12550
12551 ---------------------------------------------------------------------------------------------------------------
12552
12553
12554 --
12555 -- bulk performance
12556 --
12557 l_balance_type_code VARCHAR2(1);
12558 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12559 l_log_module VARCHAR2(240);
12560
12561 --
12562 -- Upgrade strategy
12563 --
12564 l_actual_upg_option VARCHAR2(1);
12565 l_enc_upg_option VARCHAR2(1);
12566
12567 --
12568 BEGIN
12569 --
12570 IF g_log_enabled THEN
12571 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_53';
12572 END IF;
12573 --
12574 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12575
12576 trace
12577 (p_msg => 'BEGIN of AcctLineType_53'
12578 ,p_level => C_LEVEL_PROCEDURE
12579 ,p_module => l_log_module);
12580
12581 END IF;
12582 --
12583 l_component_type := 'AMB_JLT';
12584 l_component_code := 'AP_ALC_EX_RATE_VAR_PREPAY';
12585 l_component_type_code := 'S';
12586 l_component_appl_id := 200;
12587 l_amb_context_code := 'DEFAULT';
12588 l_entity_code := 'AP_INVOICES';
12589 l_event_class_code := 'PREPAYMENTS';
12590 l_event_type_code := 'PREPAYMENTS_ALL';
12591 l_line_definition_owner_code := 'S';
12592 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
12593 --
12594 l_balance_type_code := 'A';
12595 l_segment := NULL;
12596 l_ccid := NULL;
12597 l_adr_transaction_coa_id := NULL;
12598 l_adr_accounting_coa_id := NULL;
12599 l_adr_flexfield_segment_code := NULL;
12600 l_adr_flex_value_set_id := NULL;
12601 l_adr_value_type_code := NULL;
12602 l_adr_value_combination_id := NULL;
12603 l_adr_value_segment_code := NULL;
12604
12605 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
12606 l_bflow_class_code := ''; -- 4219869 Business Flow
12607 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
12608 l_budgetary_control_flag := 'N';
12609
12610 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12611 l_bflow_applied_to_amt := NULL; -- 5132302
12612 l_entered_amt_idx := NULL; -- 4262811
12613 l_accted_amt_idx := NULL; -- 4262811
12614 l_acc_rev_flag := NULL; -- 4262811
12615 l_accrual_line_num := NULL; -- 4262811
12616 l_tmp_amt := NULL; -- 4262811
12617 --
12621 END IF;
12618 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
12619 (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
12620 return;
12622
12623 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
12624 l_balance_type_code <> 'B' THEN
12625 IF NVL(p_source_33,'
12626 ') = 'ACCRUAL'
12627 THEN
12628
12629 --
12630 XLA_AE_LINES_PKG.SetNewLine;
12631
12632 p_balance_type_code := l_balance_type_code;
12633 -- set the flag so later we will know whether the gain loss line needs to be created
12634
12635 IF(l_balance_type_code = 'A' ) THEN
12636 p_actual_flag :='G';
12637 END IF;
12638
12639 --
12640 -- bulk performance
12641 --
12642 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12643 p_header_num => 0); -- 4262811
12644 --
12645 -- set accounting line options
12646 --
12647 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12648 p_natural_side_code => 'G'
12649 , p_gain_or_loss_flag => 'N'
12650 , p_gl_transfer_mode_code => 'S'
12651 , p_acct_entry_type_code => 'A'
12652 , p_switch_side_flag => ''
12653 , p_merge_duplicate_code => 'A'
12654 );
12655 --
12656 l_acc_rev_natural_side_code := 'C'; -- 4262811
12657 --
12658 --
12659 -- set accounting line type info
12660 --
12661 xla_ae_lines_pkg.SetAcctLineType
12662 (p_component_type => l_component_type
12663 ,p_event_type_code => l_event_type_code
12664 ,p_line_definition_owner_code => l_line_definition_owner_code
12665 ,p_line_definition_code => l_line_definition_code
12666 ,p_accounting_line_code => l_component_code
12667 ,p_accounting_line_type_code => l_component_type_code
12668 ,p_accounting_line_appl_id => l_component_appl_id
12669 ,p_amb_context_code => l_amb_context_code
12670 ,p_entity_code => l_entity_code
12671 ,p_event_class_code => l_event_class_code);
12672 --
12673 -- set accounting class
12674 --
12675 xla_ae_lines_pkg.SetAcctClass(
12676 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
12677 , p_ae_header_id => l_ae_header_id
12678 );
12679
12680 --
12681 -- set rounding class
12682 --
12683 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12684 'EXCHANGE_RATE_VARIANCE';
12685
12686 --
12687 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12688 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12689 --
12690 -- bulk performance
12691 --
12692 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12693
12694 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12695 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12696
12697 -- 4955764
12698 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12699 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12700
12701 -- 4458381 Public Sector Enh
12702
12703 --
12704 -- set accounting attributes for the line type
12705 --
12706 l_entered_amt_idx := NULL;
12707 l_accted_amt_idx := 23;
12708 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12709 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12710 l_rec_acct_attrs.array_char_value(1) := p_source_52;
12711 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12712 l_rec_acct_attrs.array_num_value(2) :=
12713 xla_ae_sources_pkg.GetSystemSourceNum(
12714 p_source_code => 'XLA_EVENT_APPL_ID'
12715 , p_source_type_code => 'Y'
12716 , p_source_application_id => 602
12717 );
12718 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12719 l_rec_acct_attrs.array_char_value(3) := p_source_54;
12720 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12721 l_rec_acct_attrs.array_char_value(4) :=
12722 xla_ae_sources_pkg.GetSystemSourceChar(
12723 p_source_code => 'XLA_ENTITY_CODE'
12724 , p_source_type_code => 'Y'
12725 , p_source_application_id => 602
12726 );
12727 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12728 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
12729 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12730 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
12731 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
12732 l_rec_acct_attrs.array_num_value(7) := p_source_90;
12733 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12734 l_rec_acct_attrs.array_char_value(8) := p_source_91;
12735 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
12739 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12736 l_rec_acct_attrs.array_char_value(9) := p_source_92;
12737 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
12738 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
12740 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
12741 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
12742 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
12743 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
12744 l_rec_acct_attrs.array_char_value(13) := p_source_54;
12745 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
12746 l_rec_acct_attrs.array_num_value(14) := p_source_64;
12747 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
12748 l_rec_acct_attrs.array_num_value(15) := p_source_65;
12749 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
12750 l_rec_acct_attrs.array_char_value(16) := p_source_66;
12751 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
12752 l_rec_acct_attrs.array_num_value(17) := p_source_67;
12753 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
12754 l_rec_acct_attrs.array_num_value(18) := p_source_68;
12755 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
12756 l_rec_acct_attrs.array_num_value(19) := p_source_69;
12757 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
12758 l_rec_acct_attrs.array_char_value(20) := p_source_66;
12759 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
12760 l_rec_acct_attrs.array_num_value(21) := p_source_70;
12761 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
12762 l_rec_acct_attrs.array_char_value(22) := p_source_71;
12763 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
12764 l_rec_acct_attrs.array_num_value(23) := p_source_21;
12765 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
12766 l_rec_acct_attrs.array_date_value(24) := p_source_76;
12767 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
12768 l_rec_acct_attrs.array_char_value(25) := p_source_77;
12769 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
12770 l_rec_acct_attrs.array_date_value(26) := p_source_78;
12771 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
12772 l_rec_acct_attrs.array_char_value(27) := p_source_79;
12773 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
12774 l_rec_acct_attrs.array_num_value(28) := p_source_80;
12775 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
12776 l_rec_acct_attrs.array_num_value(29) := p_source_81;
12777 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
12778 l_rec_acct_attrs.array_char_value(30) := p_source_82;
12779 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
12780 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
12781 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
12782 l_rec_acct_attrs.array_char_value(32) := p_source_54;
12783 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
12784 l_rec_acct_attrs.array_num_value(33) := p_source_84;
12785 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
12786 l_rec_acct_attrs.array_num_value(34) := p_source_85;
12787 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
12788 l_rec_acct_attrs.array_num_value(35) := p_source_86;
12789 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
12790 l_rec_acct_attrs.array_num_value(36) := p_source_87;
12791 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
12792 l_rec_acct_attrs.array_num_value(37) := p_source_88;
12793 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
12794 l_rec_acct_attrs.array_num_value(38) := p_source_89;
12795
12796 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12797 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12798
12799 ---------------------------------------------------------------------------------------------------------------
12800 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12801 ---------------------------------------------------------------------------------------------------------------
12802 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12803
12804 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12805 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12806
12807 IF xla_accounting_cache_pkg.GetValueChar
12808 (p_source_code => 'LEDGER_CATEGORY_CODE'
12809 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12810 AND l_bflow_method_code = 'PRIOR_ENTRY'
12811 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12812 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12813 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12814 )
12815 THEN
12816 xla_ae_lines_pkg.BflowUpgEntry
12817 (p_business_method_code => l_bflow_method_code
12818 ,p_business_class_code => l_bflow_class_code
12819 ,p_balance_type => l_balance_type_code);
12820 ELSE
12821 NULL;
12822 -- No business flow processing for business flow method of NONE.
12823 END IF;
12824
12825 --
12829 --
12826 -- call analytical criteria
12827 --
12828
12830 -- call description
12831 --
12832
12833 xla_ae_lines_pkg.SetLineDescription(
12834 p_ae_header_id => l_ae_header_id
12835 ,p_description => Description_1 (
12836 p_application_id => p_application_id
12837 , p_ae_header_id => l_ae_header_id
12838 , p_source_1 => p_source_1
12839 )
12840 );
12841
12842
12843 --
12844 -- call ADRs
12845 -- Bug 4922099
12846 --
12847 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12848 (NVL(l_actual_upg_option, 'N') = 'O') OR
12849 (NVL(l_enc_upg_option, 'N') = 'O')
12850 )
12851 THEN
12852 NULL;
12853 --
12854 --
12855
12856 l_ccid := AcctDerRule_30(
12857 p_application_id => p_application_id
12858 , p_ae_header_id => l_ae_header_id
12859 , p_source_15 => p_source_15
12860 , p_source_15_meaning => p_source_15_meaning
12861 , p_source_20 => p_source_20
12862 , p_source_21 => p_source_21
12863 , p_source_22 => p_source_22
12864 , p_source_22_meaning => p_source_22_meaning
12865 , p_source_23 => p_source_23
12866 , p_source_30 => p_source_30
12867 , p_source_47 => p_source_47
12868 , p_source_47_meaning => p_source_47_meaning
12869 , x_transaction_coa_id => l_adr_transaction_coa_id
12870 , x_accounting_coa_id => l_adr_accounting_coa_id
12871 , x_value_type_code => l_adr_value_type_code
12872 , p_side => 'ALL'
12873 );
12874
12875 xla_ae_lines_pkg.set_ccid(
12876 p_code_combination_id => l_ccid
12877 , p_value_type_code => l_adr_value_type_code
12878 , p_transaction_coa_id => l_adr_transaction_coa_id
12879 , p_accounting_coa_id => l_adr_accounting_coa_id
12880 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12881 , p_adr_type_code => 'S'
12882 , p_component_type => l_component_type
12883 , p_component_code => l_component_code
12884 , p_component_type_code => l_component_type_code
12885 , p_component_appl_id => l_component_appl_id
12886 , p_amb_context_code => l_amb_context_code
12887 , p_side => 'ALL'
12888 );
12889
12890
12891 l_segment := AcctDerRule_9(
12892 p_application_id => p_application_id
12893 , p_ae_header_id => l_ae_header_id
12894 , p_source_15 => p_source_15
12895 , p_source_15_meaning => p_source_15_meaning
12896 , p_source_20 => p_source_20
12897 , p_source_22 => p_source_22
12898 , p_source_22_meaning => p_source_22_meaning
12899 , x_transaction_coa_id => l_adr_transaction_coa_id
12900 , x_accounting_coa_id => l_adr_accounting_coa_id
12901 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12902 , x_flex_value_set_id => l_adr_flex_value_set_id
12903 , x_value_type_code => l_adr_value_type_code
12904 , x_value_combination_id => l_adr_value_combination_id
12905 , x_value_segment_code => l_adr_value_segment_code
12906 , p_side => 'CREDIT'
12907 , p_override_seg_flag => 'Y'
12908 );
12909
12910 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12911
12912 xla_ae_lines_pkg.set_segment(
12913 p_to_segment_code => 'GL_ACCOUNT'
12914 , p_segment_value => l_segment
12915 , p_from_segment_code => l_adr_value_segment_code
12916 , p_from_combination_id => l_adr_value_combination_id
12917 , p_value_type_code => l_adr_value_type_code
12918 , p_transaction_coa_id => l_adr_transaction_coa_id
12919 , p_accounting_coa_id => l_adr_accounting_coa_id
12920 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12921 , p_flex_value_set_id => l_adr_flex_value_set_id
12922 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12923 , p_adr_type_code => 'S'
12924 , p_component_type => l_component_type
12925 , p_component_code => l_component_code
12926 , p_component_type_code => l_component_type_code
12927 , p_component_appl_id => l_component_appl_id
12928 , p_amb_context_code => l_amb_context_code
12929 , p_entity_code => 'AP_INVOICES'
12930 , p_event_class_code => 'PREPAYMENTS'
12931 , p_side => 'CREDIT'
12932 );
12933
12934 END IF;
12935
12936 l_segment := AcctDerRule_10(
12937 p_application_id => p_application_id
12938 , p_ae_header_id => l_ae_header_id
12939 , p_source_15 => p_source_15
12940 , p_source_15_meaning => p_source_15_meaning
12941 , p_source_22 => p_source_22
12942 , p_source_22_meaning => p_source_22_meaning
12943 , p_source_23 => p_source_23
12944 , x_transaction_coa_id => l_adr_transaction_coa_id
12945 , x_accounting_coa_id => l_adr_accounting_coa_id
12946 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12947 , x_flex_value_set_id => l_adr_flex_value_set_id
12951 , p_side => 'DEBIT'
12948 , x_value_type_code => l_adr_value_type_code
12949 , x_value_combination_id => l_adr_value_combination_id
12950 , x_value_segment_code => l_adr_value_segment_code
12952 , p_override_seg_flag => 'Y'
12953 );
12954
12955 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12956
12957 xla_ae_lines_pkg.set_segment(
12958 p_to_segment_code => 'GL_ACCOUNT'
12959 , p_segment_value => l_segment
12960 , p_from_segment_code => l_adr_value_segment_code
12961 , p_from_combination_id => l_adr_value_combination_id
12962 , p_value_type_code => l_adr_value_type_code
12963 , p_transaction_coa_id => l_adr_transaction_coa_id
12964 , p_accounting_coa_id => l_adr_accounting_coa_id
12965 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12966 , p_flex_value_set_id => l_adr_flex_value_set_id
12967 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12968 , p_adr_type_code => 'S'
12969 , p_component_type => l_component_type
12970 , p_component_code => l_component_code
12971 , p_component_type_code => l_component_type_code
12972 , p_component_appl_id => l_component_appl_id
12973 , p_amb_context_code => l_amb_context_code
12974 , p_entity_code => 'AP_INVOICES'
12975 , p_event_class_code => 'PREPAYMENTS'
12976 , p_side => 'DEBIT'
12977 );
12978
12979 END IF;
12980
12981 l_segment := AcctDerRule_23(
12982 p_application_id => p_application_id
12983 , p_ae_header_id => l_ae_header_id
12984 , p_source_15 => p_source_15
12985 , p_source_15_meaning => p_source_15_meaning
12986 , p_source_22 => p_source_22
12987 , p_source_22_meaning => p_source_22_meaning
12988 , p_source_30 => p_source_30
12989 , x_transaction_coa_id => l_adr_transaction_coa_id
12990 , x_accounting_coa_id => l_adr_accounting_coa_id
12991 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12992 , x_flex_value_set_id => l_adr_flex_value_set_id
12993 , x_value_type_code => l_adr_value_type_code
12994 , x_value_combination_id => l_adr_value_combination_id
12995 , x_value_segment_code => l_adr_value_segment_code
12996 , p_side => 'ALL'
12997 , p_override_seg_flag => 'Y'
12998 );
12999
13000 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13001
13002 xla_ae_lines_pkg.set_segment(
13003 p_to_segment_code => 'GL_BALANCING'
13004 , p_segment_value => l_segment
13005 , p_from_segment_code => l_adr_value_segment_code
13006 , p_from_combination_id => l_adr_value_combination_id
13007 , p_value_type_code => l_adr_value_type_code
13008 , p_transaction_coa_id => l_adr_transaction_coa_id
13009 , p_accounting_coa_id => l_adr_accounting_coa_id
13010 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13011 , p_flex_value_set_id => l_adr_flex_value_set_id
13012 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13013 , p_adr_type_code => 'S'
13014 , p_component_type => l_component_type
13015 , p_component_code => l_component_code
13016 , p_component_type_code => l_component_type_code
13017 , p_component_appl_id => l_component_appl_id
13018 , p_amb_context_code => l_amb_context_code
13019 , p_entity_code => 'AP_INVOICES'
13020 , p_event_class_code => 'PREPAYMENTS'
13021 , p_side => 'ALL'
13022 );
13023
13024 END IF;
13025
13026 --
13027 --
13028 END IF;
13029 --
13030 -- Bug 4922099
13031 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
13032 (NVL(l_enc_upg_option, 'N') = 'O')
13033 ) AND
13034 (l_bflow_method_code = 'PRIOR_ENTRY')
13035 )
13036 THEN
13037 IF
13038 --
13039 1 = 2
13040 --
13041 THEN
13042 xla_accounting_err_pkg.build_message
13043 (p_appli_s_name => 'XLA'
13044 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13045 ,p_token_1 => 'LINE_NUMBER'
13046 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13047 ,p_token_2 => 'LINE_TYPE_NAME'
13048 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13049 l_component_type
13050 ,l_component_code
13051 ,l_component_type_code
13052 ,l_component_appl_id
13053 ,l_amb_context_code
13054 ,l_entity_code
13058 ,p_value_3 => xla_lookups_pkg.get_meaning(
13055 ,l_event_class_code
13056 )
13057 ,p_token_3 => 'OWNER'
13059 p_lookup_type => 'XLA_OWNER_TYPE'
13060 ,p_lookup_code => l_component_type_code
13061 )
13062 ,p_token_4 => 'PRODUCT_NAME'
13063 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
13064 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
13065 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
13066 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
13067 ,p_ae_header_id => NULL
13068 );
13069
13070 IF (C_LEVEL_ERROR>= g_log_level) THEN
13071 trace
13072 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13073 ,p_level => C_LEVEL_ERROR
13074 ,p_module => l_log_module);
13075 END IF;
13076 END IF;
13077 END IF;
13078 --
13079 --
13080 ------------------------------------------------------------------------------------------------
13081 -- 4219869 Business Flow
13082 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13083 -- Prior Entry. Currently, the following code is always generated.
13084 ------------------------------------------------------------------------------------------------
13085 XLA_AE_LINES_PKG.ValidateCurrentLine;
13086
13087 ------------------------------------------------------------------------------------
13088 -- 4219869 Business Flow
13089 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
13090 ------------------------------------------------------------------------------------
13091 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13092
13093 ----------------------------------------------------------------------------------
13094 -- 4219869 Business Flow
13095 -- Update journal entry status -- Need to generate this within IF <condition>
13096 ----------------------------------------------------------------------------------
13097 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13098 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
13099 ,p_balance_type_code => l_balance_type_code
13100 );
13101
13102 -------------------------------------------------------------------------------------------
13103 -- 4262811 - Generate the Accrual Reversal lines
13104 -------------------------------------------------------------------------------------------
13105 BEGIN
13106 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13107 (g_array_event(p_event_id).array_value_num('header_index'));
13108 IF l_acc_rev_flag IS NULL THEN
13109 l_acc_rev_flag := 'N';
13110 END IF;
13111 EXCEPTION
13112 WHEN OTHERS THEN
13113 l_acc_rev_flag := 'N';
13114 END;
13115 --
13116 IF (l_acc_rev_flag = 'Y') THEN
13117
13118 -- 4645092 ------------------------------------------------------------------------------
13119 -- To allow MPA report to determine if it should generate report process
13120 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13121 ------------------------------------------------------------------------------------------
13122
13123 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13124 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13125 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13126 -- call ADRs
13127 -- Bug 4922099
13128 --
13129 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13130 (NVL(l_actual_upg_option, 'N') = 'O') OR
13131 (NVL(l_enc_upg_option, 'N') = 'O')
13132 )
13133 THEN
13134 NULL;
13135 --
13136 --
13137
13138 l_ccid := AcctDerRule_30(
13139 p_application_id => p_application_id
13140 , p_ae_header_id => l_ae_header_id
13141 , p_source_15 => p_source_15
13142 , p_source_15_meaning => p_source_15_meaning
13143 , p_source_20 => p_source_20
13144 , p_source_21 => p_source_21
13145 , p_source_22 => p_source_22
13146 , p_source_22_meaning => p_source_22_meaning
13147 , p_source_23 => p_source_23
13148 , p_source_30 => p_source_30
13149 , p_source_47 => p_source_47
13150 , p_source_47_meaning => p_source_47_meaning
13151 , x_transaction_coa_id => l_adr_transaction_coa_id
13152 , x_accounting_coa_id => l_adr_accounting_coa_id
13153 , x_value_type_code => l_adr_value_type_code
13154 , p_side => 'ALL'
13155 );
13156
13157 xla_ae_lines_pkg.set_ccid(
13158 p_code_combination_id => l_ccid
13162 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13159 , p_value_type_code => l_adr_value_type_code
13160 , p_transaction_coa_id => l_adr_transaction_coa_id
13161 , p_accounting_coa_id => l_adr_accounting_coa_id
13163 , p_adr_type_code => 'S'
13164 , p_component_type => l_component_type
13165 , p_component_code => l_component_code
13166 , p_component_type_code => l_component_type_code
13167 , p_component_appl_id => l_component_appl_id
13168 , p_amb_context_code => l_amb_context_code
13169 , p_side => 'ALL'
13170 );
13171
13172
13173 l_segment := AcctDerRule_9(
13174 p_application_id => p_application_id
13175 , p_ae_header_id => l_ae_header_id
13176 , p_source_15 => p_source_15
13177 , p_source_15_meaning => p_source_15_meaning
13178 , p_source_20 => p_source_20
13179 , p_source_22 => p_source_22
13180 , p_source_22_meaning => p_source_22_meaning
13181 , x_transaction_coa_id => l_adr_transaction_coa_id
13182 , x_accounting_coa_id => l_adr_accounting_coa_id
13183 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13184 , x_flex_value_set_id => l_adr_flex_value_set_id
13185 , x_value_type_code => l_adr_value_type_code
13186 , x_value_combination_id => l_adr_value_combination_id
13187 , x_value_segment_code => l_adr_value_segment_code
13188 , p_side => 'CREDIT'
13189 , p_override_seg_flag => 'Y'
13190 );
13191
13192 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13193
13194 xla_ae_lines_pkg.set_segment(
13195 p_to_segment_code => 'GL_ACCOUNT'
13196 , p_segment_value => l_segment
13197 , p_from_segment_code => l_adr_value_segment_code
13198 , p_from_combination_id => l_adr_value_combination_id
13199 , p_value_type_code => l_adr_value_type_code
13200 , p_transaction_coa_id => l_adr_transaction_coa_id
13201 , p_accounting_coa_id => l_adr_accounting_coa_id
13202 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13203 , p_flex_value_set_id => l_adr_flex_value_set_id
13204 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13205 , p_adr_type_code => 'S'
13206 , p_component_type => l_component_type
13207 , p_component_code => l_component_code
13208 , p_component_type_code => l_component_type_code
13209 , p_component_appl_id => l_component_appl_id
13210 , p_amb_context_code => l_amb_context_code
13211 , p_entity_code => 'AP_INVOICES'
13212 , p_event_class_code => 'PREPAYMENTS'
13213 , p_side => 'CREDIT'
13214 );
13215
13216 END IF;
13217
13218 l_segment := AcctDerRule_10(
13219 p_application_id => p_application_id
13220 , p_ae_header_id => l_ae_header_id
13221 , p_source_15 => p_source_15
13222 , p_source_15_meaning => p_source_15_meaning
13223 , p_source_22 => p_source_22
13224 , p_source_22_meaning => p_source_22_meaning
13225 , p_source_23 => p_source_23
13226 , x_transaction_coa_id => l_adr_transaction_coa_id
13227 , x_accounting_coa_id => l_adr_accounting_coa_id
13228 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13229 , x_flex_value_set_id => l_adr_flex_value_set_id
13230 , x_value_type_code => l_adr_value_type_code
13231 , x_value_combination_id => l_adr_value_combination_id
13232 , x_value_segment_code => l_adr_value_segment_code
13233 , p_side => 'DEBIT'
13234 , p_override_seg_flag => 'Y'
13235 );
13236
13237 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13238
13239 xla_ae_lines_pkg.set_segment(
13240 p_to_segment_code => 'GL_ACCOUNT'
13241 , p_segment_value => l_segment
13242 , p_from_segment_code => l_adr_value_segment_code
13243 , p_from_combination_id => l_adr_value_combination_id
13244 , p_value_type_code => l_adr_value_type_code
13245 , p_transaction_coa_id => l_adr_transaction_coa_id
13246 , p_accounting_coa_id => l_adr_accounting_coa_id
13247 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13248 , p_flex_value_set_id => l_adr_flex_value_set_id
13249 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13250 , p_adr_type_code => 'S'
13251 , p_component_type => l_component_type
13252 , p_component_code => l_component_code
13253 , p_component_type_code => l_component_type_code
13254 , p_component_appl_id => l_component_appl_id
13255 , p_amb_context_code => l_amb_context_code
13256 , p_entity_code => 'AP_INVOICES'
13257 , p_event_class_code => 'PREPAYMENTS'
13258 , p_side => 'DEBIT'
13259 );
13260
13261 END IF;
13262
13263 l_segment := AcctDerRule_23(
13264 p_application_id => p_application_id
13265 , p_ae_header_id => l_ae_header_id
13266 , p_source_15 => p_source_15
13267 , p_source_15_meaning => p_source_15_meaning
13268 , p_source_22 => p_source_22
13269 , p_source_22_meaning => p_source_22_meaning
13270 , p_source_30 => p_source_30
13274 , x_flex_value_set_id => l_adr_flex_value_set_id
13271 , x_transaction_coa_id => l_adr_transaction_coa_id
13272 , x_accounting_coa_id => l_adr_accounting_coa_id
13273 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13275 , x_value_type_code => l_adr_value_type_code
13276 , x_value_combination_id => l_adr_value_combination_id
13277 , x_value_segment_code => l_adr_value_segment_code
13278 , p_side => 'ALL'
13279 , p_override_seg_flag => 'Y'
13280 );
13281
13282 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13283
13284 xla_ae_lines_pkg.set_segment(
13285 p_to_segment_code => 'GL_BALANCING'
13286 , p_segment_value => l_segment
13287 , p_from_segment_code => l_adr_value_segment_code
13288 , p_from_combination_id => l_adr_value_combination_id
13289 , p_value_type_code => l_adr_value_type_code
13290 , p_transaction_coa_id => l_adr_transaction_coa_id
13291 , p_accounting_coa_id => l_adr_accounting_coa_id
13292 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13293 , p_flex_value_set_id => l_adr_flex_value_set_id
13294 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13295 , p_adr_type_code => 'S'
13296 , p_component_type => l_component_type
13297 , p_component_code => l_component_code
13298 , p_component_type_code => l_component_type_code
13299 , p_component_appl_id => l_component_appl_id
13300 , p_amb_context_code => l_amb_context_code
13301 , p_entity_code => 'AP_INVOICES'
13302 , p_event_class_code => 'PREPAYMENTS'
13303 , p_side => 'ALL'
13304 );
13305
13306 END IF;
13307
13308 --
13309 --
13310 END IF;
13311
13312 --
13313 -- Update the line information that should be overwritten
13314 --
13315 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13316 p_header_num => 1);
13317 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13318
13319 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13320
13321 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13322 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13323 END IF;
13324
13325 --
13326 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13327 --
13328 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13329 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13330 ELSE
13331 ---------------------------------------------------------------------------------------------------
13332 -- 4262811a Switch Sign
13333 ---------------------------------------------------------------------------------------------------
13334 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13337 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13338 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13339 -- 5132302
13340 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13341 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13342
13343 END IF;
13344
13345 -- 4955764
13346 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13347 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13348
13349
13350 XLA_AE_LINES_PKG.ValidateCurrentLine;
13351 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13352
13353 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13354 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13355 ,p_balance_type_code => l_balance_type_code);
13356
13357 END IF;
13358
13359 -----------------------------------------------------------------------------------------
13360 -- 4262811 Multiperiod Accounting
13361 -----------------------------------------------------------------------------------------
13362 -- No MPA option is assigned.
13363
13364
13365 END IF;
13366 END IF;
13367 --
13368
13369 --
13370 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13371 trace
13372 (p_msg => 'END of AcctLineType_53'
13373 ,p_level => C_LEVEL_PROCEDURE
13374 ,p_module => l_log_module);
13375 END IF;
13376 --
13377 EXCEPTION
13378 WHEN xla_exceptions_pkg.application_exception THEN
13379 RAISE;
13380 WHEN OTHERS THEN
13381 xla_exceptions_pkg.raise_message
13382 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_53');
13383 END AcctLineType_53;
13384 --
13385
13386 ---------------------------------------
13390 --
13387 --
13388 -- PRIVATE FUNCTION
13389 -- AcctLineType_54
13391 ---------------------------------------
13392 PROCEDURE AcctLineType_54 (
13393 p_application_id IN NUMBER
13394 ,p_event_id IN NUMBER
13395 ,p_calculate_acctd_flag IN VARCHAR2
13396 ,p_calculate_g_l_flag IN VARCHAR2
13397 ,p_actual_flag IN OUT VARCHAR2
13398 ,p_balance_type_code OUT VARCHAR2
13399 ,p_gain_or_loss_ref OUT VARCHAR2
13400
13401 --Invoice Distribution Description
13402 , p_source_1 IN VARCHAR2
13403 --Automatic Offsets Value
13404 , p_source_15 IN VARCHAR2
13405 , p_source_15_meaning IN VARCHAR2
13406 --Purchase Order Rate Variance Gain Account
13407 , p_source_20 IN NUMBER
13408 --Invoice Distribution Ledger Amount
13409 , p_source_21 IN NUMBER
13410 --Destination Type of the PO Distribution
13411 , p_source_22 IN VARCHAR2
13412 , p_source_22_meaning IN VARCHAR2
13413 --Purchase Order Rate Variance Loss Account
13414 , p_source_23 IN NUMBER
13415 --Invoice Distribution Account
13416 , p_source_30 IN NUMBER
13417 --Invoice Distribution Type
13418 , p_source_33 IN VARCHAR2
13419 , p_source_33_meaning IN VARCHAR2
13420 --Automatic Offsets Flag
13421 , p_source_47 IN VARCHAR2
13422 , p_source_47_meaning IN VARCHAR2
13423 --Accounting Reversal Indicator
13424 , p_source_52 IN VARCHAR2
13425 --Distribution Link Type
13426 , p_source_54 IN VARCHAR2
13427 --Allocation to Main Distribution Identifier
13428 , p_source_56 IN NUMBER
13429 --Invoice Identifier
13430 , p_source_57 IN NUMBER
13431 --Invoice Distribution Identifier
13432 , p_source_63 IN NUMBER
13433 --Payables Encumbrance Upgrade Credit Account
13434 , p_source_64 IN NUMBER
13435 --Payables Encumbrance Upgrade Credit Amount
13436 , p_source_65 IN NUMBER
13437 --Invoice Currency Code
13438 , p_source_66 IN VARCHAR2
13439 --Payables Encumbrance Upgrade Credit Base Amount
13440 , p_source_67 IN NUMBER
13441 --Payables Encumbrance Upgrade Debit Account
13442 , p_source_68 IN NUMBER
13443 --Payables Encumbrance Upgrade Debit Amount
13444 , p_source_69 IN NUMBER
13445 --Payables Encumbrance Upgrade Debit Base Amount
13446 , p_source_70 IN NUMBER
13447 --Payables Encumbrance Upgrade Option
13448 , p_source_71 IN VARCHAR2
13449 --Deferred Accounting End Date
13450 , p_source_76 IN DATE
13451 --Deferred Accounting Option
13452 , p_source_77 IN VARCHAR2
13453 --Deferred Accounting Start Date
13454 , p_source_78 IN DATE
13455 --Override Accounted Amount Indicator
13456 , p_source_79 IN VARCHAR2
13457 , p_source_79_meaning IN VARCHAR2
13458 --Invoice Supplier Identifier
13459 , p_source_80 IN NUMBER
13460 --Invoice Supplier Site Identifier
13461 , p_source_81 IN NUMBER
13462 --Third Party Type
13463 , p_source_82 IN VARCHAR2
13464 --Parent Reversal Identifier
13465 , p_source_83 IN NUMBER
13466 --Invoice Distribution Statistical Amount
13467 , p_source_84 IN NUMBER
13468 --Invoice Distribution Tax Line Identifier
13469 , p_source_85 IN NUMBER
13470 --Invoice Distribution Tax Distribution Identifier from Tax
13471 , p_source_86 IN NUMBER
13472 --Invoice Distribution Summary Tax Line Identifier
13473 , p_source_87 IN NUMBER
13474 --Payables Upgrade Credit Encumbrance Type Identifier
13475 , p_source_88 IN NUMBER
13476 --Payables Upgrade Debit Encumbrance Type Identifier
13477 , p_source_89 IN NUMBER
13478 --Business Flow Accounts Payable Application Identifier
13479 , p_source_90 IN NUMBER
13480 --Business Flow Invoice Distribution Type
13481 , p_source_91 IN VARCHAR2
13482 --Business Flow Invoice Entity Code
13483 , p_source_92 IN VARCHAR2
13484 --Business Flow Invoice Distribution Identifier
13485 , p_source_93 IN NUMBER
13486 --Business Flow Invoice Identifier
13487 , p_source_94 IN NUMBER
13488 --Accrue on Receipt Option
13489 , p_source_95 IN VARCHAR2
13490 , p_source_95_meaning IN VARCHAR2
13491 )
13492 IS
13493
13494 l_component_type VARCHAR2(80);
13495 l_component_code VARCHAR2(30);
13496 l_component_type_code VARCHAR2(1);
13497 l_component_appl_id INTEGER;
13498 l_amb_context_code VARCHAR2(30);
13499 l_entity_code VARCHAR2(30);
13500 l_event_class_code VARCHAR2(30);
13501 l_ae_header_id NUMBER;
13502 l_event_type_code VARCHAR2(30);
13503 l_line_definition_code VARCHAR2(30);
13504 l_line_definition_owner_code VARCHAR2(1);
13505 --
13506 -- adr variables
13507 l_segment VARCHAR2(30);
13508 l_ccid NUMBER;
13509 l_adr_transaction_coa_id NUMBER;
13510 l_adr_accounting_coa_id NUMBER;
13511 l_adr_flexfield_segment_code VARCHAR2(30);
13512 l_adr_flex_value_set_id NUMBER;
13513 l_adr_value_type_code VARCHAR2(30);
13514 l_adr_value_combination_id NUMBER;
13515 l_adr_value_segment_code VARCHAR2(30);
13516
13517 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13521
13518 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13519 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13520 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13522 -- 4262811 Variables ------------------------------------------------------------------------------------------
13523 l_entered_amt_idx NUMBER;
13524 l_accted_amt_idx NUMBER;
13525 l_acc_rev_flag VARCHAR2(1);
13526 l_accrual_line_num NUMBER;
13527 l_tmp_amt NUMBER;
13528 l_acc_rev_natural_side_code VARCHAR2(1);
13529
13530 l_num_entries NUMBER;
13531 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13532 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13533 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13534 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13535 l_recog_line_1 NUMBER;
13536 l_recog_line_2 NUMBER;
13537
13538 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13539 l_bflow_applied_to_amt NUMBER; -- 5132302
13540 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13541
13542 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
13543
13544 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
13545 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
13546
13547 ---------------------------------------------------------------------------------------------------------------
13548
13549
13550 --
13551 -- bulk performance
13552 --
13553 l_balance_type_code VARCHAR2(1);
13554 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13555 l_log_module VARCHAR2(240);
13556
13557 --
13558 -- Upgrade strategy
13559 --
13560 l_actual_upg_option VARCHAR2(1);
13561 l_enc_upg_option VARCHAR2(1);
13562
13563 --
13564 BEGIN
13565 --
13566 IF g_log_enabled THEN
13567 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_54';
13568 END IF;
13569 --
13570 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13571
13572 trace
13573 (p_msg => 'BEGIN of AcctLineType_54'
13574 ,p_level => C_LEVEL_PROCEDURE
13575 ,p_module => l_log_module);
13576
13577 END IF;
13578 --
13579 l_component_type := 'AMB_JLT';
13580 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_CM';
13581 l_component_type_code := 'S';
13582 l_component_appl_id := 200;
13583 l_amb_context_code := 'DEFAULT';
13584 l_entity_code := 'AP_INVOICES';
13585 l_event_class_code := 'CREDIT MEMOS';
13586 l_event_type_code := 'CREDIT MEMOS_ALL';
13587 l_line_definition_owner_code := 'S';
13588 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
13589 --
13590 l_balance_type_code := 'A';
13591 l_segment := NULL;
13592 l_ccid := NULL;
13593 l_adr_transaction_coa_id := NULL;
13594 l_adr_accounting_coa_id := NULL;
13595 l_adr_flexfield_segment_code := NULL;
13596 l_adr_flex_value_set_id := NULL;
13597 l_adr_value_type_code := NULL;
13598 l_adr_value_combination_id := NULL;
13599 l_adr_value_segment_code := NULL;
13600
13601 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
13602 l_bflow_class_code := ''; -- 4219869 Business Flow
13603 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
13604 l_budgetary_control_flag := 'N';
13605
13606 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13607 l_bflow_applied_to_amt := NULL; -- 5132302
13608 l_entered_amt_idx := NULL; -- 4262811
13609 l_accted_amt_idx := NULL; -- 4262811
13610 l_acc_rev_flag := NULL; -- 4262811
13611 l_accrual_line_num := NULL; -- 4262811
13612 l_tmp_amt := NULL; -- 4262811
13613 --
13614 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
13615 (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
13616 return;
13617 END IF;
13618
13619 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
13620 l_balance_type_code <> 'B' THEN
13621 IF NVL(p_source_33,'
13622 ') = 'NONREC_TAX' AND
13623 NVL(p_source_95,'
13624 ') = 'Y'
13625 THEN
13626
13627 --
13628 XLA_AE_LINES_PKG.SetNewLine;
13629
13630 p_balance_type_code := l_balance_type_code;
13631 -- set the flag so later we will know whether the gain loss line needs to be created
13632
13633 IF(l_balance_type_code = 'A' ) THEN
13634 p_actual_flag :='G';
13635 END IF;
13636
13637 --
13638 -- bulk performance
13639 --
13640 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13641 p_header_num => 0); -- 4262811
13642 --
13643 -- set accounting line options
13644 --
13645 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13649 , p_acct_entry_type_code => 'A'
13646 p_natural_side_code => 'G'
13647 , p_gain_or_loss_flag => 'N'
13648 , p_gl_transfer_mode_code => 'S'
13650 , p_switch_side_flag => ''
13651 , p_merge_duplicate_code => 'A'
13652 );
13653 --
13654 l_acc_rev_natural_side_code := 'C'; -- 4262811
13655 --
13656 --
13657 -- set accounting line type info
13658 --
13659 xla_ae_lines_pkg.SetAcctLineType
13660 (p_component_type => l_component_type
13661 ,p_event_type_code => l_event_type_code
13662 ,p_line_definition_owner_code => l_line_definition_owner_code
13663 ,p_line_definition_code => l_line_definition_code
13664 ,p_accounting_line_code => l_component_code
13665 ,p_accounting_line_type_code => l_component_type_code
13666 ,p_accounting_line_appl_id => l_component_appl_id
13667 ,p_amb_context_code => l_amb_context_code
13668 ,p_entity_code => l_entity_code
13669 ,p_event_class_code => l_event_class_code);
13670 --
13671 -- set accounting class
13672 --
13673 xla_ae_lines_pkg.SetAcctClass(
13674 p_accounting_class_code => 'TERV'
13675 , p_ae_header_id => l_ae_header_id
13676 );
13677
13678 --
13679 -- set rounding class
13680 --
13681 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13682 'TERV';
13683
13684 --
13685 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13686 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13687 --
13688 -- bulk performance
13689 --
13690 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13691
13692 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13693 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13694
13695 -- 4955764
13696 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13697 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13698
13699 -- 4458381 Public Sector Enh
13700
13701 --
13702 -- set accounting attributes for the line type
13703 --
13704 l_entered_amt_idx := NULL;
13705 l_accted_amt_idx := 23;
13706 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13707 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
13708 l_rec_acct_attrs.array_char_value(1) := p_source_52;
13709 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
13710 l_rec_acct_attrs.array_num_value(2) :=
13711 xla_ae_sources_pkg.GetSystemSourceNum(
13712 p_source_code => 'XLA_EVENT_APPL_ID'
13713 , p_source_type_code => 'Y'
13714 , p_source_application_id => 602
13715 );
13716 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
13717 l_rec_acct_attrs.array_char_value(3) := p_source_54;
13718 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
13719 l_rec_acct_attrs.array_char_value(4) :=
13720 xla_ae_sources_pkg.GetSystemSourceChar(
13721 p_source_code => 'XLA_ENTITY_CODE'
13722 , p_source_type_code => 'Y'
13723 , p_source_application_id => 602
13724 );
13725 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
13726 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
13727 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
13728 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
13729 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
13730 l_rec_acct_attrs.array_num_value(7) := p_source_90;
13731 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
13732 l_rec_acct_attrs.array_char_value(8) := p_source_91;
13733 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
13734 l_rec_acct_attrs.array_char_value(9) := p_source_92;
13735 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
13736 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
13737 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
13738 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
13739 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
13740 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
13741 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
13742 l_rec_acct_attrs.array_char_value(13) := p_source_54;
13743 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
13744 l_rec_acct_attrs.array_num_value(14) := p_source_64;
13745 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
13746 l_rec_acct_attrs.array_num_value(15) := p_source_65;
13747 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
13748 l_rec_acct_attrs.array_char_value(16) := p_source_66;
13749 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
13750 l_rec_acct_attrs.array_num_value(17) := p_source_67;
13751 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
13752 l_rec_acct_attrs.array_num_value(18) := p_source_68;
13756 l_rec_acct_attrs.array_char_value(20) := p_source_66;
13753 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
13754 l_rec_acct_attrs.array_num_value(19) := p_source_69;
13755 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
13757 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
13758 l_rec_acct_attrs.array_num_value(21) := p_source_70;
13759 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
13760 l_rec_acct_attrs.array_char_value(22) := p_source_71;
13761 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
13762 l_rec_acct_attrs.array_num_value(23) := p_source_21;
13763 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
13764 l_rec_acct_attrs.array_date_value(24) := p_source_76;
13765 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
13766 l_rec_acct_attrs.array_char_value(25) := p_source_77;
13767 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
13768 l_rec_acct_attrs.array_date_value(26) := p_source_78;
13769 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
13770 l_rec_acct_attrs.array_char_value(27) := p_source_79;
13771 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
13772 l_rec_acct_attrs.array_num_value(28) := p_source_80;
13773 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
13774 l_rec_acct_attrs.array_num_value(29) := p_source_81;
13775 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
13776 l_rec_acct_attrs.array_char_value(30) := p_source_82;
13777 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
13778 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
13779 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
13780 l_rec_acct_attrs.array_char_value(32) := p_source_54;
13781 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
13782 l_rec_acct_attrs.array_num_value(33) := p_source_84;
13783 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
13784 l_rec_acct_attrs.array_num_value(34) := p_source_85;
13785 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
13786 l_rec_acct_attrs.array_num_value(35) := p_source_86;
13787 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
13788 l_rec_acct_attrs.array_num_value(36) := p_source_87;
13789 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
13790 l_rec_acct_attrs.array_num_value(37) := p_source_88;
13791 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
13792 l_rec_acct_attrs.array_num_value(38) := p_source_89;
13793
13794 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13795 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13796
13797 ---------------------------------------------------------------------------------------------------------------
13798 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13799 ---------------------------------------------------------------------------------------------------------------
13800 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13801
13802 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13803 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13804
13805 IF xla_accounting_cache_pkg.GetValueChar
13806 (p_source_code => 'LEDGER_CATEGORY_CODE'
13807 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13808 AND l_bflow_method_code = 'PRIOR_ENTRY'
13809 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
13810 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13811 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13812 )
13813 THEN
13814 xla_ae_lines_pkg.BflowUpgEntry
13815 (p_business_method_code => l_bflow_method_code
13816 ,p_business_class_code => l_bflow_class_code
13817 ,p_balance_type => l_balance_type_code);
13818 ELSE
13819 NULL;
13820 -- No business flow processing for business flow method of NONE.
13821 END IF;
13822
13823 --
13824 -- call analytical criteria
13825 --
13826
13827 --
13828 -- call description
13829 --
13830
13831 xla_ae_lines_pkg.SetLineDescription(
13832 p_ae_header_id => l_ae_header_id
13833 ,p_description => Description_1 (
13834 p_application_id => p_application_id
13835 , p_ae_header_id => l_ae_header_id
13836 , p_source_1 => p_source_1
13837 )
13838 );
13839
13840
13841 --
13842 -- call ADRs
13843 -- Bug 4922099
13844 --
13845 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13846 (NVL(l_actual_upg_option, 'N') = 'O') OR
13847 (NVL(l_enc_upg_option, 'N') = 'O')
13848 )
13849 THEN
13850 NULL;
13851 --
13852 --
13853
13854 l_ccid := AcctDerRule_30(
13855 p_application_id => p_application_id
13856 , p_ae_header_id => l_ae_header_id
13857 , p_source_15 => p_source_15
13858 , p_source_15_meaning => p_source_15_meaning
13859 , p_source_20 => p_source_20
13860 , p_source_21 => p_source_21
13861 , p_source_22 => p_source_22
13865 , p_source_47 => p_source_47
13862 , p_source_22_meaning => p_source_22_meaning
13863 , p_source_23 => p_source_23
13864 , p_source_30 => p_source_30
13866 , p_source_47_meaning => p_source_47_meaning
13867 , x_transaction_coa_id => l_adr_transaction_coa_id
13868 , x_accounting_coa_id => l_adr_accounting_coa_id
13869 , x_value_type_code => l_adr_value_type_code
13870 , p_side => 'ALL'
13871 );
13872
13873 xla_ae_lines_pkg.set_ccid(
13874 p_code_combination_id => l_ccid
13875 , p_value_type_code => l_adr_value_type_code
13876 , p_transaction_coa_id => l_adr_transaction_coa_id
13877 , p_accounting_coa_id => l_adr_accounting_coa_id
13878 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13879 , p_adr_type_code => 'S'
13880 , p_component_type => l_component_type
13881 , p_component_code => l_component_code
13882 , p_component_type_code => l_component_type_code
13883 , p_component_appl_id => l_component_appl_id
13884 , p_amb_context_code => l_amb_context_code
13885 , p_side => 'ALL'
13886 );
13887
13888
13889 l_segment := AcctDerRule_9(
13890 p_application_id => p_application_id
13891 , p_ae_header_id => l_ae_header_id
13892 , p_source_15 => p_source_15
13893 , p_source_15_meaning => p_source_15_meaning
13894 , p_source_20 => p_source_20
13895 , p_source_22 => p_source_22
13896 , p_source_22_meaning => p_source_22_meaning
13897 , x_transaction_coa_id => l_adr_transaction_coa_id
13898 , x_accounting_coa_id => l_adr_accounting_coa_id
13899 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13900 , x_flex_value_set_id => l_adr_flex_value_set_id
13901 , x_value_type_code => l_adr_value_type_code
13902 , x_value_combination_id => l_adr_value_combination_id
13903 , x_value_segment_code => l_adr_value_segment_code
13904 , p_side => 'DEBIT'
13905 , p_override_seg_flag => 'Y'
13906 );
13907
13908 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13909
13910 xla_ae_lines_pkg.set_segment(
13911 p_to_segment_code => 'GL_ACCOUNT'
13912 , p_segment_value => l_segment
13913 , p_from_segment_code => l_adr_value_segment_code
13914 , p_from_combination_id => l_adr_value_combination_id
13915 , p_value_type_code => l_adr_value_type_code
13916 , p_transaction_coa_id => l_adr_transaction_coa_id
13917 , p_accounting_coa_id => l_adr_accounting_coa_id
13918 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13919 , p_flex_value_set_id => l_adr_flex_value_set_id
13920 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13921 , p_adr_type_code => 'S'
13922 , p_component_type => l_component_type
13923 , p_component_code => l_component_code
13924 , p_component_type_code => l_component_type_code
13925 , p_component_appl_id => l_component_appl_id
13926 , p_amb_context_code => l_amb_context_code
13927 , p_entity_code => 'AP_INVOICES'
13928 , p_event_class_code => 'CREDIT MEMOS'
13929 , p_side => 'DEBIT'
13930 );
13931
13932 END IF;
13933
13934 l_segment := AcctDerRule_10(
13935 p_application_id => p_application_id
13936 , p_ae_header_id => l_ae_header_id
13937 , p_source_15 => p_source_15
13938 , p_source_15_meaning => p_source_15_meaning
13939 , p_source_22 => p_source_22
13940 , p_source_22_meaning => p_source_22_meaning
13941 , p_source_23 => p_source_23
13942 , x_transaction_coa_id => l_adr_transaction_coa_id
13943 , x_accounting_coa_id => l_adr_accounting_coa_id
13944 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13945 , x_flex_value_set_id => l_adr_flex_value_set_id
13946 , x_value_type_code => l_adr_value_type_code
13947 , x_value_combination_id => l_adr_value_combination_id
13948 , x_value_segment_code => l_adr_value_segment_code
13949 , p_side => 'CREDIT'
13950 , p_override_seg_flag => 'Y'
13951 );
13952
13953 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13954
13955 xla_ae_lines_pkg.set_segment(
13956 p_to_segment_code => 'GL_ACCOUNT'
13957 , p_segment_value => l_segment
13958 , p_from_segment_code => l_adr_value_segment_code
13959 , p_from_combination_id => l_adr_value_combination_id
13960 , p_value_type_code => l_adr_value_type_code
13961 , p_transaction_coa_id => l_adr_transaction_coa_id
13962 , p_accounting_coa_id => l_adr_accounting_coa_id
13963 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13964 , p_flex_value_set_id => l_adr_flex_value_set_id
13965 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13966 , p_adr_type_code => 'S'
13967 , p_component_type => l_component_type
13968 , p_component_code => l_component_code
13972 , p_entity_code => 'AP_INVOICES'
13969 , p_component_type_code => l_component_type_code
13970 , p_component_appl_id => l_component_appl_id
13971 , p_amb_context_code => l_amb_context_code
13973 , p_event_class_code => 'CREDIT MEMOS'
13974 , p_side => 'CREDIT'
13975 );
13976
13977 END IF;
13978
13979 l_segment := AcctDerRule_23(
13980 p_application_id => p_application_id
13981 , p_ae_header_id => l_ae_header_id
13982 , p_source_15 => p_source_15
13983 , p_source_15_meaning => p_source_15_meaning
13984 , p_source_22 => p_source_22
13985 , p_source_22_meaning => p_source_22_meaning
13986 , p_source_30 => p_source_30
13987 , x_transaction_coa_id => l_adr_transaction_coa_id
13988 , x_accounting_coa_id => l_adr_accounting_coa_id
13989 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13990 , x_flex_value_set_id => l_adr_flex_value_set_id
13991 , x_value_type_code => l_adr_value_type_code
13992 , x_value_combination_id => l_adr_value_combination_id
13993 , x_value_segment_code => l_adr_value_segment_code
13994 , p_side => 'ALL'
13995 , p_override_seg_flag => 'Y'
13996 );
13997
13998 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13999
14000 xla_ae_lines_pkg.set_segment(
14001 p_to_segment_code => 'GL_BALANCING'
14002 , p_segment_value => l_segment
14003 , p_from_segment_code => l_adr_value_segment_code
14004 , p_from_combination_id => l_adr_value_combination_id
14005 , p_value_type_code => l_adr_value_type_code
14006 , p_transaction_coa_id => l_adr_transaction_coa_id
14007 , p_accounting_coa_id => l_adr_accounting_coa_id
14008 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14009 , p_flex_value_set_id => l_adr_flex_value_set_id
14010 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14011 , p_adr_type_code => 'S'
14012 , p_component_type => l_component_type
14013 , p_component_code => l_component_code
14014 , p_component_type_code => l_component_type_code
14015 , p_component_appl_id => l_component_appl_id
14016 , p_amb_context_code => l_amb_context_code
14017 , p_entity_code => 'AP_INVOICES'
14018 , p_event_class_code => 'CREDIT MEMOS'
14019 , p_side => 'ALL'
14020 );
14021
14022 END IF;
14023
14024 --
14025 --
14026 END IF;
14027 --
14028 -- Bug 4922099
14029 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
14030 (NVL(l_enc_upg_option, 'N') = 'O')
14031 ) AND
14032 (l_bflow_method_code = 'PRIOR_ENTRY')
14033 )
14034 THEN
14035 IF
14036 --
14037 1 = 2
14038 --
14039 THEN
14040 xla_accounting_err_pkg.build_message
14041 (p_appli_s_name => 'XLA'
14042 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14043 ,p_token_1 => 'LINE_NUMBER'
14044 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14045 ,p_token_2 => 'LINE_TYPE_NAME'
14046 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14047 l_component_type
14048 ,l_component_code
14049 ,l_component_type_code
14050 ,l_component_appl_id
14051 ,l_amb_context_code
14052 ,l_entity_code
14053 ,l_event_class_code
14054 )
14055 ,p_token_3 => 'OWNER'
14056 ,p_value_3 => xla_lookups_pkg.get_meaning(
14057 p_lookup_type => 'XLA_OWNER_TYPE'
14058 ,p_lookup_code => l_component_type_code
14059 )
14060 ,p_token_4 => 'PRODUCT_NAME'
14061 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
14062 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
14063 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
14064 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
14068 IF (C_LEVEL_ERROR>= g_log_level) THEN
14065 ,p_ae_header_id => NULL
14066 );
14067
14069 trace
14070 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14071 ,p_level => C_LEVEL_ERROR
14072 ,p_module => l_log_module);
14073 END IF;
14074 END IF;
14075 END IF;
14076 --
14077 --
14078 ------------------------------------------------------------------------------------------------
14079 -- 4219869 Business Flow
14080 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14081 -- Prior Entry. Currently, the following code is always generated.
14082 ------------------------------------------------------------------------------------------------
14083 XLA_AE_LINES_PKG.ValidateCurrentLine;
14084
14085 ------------------------------------------------------------------------------------
14086 -- 4219869 Business Flow
14087 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
14088 ------------------------------------------------------------------------------------
14089 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14090
14091 ----------------------------------------------------------------------------------
14092 -- 4219869 Business Flow
14093 -- Update journal entry status -- Need to generate this within IF <condition>
14094 ----------------------------------------------------------------------------------
14095 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14096 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
14097 ,p_balance_type_code => l_balance_type_code
14098 );
14099
14100 -------------------------------------------------------------------------------------------
14101 -- 4262811 - Generate the Accrual Reversal lines
14102 -------------------------------------------------------------------------------------------
14103 BEGIN
14104 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
14105 (g_array_event(p_event_id).array_value_num('header_index'));
14106 IF l_acc_rev_flag IS NULL THEN
14107 l_acc_rev_flag := 'N';
14108 END IF;
14109 EXCEPTION
14110 WHEN OTHERS THEN
14111 l_acc_rev_flag := 'N';
14112 END;
14113 --
14114 IF (l_acc_rev_flag = 'Y') THEN
14115
14116 -- 4645092 ------------------------------------------------------------------------------
14117 -- To allow MPA report to determine if it should generate report process
14118 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14119 ------------------------------------------------------------------------------------------
14120
14121 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14122 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14123 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14124 -- call ADRs
14125 -- Bug 4922099
14126 --
14127 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14128 (NVL(l_actual_upg_option, 'N') = 'O') OR
14129 (NVL(l_enc_upg_option, 'N') = 'O')
14130 )
14131 THEN
14132 NULL;
14133 --
14134 --
14135
14136 l_ccid := AcctDerRule_30(
14137 p_application_id => p_application_id
14138 , p_ae_header_id => l_ae_header_id
14139 , p_source_15 => p_source_15
14140 , p_source_15_meaning => p_source_15_meaning
14141 , p_source_20 => p_source_20
14142 , p_source_21 => p_source_21
14143 , p_source_22 => p_source_22
14144 , p_source_22_meaning => p_source_22_meaning
14145 , p_source_23 => p_source_23
14146 , p_source_30 => p_source_30
14147 , p_source_47 => p_source_47
14148 , p_source_47_meaning => p_source_47_meaning
14149 , x_transaction_coa_id => l_adr_transaction_coa_id
14150 , x_accounting_coa_id => l_adr_accounting_coa_id
14151 , x_value_type_code => l_adr_value_type_code
14152 , p_side => 'ALL'
14153 );
14154
14155 xla_ae_lines_pkg.set_ccid(
14156 p_code_combination_id => l_ccid
14157 , p_value_type_code => l_adr_value_type_code
14158 , p_transaction_coa_id => l_adr_transaction_coa_id
14159 , p_accounting_coa_id => l_adr_accounting_coa_id
14160 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14161 , p_adr_type_code => 'S'
14162 , p_component_type => l_component_type
14163 , p_component_code => l_component_code
14164 , p_component_type_code => l_component_type_code
14165 , p_component_appl_id => l_component_appl_id
14166 , p_amb_context_code => l_amb_context_code
14167 , p_side => 'ALL'
14168 );
14169
14170
14171 l_segment := AcctDerRule_9(
14172 p_application_id => p_application_id
14173 , p_ae_header_id => l_ae_header_id
14174 , p_source_15 => p_source_15
14175 , p_source_15_meaning => p_source_15_meaning
14176 , p_source_20 => p_source_20
14177 , p_source_22 => p_source_22
14178 , p_source_22_meaning => p_source_22_meaning
14182 , x_flex_value_set_id => l_adr_flex_value_set_id
14179 , x_transaction_coa_id => l_adr_transaction_coa_id
14180 , x_accounting_coa_id => l_adr_accounting_coa_id
14181 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14183 , x_value_type_code => l_adr_value_type_code
14184 , x_value_combination_id => l_adr_value_combination_id
14185 , x_value_segment_code => l_adr_value_segment_code
14186 , p_side => 'DEBIT'
14187 , p_override_seg_flag => 'Y'
14188 );
14189
14190 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14191
14192 xla_ae_lines_pkg.set_segment(
14193 p_to_segment_code => 'GL_ACCOUNT'
14194 , p_segment_value => l_segment
14195 , p_from_segment_code => l_adr_value_segment_code
14196 , p_from_combination_id => l_adr_value_combination_id
14197 , p_value_type_code => l_adr_value_type_code
14198 , p_transaction_coa_id => l_adr_transaction_coa_id
14199 , p_accounting_coa_id => l_adr_accounting_coa_id
14200 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14201 , p_flex_value_set_id => l_adr_flex_value_set_id
14202 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14203 , p_adr_type_code => 'S'
14204 , p_component_type => l_component_type
14205 , p_component_code => l_component_code
14206 , p_component_type_code => l_component_type_code
14207 , p_component_appl_id => l_component_appl_id
14208 , p_amb_context_code => l_amb_context_code
14209 , p_entity_code => 'AP_INVOICES'
14210 , p_event_class_code => 'CREDIT MEMOS'
14211 , p_side => 'DEBIT'
14212 );
14213
14214 END IF;
14215
14216 l_segment := AcctDerRule_10(
14217 p_application_id => p_application_id
14218 , p_ae_header_id => l_ae_header_id
14219 , p_source_15 => p_source_15
14220 , p_source_15_meaning => p_source_15_meaning
14221 , p_source_22 => p_source_22
14222 , p_source_22_meaning => p_source_22_meaning
14223 , p_source_23 => p_source_23
14224 , x_transaction_coa_id => l_adr_transaction_coa_id
14225 , x_accounting_coa_id => l_adr_accounting_coa_id
14226 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14227 , x_flex_value_set_id => l_adr_flex_value_set_id
14228 , x_value_type_code => l_adr_value_type_code
14229 , x_value_combination_id => l_adr_value_combination_id
14230 , x_value_segment_code => l_adr_value_segment_code
14231 , p_side => 'CREDIT'
14232 , p_override_seg_flag => 'Y'
14233 );
14234
14235 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14236
14237 xla_ae_lines_pkg.set_segment(
14238 p_to_segment_code => 'GL_ACCOUNT'
14239 , p_segment_value => l_segment
14240 , p_from_segment_code => l_adr_value_segment_code
14241 , p_from_combination_id => l_adr_value_combination_id
14242 , p_value_type_code => l_adr_value_type_code
14243 , p_transaction_coa_id => l_adr_transaction_coa_id
14244 , p_accounting_coa_id => l_adr_accounting_coa_id
14245 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14246 , p_flex_value_set_id => l_adr_flex_value_set_id
14247 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14248 , p_adr_type_code => 'S'
14249 , p_component_type => l_component_type
14250 , p_component_code => l_component_code
14251 , p_component_type_code => l_component_type_code
14252 , p_component_appl_id => l_component_appl_id
14253 , p_amb_context_code => l_amb_context_code
14254 , p_entity_code => 'AP_INVOICES'
14255 , p_event_class_code => 'CREDIT MEMOS'
14256 , p_side => 'CREDIT'
14257 );
14258
14259 END IF;
14260
14261 l_segment := AcctDerRule_23(
14262 p_application_id => p_application_id
14263 , p_ae_header_id => l_ae_header_id
14264 , p_source_15 => p_source_15
14265 , p_source_15_meaning => p_source_15_meaning
14266 , p_source_22 => p_source_22
14267 , p_source_22_meaning => p_source_22_meaning
14268 , p_source_30 => p_source_30
14269 , x_transaction_coa_id => l_adr_transaction_coa_id
14270 , x_accounting_coa_id => l_adr_accounting_coa_id
14271 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14272 , x_flex_value_set_id => l_adr_flex_value_set_id
14273 , x_value_type_code => l_adr_value_type_code
14274 , x_value_combination_id => l_adr_value_combination_id
14275 , x_value_segment_code => l_adr_value_segment_code
14276 , p_side => 'ALL'
14277 , p_override_seg_flag => 'Y'
14278 );
14279
14280 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14281
14282 xla_ae_lines_pkg.set_segment(
14283 p_to_segment_code => 'GL_BALANCING'
14284 , p_segment_value => l_segment
14288 , p_transaction_coa_id => l_adr_transaction_coa_id
14285 , p_from_segment_code => l_adr_value_segment_code
14286 , p_from_combination_id => l_adr_value_combination_id
14287 , p_value_type_code => l_adr_value_type_code
14289 , p_accounting_coa_id => l_adr_accounting_coa_id
14290 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14291 , p_flex_value_set_id => l_adr_flex_value_set_id
14292 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14293 , p_adr_type_code => 'S'
14294 , p_component_type => l_component_type
14295 , p_component_code => l_component_code
14296 , p_component_type_code => l_component_type_code
14297 , p_component_appl_id => l_component_appl_id
14298 , p_amb_context_code => l_amb_context_code
14299 , p_entity_code => 'AP_INVOICES'
14300 , p_event_class_code => 'CREDIT MEMOS'
14301 , p_side => 'ALL'
14302 );
14303
14304 END IF;
14305
14306 --
14307 --
14308 END IF;
14309
14310 --
14311 -- Update the line information that should be overwritten
14312 --
14313 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14314 p_header_num => 1);
14315 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14316
14317 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14318
14319 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14320 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14321 END IF;
14322
14323 --
14324 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14325 --
14326 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14327 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14328 ELSE
14329 ---------------------------------------------------------------------------------------------------
14330 -- 4262811a Switch Sign
14331 ---------------------------------------------------------------------------------------------------
14332 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14333 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14334 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14335 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14336 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14337 -- 5132302
14338 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14339 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14340
14341 END IF;
14342
14343 -- 4955764
14344 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14345 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14346
14347
14348 XLA_AE_LINES_PKG.ValidateCurrentLine;
14349 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14350
14351 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14352 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14353 ,p_balance_type_code => l_balance_type_code);
14354
14355 END IF;
14356
14357 -----------------------------------------------------------------------------------------
14358 -- 4262811 Multiperiod Accounting
14359 -----------------------------------------------------------------------------------------
14360 -- No MPA option is assigned.
14361
14362
14363 END IF;
14364 END IF;
14365 --
14366
14367 --
14368 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14369 trace
14370 (p_msg => 'END of AcctLineType_54'
14371 ,p_level => C_LEVEL_PROCEDURE
14372 ,p_module => l_log_module);
14373 END IF;
14374 --
14375 EXCEPTION
14376 WHEN xla_exceptions_pkg.application_exception THEN
14377 RAISE;
14378 WHEN OTHERS THEN
14379 xla_exceptions_pkg.raise_message
14380 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_54');
14381 END AcctLineType_54;
14382 --
14383
14384 ---------------------------------------
14385 --
14386 -- PRIVATE FUNCTION
14387 -- AcctLineType_55
14388 --
14389 ---------------------------------------
14390 PROCEDURE AcctLineType_55 (
14391 p_application_id IN NUMBER
14392 ,p_event_id IN NUMBER
14393 ,p_calculate_acctd_flag IN VARCHAR2
14394 ,p_calculate_g_l_flag IN VARCHAR2
14395 ,p_actual_flag IN OUT VARCHAR2
14396 ,p_balance_type_code OUT VARCHAR2
14397 ,p_gain_or_loss_ref OUT VARCHAR2
14398
14399 --Invoice Distribution Description
14400 , p_source_1 IN VARCHAR2
14401 --Automatic Offsets Value
14402 , p_source_15 IN VARCHAR2
14406 --Invoice Distribution Ledger Amount
14403 , p_source_15_meaning IN VARCHAR2
14404 --Purchase Order Rate Variance Gain Account
14405 , p_source_20 IN NUMBER
14407 , p_source_21 IN NUMBER
14408 --Destination Type of the PO Distribution
14409 , p_source_22 IN VARCHAR2
14410 , p_source_22_meaning IN VARCHAR2
14411 --Purchase Order Rate Variance Loss Account
14412 , p_source_23 IN NUMBER
14413 --Invoice Distribution Account
14414 , p_source_30 IN NUMBER
14415 --Invoice Distribution Type
14416 , p_source_33 IN VARCHAR2
14417 , p_source_33_meaning IN VARCHAR2
14418 --Automatic Offsets Flag
14419 , p_source_47 IN VARCHAR2
14420 , p_source_47_meaning IN VARCHAR2
14421 --Accounting Reversal Indicator
14422 , p_source_52 IN VARCHAR2
14423 --Distribution Link Type
14424 , p_source_54 IN VARCHAR2
14425 --Allocation to Main Distribution Identifier
14426 , p_source_56 IN NUMBER
14427 --Invoice Identifier
14428 , p_source_57 IN NUMBER
14429 --Invoice Distribution Identifier
14430 , p_source_63 IN NUMBER
14431 --Payables Encumbrance Upgrade Credit Account
14432 , p_source_64 IN NUMBER
14433 --Payables Encumbrance Upgrade Credit Amount
14434 , p_source_65 IN NUMBER
14435 --Invoice Currency Code
14436 , p_source_66 IN VARCHAR2
14437 --Payables Encumbrance Upgrade Credit Base Amount
14438 , p_source_67 IN NUMBER
14439 --Payables Encumbrance Upgrade Debit Account
14440 , p_source_68 IN NUMBER
14441 --Payables Encumbrance Upgrade Debit Amount
14442 , p_source_69 IN NUMBER
14443 --Payables Encumbrance Upgrade Debit Base Amount
14444 , p_source_70 IN NUMBER
14445 --Payables Encumbrance Upgrade Option
14446 , p_source_71 IN VARCHAR2
14447 --Deferred Accounting End Date
14448 , p_source_76 IN DATE
14449 --Deferred Accounting Option
14450 , p_source_77 IN VARCHAR2
14451 --Deferred Accounting Start Date
14452 , p_source_78 IN DATE
14453 --Override Accounted Amount Indicator
14454 , p_source_79 IN VARCHAR2
14455 , p_source_79_meaning IN VARCHAR2
14456 --Invoice Supplier Identifier
14457 , p_source_80 IN NUMBER
14458 --Invoice Supplier Site Identifier
14459 , p_source_81 IN NUMBER
14460 --Third Party Type
14461 , p_source_82 IN VARCHAR2
14462 --Parent Reversal Identifier
14463 , p_source_83 IN NUMBER
14464 --Invoice Distribution Tax Line Identifier
14465 , p_source_85 IN NUMBER
14466 --Invoice Distribution Tax Distribution Identifier from Tax
14467 , p_source_86 IN NUMBER
14468 --Invoice Distribution Summary Tax Line Identifier
14469 , p_source_87 IN NUMBER
14470 --Payables Upgrade Credit Encumbrance Type Identifier
14471 , p_source_88 IN NUMBER
14472 --Payables Upgrade Debit Encumbrance Type Identifier
14473 , p_source_89 IN NUMBER
14474 --Business Flow Accounts Payable Application Identifier
14475 , p_source_90 IN NUMBER
14476 --Business Flow Invoice Distribution Type
14477 , p_source_91 IN VARCHAR2
14478 --Business Flow Invoice Entity Code
14479 , p_source_92 IN VARCHAR2
14480 --Business Flow Invoice Distribution Identifier
14481 , p_source_93 IN NUMBER
14482 --Business Flow Invoice Identifier
14483 , p_source_94 IN NUMBER
14484 --Accrue on Receipt Option
14485 , p_source_95 IN VARCHAR2
14486 , p_source_95_meaning IN VARCHAR2
14487 )
14488 IS
14489
14490 l_component_type VARCHAR2(80);
14491 l_component_code VARCHAR2(30);
14492 l_component_type_code VARCHAR2(1);
14493 l_component_appl_id INTEGER;
14494 l_amb_context_code VARCHAR2(30);
14495 l_entity_code VARCHAR2(30);
14496 l_event_class_code VARCHAR2(30);
14497 l_ae_header_id NUMBER;
14498 l_event_type_code VARCHAR2(30);
14499 l_line_definition_code VARCHAR2(30);
14500 l_line_definition_owner_code VARCHAR2(1);
14501 --
14502 -- adr variables
14503 l_segment VARCHAR2(30);
14504 l_ccid NUMBER;
14505 l_adr_transaction_coa_id NUMBER;
14506 l_adr_accounting_coa_id NUMBER;
14507 l_adr_flexfield_segment_code VARCHAR2(30);
14508 l_adr_flex_value_set_id NUMBER;
14509 l_adr_value_type_code VARCHAR2(30);
14510 l_adr_value_combination_id NUMBER;
14511 l_adr_value_segment_code VARCHAR2(30);
14512
14513 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
14514 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
14515 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
14516 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
14517
14518 -- 4262811 Variables ------------------------------------------------------------------------------------------
14519 l_entered_amt_idx NUMBER;
14520 l_accted_amt_idx NUMBER;
14521 l_acc_rev_flag VARCHAR2(1);
14522 l_accrual_line_num NUMBER;
14523 l_tmp_amt NUMBER;
14524 l_acc_rev_natural_side_code VARCHAR2(1);
14525
14526 l_num_entries NUMBER;
14527 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
14531 l_recog_line_1 NUMBER;
14528 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
14529 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
14530 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
14532 l_recog_line_2 NUMBER;
14533
14534 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
14535 l_bflow_applied_to_amt NUMBER; -- 5132302
14536 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
14537
14538 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14539
14540 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14541 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14542
14543 ---------------------------------------------------------------------------------------------------------------
14544
14545
14546 --
14547 -- bulk performance
14548 --
14549 l_balance_type_code VARCHAR2(1);
14550 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14551 l_log_module VARCHAR2(240);
14552
14553 --
14554 -- Upgrade strategy
14555 --
14556 l_actual_upg_option VARCHAR2(1);
14557 l_enc_upg_option VARCHAR2(1);
14558
14559 --
14560 BEGIN
14561 --
14562 IF g_log_enabled THEN
14563 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_55';
14564 END IF;
14565 --
14566 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14567
14568 trace
14569 (p_msg => 'BEGIN of AcctLineType_55'
14570 ,p_level => C_LEVEL_PROCEDURE
14571 ,p_module => l_log_module);
14572
14573 END IF;
14574 --
14575 l_component_type := 'AMB_JLT';
14576 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_DM';
14577 l_component_type_code := 'S';
14578 l_component_appl_id := 200;
14579 l_amb_context_code := 'DEFAULT';
14580 l_entity_code := 'AP_INVOICES';
14581 l_event_class_code := 'DEBIT MEMOS';
14582 l_event_type_code := 'DEBIT MEMOS_ALL';
14583 l_line_definition_owner_code := 'S';
14584 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
14585 --
14586 l_balance_type_code := 'A';
14587 l_segment := NULL;
14588 l_ccid := NULL;
14589 l_adr_transaction_coa_id := NULL;
14590 l_adr_accounting_coa_id := NULL;
14591 l_adr_flexfield_segment_code := NULL;
14592 l_adr_flex_value_set_id := NULL;
14593 l_adr_value_type_code := NULL;
14594 l_adr_value_combination_id := NULL;
14595 l_adr_value_segment_code := NULL;
14596
14597 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
14598 l_bflow_class_code := ''; -- 4219869 Business Flow
14599 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
14600 l_budgetary_control_flag := 'N';
14601
14602 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14603 l_bflow_applied_to_amt := NULL; -- 5132302
14604 l_entered_amt_idx := NULL; -- 4262811
14605 l_accted_amt_idx := NULL; -- 4262811
14606 l_acc_rev_flag := NULL; -- 4262811
14607 l_accrual_line_num := NULL; -- 4262811
14608 l_tmp_amt := NULL; -- 4262811
14609 --
14610 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
14611 (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
14612 return;
14613 END IF;
14614
14615 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14616 l_balance_type_code <> 'B' THEN
14617 IF NVL(p_source_33,'
14618 ') = 'NONREC_TAX' AND
14619 NVL(p_source_95,'
14620 ') = 'Y'
14621 THEN
14622
14623 --
14624 XLA_AE_LINES_PKG.SetNewLine;
14625
14626 p_balance_type_code := l_balance_type_code;
14627 -- set the flag so later we will know whether the gain loss line needs to be created
14628
14629 IF(l_balance_type_code = 'A' ) THEN
14630 p_actual_flag :='G';
14631 END IF;
14632
14633 --
14634 -- bulk performance
14635 --
14636 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14637 p_header_num => 0); -- 4262811
14638 --
14639 -- set accounting line options
14640 --
14641 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14642 p_natural_side_code => 'G'
14643 , p_gain_or_loss_flag => 'N'
14644 , p_gl_transfer_mode_code => 'S'
14645 , p_acct_entry_type_code => 'A'
14646 , p_switch_side_flag => ''
14647 , p_merge_duplicate_code => 'A'
14648 );
14649 --
14650 l_acc_rev_natural_side_code := 'C'; -- 4262811
14651 --
14652 --
14653 -- set accounting line type info
14654 --
14655 xla_ae_lines_pkg.SetAcctLineType
14656 (p_component_type => l_component_type
14657 ,p_event_type_code => l_event_type_code
14661 ,p_accounting_line_type_code => l_component_type_code
14658 ,p_line_definition_owner_code => l_line_definition_owner_code
14659 ,p_line_definition_code => l_line_definition_code
14660 ,p_accounting_line_code => l_component_code
14662 ,p_accounting_line_appl_id => l_component_appl_id
14663 ,p_amb_context_code => l_amb_context_code
14664 ,p_entity_code => l_entity_code
14665 ,p_event_class_code => l_event_class_code);
14666 --
14667 -- set accounting class
14668 --
14669 xla_ae_lines_pkg.SetAcctClass(
14670 p_accounting_class_code => 'TERV'
14671 , p_ae_header_id => l_ae_header_id
14672 );
14673
14674 --
14675 -- set rounding class
14676 --
14677 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14678 'TERV';
14679
14680 --
14681 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14682 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14683 --
14684 -- bulk performance
14685 --
14686 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14687
14688 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14689 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14690
14691 -- 4955764
14692 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14693 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14694
14695 -- 4458381 Public Sector Enh
14696
14697 --
14698 -- set accounting attributes for the line type
14699 --
14700 l_entered_amt_idx := NULL;
14701 l_accted_amt_idx := 23;
14702 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14703 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14704 l_rec_acct_attrs.array_char_value(1) := p_source_52;
14705 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14706 l_rec_acct_attrs.array_num_value(2) :=
14707 xla_ae_sources_pkg.GetSystemSourceNum(
14708 p_source_code => 'XLA_EVENT_APPL_ID'
14709 , p_source_type_code => 'Y'
14710 , p_source_application_id => 602
14711 );
14712 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14713 l_rec_acct_attrs.array_char_value(3) := p_source_54;
14714 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14715 l_rec_acct_attrs.array_char_value(4) :=
14716 xla_ae_sources_pkg.GetSystemSourceChar(
14717 p_source_code => 'XLA_ENTITY_CODE'
14718 , p_source_type_code => 'Y'
14719 , p_source_application_id => 602
14720 );
14721 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14722 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
14723 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14724 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
14725 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
14726 l_rec_acct_attrs.array_num_value(7) := p_source_90;
14727 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14728 l_rec_acct_attrs.array_char_value(8) := p_source_91;
14729 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
14730 l_rec_acct_attrs.array_char_value(9) := p_source_92;
14731 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
14732 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
14733 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14734 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
14735 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
14736 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
14737 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
14738 l_rec_acct_attrs.array_char_value(13) := p_source_54;
14739 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
14740 l_rec_acct_attrs.array_num_value(14) := p_source_64;
14741 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
14742 l_rec_acct_attrs.array_num_value(15) := p_source_65;
14743 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
14744 l_rec_acct_attrs.array_char_value(16) := p_source_66;
14745 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
14746 l_rec_acct_attrs.array_num_value(17) := p_source_67;
14747 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
14748 l_rec_acct_attrs.array_num_value(18) := p_source_68;
14749 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
14750 l_rec_acct_attrs.array_num_value(19) := p_source_69;
14751 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
14752 l_rec_acct_attrs.array_char_value(20) := p_source_66;
14753 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
14754 l_rec_acct_attrs.array_num_value(21) := p_source_70;
14755 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
14756 l_rec_acct_attrs.array_char_value(22) := p_source_71;
14757 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
14758 l_rec_acct_attrs.array_num_value(23) := p_source_21;
14762 l_rec_acct_attrs.array_char_value(25) := p_source_77;
14759 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
14760 l_rec_acct_attrs.array_date_value(24) := p_source_76;
14761 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
14763 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
14764 l_rec_acct_attrs.array_date_value(26) := p_source_78;
14765 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
14766 l_rec_acct_attrs.array_char_value(27) := p_source_79;
14767 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
14768 l_rec_acct_attrs.array_num_value(28) := p_source_80;
14769 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
14770 l_rec_acct_attrs.array_num_value(29) := p_source_81;
14771 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
14772 l_rec_acct_attrs.array_char_value(30) := p_source_82;
14773 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
14774 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
14775 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
14776 l_rec_acct_attrs.array_char_value(32) := p_source_54;
14777 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
14778 l_rec_acct_attrs.array_num_value(33) := p_source_85;
14779 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
14780 l_rec_acct_attrs.array_num_value(34) := p_source_86;
14781 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
14782 l_rec_acct_attrs.array_num_value(35) := p_source_87;
14783 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
14784 l_rec_acct_attrs.array_num_value(36) := p_source_88;
14785 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
14786 l_rec_acct_attrs.array_num_value(37) := p_source_89;
14787
14788 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14789 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14790
14791 ---------------------------------------------------------------------------------------------------------------
14792 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14793 ---------------------------------------------------------------------------------------------------------------
14794 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14795
14796 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14797 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14798
14799 IF xla_accounting_cache_pkg.GetValueChar
14800 (p_source_code => 'LEDGER_CATEGORY_CODE'
14801 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14802 AND l_bflow_method_code = 'PRIOR_ENTRY'
14803 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14804 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14805 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14806 )
14807 THEN
14808 xla_ae_lines_pkg.BflowUpgEntry
14809 (p_business_method_code => l_bflow_method_code
14810 ,p_business_class_code => l_bflow_class_code
14811 ,p_balance_type => l_balance_type_code);
14812 ELSE
14813 NULL;
14814 -- No business flow processing for business flow method of NONE.
14815 END IF;
14816
14817 --
14818 -- call analytical criteria
14819 --
14820
14821 --
14822 -- call description
14823 --
14824
14825 xla_ae_lines_pkg.SetLineDescription(
14826 p_ae_header_id => l_ae_header_id
14827 ,p_description => Description_1 (
14828 p_application_id => p_application_id
14829 , p_ae_header_id => l_ae_header_id
14830 , p_source_1 => p_source_1
14831 )
14832 );
14833
14834
14835 --
14836 -- call ADRs
14837 -- Bug 4922099
14838 --
14839 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14840 (NVL(l_actual_upg_option, 'N') = 'O') OR
14841 (NVL(l_enc_upg_option, 'N') = 'O')
14842 )
14843 THEN
14844 NULL;
14845 --
14846 --
14847
14848 l_ccid := AcctDerRule_30(
14849 p_application_id => p_application_id
14850 , p_ae_header_id => l_ae_header_id
14851 , p_source_15 => p_source_15
14852 , p_source_15_meaning => p_source_15_meaning
14853 , p_source_20 => p_source_20
14854 , p_source_21 => p_source_21
14855 , p_source_22 => p_source_22
14856 , p_source_22_meaning => p_source_22_meaning
14857 , p_source_23 => p_source_23
14858 , p_source_30 => p_source_30
14859 , p_source_47 => p_source_47
14860 , p_source_47_meaning => p_source_47_meaning
14861 , x_transaction_coa_id => l_adr_transaction_coa_id
14862 , x_accounting_coa_id => l_adr_accounting_coa_id
14863 , x_value_type_code => l_adr_value_type_code
14864 , p_side => 'ALL'
14865 );
14866
14867 xla_ae_lines_pkg.set_ccid(
14868 p_code_combination_id => l_ccid
14869 , p_value_type_code => l_adr_value_type_code
14870 , p_transaction_coa_id => l_adr_transaction_coa_id
14874 , p_component_type => l_component_type
14871 , p_accounting_coa_id => l_adr_accounting_coa_id
14872 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14873 , p_adr_type_code => 'S'
14875 , p_component_code => l_component_code
14876 , p_component_type_code => l_component_type_code
14877 , p_component_appl_id => l_component_appl_id
14878 , p_amb_context_code => l_amb_context_code
14879 , p_side => 'ALL'
14880 );
14881
14882
14883 l_segment := AcctDerRule_9(
14884 p_application_id => p_application_id
14885 , p_ae_header_id => l_ae_header_id
14886 , p_source_15 => p_source_15
14887 , p_source_15_meaning => p_source_15_meaning
14888 , p_source_20 => p_source_20
14889 , p_source_22 => p_source_22
14890 , p_source_22_meaning => p_source_22_meaning
14891 , x_transaction_coa_id => l_adr_transaction_coa_id
14892 , x_accounting_coa_id => l_adr_accounting_coa_id
14893 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14894 , x_flex_value_set_id => l_adr_flex_value_set_id
14895 , x_value_type_code => l_adr_value_type_code
14896 , x_value_combination_id => l_adr_value_combination_id
14897 , x_value_segment_code => l_adr_value_segment_code
14898 , p_side => 'DEBIT'
14899 , p_override_seg_flag => 'Y'
14900 );
14901
14902 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14903
14904 xla_ae_lines_pkg.set_segment(
14905 p_to_segment_code => 'GL_ACCOUNT'
14906 , p_segment_value => l_segment
14907 , p_from_segment_code => l_adr_value_segment_code
14908 , p_from_combination_id => l_adr_value_combination_id
14909 , p_value_type_code => l_adr_value_type_code
14910 , p_transaction_coa_id => l_adr_transaction_coa_id
14911 , p_accounting_coa_id => l_adr_accounting_coa_id
14912 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14913 , p_flex_value_set_id => l_adr_flex_value_set_id
14914 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14915 , p_adr_type_code => 'S'
14916 , p_component_type => l_component_type
14917 , p_component_code => l_component_code
14918 , p_component_type_code => l_component_type_code
14919 , p_component_appl_id => l_component_appl_id
14920 , p_amb_context_code => l_amb_context_code
14921 , p_entity_code => 'AP_INVOICES'
14922 , p_event_class_code => 'DEBIT MEMOS'
14923 , p_side => 'DEBIT'
14924 );
14925
14926 END IF;
14927
14928 l_segment := AcctDerRule_10(
14929 p_application_id => p_application_id
14930 , p_ae_header_id => l_ae_header_id
14931 , p_source_15 => p_source_15
14932 , p_source_15_meaning => p_source_15_meaning
14933 , p_source_22 => p_source_22
14934 , p_source_22_meaning => p_source_22_meaning
14935 , p_source_23 => p_source_23
14936 , x_transaction_coa_id => l_adr_transaction_coa_id
14937 , x_accounting_coa_id => l_adr_accounting_coa_id
14938 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14939 , x_flex_value_set_id => l_adr_flex_value_set_id
14940 , x_value_type_code => l_adr_value_type_code
14941 , x_value_combination_id => l_adr_value_combination_id
14942 , x_value_segment_code => l_adr_value_segment_code
14943 , p_side => 'CREDIT'
14944 , p_override_seg_flag => 'Y'
14945 );
14946
14947 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14948
14949 xla_ae_lines_pkg.set_segment(
14950 p_to_segment_code => 'GL_ACCOUNT'
14951 , p_segment_value => l_segment
14952 , p_from_segment_code => l_adr_value_segment_code
14953 , p_from_combination_id => l_adr_value_combination_id
14954 , p_value_type_code => l_adr_value_type_code
14955 , p_transaction_coa_id => l_adr_transaction_coa_id
14956 , p_accounting_coa_id => l_adr_accounting_coa_id
14957 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14958 , p_flex_value_set_id => l_adr_flex_value_set_id
14959 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14960 , p_adr_type_code => 'S'
14961 , p_component_type => l_component_type
14962 , p_component_code => l_component_code
14963 , p_component_type_code => l_component_type_code
14964 , p_component_appl_id => l_component_appl_id
14965 , p_amb_context_code => l_amb_context_code
14966 , p_entity_code => 'AP_INVOICES'
14967 , p_event_class_code => 'DEBIT MEMOS'
14968 , p_side => 'CREDIT'
14969 );
14970
14971 END IF;
14972
14973 l_segment := AcctDerRule_23(
14974 p_application_id => p_application_id
14975 , p_ae_header_id => l_ae_header_id
14976 , p_source_15 => p_source_15
14977 , p_source_15_meaning => p_source_15_meaning
14978 , p_source_22 => p_source_22
14979 , p_source_22_meaning => p_source_22_meaning
14983 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14980 , p_source_30 => p_source_30
14981 , x_transaction_coa_id => l_adr_transaction_coa_id
14982 , x_accounting_coa_id => l_adr_accounting_coa_id
14984 , x_flex_value_set_id => l_adr_flex_value_set_id
14985 , x_value_type_code => l_adr_value_type_code
14986 , x_value_combination_id => l_adr_value_combination_id
14987 , x_value_segment_code => l_adr_value_segment_code
14988 , p_side => 'ALL'
14989 , p_override_seg_flag => 'Y'
14990 );
14991
14992 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14993
14994 xla_ae_lines_pkg.set_segment(
14995 p_to_segment_code => 'GL_BALANCING'
14996 , p_segment_value => l_segment
14997 , p_from_segment_code => l_adr_value_segment_code
14998 , p_from_combination_id => l_adr_value_combination_id
14999 , p_value_type_code => l_adr_value_type_code
15000 , p_transaction_coa_id => l_adr_transaction_coa_id
15001 , p_accounting_coa_id => l_adr_accounting_coa_id
15002 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15003 , p_flex_value_set_id => l_adr_flex_value_set_id
15004 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15005 , p_adr_type_code => 'S'
15006 , p_component_type => l_component_type
15007 , p_component_code => l_component_code
15008 , p_component_type_code => l_component_type_code
15009 , p_component_appl_id => l_component_appl_id
15010 , p_amb_context_code => l_amb_context_code
15011 , p_entity_code => 'AP_INVOICES'
15012 , p_event_class_code => 'DEBIT MEMOS'
15013 , p_side => 'ALL'
15014 );
15015
15016 END IF;
15017
15018 --
15019 --
15020 END IF;
15021 --
15022 -- Bug 4922099
15023 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15024 (NVL(l_enc_upg_option, 'N') = 'O')
15025 ) AND
15026 (l_bflow_method_code = 'PRIOR_ENTRY')
15027 )
15028 THEN
15029 IF
15030 --
15031 1 = 2
15032 --
15033 THEN
15034 xla_accounting_err_pkg.build_message
15035 (p_appli_s_name => 'XLA'
15036 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15037 ,p_token_1 => 'LINE_NUMBER'
15038 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15039 ,p_token_2 => 'LINE_TYPE_NAME'
15040 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15041 l_component_type
15042 ,l_component_code
15043 ,l_component_type_code
15044 ,l_component_appl_id
15045 ,l_amb_context_code
15046 ,l_entity_code
15047 ,l_event_class_code
15048 )
15049 ,p_token_3 => 'OWNER'
15050 ,p_value_3 => xla_lookups_pkg.get_meaning(
15051 p_lookup_type => 'XLA_OWNER_TYPE'
15052 ,p_lookup_code => l_component_type_code
15053 )
15054 ,p_token_4 => 'PRODUCT_NAME'
15055 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15056 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15057 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15058 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15059 ,p_ae_header_id => NULL
15060 );
15061
15062 IF (C_LEVEL_ERROR>= g_log_level) THEN
15063 trace
15064 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15065 ,p_level => C_LEVEL_ERROR
15066 ,p_module => l_log_module);
15067 END IF;
15068 END IF;
15069 END IF;
15070 --
15071 --
15072 ------------------------------------------------------------------------------------------------
15073 -- 4219869 Business Flow
15074 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15075 -- Prior Entry. Currently, the following code is always generated.
15079 ------------------------------------------------------------------------------------
15076 ------------------------------------------------------------------------------------------------
15077 XLA_AE_LINES_PKG.ValidateCurrentLine;
15078
15080 -- 4219869 Business Flow
15081 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15082 ------------------------------------------------------------------------------------
15083 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15084
15085 ----------------------------------------------------------------------------------
15086 -- 4219869 Business Flow
15087 -- Update journal entry status -- Need to generate this within IF <condition>
15088 ----------------------------------------------------------------------------------
15089 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15090 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15091 ,p_balance_type_code => l_balance_type_code
15092 );
15093
15094 -------------------------------------------------------------------------------------------
15095 -- 4262811 - Generate the Accrual Reversal lines
15096 -------------------------------------------------------------------------------------------
15097 BEGIN
15098 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15099 (g_array_event(p_event_id).array_value_num('header_index'));
15100 IF l_acc_rev_flag IS NULL THEN
15101 l_acc_rev_flag := 'N';
15102 END IF;
15103 EXCEPTION
15104 WHEN OTHERS THEN
15105 l_acc_rev_flag := 'N';
15106 END;
15107 --
15108 IF (l_acc_rev_flag = 'Y') THEN
15109
15110 -- 4645092 ------------------------------------------------------------------------------
15111 -- To allow MPA report to determine if it should generate report process
15112 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15113 ------------------------------------------------------------------------------------------
15114
15115 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15116 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15117 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15118 -- call ADRs
15119 -- Bug 4922099
15120 --
15121 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15122 (NVL(l_actual_upg_option, 'N') = 'O') OR
15123 (NVL(l_enc_upg_option, 'N') = 'O')
15124 )
15125 THEN
15126 NULL;
15127 --
15128 --
15129
15130 l_ccid := AcctDerRule_30(
15131 p_application_id => p_application_id
15132 , p_ae_header_id => l_ae_header_id
15133 , p_source_15 => p_source_15
15134 , p_source_15_meaning => p_source_15_meaning
15135 , p_source_20 => p_source_20
15136 , p_source_21 => p_source_21
15137 , p_source_22 => p_source_22
15138 , p_source_22_meaning => p_source_22_meaning
15139 , p_source_23 => p_source_23
15140 , p_source_30 => p_source_30
15141 , p_source_47 => p_source_47
15142 , p_source_47_meaning => p_source_47_meaning
15143 , x_transaction_coa_id => l_adr_transaction_coa_id
15144 , x_accounting_coa_id => l_adr_accounting_coa_id
15145 , x_value_type_code => l_adr_value_type_code
15146 , p_side => 'ALL'
15147 );
15148
15149 xla_ae_lines_pkg.set_ccid(
15150 p_code_combination_id => l_ccid
15151 , p_value_type_code => l_adr_value_type_code
15152 , p_transaction_coa_id => l_adr_transaction_coa_id
15153 , p_accounting_coa_id => l_adr_accounting_coa_id
15154 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15155 , p_adr_type_code => 'S'
15156 , p_component_type => l_component_type
15157 , p_component_code => l_component_code
15158 , p_component_type_code => l_component_type_code
15159 , p_component_appl_id => l_component_appl_id
15160 , p_amb_context_code => l_amb_context_code
15161 , p_side => 'ALL'
15162 );
15163
15164
15165 l_segment := AcctDerRule_9(
15166 p_application_id => p_application_id
15167 , p_ae_header_id => l_ae_header_id
15168 , p_source_15 => p_source_15
15169 , p_source_15_meaning => p_source_15_meaning
15170 , p_source_20 => p_source_20
15171 , p_source_22 => p_source_22
15172 , p_source_22_meaning => p_source_22_meaning
15173 , x_transaction_coa_id => l_adr_transaction_coa_id
15174 , x_accounting_coa_id => l_adr_accounting_coa_id
15175 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15176 , x_flex_value_set_id => l_adr_flex_value_set_id
15177 , x_value_type_code => l_adr_value_type_code
15178 , x_value_combination_id => l_adr_value_combination_id
15179 , x_value_segment_code => l_adr_value_segment_code
15180 , p_side => 'DEBIT'
15181 , p_override_seg_flag => 'Y'
15182 );
15183
15184 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15185
15186 xla_ae_lines_pkg.set_segment(
15187 p_to_segment_code => 'GL_ACCOUNT'
15188 , p_segment_value => l_segment
15192 , p_transaction_coa_id => l_adr_transaction_coa_id
15189 , p_from_segment_code => l_adr_value_segment_code
15190 , p_from_combination_id => l_adr_value_combination_id
15191 , p_value_type_code => l_adr_value_type_code
15193 , p_accounting_coa_id => l_adr_accounting_coa_id
15194 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15195 , p_flex_value_set_id => l_adr_flex_value_set_id
15196 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15197 , p_adr_type_code => 'S'
15198 , p_component_type => l_component_type
15199 , p_component_code => l_component_code
15200 , p_component_type_code => l_component_type_code
15201 , p_component_appl_id => l_component_appl_id
15202 , p_amb_context_code => l_amb_context_code
15203 , p_entity_code => 'AP_INVOICES'
15204 , p_event_class_code => 'DEBIT MEMOS'
15205 , p_side => 'DEBIT'
15206 );
15207
15208 END IF;
15209
15210 l_segment := AcctDerRule_10(
15211 p_application_id => p_application_id
15212 , p_ae_header_id => l_ae_header_id
15213 , p_source_15 => p_source_15
15214 , p_source_15_meaning => p_source_15_meaning
15215 , p_source_22 => p_source_22
15216 , p_source_22_meaning => p_source_22_meaning
15217 , p_source_23 => p_source_23
15218 , x_transaction_coa_id => l_adr_transaction_coa_id
15219 , x_accounting_coa_id => l_adr_accounting_coa_id
15220 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15221 , x_flex_value_set_id => l_adr_flex_value_set_id
15222 , x_value_type_code => l_adr_value_type_code
15223 , x_value_combination_id => l_adr_value_combination_id
15224 , x_value_segment_code => l_adr_value_segment_code
15225 , p_side => 'CREDIT'
15226 , p_override_seg_flag => 'Y'
15227 );
15228
15229 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15230
15231 xla_ae_lines_pkg.set_segment(
15232 p_to_segment_code => 'GL_ACCOUNT'
15233 , p_segment_value => l_segment
15234 , p_from_segment_code => l_adr_value_segment_code
15235 , p_from_combination_id => l_adr_value_combination_id
15236 , p_value_type_code => l_adr_value_type_code
15237 , p_transaction_coa_id => l_adr_transaction_coa_id
15238 , p_accounting_coa_id => l_adr_accounting_coa_id
15239 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15240 , p_flex_value_set_id => l_adr_flex_value_set_id
15241 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15242 , p_adr_type_code => 'S'
15243 , p_component_type => l_component_type
15244 , p_component_code => l_component_code
15245 , p_component_type_code => l_component_type_code
15246 , p_component_appl_id => l_component_appl_id
15247 , p_amb_context_code => l_amb_context_code
15248 , p_entity_code => 'AP_INVOICES'
15249 , p_event_class_code => 'DEBIT MEMOS'
15250 , p_side => 'CREDIT'
15251 );
15252
15253 END IF;
15254
15255 l_segment := AcctDerRule_23(
15256 p_application_id => p_application_id
15257 , p_ae_header_id => l_ae_header_id
15258 , p_source_15 => p_source_15
15259 , p_source_15_meaning => p_source_15_meaning
15260 , p_source_22 => p_source_22
15261 , p_source_22_meaning => p_source_22_meaning
15262 , p_source_30 => p_source_30
15263 , x_transaction_coa_id => l_adr_transaction_coa_id
15264 , x_accounting_coa_id => l_adr_accounting_coa_id
15265 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15266 , x_flex_value_set_id => l_adr_flex_value_set_id
15267 , x_value_type_code => l_adr_value_type_code
15268 , x_value_combination_id => l_adr_value_combination_id
15269 , x_value_segment_code => l_adr_value_segment_code
15270 , p_side => 'ALL'
15271 , p_override_seg_flag => 'Y'
15272 );
15273
15274 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15275
15276 xla_ae_lines_pkg.set_segment(
15277 p_to_segment_code => 'GL_BALANCING'
15278 , p_segment_value => l_segment
15279 , p_from_segment_code => l_adr_value_segment_code
15280 , p_from_combination_id => l_adr_value_combination_id
15281 , p_value_type_code => l_adr_value_type_code
15282 , p_transaction_coa_id => l_adr_transaction_coa_id
15283 , p_accounting_coa_id => l_adr_accounting_coa_id
15284 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15285 , p_flex_value_set_id => l_adr_flex_value_set_id
15286 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15287 , p_adr_type_code => 'S'
15288 , p_component_type => l_component_type
15289 , p_component_code => l_component_code
15290 , p_component_type_code => l_component_type_code
15291 , p_component_appl_id => l_component_appl_id
15292 , p_amb_context_code => l_amb_context_code
15293 , p_entity_code => 'AP_INVOICES'
15297
15294 , p_event_class_code => 'DEBIT MEMOS'
15295 , p_side => 'ALL'
15296 );
15298 END IF;
15299
15300 --
15301 --
15302 END IF;
15303
15304 --
15305 -- Update the line information that should be overwritten
15306 --
15307 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15308 p_header_num => 1);
15309 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15310
15311 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15312
15313 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15314 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15315 END IF;
15316
15317 --
15318 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15319 --
15320 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15321 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15322 ELSE
15323 ---------------------------------------------------------------------------------------------------
15324 -- 4262811a Switch Sign
15325 ---------------------------------------------------------------------------------------------------
15326 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15327 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15328 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15329 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15330 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15331 -- 5132302
15332 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15333 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15334
15335 END IF;
15336
15337 -- 4955764
15338 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15339 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15340
15341
15342 XLA_AE_LINES_PKG.ValidateCurrentLine;
15343 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15344
15345 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15346 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15347 ,p_balance_type_code => l_balance_type_code);
15348
15349 END IF;
15350
15351 -----------------------------------------------------------------------------------------
15352 -- 4262811 Multiperiod Accounting
15353 -----------------------------------------------------------------------------------------
15354 -- No MPA option is assigned.
15355
15356
15357 END IF;
15358 END IF;
15359 --
15360
15361 --
15362 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15363 trace
15364 (p_msg => 'END of AcctLineType_55'
15365 ,p_level => C_LEVEL_PROCEDURE
15366 ,p_module => l_log_module);
15367 END IF;
15368 --
15369 EXCEPTION
15370 WHEN xla_exceptions_pkg.application_exception THEN
15371 RAISE;
15372 WHEN OTHERS THEN
15373 xla_exceptions_pkg.raise_message
15374 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_55');
15375 END AcctLineType_55;
15376 --
15377
15378 ---------------------------------------
15379 --
15380 -- PRIVATE FUNCTION
15381 -- AcctLineType_56
15382 --
15383 ---------------------------------------
15384 PROCEDURE AcctLineType_56 (
15385 p_application_id IN NUMBER
15386 ,p_event_id IN NUMBER
15387 ,p_calculate_acctd_flag IN VARCHAR2
15388 ,p_calculate_g_l_flag IN VARCHAR2
15389 ,p_actual_flag IN OUT VARCHAR2
15390 ,p_balance_type_code OUT VARCHAR2
15391 ,p_gain_or_loss_ref OUT VARCHAR2
15392
15393 --Invoice Distribution Description
15394 , p_source_1 IN VARCHAR2
15395 --Automatic Offsets Value
15396 , p_source_15 IN VARCHAR2
15397 , p_source_15_meaning IN VARCHAR2
15398 --Purchase Order Rate Variance Gain Account
15399 , p_source_20 IN NUMBER
15400 --Invoice Distribution Ledger Amount
15401 , p_source_21 IN NUMBER
15402 --Destination Type of the PO Distribution
15403 , p_source_22 IN VARCHAR2
15404 , p_source_22_meaning IN VARCHAR2
15405 --Purchase Order Rate Variance Loss Account
15406 , p_source_23 IN NUMBER
15407 --Invoice Distribution Account
15408 , p_source_30 IN NUMBER
15409 --Invoice Distribution Type
15410 , p_source_33 IN VARCHAR2
15411 , p_source_33_meaning IN VARCHAR2
15412 --Automatic Offsets Flag
15413 , p_source_47 IN VARCHAR2
15414 , p_source_47_meaning IN VARCHAR2
15415 --Accounting Reversal Indicator
15416 , p_source_52 IN VARCHAR2
15417 --Distribution Link Type
15418 , p_source_54 IN VARCHAR2
15422 , p_source_57 IN NUMBER
15419 --Allocation to Main Distribution Identifier
15420 , p_source_56 IN NUMBER
15421 --Invoice Identifier
15423 --Invoice Distribution Identifier
15424 , p_source_63 IN NUMBER
15425 --Payables Encumbrance Upgrade Credit Account
15426 , p_source_64 IN NUMBER
15427 --Payables Encumbrance Upgrade Credit Amount
15428 , p_source_65 IN NUMBER
15429 --Invoice Currency Code
15430 , p_source_66 IN VARCHAR2
15431 --Payables Encumbrance Upgrade Credit Base Amount
15432 , p_source_67 IN NUMBER
15433 --Payables Encumbrance Upgrade Debit Account
15434 , p_source_68 IN NUMBER
15435 --Payables Encumbrance Upgrade Debit Amount
15436 , p_source_69 IN NUMBER
15437 --Payables Encumbrance Upgrade Debit Base Amount
15438 , p_source_70 IN NUMBER
15439 --Payables Encumbrance Upgrade Option
15440 , p_source_71 IN VARCHAR2
15441 --Invoice Distribution Amount
15442 , p_source_72 IN NUMBER
15443 --Deferred Accounting End Date
15444 , p_source_76 IN DATE
15445 --Deferred Accounting Option
15446 , p_source_77 IN VARCHAR2
15447 --Deferred Accounting Start Date
15448 , p_source_78 IN DATE
15449 --Override Accounted Amount Indicator
15450 , p_source_79 IN VARCHAR2
15451 , p_source_79_meaning IN VARCHAR2
15452 --Invoice Supplier Identifier
15453 , p_source_80 IN NUMBER
15454 --Invoice Supplier Site Identifier
15455 , p_source_81 IN NUMBER
15456 --Third Party Type
15457 , p_source_82 IN VARCHAR2
15458 --Parent Reversal Identifier
15459 , p_source_83 IN NUMBER
15460 --Invoice Distribution Statistical Amount
15461 , p_source_84 IN NUMBER
15462 --Invoice Distribution Tax Line Identifier
15463 , p_source_85 IN NUMBER
15464 --Invoice Distribution Tax Distribution Identifier from Tax
15465 , p_source_86 IN NUMBER
15466 --Invoice Distribution Summary Tax Line Identifier
15467 , p_source_87 IN NUMBER
15468 --Payables Upgrade Credit Encumbrance Type Identifier
15469 , p_source_88 IN NUMBER
15470 --Payables Upgrade Debit Encumbrance Type Identifier
15471 , p_source_89 IN NUMBER
15472 --Business Flow Accounts Payable Application Identifier
15473 , p_source_90 IN NUMBER
15474 --Business Flow Invoice Distribution Type
15475 , p_source_91 IN VARCHAR2
15476 --Business Flow Invoice Entity Code
15477 , p_source_92 IN VARCHAR2
15478 --Business Flow Invoice Distribution Identifier
15479 , p_source_93 IN NUMBER
15480 --Business Flow Invoice Identifier
15481 , p_source_94 IN NUMBER
15482 --Accrue on Receipt Option
15483 , p_source_95 IN VARCHAR2
15484 , p_source_95_meaning IN VARCHAR2
15485 )
15486 IS
15487
15488 l_component_type VARCHAR2(80);
15489 l_component_code VARCHAR2(30);
15490 l_component_type_code VARCHAR2(1);
15491 l_component_appl_id INTEGER;
15492 l_amb_context_code VARCHAR2(30);
15493 l_entity_code VARCHAR2(30);
15494 l_event_class_code VARCHAR2(30);
15495 l_ae_header_id NUMBER;
15496 l_event_type_code VARCHAR2(30);
15497 l_line_definition_code VARCHAR2(30);
15498 l_line_definition_owner_code VARCHAR2(1);
15499 --
15500 -- adr variables
15501 l_segment VARCHAR2(30);
15502 l_ccid NUMBER;
15503 l_adr_transaction_coa_id NUMBER;
15504 l_adr_accounting_coa_id NUMBER;
15505 l_adr_flexfield_segment_code VARCHAR2(30);
15506 l_adr_flex_value_set_id NUMBER;
15507 l_adr_value_type_code VARCHAR2(30);
15508 l_adr_value_combination_id NUMBER;
15509 l_adr_value_segment_code VARCHAR2(30);
15510
15511 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15512 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15513 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15514 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15515
15516 -- 4262811 Variables ------------------------------------------------------------------------------------------
15517 l_entered_amt_idx NUMBER;
15518 l_accted_amt_idx NUMBER;
15519 l_acc_rev_flag VARCHAR2(1);
15520 l_accrual_line_num NUMBER;
15521 l_tmp_amt NUMBER;
15522 l_acc_rev_natural_side_code VARCHAR2(1);
15523
15524 l_num_entries NUMBER;
15525 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15526 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15527 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15528 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15529 l_recog_line_1 NUMBER;
15530 l_recog_line_2 NUMBER;
15531
15532 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15533 l_bflow_applied_to_amt NUMBER; -- 5132302
15534 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15535
15536 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15537
15538 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15539 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15540
15544 --
15541 ---------------------------------------------------------------------------------------------------------------
15542
15543
15545 -- bulk performance
15546 --
15547 l_balance_type_code VARCHAR2(1);
15548 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15549 l_log_module VARCHAR2(240);
15550
15551 --
15552 -- Upgrade strategy
15553 --
15554 l_actual_upg_option VARCHAR2(1);
15555 l_enc_upg_option VARCHAR2(1);
15556
15557 --
15558 BEGIN
15559 --
15560 IF g_log_enabled THEN
15561 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_56';
15562 END IF;
15563 --
15564 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15565
15566 trace
15567 (p_msg => 'BEGIN of AcctLineType_56'
15568 ,p_level => C_LEVEL_PROCEDURE
15569 ,p_module => l_log_module);
15570
15571 END IF;
15572 --
15573 l_component_type := 'AMB_JLT';
15574 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_INV';
15575 l_component_type_code := 'S';
15576 l_component_appl_id := 200;
15577 l_amb_context_code := 'DEFAULT';
15578 l_entity_code := 'AP_INVOICES';
15579 l_event_class_code := 'INVOICES';
15580 l_event_type_code := 'INVOICES_ALL';
15581 l_line_definition_owner_code := 'S';
15582 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
15583 --
15584 l_balance_type_code := 'A';
15585 l_segment := NULL;
15586 l_ccid := NULL;
15587 l_adr_transaction_coa_id := NULL;
15588 l_adr_accounting_coa_id := NULL;
15589 l_adr_flexfield_segment_code := NULL;
15590 l_adr_flex_value_set_id := NULL;
15591 l_adr_value_type_code := NULL;
15592 l_adr_value_combination_id := NULL;
15593 l_adr_value_segment_code := NULL;
15594
15595 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
15596 l_bflow_class_code := ''; -- 4219869 Business Flow
15597 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
15598 l_budgetary_control_flag := 'N';
15599
15600 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15601 l_bflow_applied_to_amt := NULL; -- 5132302
15602 l_entered_amt_idx := NULL; -- 4262811
15603 l_accted_amt_idx := NULL; -- 4262811
15604 l_acc_rev_flag := NULL; -- 4262811
15605 l_accrual_line_num := NULL; -- 4262811
15606 l_tmp_amt := NULL; -- 4262811
15607 --
15608 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
15609 (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
15610 return;
15611 END IF;
15612
15613 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
15614 l_balance_type_code <> 'B' THEN
15615 IF NVL(p_source_33,'
15616 ') = 'NONREC_TAX' AND
15617 NVL(p_source_95,'
15618 ') = 'Y'
15619 THEN
15620
15621 --
15622 XLA_AE_LINES_PKG.SetNewLine;
15623
15624 p_balance_type_code := l_balance_type_code;
15625 -- set the flag so later we will know whether the gain loss line needs to be created
15626
15627 IF(l_balance_type_code = 'A' ) THEN
15628 p_actual_flag :='G';
15629 END IF;
15630
15631 --
15632 -- bulk performance
15633 --
15634 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15635 p_header_num => 0); -- 4262811
15636 --
15637 -- set accounting line options
15638 --
15639 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15640 p_natural_side_code => 'G'
15641 , p_gain_or_loss_flag => 'N'
15642 , p_gl_transfer_mode_code => 'S'
15643 , p_acct_entry_type_code => 'A'
15644 , p_switch_side_flag => ''
15645 , p_merge_duplicate_code => 'A'
15646 );
15647 --
15648 l_acc_rev_natural_side_code := 'C'; -- 4262811
15649 --
15650 --
15651 -- set accounting line type info
15652 --
15653 xla_ae_lines_pkg.SetAcctLineType
15654 (p_component_type => l_component_type
15655 ,p_event_type_code => l_event_type_code
15656 ,p_line_definition_owner_code => l_line_definition_owner_code
15657 ,p_line_definition_code => l_line_definition_code
15658 ,p_accounting_line_code => l_component_code
15659 ,p_accounting_line_type_code => l_component_type_code
15660 ,p_accounting_line_appl_id => l_component_appl_id
15661 ,p_amb_context_code => l_amb_context_code
15662 ,p_entity_code => l_entity_code
15663 ,p_event_class_code => l_event_class_code);
15664 --
15665 -- set accounting class
15666 --
15667 xla_ae_lines_pkg.SetAcctClass(
15668 p_accounting_class_code => 'TERV'
15669 , p_ae_header_id => l_ae_header_id
15670 );
15671
15672 --
15676 'TERV';
15673 -- set rounding class
15674 --
15675 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15677
15678 --
15679 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15680 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15681 --
15682 -- bulk performance
15683 --
15684 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15685
15686 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15687 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15688
15689 -- 4955764
15690 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15691 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15692
15693 -- 4458381 Public Sector Enh
15694
15695 --
15696 -- set accounting attributes for the line type
15697 --
15698 l_entered_amt_idx := NULL;
15699 l_accted_amt_idx := 24;
15700 l_bflow_applied_to_amt_idx := 7; -- 5132302
15701 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
15702 l_rec_acct_attrs.array_char_value(1) := p_source_52;
15703 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
15704 l_rec_acct_attrs.array_num_value(2) :=
15705 xla_ae_sources_pkg.GetSystemSourceNum(
15706 p_source_code => 'XLA_EVENT_APPL_ID'
15707 , p_source_type_code => 'Y'
15708 , p_source_application_id => 602
15709 );
15710 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
15711 l_rec_acct_attrs.array_char_value(3) := p_source_54;
15712 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
15713 l_rec_acct_attrs.array_char_value(4) :=
15714 xla_ae_sources_pkg.GetSystemSourceChar(
15715 p_source_code => 'XLA_ENTITY_CODE'
15716 , p_source_type_code => 'Y'
15717 , p_source_application_id => 602
15718 );
15719 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
15720 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
15721 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
15722 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
15723 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
15724 l_rec_acct_attrs.array_num_value(7) := p_source_72;
15725 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
15726 l_rec_acct_attrs.array_num_value(8) := p_source_90;
15727 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
15728 l_rec_acct_attrs.array_char_value(9) := p_source_91;
15729 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
15730 l_rec_acct_attrs.array_char_value(10) := p_source_92;
15731 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
15732 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
15733 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
15734 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
15735 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
15736 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
15737 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
15738 l_rec_acct_attrs.array_char_value(14) := p_source_54;
15739 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
15740 l_rec_acct_attrs.array_num_value(15) := p_source_64;
15741 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
15742 l_rec_acct_attrs.array_num_value(16) := p_source_65;
15743 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
15744 l_rec_acct_attrs.array_char_value(17) := p_source_66;
15745 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
15746 l_rec_acct_attrs.array_num_value(18) := p_source_67;
15747 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
15748 l_rec_acct_attrs.array_num_value(19) := p_source_68;
15749 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
15750 l_rec_acct_attrs.array_num_value(20) := p_source_69;
15751 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
15752 l_rec_acct_attrs.array_char_value(21) := p_source_66;
15753 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
15754 l_rec_acct_attrs.array_num_value(22) := p_source_70;
15755 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
15756 l_rec_acct_attrs.array_char_value(23) := p_source_71;
15757 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
15758 l_rec_acct_attrs.array_num_value(24) := p_source_21;
15759 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
15760 l_rec_acct_attrs.array_date_value(25) := p_source_76;
15761 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
15762 l_rec_acct_attrs.array_char_value(26) := p_source_77;
15763 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
15764 l_rec_acct_attrs.array_date_value(27) := p_source_78;
15765 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
15766 l_rec_acct_attrs.array_char_value(28) := p_source_79;
15767 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
15768 l_rec_acct_attrs.array_num_value(29) := p_source_80;
15772 l_rec_acct_attrs.array_char_value(31) := p_source_82;
15769 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
15770 l_rec_acct_attrs.array_num_value(30) := p_source_81;
15771 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
15773 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
15774 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_83);
15775 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
15776 l_rec_acct_attrs.array_char_value(33) := p_source_54;
15777 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
15778 l_rec_acct_attrs.array_num_value(34) := p_source_84;
15779 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
15780 l_rec_acct_attrs.array_num_value(35) := p_source_85;
15781 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
15782 l_rec_acct_attrs.array_num_value(36) := p_source_86;
15783 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
15784 l_rec_acct_attrs.array_num_value(37) := p_source_87;
15785 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
15786 l_rec_acct_attrs.array_num_value(38) := p_source_88;
15787 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
15788 l_rec_acct_attrs.array_num_value(39) := p_source_89;
15789
15790 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15791 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15792
15793 ---------------------------------------------------------------------------------------------------------------
15794 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15795 ---------------------------------------------------------------------------------------------------------------
15796 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15797
15798 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15799 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15800
15801 IF xla_accounting_cache_pkg.GetValueChar
15802 (p_source_code => 'LEDGER_CATEGORY_CODE'
15803 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15804 AND l_bflow_method_code = 'PRIOR_ENTRY'
15805 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
15806 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15807 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15808 )
15809 THEN
15810 xla_ae_lines_pkg.BflowUpgEntry
15811 (p_business_method_code => l_bflow_method_code
15812 ,p_business_class_code => l_bflow_class_code
15813 ,p_balance_type => l_balance_type_code);
15814 ELSE
15815 NULL;
15816 -- No business flow processing for business flow method of NONE.
15817 END IF;
15818
15819 --
15820 -- call analytical criteria
15821 --
15822
15823 --
15824 -- call description
15825 --
15826
15827 xla_ae_lines_pkg.SetLineDescription(
15828 p_ae_header_id => l_ae_header_id
15829 ,p_description => Description_1 (
15830 p_application_id => p_application_id
15831 , p_ae_header_id => l_ae_header_id
15832 , p_source_1 => p_source_1
15833 )
15834 );
15835
15836
15837 --
15838 -- call ADRs
15839 -- Bug 4922099
15840 --
15841 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15842 (NVL(l_actual_upg_option, 'N') = 'O') OR
15843 (NVL(l_enc_upg_option, 'N') = 'O')
15844 )
15845 THEN
15846 NULL;
15847 --
15848 --
15849
15850 l_ccid := AcctDerRule_30(
15851 p_application_id => p_application_id
15852 , p_ae_header_id => l_ae_header_id
15853 , p_source_15 => p_source_15
15854 , p_source_15_meaning => p_source_15_meaning
15855 , p_source_20 => p_source_20
15856 , p_source_21 => p_source_21
15857 , p_source_22 => p_source_22
15858 , p_source_22_meaning => p_source_22_meaning
15859 , p_source_23 => p_source_23
15860 , p_source_30 => p_source_30
15861 , p_source_47 => p_source_47
15862 , p_source_47_meaning => p_source_47_meaning
15863 , x_transaction_coa_id => l_adr_transaction_coa_id
15864 , x_accounting_coa_id => l_adr_accounting_coa_id
15865 , x_value_type_code => l_adr_value_type_code
15866 , p_side => 'ALL'
15867 );
15868
15869 xla_ae_lines_pkg.set_ccid(
15870 p_code_combination_id => l_ccid
15871 , p_value_type_code => l_adr_value_type_code
15872 , p_transaction_coa_id => l_adr_transaction_coa_id
15873 , p_accounting_coa_id => l_adr_accounting_coa_id
15874 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15875 , p_adr_type_code => 'S'
15876 , p_component_type => l_component_type
15877 , p_component_code => l_component_code
15878 , p_component_type_code => l_component_type_code
15879 , p_component_appl_id => l_component_appl_id
15880 , p_amb_context_code => l_amb_context_code
15881 , p_side => 'ALL'
15882 );
15883
15884
15885 l_segment := AcctDerRule_9(
15889 , p_source_15_meaning => p_source_15_meaning
15886 p_application_id => p_application_id
15887 , p_ae_header_id => l_ae_header_id
15888 , p_source_15 => p_source_15
15890 , p_source_20 => p_source_20
15891 , p_source_22 => p_source_22
15892 , p_source_22_meaning => p_source_22_meaning
15893 , x_transaction_coa_id => l_adr_transaction_coa_id
15894 , x_accounting_coa_id => l_adr_accounting_coa_id
15895 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15896 , x_flex_value_set_id => l_adr_flex_value_set_id
15897 , x_value_type_code => l_adr_value_type_code
15898 , x_value_combination_id => l_adr_value_combination_id
15899 , x_value_segment_code => l_adr_value_segment_code
15900 , p_side => 'CREDIT'
15901 , p_override_seg_flag => 'Y'
15902 );
15903
15904 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15905
15906 xla_ae_lines_pkg.set_segment(
15907 p_to_segment_code => 'GL_ACCOUNT'
15908 , p_segment_value => l_segment
15909 , p_from_segment_code => l_adr_value_segment_code
15910 , p_from_combination_id => l_adr_value_combination_id
15911 , p_value_type_code => l_adr_value_type_code
15912 , p_transaction_coa_id => l_adr_transaction_coa_id
15913 , p_accounting_coa_id => l_adr_accounting_coa_id
15914 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15915 , p_flex_value_set_id => l_adr_flex_value_set_id
15916 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15917 , p_adr_type_code => 'S'
15918 , p_component_type => l_component_type
15919 , p_component_code => l_component_code
15920 , p_component_type_code => l_component_type_code
15921 , p_component_appl_id => l_component_appl_id
15922 , p_amb_context_code => l_amb_context_code
15923 , p_entity_code => 'AP_INVOICES'
15924 , p_event_class_code => 'INVOICES'
15925 , p_side => 'CREDIT'
15926 );
15927
15928 END IF;
15929
15930 l_segment := AcctDerRule_10(
15931 p_application_id => p_application_id
15932 , p_ae_header_id => l_ae_header_id
15933 , p_source_15 => p_source_15
15934 , p_source_15_meaning => p_source_15_meaning
15935 , p_source_22 => p_source_22
15936 , p_source_22_meaning => p_source_22_meaning
15937 , p_source_23 => p_source_23
15938 , x_transaction_coa_id => l_adr_transaction_coa_id
15939 , x_accounting_coa_id => l_adr_accounting_coa_id
15940 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15941 , x_flex_value_set_id => l_adr_flex_value_set_id
15942 , x_value_type_code => l_adr_value_type_code
15943 , x_value_combination_id => l_adr_value_combination_id
15944 , x_value_segment_code => l_adr_value_segment_code
15945 , p_side => 'DEBIT'
15946 , p_override_seg_flag => 'Y'
15947 );
15948
15949 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15950
15951 xla_ae_lines_pkg.set_segment(
15952 p_to_segment_code => 'GL_ACCOUNT'
15953 , p_segment_value => l_segment
15954 , p_from_segment_code => l_adr_value_segment_code
15955 , p_from_combination_id => l_adr_value_combination_id
15956 , p_value_type_code => l_adr_value_type_code
15957 , p_transaction_coa_id => l_adr_transaction_coa_id
15958 , p_accounting_coa_id => l_adr_accounting_coa_id
15959 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15960 , p_flex_value_set_id => l_adr_flex_value_set_id
15961 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15962 , p_adr_type_code => 'S'
15963 , p_component_type => l_component_type
15964 , p_component_code => l_component_code
15965 , p_component_type_code => l_component_type_code
15966 , p_component_appl_id => l_component_appl_id
15967 , p_amb_context_code => l_amb_context_code
15968 , p_entity_code => 'AP_INVOICES'
15969 , p_event_class_code => 'INVOICES'
15970 , p_side => 'DEBIT'
15971 );
15972
15973 END IF;
15974
15975 l_segment := AcctDerRule_23(
15976 p_application_id => p_application_id
15977 , p_ae_header_id => l_ae_header_id
15978 , p_source_15 => p_source_15
15979 , p_source_15_meaning => p_source_15_meaning
15980 , p_source_22 => p_source_22
15981 , p_source_22_meaning => p_source_22_meaning
15982 , p_source_30 => p_source_30
15983 , x_transaction_coa_id => l_adr_transaction_coa_id
15984 , x_accounting_coa_id => l_adr_accounting_coa_id
15985 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15986 , x_flex_value_set_id => l_adr_flex_value_set_id
15987 , x_value_type_code => l_adr_value_type_code
15988 , x_value_combination_id => l_adr_value_combination_id
15989 , x_value_segment_code => l_adr_value_segment_code
15993
15990 , p_side => 'ALL'
15991 , p_override_seg_flag => 'Y'
15992 );
15994 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15995
15996 xla_ae_lines_pkg.set_segment(
15997 p_to_segment_code => 'GL_BALANCING'
15998 , p_segment_value => l_segment
15999 , p_from_segment_code => l_adr_value_segment_code
16000 , p_from_combination_id => l_adr_value_combination_id
16001 , p_value_type_code => l_adr_value_type_code
16002 , p_transaction_coa_id => l_adr_transaction_coa_id
16003 , p_accounting_coa_id => l_adr_accounting_coa_id
16004 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16005 , p_flex_value_set_id => l_adr_flex_value_set_id
16006 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16007 , p_adr_type_code => 'S'
16008 , p_component_type => l_component_type
16009 , p_component_code => l_component_code
16010 , p_component_type_code => l_component_type_code
16011 , p_component_appl_id => l_component_appl_id
16012 , p_amb_context_code => l_amb_context_code
16013 , p_entity_code => 'AP_INVOICES'
16014 , p_event_class_code => 'INVOICES'
16015 , p_side => 'ALL'
16016 );
16017
16018 END IF;
16019
16020 --
16021 --
16022 END IF;
16023 --
16024 -- Bug 4922099
16025 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
16026 (NVL(l_enc_upg_option, 'N') = 'O')
16027 ) AND
16028 (l_bflow_method_code = 'PRIOR_ENTRY')
16029 )
16030 THEN
16031 IF
16032 --
16033 1 = 2
16034 --
16035 THEN
16036 xla_accounting_err_pkg.build_message
16037 (p_appli_s_name => 'XLA'
16038 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16039 ,p_token_1 => 'LINE_NUMBER'
16040 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16041 ,p_token_2 => 'LINE_TYPE_NAME'
16042 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16043 l_component_type
16044 ,l_component_code
16045 ,l_component_type_code
16046 ,l_component_appl_id
16047 ,l_amb_context_code
16048 ,l_entity_code
16049 ,l_event_class_code
16050 )
16051 ,p_token_3 => 'OWNER'
16052 ,p_value_3 => xla_lookups_pkg.get_meaning(
16053 p_lookup_type => 'XLA_OWNER_TYPE'
16054 ,p_lookup_code => l_component_type_code
16055 )
16056 ,p_token_4 => 'PRODUCT_NAME'
16057 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
16058 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
16059 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
16060 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
16061 ,p_ae_header_id => NULL
16062 );
16063
16064 IF (C_LEVEL_ERROR>= g_log_level) THEN
16065 trace
16066 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16067 ,p_level => C_LEVEL_ERROR
16068 ,p_module => l_log_module);
16069 END IF;
16070 END IF;
16071 END IF;
16072 --
16073 --
16074 ------------------------------------------------------------------------------------------------
16075 -- 4219869 Business Flow
16076 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16077 -- Prior Entry. Currently, the following code is always generated.
16078 ------------------------------------------------------------------------------------------------
16079 XLA_AE_LINES_PKG.ValidateCurrentLine;
16080
16081 ------------------------------------------------------------------------------------
16082 -- 4219869 Business Flow
16083 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
16084 ------------------------------------------------------------------------------------
16085 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16086
16090 ----------------------------------------------------------------------------------
16087 ----------------------------------------------------------------------------------
16088 -- 4219869 Business Flow
16089 -- Update journal entry status -- Need to generate this within IF <condition>
16091 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16092 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
16093 ,p_balance_type_code => l_balance_type_code
16094 );
16095
16096 -------------------------------------------------------------------------------------------
16097 -- 4262811 - Generate the Accrual Reversal lines
16098 -------------------------------------------------------------------------------------------
16099 BEGIN
16100 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
16101 (g_array_event(p_event_id).array_value_num('header_index'));
16102 IF l_acc_rev_flag IS NULL THEN
16103 l_acc_rev_flag := 'N';
16104 END IF;
16105 EXCEPTION
16106 WHEN OTHERS THEN
16107 l_acc_rev_flag := 'N';
16108 END;
16109 --
16110 IF (l_acc_rev_flag = 'Y') THEN
16111
16112 -- 4645092 ------------------------------------------------------------------------------
16113 -- To allow MPA report to determine if it should generate report process
16114 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16115 ------------------------------------------------------------------------------------------
16116
16117 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16118 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16119 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16120 -- call ADRs
16121 -- Bug 4922099
16122 --
16123 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16124 (NVL(l_actual_upg_option, 'N') = 'O') OR
16125 (NVL(l_enc_upg_option, 'N') = 'O')
16126 )
16127 THEN
16128 NULL;
16129 --
16130 --
16131
16132 l_ccid := AcctDerRule_30(
16133 p_application_id => p_application_id
16134 , p_ae_header_id => l_ae_header_id
16135 , p_source_15 => p_source_15
16136 , p_source_15_meaning => p_source_15_meaning
16137 , p_source_20 => p_source_20
16138 , p_source_21 => p_source_21
16139 , p_source_22 => p_source_22
16140 , p_source_22_meaning => p_source_22_meaning
16141 , p_source_23 => p_source_23
16142 , p_source_30 => p_source_30
16143 , p_source_47 => p_source_47
16144 , p_source_47_meaning => p_source_47_meaning
16145 , x_transaction_coa_id => l_adr_transaction_coa_id
16146 , x_accounting_coa_id => l_adr_accounting_coa_id
16147 , x_value_type_code => l_adr_value_type_code
16148 , p_side => 'ALL'
16149 );
16150
16151 xla_ae_lines_pkg.set_ccid(
16152 p_code_combination_id => l_ccid
16153 , p_value_type_code => l_adr_value_type_code
16154 , p_transaction_coa_id => l_adr_transaction_coa_id
16155 , p_accounting_coa_id => l_adr_accounting_coa_id
16156 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16157 , p_adr_type_code => 'S'
16158 , p_component_type => l_component_type
16159 , p_component_code => l_component_code
16160 , p_component_type_code => l_component_type_code
16161 , p_component_appl_id => l_component_appl_id
16162 , p_amb_context_code => l_amb_context_code
16163 , p_side => 'ALL'
16164 );
16165
16166
16167 l_segment := AcctDerRule_9(
16168 p_application_id => p_application_id
16169 , p_ae_header_id => l_ae_header_id
16170 , p_source_15 => p_source_15
16171 , p_source_15_meaning => p_source_15_meaning
16172 , p_source_20 => p_source_20
16173 , p_source_22 => p_source_22
16174 , p_source_22_meaning => p_source_22_meaning
16175 , x_transaction_coa_id => l_adr_transaction_coa_id
16176 , x_accounting_coa_id => l_adr_accounting_coa_id
16177 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16178 , x_flex_value_set_id => l_adr_flex_value_set_id
16179 , x_value_type_code => l_adr_value_type_code
16180 , x_value_combination_id => l_adr_value_combination_id
16181 , x_value_segment_code => l_adr_value_segment_code
16182 , p_side => 'CREDIT'
16183 , p_override_seg_flag => 'Y'
16184 );
16185
16186 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16187
16188 xla_ae_lines_pkg.set_segment(
16189 p_to_segment_code => 'GL_ACCOUNT'
16190 , p_segment_value => l_segment
16191 , p_from_segment_code => l_adr_value_segment_code
16192 , p_from_combination_id => l_adr_value_combination_id
16193 , p_value_type_code => l_adr_value_type_code
16194 , p_transaction_coa_id => l_adr_transaction_coa_id
16195 , p_accounting_coa_id => l_adr_accounting_coa_id
16196 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16197 , p_flex_value_set_id => l_adr_flex_value_set_id
16198 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16199 , p_adr_type_code => 'S'
16200 , p_component_type => l_component_type
16204 , p_amb_context_code => l_amb_context_code
16201 , p_component_code => l_component_code
16202 , p_component_type_code => l_component_type_code
16203 , p_component_appl_id => l_component_appl_id
16205 , p_entity_code => 'AP_INVOICES'
16206 , p_event_class_code => 'INVOICES'
16207 , p_side => 'CREDIT'
16208 );
16209
16210 END IF;
16211
16212 l_segment := AcctDerRule_10(
16213 p_application_id => p_application_id
16214 , p_ae_header_id => l_ae_header_id
16215 , p_source_15 => p_source_15
16216 , p_source_15_meaning => p_source_15_meaning
16217 , p_source_22 => p_source_22
16218 , p_source_22_meaning => p_source_22_meaning
16219 , p_source_23 => p_source_23
16220 , x_transaction_coa_id => l_adr_transaction_coa_id
16221 , x_accounting_coa_id => l_adr_accounting_coa_id
16222 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16223 , x_flex_value_set_id => l_adr_flex_value_set_id
16224 , x_value_type_code => l_adr_value_type_code
16225 , x_value_combination_id => l_adr_value_combination_id
16226 , x_value_segment_code => l_adr_value_segment_code
16227 , p_side => 'DEBIT'
16228 , p_override_seg_flag => 'Y'
16229 );
16230
16231 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16232
16233 xla_ae_lines_pkg.set_segment(
16234 p_to_segment_code => 'GL_ACCOUNT'
16235 , p_segment_value => l_segment
16236 , p_from_segment_code => l_adr_value_segment_code
16237 , p_from_combination_id => l_adr_value_combination_id
16238 , p_value_type_code => l_adr_value_type_code
16239 , p_transaction_coa_id => l_adr_transaction_coa_id
16240 , p_accounting_coa_id => l_adr_accounting_coa_id
16241 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16242 , p_flex_value_set_id => l_adr_flex_value_set_id
16243 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16244 , p_adr_type_code => 'S'
16245 , p_component_type => l_component_type
16246 , p_component_code => l_component_code
16247 , p_component_type_code => l_component_type_code
16248 , p_component_appl_id => l_component_appl_id
16249 , p_amb_context_code => l_amb_context_code
16250 , p_entity_code => 'AP_INVOICES'
16251 , p_event_class_code => 'INVOICES'
16252 , p_side => 'DEBIT'
16253 );
16254
16255 END IF;
16256
16257 l_segment := AcctDerRule_23(
16258 p_application_id => p_application_id
16259 , p_ae_header_id => l_ae_header_id
16260 , p_source_15 => p_source_15
16261 , p_source_15_meaning => p_source_15_meaning
16262 , p_source_22 => p_source_22
16263 , p_source_22_meaning => p_source_22_meaning
16264 , p_source_30 => p_source_30
16265 , x_transaction_coa_id => l_adr_transaction_coa_id
16266 , x_accounting_coa_id => l_adr_accounting_coa_id
16267 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16268 , x_flex_value_set_id => l_adr_flex_value_set_id
16269 , x_value_type_code => l_adr_value_type_code
16270 , x_value_combination_id => l_adr_value_combination_id
16271 , x_value_segment_code => l_adr_value_segment_code
16272 , p_side => 'ALL'
16273 , p_override_seg_flag => 'Y'
16274 );
16275
16276 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16277
16278 xla_ae_lines_pkg.set_segment(
16279 p_to_segment_code => 'GL_BALANCING'
16280 , p_segment_value => l_segment
16281 , p_from_segment_code => l_adr_value_segment_code
16282 , p_from_combination_id => l_adr_value_combination_id
16283 , p_value_type_code => l_adr_value_type_code
16284 , p_transaction_coa_id => l_adr_transaction_coa_id
16285 , p_accounting_coa_id => l_adr_accounting_coa_id
16286 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16287 , p_flex_value_set_id => l_adr_flex_value_set_id
16288 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16289 , p_adr_type_code => 'S'
16290 , p_component_type => l_component_type
16291 , p_component_code => l_component_code
16292 , p_component_type_code => l_component_type_code
16293 , p_component_appl_id => l_component_appl_id
16294 , p_amb_context_code => l_amb_context_code
16295 , p_entity_code => 'AP_INVOICES'
16296 , p_event_class_code => 'INVOICES'
16297 , p_side => 'ALL'
16298 );
16299
16300 END IF;
16301
16302 --
16303 --
16304 END IF;
16305
16306 --
16307 -- Update the line information that should be overwritten
16308 --
16309 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16310 p_header_num => 1);
16311 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16312
16313 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16314
16315 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16319 --
16316 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16317 END IF;
16318
16320 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16321 --
16322 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16323 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16324 ELSE
16325 ---------------------------------------------------------------------------------------------------
16326 -- 4262811a Switch Sign
16327 ---------------------------------------------------------------------------------------------------
16328 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16329 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16330 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16331 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16332 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16333 -- 5132302
16334 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16335 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16336
16337 END IF;
16338
16339 -- 4955764
16340 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16341 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16342
16343
16344 XLA_AE_LINES_PKG.ValidateCurrentLine;
16345 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16346
16347 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16348 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16349 ,p_balance_type_code => l_balance_type_code);
16350
16351 END IF;
16352
16353 -----------------------------------------------------------------------------------------
16354 -- 4262811 Multiperiod Accounting
16355 -----------------------------------------------------------------------------------------
16356 -- No MPA option is assigned.
16357
16358
16359 END IF;
16360 END IF;
16361 --
16362
16363 --
16364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16365 trace
16366 (p_msg => 'END of AcctLineType_56'
16367 ,p_level => C_LEVEL_PROCEDURE
16368 ,p_module => l_log_module);
16369 END IF;
16370 --
16371 EXCEPTION
16372 WHEN xla_exceptions_pkg.application_exception THEN
16373 RAISE;
16374 WHEN OTHERS THEN
16375 xla_exceptions_pkg.raise_message
16376 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_56');
16377 END AcctLineType_56;
16378 --
16379
16380 ---------------------------------------
16381 --
16382 -- PRIVATE FUNCTION
16383 -- AcctLineType_57
16384 --
16385 ---------------------------------------
16386 PROCEDURE AcctLineType_57 (
16387 p_application_id IN NUMBER
16388 ,p_event_id IN NUMBER
16389 ,p_calculate_acctd_flag IN VARCHAR2
16390 ,p_calculate_g_l_flag IN VARCHAR2
16391 ,p_actual_flag IN OUT VARCHAR2
16392 ,p_balance_type_code OUT VARCHAR2
16393 ,p_gain_or_loss_ref OUT VARCHAR2
16394
16395 --Invoice Distribution Description
16396 , p_source_1 IN VARCHAR2
16397 --Automatic Offsets Value
16398 , p_source_15 IN VARCHAR2
16399 , p_source_15_meaning IN VARCHAR2
16400 --Purchase Order Rate Variance Gain Account
16401 , p_source_20 IN NUMBER
16402 --Invoice Distribution Ledger Amount
16403 , p_source_21 IN NUMBER
16404 --Destination Type of the PO Distribution
16405 , p_source_22 IN VARCHAR2
16406 , p_source_22_meaning IN VARCHAR2
16407 --Purchase Order Rate Variance Loss Account
16408 , p_source_23 IN NUMBER
16409 --Invoice Distribution Account
16410 , p_source_30 IN NUMBER
16411 --Invoice Distribution Type
16412 , p_source_33 IN VARCHAR2
16413 , p_source_33_meaning IN VARCHAR2
16414 --Automatic Offsets Flag
16415 , p_source_47 IN VARCHAR2
16416 , p_source_47_meaning IN VARCHAR2
16417 --Accounting Reversal Indicator
16418 , p_source_52 IN VARCHAR2
16419 --Distribution Link Type
16420 , p_source_54 IN VARCHAR2
16421 --Allocation to Main Distribution Identifier
16422 , p_source_56 IN NUMBER
16423 --Invoice Identifier
16424 , p_source_57 IN NUMBER
16425 --Invoice Distribution Identifier
16426 , p_source_63 IN NUMBER
16427 --Payables Encumbrance Upgrade Credit Account
16428 , p_source_64 IN NUMBER
16429 --Payables Encumbrance Upgrade Credit Amount
16430 , p_source_65 IN NUMBER
16431 --Invoice Currency Code
16432 , p_source_66 IN VARCHAR2
16433 --Payables Encumbrance Upgrade Credit Base Amount
16434 , p_source_67 IN NUMBER
16435 --Payables Encumbrance Upgrade Debit Account
16436 , p_source_68 IN NUMBER
16437 --Payables Encumbrance Upgrade Debit Amount
16438 , p_source_69 IN NUMBER
16442 , p_source_71 IN VARCHAR2
16439 --Payables Encumbrance Upgrade Debit Base Amount
16440 , p_source_70 IN NUMBER
16441 --Payables Encumbrance Upgrade Option
16443 --Deferred Accounting End Date
16444 , p_source_76 IN DATE
16445 --Deferred Accounting Option
16446 , p_source_77 IN VARCHAR2
16447 --Deferred Accounting Start Date
16448 , p_source_78 IN DATE
16449 --Override Accounted Amount Indicator
16450 , p_source_79 IN VARCHAR2
16451 , p_source_79_meaning IN VARCHAR2
16452 --Invoice Supplier Identifier
16453 , p_source_80 IN NUMBER
16454 --Invoice Supplier Site Identifier
16455 , p_source_81 IN NUMBER
16456 --Third Party Type
16457 , p_source_82 IN VARCHAR2
16458 --Parent Reversal Identifier
16459 , p_source_83 IN NUMBER
16460 --Invoice Distribution Statistical Amount
16461 , p_source_84 IN NUMBER
16462 --Invoice Distribution Tax Line Identifier
16463 , p_source_85 IN NUMBER
16464 --Invoice Distribution Tax Distribution Identifier from Tax
16465 , p_source_86 IN NUMBER
16466 --Invoice Distribution Summary Tax Line Identifier
16467 , p_source_87 IN NUMBER
16468 --Payables Upgrade Credit Encumbrance Type Identifier
16469 , p_source_88 IN NUMBER
16470 --Payables Upgrade Debit Encumbrance Type Identifier
16471 , p_source_89 IN NUMBER
16472 --Business Flow Accounts Payable Application Identifier
16473 , p_source_90 IN NUMBER
16474 --Business Flow Invoice Distribution Type
16475 , p_source_91 IN VARCHAR2
16476 --Business Flow Invoice Entity Code
16477 , p_source_92 IN VARCHAR2
16478 --Business Flow Invoice Distribution Identifier
16479 , p_source_93 IN NUMBER
16480 --Business Flow Invoice Identifier
16481 , p_source_94 IN NUMBER
16482 --Accrue on Receipt Option
16483 , p_source_95 IN VARCHAR2
16484 , p_source_95_meaning IN VARCHAR2
16485 )
16486 IS
16487
16488 l_component_type VARCHAR2(80);
16489 l_component_code VARCHAR2(30);
16490 l_component_type_code VARCHAR2(1);
16491 l_component_appl_id INTEGER;
16492 l_amb_context_code VARCHAR2(30);
16493 l_entity_code VARCHAR2(30);
16494 l_event_class_code VARCHAR2(30);
16495 l_ae_header_id NUMBER;
16496 l_event_type_code VARCHAR2(30);
16497 l_line_definition_code VARCHAR2(30);
16498 l_line_definition_owner_code VARCHAR2(1);
16499 --
16500 -- adr variables
16501 l_segment VARCHAR2(30);
16502 l_ccid NUMBER;
16503 l_adr_transaction_coa_id NUMBER;
16504 l_adr_accounting_coa_id NUMBER;
16505 l_adr_flexfield_segment_code VARCHAR2(30);
16506 l_adr_flex_value_set_id NUMBER;
16507 l_adr_value_type_code VARCHAR2(30);
16508 l_adr_value_combination_id NUMBER;
16509 l_adr_value_segment_code VARCHAR2(30);
16510
16511 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
16512 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
16513 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
16514 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
16515
16516 -- 4262811 Variables ------------------------------------------------------------------------------------------
16517 l_entered_amt_idx NUMBER;
16518 l_accted_amt_idx NUMBER;
16519 l_acc_rev_flag VARCHAR2(1);
16520 l_accrual_line_num NUMBER;
16521 l_tmp_amt NUMBER;
16522 l_acc_rev_natural_side_code VARCHAR2(1);
16523
16524 l_num_entries NUMBER;
16525 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
16526 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
16527 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
16528 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
16529 l_recog_line_1 NUMBER;
16530 l_recog_line_2 NUMBER;
16531
16532 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
16533 l_bflow_applied_to_amt NUMBER; -- 5132302
16534 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
16535
16536 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
16537
16538 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
16539 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
16540
16541 ---------------------------------------------------------------------------------------------------------------
16542
16543
16544 --
16545 -- bulk performance
16546 --
16547 l_balance_type_code VARCHAR2(1);
16548 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16549 l_log_module VARCHAR2(240);
16550
16551 --
16552 -- Upgrade strategy
16553 --
16554 l_actual_upg_option VARCHAR2(1);
16555 l_enc_upg_option VARCHAR2(1);
16556
16557 --
16558 BEGIN
16559 --
16560 IF g_log_enabled THEN
16561 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_57';
16562 END IF;
16563 --
16564 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16565
16566 trace
16567 (p_msg => 'BEGIN of AcctLineType_57'
16571 END IF;
16568 ,p_level => C_LEVEL_PROCEDURE
16569 ,p_module => l_log_module);
16570
16572 --
16573 l_component_type := 'AMB_JLT';
16574 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_PREPAY';
16575 l_component_type_code := 'S';
16576 l_component_appl_id := 200;
16577 l_amb_context_code := 'DEFAULT';
16578 l_entity_code := 'AP_INVOICES';
16579 l_event_class_code := 'PREPAYMENTS';
16580 l_event_type_code := 'PREPAYMENTS_ALL';
16581 l_line_definition_owner_code := 'S';
16582 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
16583 --
16584 l_balance_type_code := 'A';
16585 l_segment := NULL;
16586 l_ccid := NULL;
16587 l_adr_transaction_coa_id := NULL;
16588 l_adr_accounting_coa_id := NULL;
16589 l_adr_flexfield_segment_code := NULL;
16590 l_adr_flex_value_set_id := NULL;
16591 l_adr_value_type_code := NULL;
16592 l_adr_value_combination_id := NULL;
16593 l_adr_value_segment_code := NULL;
16594
16595 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16596 l_bflow_class_code := ''; -- 4219869 Business Flow
16597 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16598 l_budgetary_control_flag := 'N';
16599
16600 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16601 l_bflow_applied_to_amt := NULL; -- 5132302
16602 l_entered_amt_idx := NULL; -- 4262811
16603 l_accted_amt_idx := NULL; -- 4262811
16604 l_acc_rev_flag := NULL; -- 4262811
16605 l_accrual_line_num := NULL; -- 4262811
16606 l_tmp_amt := NULL; -- 4262811
16607 --
16608 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
16609 (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
16610 return;
16611 END IF;
16612
16613 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16614 l_balance_type_code <> 'B' THEN
16615 IF NVL(p_source_33,'
16616 ') = 'NONREC_TAX' AND
16617 NVL(p_source_95,'
16618 ') = 'Y'
16619 THEN
16620
16621 --
16622 XLA_AE_LINES_PKG.SetNewLine;
16623
16624 p_balance_type_code := l_balance_type_code;
16625 -- set the flag so later we will know whether the gain loss line needs to be created
16626
16627 IF(l_balance_type_code = 'A' ) THEN
16628 p_actual_flag :='G';
16629 END IF;
16630
16631 --
16632 -- bulk performance
16633 --
16634 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16635 p_header_num => 0); -- 4262811
16636 --
16637 -- set accounting line options
16638 --
16639 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16640 p_natural_side_code => 'G'
16641 , p_gain_or_loss_flag => 'N'
16642 , p_gl_transfer_mode_code => 'S'
16643 , p_acct_entry_type_code => 'A'
16644 , p_switch_side_flag => ''
16645 , p_merge_duplicate_code => 'A'
16646 );
16647 --
16648 l_acc_rev_natural_side_code := 'C'; -- 4262811
16649 --
16650 --
16651 -- set accounting line type info
16652 --
16653 xla_ae_lines_pkg.SetAcctLineType
16654 (p_component_type => l_component_type
16655 ,p_event_type_code => l_event_type_code
16656 ,p_line_definition_owner_code => l_line_definition_owner_code
16657 ,p_line_definition_code => l_line_definition_code
16658 ,p_accounting_line_code => l_component_code
16659 ,p_accounting_line_type_code => l_component_type_code
16660 ,p_accounting_line_appl_id => l_component_appl_id
16661 ,p_amb_context_code => l_amb_context_code
16662 ,p_entity_code => l_entity_code
16663 ,p_event_class_code => l_event_class_code);
16664 --
16665 -- set accounting class
16666 --
16667 xla_ae_lines_pkg.SetAcctClass(
16668 p_accounting_class_code => 'TERV'
16669 , p_ae_header_id => l_ae_header_id
16670 );
16671
16672 --
16673 -- set rounding class
16674 --
16675 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16676 'TERV';
16677
16678 --
16679 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16680 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16681 --
16682 -- bulk performance
16683 --
16684 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16685
16686 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16687 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16688
16689 -- 4955764
16690 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16694
16691 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16692
16693 -- 4458381 Public Sector Enh
16695 --
16696 -- set accounting attributes for the line type
16697 --
16698 l_entered_amt_idx := NULL;
16699 l_accted_amt_idx := 23;
16700 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16701 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16702 l_rec_acct_attrs.array_char_value(1) := p_source_52;
16703 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16704 l_rec_acct_attrs.array_num_value(2) :=
16705 xla_ae_sources_pkg.GetSystemSourceNum(
16706 p_source_code => 'XLA_EVENT_APPL_ID'
16707 , p_source_type_code => 'Y'
16708 , p_source_application_id => 602
16709 );
16710 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16711 l_rec_acct_attrs.array_char_value(3) := p_source_54;
16712 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16713 l_rec_acct_attrs.array_char_value(4) :=
16714 xla_ae_sources_pkg.GetSystemSourceChar(
16715 p_source_code => 'XLA_ENTITY_CODE'
16716 , p_source_type_code => 'Y'
16717 , p_source_application_id => 602
16718 );
16719 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16720 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
16721 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16722 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
16723 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
16724 l_rec_acct_attrs.array_num_value(7) := p_source_90;
16725 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16726 l_rec_acct_attrs.array_char_value(8) := p_source_91;
16727 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
16728 l_rec_acct_attrs.array_char_value(9) := p_source_92;
16729 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
16730 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
16731 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16732 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
16733 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
16734 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
16735 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
16736 l_rec_acct_attrs.array_char_value(13) := p_source_54;
16737 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
16738 l_rec_acct_attrs.array_num_value(14) := p_source_64;
16739 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
16740 l_rec_acct_attrs.array_num_value(15) := p_source_65;
16741 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
16742 l_rec_acct_attrs.array_char_value(16) := p_source_66;
16743 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
16744 l_rec_acct_attrs.array_num_value(17) := p_source_67;
16745 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
16746 l_rec_acct_attrs.array_num_value(18) := p_source_68;
16747 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
16748 l_rec_acct_attrs.array_num_value(19) := p_source_69;
16749 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
16750 l_rec_acct_attrs.array_char_value(20) := p_source_66;
16751 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
16752 l_rec_acct_attrs.array_num_value(21) := p_source_70;
16753 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
16754 l_rec_acct_attrs.array_char_value(22) := p_source_71;
16755 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
16756 l_rec_acct_attrs.array_num_value(23) := p_source_21;
16757 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
16758 l_rec_acct_attrs.array_date_value(24) := p_source_76;
16759 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
16760 l_rec_acct_attrs.array_char_value(25) := p_source_77;
16761 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
16762 l_rec_acct_attrs.array_date_value(26) := p_source_78;
16763 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
16764 l_rec_acct_attrs.array_char_value(27) := p_source_79;
16765 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
16766 l_rec_acct_attrs.array_num_value(28) := p_source_80;
16767 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
16768 l_rec_acct_attrs.array_num_value(29) := p_source_81;
16769 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
16770 l_rec_acct_attrs.array_char_value(30) := p_source_82;
16771 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
16772 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_83);
16773 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
16774 l_rec_acct_attrs.array_char_value(32) := p_source_54;
16775 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
16776 l_rec_acct_attrs.array_num_value(33) := p_source_84;
16777 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
16778 l_rec_acct_attrs.array_num_value(34) := p_source_85;
16779 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
16780 l_rec_acct_attrs.array_num_value(35) := p_source_86;
16781 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
16785 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
16782 l_rec_acct_attrs.array_num_value(36) := p_source_87;
16783 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
16784 l_rec_acct_attrs.array_num_value(37) := p_source_88;
16786 l_rec_acct_attrs.array_num_value(38) := p_source_89;
16787
16788 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16789 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16790
16791 ---------------------------------------------------------------------------------------------------------------
16792 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16793 ---------------------------------------------------------------------------------------------------------------
16794 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16795
16796 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16797 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16798
16799 IF xla_accounting_cache_pkg.GetValueChar
16800 (p_source_code => 'LEDGER_CATEGORY_CODE'
16801 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16802 AND l_bflow_method_code = 'PRIOR_ENTRY'
16803 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16804 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16805 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16806 )
16807 THEN
16808 xla_ae_lines_pkg.BflowUpgEntry
16809 (p_business_method_code => l_bflow_method_code
16810 ,p_business_class_code => l_bflow_class_code
16811 ,p_balance_type => l_balance_type_code);
16812 ELSE
16813 NULL;
16814 -- No business flow processing for business flow method of NONE.
16815 END IF;
16816
16817 --
16818 -- call analytical criteria
16819 --
16820
16821 --
16822 -- call description
16823 --
16824
16825 xla_ae_lines_pkg.SetLineDescription(
16826 p_ae_header_id => l_ae_header_id
16827 ,p_description => Description_1 (
16828 p_application_id => p_application_id
16829 , p_ae_header_id => l_ae_header_id
16830 , p_source_1 => p_source_1
16831 )
16832 );
16833
16834
16835 --
16836 -- call ADRs
16837 -- Bug 4922099
16838 --
16839 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16840 (NVL(l_actual_upg_option, 'N') = 'O') OR
16841 (NVL(l_enc_upg_option, 'N') = 'O')
16842 )
16843 THEN
16844 NULL;
16845 --
16846 --
16847
16848 l_ccid := AcctDerRule_30(
16849 p_application_id => p_application_id
16850 , p_ae_header_id => l_ae_header_id
16851 , p_source_15 => p_source_15
16852 , p_source_15_meaning => p_source_15_meaning
16853 , p_source_20 => p_source_20
16854 , p_source_21 => p_source_21
16855 , p_source_22 => p_source_22
16856 , p_source_22_meaning => p_source_22_meaning
16857 , p_source_23 => p_source_23
16858 , p_source_30 => p_source_30
16859 , p_source_47 => p_source_47
16860 , p_source_47_meaning => p_source_47_meaning
16861 , x_transaction_coa_id => l_adr_transaction_coa_id
16862 , x_accounting_coa_id => l_adr_accounting_coa_id
16863 , x_value_type_code => l_adr_value_type_code
16864 , p_side => 'ALL'
16865 );
16866
16867 xla_ae_lines_pkg.set_ccid(
16868 p_code_combination_id => l_ccid
16869 , p_value_type_code => l_adr_value_type_code
16870 , p_transaction_coa_id => l_adr_transaction_coa_id
16871 , p_accounting_coa_id => l_adr_accounting_coa_id
16872 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16873 , p_adr_type_code => 'S'
16874 , p_component_type => l_component_type
16875 , p_component_code => l_component_code
16876 , p_component_type_code => l_component_type_code
16877 , p_component_appl_id => l_component_appl_id
16878 , p_amb_context_code => l_amb_context_code
16879 , p_side => 'ALL'
16880 );
16881
16882
16883 l_segment := AcctDerRule_9(
16884 p_application_id => p_application_id
16885 , p_ae_header_id => l_ae_header_id
16886 , p_source_15 => p_source_15
16887 , p_source_15_meaning => p_source_15_meaning
16888 , p_source_20 => p_source_20
16889 , p_source_22 => p_source_22
16890 , p_source_22_meaning => p_source_22_meaning
16891 , x_transaction_coa_id => l_adr_transaction_coa_id
16892 , x_accounting_coa_id => l_adr_accounting_coa_id
16893 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16894 , x_flex_value_set_id => l_adr_flex_value_set_id
16895 , x_value_type_code => l_adr_value_type_code
16896 , x_value_combination_id => l_adr_value_combination_id
16897 , x_value_segment_code => l_adr_value_segment_code
16898 , p_side => 'CREDIT'
16899 , p_override_seg_flag => 'Y'
16900 );
16901
16905 p_to_segment_code => 'GL_ACCOUNT'
16902 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16903
16904 xla_ae_lines_pkg.set_segment(
16906 , p_segment_value => l_segment
16907 , p_from_segment_code => l_adr_value_segment_code
16908 , p_from_combination_id => l_adr_value_combination_id
16909 , p_value_type_code => l_adr_value_type_code
16910 , p_transaction_coa_id => l_adr_transaction_coa_id
16911 , p_accounting_coa_id => l_adr_accounting_coa_id
16912 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16913 , p_flex_value_set_id => l_adr_flex_value_set_id
16914 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16915 , p_adr_type_code => 'S'
16916 , p_component_type => l_component_type
16917 , p_component_code => l_component_code
16918 , p_component_type_code => l_component_type_code
16919 , p_component_appl_id => l_component_appl_id
16920 , p_amb_context_code => l_amb_context_code
16921 , p_entity_code => 'AP_INVOICES'
16922 , p_event_class_code => 'PREPAYMENTS'
16923 , p_side => 'CREDIT'
16924 );
16925
16926 END IF;
16927
16928 l_segment := AcctDerRule_10(
16929 p_application_id => p_application_id
16930 , p_ae_header_id => l_ae_header_id
16931 , p_source_15 => p_source_15
16932 , p_source_15_meaning => p_source_15_meaning
16933 , p_source_22 => p_source_22
16934 , p_source_22_meaning => p_source_22_meaning
16935 , p_source_23 => p_source_23
16936 , x_transaction_coa_id => l_adr_transaction_coa_id
16937 , x_accounting_coa_id => l_adr_accounting_coa_id
16938 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16939 , x_flex_value_set_id => l_adr_flex_value_set_id
16940 , x_value_type_code => l_adr_value_type_code
16941 , x_value_combination_id => l_adr_value_combination_id
16942 , x_value_segment_code => l_adr_value_segment_code
16943 , p_side => 'DEBIT'
16944 , p_override_seg_flag => 'Y'
16945 );
16946
16947 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16948
16949 xla_ae_lines_pkg.set_segment(
16950 p_to_segment_code => 'GL_ACCOUNT'
16951 , p_segment_value => l_segment
16952 , p_from_segment_code => l_adr_value_segment_code
16953 , p_from_combination_id => l_adr_value_combination_id
16954 , p_value_type_code => l_adr_value_type_code
16955 , p_transaction_coa_id => l_adr_transaction_coa_id
16956 , p_accounting_coa_id => l_adr_accounting_coa_id
16957 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16958 , p_flex_value_set_id => l_adr_flex_value_set_id
16959 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16960 , p_adr_type_code => 'S'
16961 , p_component_type => l_component_type
16962 , p_component_code => l_component_code
16963 , p_component_type_code => l_component_type_code
16964 , p_component_appl_id => l_component_appl_id
16965 , p_amb_context_code => l_amb_context_code
16966 , p_entity_code => 'AP_INVOICES'
16967 , p_event_class_code => 'PREPAYMENTS'
16968 , p_side => 'DEBIT'
16969 );
16970
16971 END IF;
16972
16973 l_segment := AcctDerRule_23(
16974 p_application_id => p_application_id
16975 , p_ae_header_id => l_ae_header_id
16976 , p_source_15 => p_source_15
16977 , p_source_15_meaning => p_source_15_meaning
16978 , p_source_22 => p_source_22
16979 , p_source_22_meaning => p_source_22_meaning
16980 , p_source_30 => p_source_30
16981 , x_transaction_coa_id => l_adr_transaction_coa_id
16982 , x_accounting_coa_id => l_adr_accounting_coa_id
16983 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16984 , x_flex_value_set_id => l_adr_flex_value_set_id
16985 , x_value_type_code => l_adr_value_type_code
16986 , x_value_combination_id => l_adr_value_combination_id
16987 , x_value_segment_code => l_adr_value_segment_code
16988 , p_side => 'ALL'
16989 , p_override_seg_flag => 'Y'
16990 );
16991
16992 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16993
16994 xla_ae_lines_pkg.set_segment(
16995 p_to_segment_code => 'GL_BALANCING'
16996 , p_segment_value => l_segment
16997 , p_from_segment_code => l_adr_value_segment_code
16998 , p_from_combination_id => l_adr_value_combination_id
16999 , p_value_type_code => l_adr_value_type_code
17000 , p_transaction_coa_id => l_adr_transaction_coa_id
17001 , p_accounting_coa_id => l_adr_accounting_coa_id
17002 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17003 , p_flex_value_set_id => l_adr_flex_value_set_id
17004 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17005 , p_adr_type_code => 'S'
17009 , p_component_appl_id => l_component_appl_id
17006 , p_component_type => l_component_type
17007 , p_component_code => l_component_code
17008 , p_component_type_code => l_component_type_code
17010 , p_amb_context_code => l_amb_context_code
17011 , p_entity_code => 'AP_INVOICES'
17012 , p_event_class_code => 'PREPAYMENTS'
17013 , p_side => 'ALL'
17014 );
17015
17016 END IF;
17017
17018 --
17019 --
17020 END IF;
17021 --
17022 -- Bug 4922099
17023 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17024 (NVL(l_enc_upg_option, 'N') = 'O')
17025 ) AND
17026 (l_bflow_method_code = 'PRIOR_ENTRY')
17027 )
17028 THEN
17029 IF
17030 --
17031 1 = 2
17032 --
17033 THEN
17034 xla_accounting_err_pkg.build_message
17035 (p_appli_s_name => 'XLA'
17036 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17037 ,p_token_1 => 'LINE_NUMBER'
17038 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17039 ,p_token_2 => 'LINE_TYPE_NAME'
17040 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17041 l_component_type
17042 ,l_component_code
17043 ,l_component_type_code
17044 ,l_component_appl_id
17045 ,l_amb_context_code
17046 ,l_entity_code
17047 ,l_event_class_code
17048 )
17049 ,p_token_3 => 'OWNER'
17050 ,p_value_3 => xla_lookups_pkg.get_meaning(
17051 p_lookup_type => 'XLA_OWNER_TYPE'
17052 ,p_lookup_code => l_component_type_code
17053 )
17054 ,p_token_4 => 'PRODUCT_NAME'
17055 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17056 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17057 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17058 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17059 ,p_ae_header_id => NULL
17060 );
17061
17062 IF (C_LEVEL_ERROR>= g_log_level) THEN
17063 trace
17064 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17065 ,p_level => C_LEVEL_ERROR
17066 ,p_module => l_log_module);
17067 END IF;
17068 END IF;
17069 END IF;
17070 --
17071 --
17072 ------------------------------------------------------------------------------------------------
17073 -- 4219869 Business Flow
17074 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17075 -- Prior Entry. Currently, the following code is always generated.
17076 ------------------------------------------------------------------------------------------------
17077 XLA_AE_LINES_PKG.ValidateCurrentLine;
17078
17079 ------------------------------------------------------------------------------------
17080 -- 4219869 Business Flow
17081 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17082 ------------------------------------------------------------------------------------
17083 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17084
17085 ----------------------------------------------------------------------------------
17086 -- 4219869 Business Flow
17087 -- Update journal entry status -- Need to generate this within IF <condition>
17088 ----------------------------------------------------------------------------------
17089 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17090 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17091 ,p_balance_type_code => l_balance_type_code
17092 );
17093
17094 -------------------------------------------------------------------------------------------
17095 -- 4262811 - Generate the Accrual Reversal lines
17096 -------------------------------------------------------------------------------------------
17097 BEGIN
17098 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17099 (g_array_event(p_event_id).array_value_num('header_index'));
17103 EXCEPTION
17100 IF l_acc_rev_flag IS NULL THEN
17101 l_acc_rev_flag := 'N';
17102 END IF;
17104 WHEN OTHERS THEN
17105 l_acc_rev_flag := 'N';
17106 END;
17107 --
17108 IF (l_acc_rev_flag = 'Y') THEN
17109
17110 -- 4645092 ------------------------------------------------------------------------------
17111 -- To allow MPA report to determine if it should generate report process
17112 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17113 ------------------------------------------------------------------------------------------
17114
17115 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17116 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17117 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17118 -- call ADRs
17119 -- Bug 4922099
17120 --
17121 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17122 (NVL(l_actual_upg_option, 'N') = 'O') OR
17123 (NVL(l_enc_upg_option, 'N') = 'O')
17124 )
17125 THEN
17126 NULL;
17127 --
17128 --
17129
17130 l_ccid := AcctDerRule_30(
17131 p_application_id => p_application_id
17132 , p_ae_header_id => l_ae_header_id
17133 , p_source_15 => p_source_15
17134 , p_source_15_meaning => p_source_15_meaning
17135 , p_source_20 => p_source_20
17136 , p_source_21 => p_source_21
17137 , p_source_22 => p_source_22
17138 , p_source_22_meaning => p_source_22_meaning
17139 , p_source_23 => p_source_23
17140 , p_source_30 => p_source_30
17141 , p_source_47 => p_source_47
17142 , p_source_47_meaning => p_source_47_meaning
17143 , x_transaction_coa_id => l_adr_transaction_coa_id
17144 , x_accounting_coa_id => l_adr_accounting_coa_id
17145 , x_value_type_code => l_adr_value_type_code
17146 , p_side => 'ALL'
17147 );
17148
17149 xla_ae_lines_pkg.set_ccid(
17150 p_code_combination_id => l_ccid
17151 , p_value_type_code => l_adr_value_type_code
17152 , p_transaction_coa_id => l_adr_transaction_coa_id
17153 , p_accounting_coa_id => l_adr_accounting_coa_id
17154 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
17155 , p_adr_type_code => 'S'
17156 , p_component_type => l_component_type
17157 , p_component_code => l_component_code
17158 , p_component_type_code => l_component_type_code
17159 , p_component_appl_id => l_component_appl_id
17160 , p_amb_context_code => l_amb_context_code
17161 , p_side => 'ALL'
17162 );
17163
17164
17165 l_segment := AcctDerRule_9(
17166 p_application_id => p_application_id
17167 , p_ae_header_id => l_ae_header_id
17168 , p_source_15 => p_source_15
17169 , p_source_15_meaning => p_source_15_meaning
17170 , p_source_20 => p_source_20
17171 , p_source_22 => p_source_22
17172 , p_source_22_meaning => p_source_22_meaning
17173 , x_transaction_coa_id => l_adr_transaction_coa_id
17174 , x_accounting_coa_id => l_adr_accounting_coa_id
17175 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17176 , x_flex_value_set_id => l_adr_flex_value_set_id
17177 , x_value_type_code => l_adr_value_type_code
17178 , x_value_combination_id => l_adr_value_combination_id
17179 , x_value_segment_code => l_adr_value_segment_code
17180 , p_side => 'CREDIT'
17181 , p_override_seg_flag => 'Y'
17182 );
17183
17184 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17185
17186 xla_ae_lines_pkg.set_segment(
17187 p_to_segment_code => 'GL_ACCOUNT'
17188 , p_segment_value => l_segment
17189 , p_from_segment_code => l_adr_value_segment_code
17190 , p_from_combination_id => l_adr_value_combination_id
17191 , p_value_type_code => l_adr_value_type_code
17192 , p_transaction_coa_id => l_adr_transaction_coa_id
17193 , p_accounting_coa_id => l_adr_accounting_coa_id
17194 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17195 , p_flex_value_set_id => l_adr_flex_value_set_id
17196 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
17197 , p_adr_type_code => 'S'
17198 , p_component_type => l_component_type
17199 , p_component_code => l_component_code
17200 , p_component_type_code => l_component_type_code
17201 , p_component_appl_id => l_component_appl_id
17202 , p_amb_context_code => l_amb_context_code
17203 , p_entity_code => 'AP_INVOICES'
17204 , p_event_class_code => 'PREPAYMENTS'
17205 , p_side => 'CREDIT'
17206 );
17207
17208 END IF;
17209
17210 l_segment := AcctDerRule_10(
17211 p_application_id => p_application_id
17212 , p_ae_header_id => l_ae_header_id
17213 , p_source_15 => p_source_15
17214 , p_source_15_meaning => p_source_15_meaning
17215 , p_source_22 => p_source_22
17216 , p_source_22_meaning => p_source_22_meaning
17217 , p_source_23 => p_source_23
17218 , x_transaction_coa_id => l_adr_transaction_coa_id
17222 , x_value_type_code => l_adr_value_type_code
17219 , x_accounting_coa_id => l_adr_accounting_coa_id
17220 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17221 , x_flex_value_set_id => l_adr_flex_value_set_id
17223 , x_value_combination_id => l_adr_value_combination_id
17224 , x_value_segment_code => l_adr_value_segment_code
17225 , p_side => 'DEBIT'
17226 , p_override_seg_flag => 'Y'
17227 );
17228
17229 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17230
17231 xla_ae_lines_pkg.set_segment(
17232 p_to_segment_code => 'GL_ACCOUNT'
17233 , p_segment_value => l_segment
17234 , p_from_segment_code => l_adr_value_segment_code
17235 , p_from_combination_id => l_adr_value_combination_id
17236 , p_value_type_code => l_adr_value_type_code
17237 , p_transaction_coa_id => l_adr_transaction_coa_id
17238 , p_accounting_coa_id => l_adr_accounting_coa_id
17239 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17240 , p_flex_value_set_id => l_adr_flex_value_set_id
17241 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
17242 , p_adr_type_code => 'S'
17243 , p_component_type => l_component_type
17244 , p_component_code => l_component_code
17245 , p_component_type_code => l_component_type_code
17246 , p_component_appl_id => l_component_appl_id
17247 , p_amb_context_code => l_amb_context_code
17248 , p_entity_code => 'AP_INVOICES'
17249 , p_event_class_code => 'PREPAYMENTS'
17250 , p_side => 'DEBIT'
17251 );
17252
17253 END IF;
17254
17255 l_segment := AcctDerRule_23(
17256 p_application_id => p_application_id
17257 , p_ae_header_id => l_ae_header_id
17258 , p_source_15 => p_source_15
17259 , p_source_15_meaning => p_source_15_meaning
17260 , p_source_22 => p_source_22
17261 , p_source_22_meaning => p_source_22_meaning
17262 , p_source_30 => p_source_30
17263 , x_transaction_coa_id => l_adr_transaction_coa_id
17264 , x_accounting_coa_id => l_adr_accounting_coa_id
17265 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17266 , x_flex_value_set_id => l_adr_flex_value_set_id
17267 , x_value_type_code => l_adr_value_type_code
17268 , x_value_combination_id => l_adr_value_combination_id
17269 , x_value_segment_code => l_adr_value_segment_code
17270 , p_side => 'ALL'
17271 , p_override_seg_flag => 'Y'
17272 );
17273
17274 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17275
17276 xla_ae_lines_pkg.set_segment(
17277 p_to_segment_code => 'GL_BALANCING'
17278 , p_segment_value => l_segment
17279 , p_from_segment_code => l_adr_value_segment_code
17280 , p_from_combination_id => l_adr_value_combination_id
17281 , p_value_type_code => l_adr_value_type_code
17282 , p_transaction_coa_id => l_adr_transaction_coa_id
17283 , p_accounting_coa_id => l_adr_accounting_coa_id
17284 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17285 , p_flex_value_set_id => l_adr_flex_value_set_id
17286 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17287 , p_adr_type_code => 'S'
17288 , p_component_type => l_component_type
17289 , p_component_code => l_component_code
17290 , p_component_type_code => l_component_type_code
17291 , p_component_appl_id => l_component_appl_id
17292 , p_amb_context_code => l_amb_context_code
17293 , p_entity_code => 'AP_INVOICES'
17294 , p_event_class_code => 'PREPAYMENTS'
17295 , p_side => 'ALL'
17296 );
17297
17298 END IF;
17299
17300 --
17301 --
17302 END IF;
17303
17304 --
17305 -- Update the line information that should be overwritten
17306 --
17307 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17308 p_header_num => 1);
17309 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17310
17311 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17312
17313 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17314 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17315 END IF;
17316
17317 --
17318 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17319 --
17320 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17321 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17322 ELSE
17323 ---------------------------------------------------------------------------------------------------
17324 -- 4262811a Switch Sign
17328 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17325 ---------------------------------------------------------------------------------------------------
17326 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17327 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17329 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17330 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17331 -- 5132302
17332 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17333 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17334
17335 END IF;
17336
17337 -- 4955764
17338 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17339 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17340
17341
17342 XLA_AE_LINES_PKG.ValidateCurrentLine;
17343 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17344
17345 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17346 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17347 ,p_balance_type_code => l_balance_type_code);
17348
17349 END IF;
17350
17351 -----------------------------------------------------------------------------------------
17352 -- 4262811 Multiperiod Accounting
17353 -----------------------------------------------------------------------------------------
17354 -- No MPA option is assigned.
17355
17356
17357 END IF;
17358 END IF;
17359 --
17360
17361 --
17362 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17363 trace
17364 (p_msg => 'END of AcctLineType_57'
17365 ,p_level => C_LEVEL_PROCEDURE
17366 ,p_module => l_log_module);
17367 END IF;
17368 --
17369 EXCEPTION
17370 WHEN xla_exceptions_pkg.application_exception THEN
17371 RAISE;
17372 WHEN OTHERS THEN
17373 xla_exceptions_pkg.raise_message
17374 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_57');
17375 END AcctLineType_57;
17376 --
17377
17378 ---------------------------------------
17379 --
17380 -- PRIVATE FUNCTION
17381 -- AcctLineType_58
17382 --
17383 ---------------------------------------
17384 PROCEDURE AcctLineType_58 (
17385 p_application_id IN NUMBER
17386 ,p_event_id IN NUMBER
17387 ,p_calculate_acctd_flag IN VARCHAR2
17388 ,p_calculate_g_l_flag IN VARCHAR2
17389 ,p_actual_flag IN OUT VARCHAR2
17390 ,p_balance_type_code OUT VARCHAR2
17391 ,p_gain_or_loss_ref OUT VARCHAR2
17392
17393 --Bank Charges Account
17394 , p_source_14 IN NUMBER
17395 --Automatic Offsets Value
17396 , p_source_15 IN VARCHAR2
17397 , p_source_15_meaning IN VARCHAR2
17398 --Invoice Distribution Account
17399 , p_source_30 IN NUMBER
17400 --Accounting Reversal Indicator
17401 , p_source_52 IN VARCHAR2
17402 --Distribution Link Type
17403 , p_source_54 IN VARCHAR2
17404 --Override Accounted Amount Indicator
17405 , p_source_79 IN VARCHAR2
17406 , p_source_79_meaning IN VARCHAR2
17407 --Third Party Type
17408 , p_source_82 IN VARCHAR2
17409 --Invoice Distribution Tax Line Identifier
17410 , p_source_85 IN NUMBER
17411 --Invoice Distribution Summary Tax Line Identifier
17412 , p_source_87 IN NUMBER
17413 --Business Flow Accounts Payable Application Identifier
17414 , p_source_90 IN NUMBER
17415 --When to Account for Payment Option
17416 , p_source_96 IN VARCHAR2
17417 --Payment Distribution Type
17418 , p_source_97 IN VARCHAR2
17419 , p_source_97_meaning IN VARCHAR2
17420 --Payment Distribution Amount
17421 , p_source_98 IN NUMBER
17422 --Business Flow Payment Distribution Type
17423 , p_source_99 IN VARCHAR2
17424 --Business Flow Payment Entity Code
17425 , p_source_100 IN VARCHAR2
17426 --Business Flow Payment Distribution Identifier
17427 , p_source_101 IN NUMBER
17428 --Business Flow Payment Identifier
17429 , p_source_102 IN NUMBER
17430 --Payment Distribution Identifier
17431 , p_source_103 IN NUMBER
17432 --Cleared Currency Code
17433 , p_source_104 IN VARCHAR2
17434 --Cleared Exchange Date
17435 , p_source_105 IN DATE
17436 --Cleared Exchange Rate
17437 , p_source_106 IN NUMBER
17438 --Cleared Exchange Rate Type
17439 , p_source_107 IN VARCHAR2
17440 --Payment Distribution (Cleared Rate) Ledger Amount
17441 , p_source_108 IN NUMBER
17442 --Payment Supplier Identifier
17443 , p_source_109 IN NUMBER
17444 --Payment Supplier Site Identifier
17445 , p_source_110 IN NUMBER
17446 --Payment Distribution Reversed Identifier
17447 , p_source_111 IN NUMBER
17448 --Payment Identifier
17449 , p_source_112 IN NUMBER
17450 )
17451 IS
17452
17453 l_component_type VARCHAR2(80);
17454 l_component_code VARCHAR2(30);
17458 l_entity_code VARCHAR2(30);
17455 l_component_type_code VARCHAR2(1);
17456 l_component_appl_id INTEGER;
17457 l_amb_context_code VARCHAR2(30);
17459 l_event_class_code VARCHAR2(30);
17460 l_ae_header_id NUMBER;
17461 l_event_type_code VARCHAR2(30);
17462 l_line_definition_code VARCHAR2(30);
17463 l_line_definition_owner_code VARCHAR2(1);
17464 --
17465 -- adr variables
17466 l_segment VARCHAR2(30);
17467 l_ccid NUMBER;
17468 l_adr_transaction_coa_id NUMBER;
17469 l_adr_accounting_coa_id NUMBER;
17470 l_adr_flexfield_segment_code VARCHAR2(30);
17471 l_adr_flex_value_set_id NUMBER;
17472 l_adr_value_type_code VARCHAR2(30);
17473 l_adr_value_combination_id NUMBER;
17474 l_adr_value_segment_code VARCHAR2(30);
17475
17476 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17477 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17478 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17479 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17480
17481 -- 4262811 Variables ------------------------------------------------------------------------------------------
17482 l_entered_amt_idx NUMBER;
17483 l_accted_amt_idx NUMBER;
17484 l_acc_rev_flag VARCHAR2(1);
17485 l_accrual_line_num NUMBER;
17486 l_tmp_amt NUMBER;
17487 l_acc_rev_natural_side_code VARCHAR2(1);
17488
17489 l_num_entries NUMBER;
17490 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17491 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17492 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17493 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17494 l_recog_line_1 NUMBER;
17495 l_recog_line_2 NUMBER;
17496
17497 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17498 l_bflow_applied_to_amt NUMBER; -- 5132302
17499 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17500
17501 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17502
17503 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17504 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17505
17506 ---------------------------------------------------------------------------------------------------------------
17507
17508
17509 --
17510 -- bulk performance
17511 --
17512 l_balance_type_code VARCHAR2(1);
17513 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17514 l_log_module VARCHAR2(240);
17515
17516 --
17517 -- Upgrade strategy
17518 --
17519 l_actual_upg_option VARCHAR2(1);
17520 l_enc_upg_option VARCHAR2(1);
17521
17522 --
17523 BEGIN
17524 --
17525 IF g_log_enabled THEN
17526 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_58';
17527 END IF;
17528 --
17529 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17530
17531 trace
17532 (p_msg => 'BEGIN of AcctLineType_58'
17533 ,p_level => C_LEVEL_PROCEDURE
17534 ,p_module => l_log_module);
17535
17536 END IF;
17537 --
17538 l_component_type := 'AMB_JLT';
17539 l_component_code := 'AP_BANK_CHARGES_CLEAR';
17540 l_component_type_code := 'S';
17541 l_component_appl_id := 200;
17542 l_amb_context_code := 'DEFAULT';
17543 l_entity_code := 'AP_PAYMENTS';
17544 l_event_class_code := 'RECONCILED PAYMENTS';
17545 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
17546 l_line_definition_owner_code := 'S';
17547 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
17548 --
17549 l_balance_type_code := 'A';
17550 l_segment := NULL;
17551 l_ccid := NULL;
17552 l_adr_transaction_coa_id := NULL;
17553 l_adr_accounting_coa_id := NULL;
17554 l_adr_flexfield_segment_code := NULL;
17555 l_adr_flex_value_set_id := NULL;
17556 l_adr_value_type_code := NULL;
17557 l_adr_value_combination_id := NULL;
17558 l_adr_value_segment_code := NULL;
17559
17560 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
17561 l_bflow_class_code := ''; -- 4219869 Business Flow
17562 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17563 l_budgetary_control_flag := 'N';
17564
17565 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17566 l_bflow_applied_to_amt := NULL; -- 5132302
17567 l_entered_amt_idx := NULL; -- 4262811
17568 l_accted_amt_idx := NULL; -- 4262811
17569 l_acc_rev_flag := NULL; -- 4262811
17570 l_accrual_line_num := NULL; -- 4262811
17571 l_tmp_amt := NULL; -- 4262811
17572 --
17573
17574 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17575 l_balance_type_code <> 'B' THEN
17576 IF NVL(p_source_96,'
17577 ') <> 'ISSUE_ISSUE' AND
17578 NVL(p_source_97,'
17579 ') = 'BANK CHARGE'
17580 THEN
17581
17582 --
17586 -- set the flag so later we will know whether the gain loss line needs to be created
17583 XLA_AE_LINES_PKG.SetNewLine;
17584
17585 p_balance_type_code := l_balance_type_code;
17587
17588 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
17589 p_actual_flag :='A';
17590 END IF;
17591
17592 --
17593 -- bulk performance
17594 --
17595 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17596 p_header_num => 0); -- 4262811
17597 --
17598 -- set accounting line options
17599 --
17600 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17601 p_natural_side_code => 'D'
17602 , p_gain_or_loss_flag => 'N'
17603 , p_gl_transfer_mode_code => 'S'
17604 , p_acct_entry_type_code => 'A'
17605 , p_switch_side_flag => 'Y'
17606 , p_merge_duplicate_code => 'A'
17607 );
17608 --
17609 l_acc_rev_natural_side_code := 'C'; -- 4262811
17610 --
17611 --
17612 -- set accounting line type info
17613 --
17614 xla_ae_lines_pkg.SetAcctLineType
17615 (p_component_type => l_component_type
17616 ,p_event_type_code => l_event_type_code
17617 ,p_line_definition_owner_code => l_line_definition_owner_code
17618 ,p_line_definition_code => l_line_definition_code
17619 ,p_accounting_line_code => l_component_code
17620 ,p_accounting_line_type_code => l_component_type_code
17621 ,p_accounting_line_appl_id => l_component_appl_id
17622 ,p_amb_context_code => l_amb_context_code
17623 ,p_entity_code => l_entity_code
17624 ,p_event_class_code => l_event_class_code);
17625 --
17626 -- set accounting class
17627 --
17628 xla_ae_lines_pkg.SetAcctClass(
17629 p_accounting_class_code => 'BANK_CHG'
17630 , p_ae_header_id => l_ae_header_id
17631 );
17632
17633 --
17634 -- set rounding class
17635 --
17636 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17637 'BANK_CHG';
17638
17639 --
17640 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17641 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17642 --
17643 -- bulk performance
17644 --
17645 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17646
17647 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17648 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17649
17650 -- 4955764
17651 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17652 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17653
17654 -- 4458381 Public Sector Enh
17655
17656 --
17657 -- set accounting attributes for the line type
17658 --
17659 l_entered_amt_idx := 10;
17660 l_accted_amt_idx := 15;
17661 l_bflow_applied_to_amt_idx := 2; -- 5132302
17662 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
17663 l_rec_acct_attrs.array_char_value(1) := p_source_52;
17664 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
17665 l_rec_acct_attrs.array_num_value(2) := p_source_98;
17666 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
17667 l_rec_acct_attrs.array_num_value(3) := p_source_90;
17668 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
17669 l_rec_acct_attrs.array_char_value(4) := p_source_99;
17670 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
17671 l_rec_acct_attrs.array_char_value(5) := p_source_100;
17672 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
17673 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
17674 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
17675 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
17676 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
17677 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
17678 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
17679 l_rec_acct_attrs.array_char_value(9) := p_source_54;
17680 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
17681 l_rec_acct_attrs.array_num_value(10) := p_source_98;
17682 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
17683 l_rec_acct_attrs.array_char_value(11) := p_source_104;
17684 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
17685 l_rec_acct_attrs.array_date_value(12) := p_source_105;
17686 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
17687 l_rec_acct_attrs.array_num_value(13) := p_source_106;
17688 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
17689 l_rec_acct_attrs.array_char_value(14) := p_source_107;
17690 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
17691 l_rec_acct_attrs.array_num_value(15) := p_source_108;
17692 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
17693 l_rec_acct_attrs.array_char_value(16) := p_source_79;
17697 l_rec_acct_attrs.array_num_value(18) := p_source_110;
17694 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
17695 l_rec_acct_attrs.array_num_value(17) := p_source_109;
17696 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
17698 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
17699 l_rec_acct_attrs.array_char_value(19) := p_source_82;
17700 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
17701 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
17702 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
17703 l_rec_acct_attrs.array_char_value(21) := p_source_54;
17704 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
17705 l_rec_acct_attrs.array_num_value(22) := p_source_85;
17706 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
17707 l_rec_acct_attrs.array_num_value(23) := p_source_85;
17708 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
17709 l_rec_acct_attrs.array_num_value(24) := p_source_87;
17710
17711 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17712 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17713
17714 ---------------------------------------------------------------------------------------------------------------
17715 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17716 ---------------------------------------------------------------------------------------------------------------
17717 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17718
17719 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17720 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17721
17722 IF xla_accounting_cache_pkg.GetValueChar
17723 (p_source_code => 'LEDGER_CATEGORY_CODE'
17724 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17725 AND l_bflow_method_code = 'PRIOR_ENTRY'
17726 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
17727 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17728 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17729 )
17730 THEN
17731 xla_ae_lines_pkg.BflowUpgEntry
17732 (p_business_method_code => l_bflow_method_code
17733 ,p_business_class_code => l_bflow_class_code
17734 ,p_balance_type => l_balance_type_code);
17735 ELSE
17736 NULL;
17737 -- No business flow processing for business flow method of NONE.
17738 END IF;
17739
17740 --
17741 -- call analytical criteria
17742 --
17743
17744
17745 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
17746 xla_ae_lines_pkg.SetAnalyticalCriteria(
17747 p_analytical_criterion_name => 'Check Id'
17748 , p_analytical_criterion_owner => 'S'
17749 , p_analytical_criterion_code => 'CHECK_ID'
17750 , p_amb_context_code => 'DEFAULT'
17751 , p_balancing_flag => 'N'
17752
17753 , p_analytical_detail_char_1 => NULL
17754 , p_analytical_detail_num_1 => p_source_112
17755 , p_analytical_detail_date_1 => NULL
17756
17757 , p_ae_header_id => l_ae_header_id
17758 )
17759 ;
17760 --
17761
17762 --
17763 -- call description
17764 --
17765 -- No description or it is inherited.
17766 --
17767 -- call ADRs
17768 -- Bug 4922099
17769 --
17770 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17771 (NVL(l_actual_upg_option, 'N') = 'O') OR
17772 (NVL(l_enc_upg_option, 'N') = 'O')
17773 )
17774 THEN
17775 NULL;
17776 --
17777 --
17778
17779 l_ccid := AcctDerRule_26(
17780 p_application_id => p_application_id
17781 , p_ae_header_id => l_ae_header_id
17782 , p_source_14 => p_source_14
17783 , p_source_15 => p_source_15
17784 , p_source_15_meaning => p_source_15_meaning
17785 , p_source_30 => p_source_30
17786 , x_transaction_coa_id => l_adr_transaction_coa_id
17787 , x_accounting_coa_id => l_adr_accounting_coa_id
17788 , x_value_type_code => l_adr_value_type_code
17789 , p_side => 'NA'
17790 );
17791
17792 xla_ae_lines_pkg.set_ccid(
17793 p_code_combination_id => l_ccid
17794 , p_value_type_code => l_adr_value_type_code
17795 , p_transaction_coa_id => l_adr_transaction_coa_id
17796 , p_accounting_coa_id => l_adr_accounting_coa_id
17797 , p_adr_code => 'AP_BANK_CHARGES'
17798 , p_adr_type_code => 'S'
17799 , p_component_type => l_component_type
17800 , p_component_code => l_component_code
17801 , p_component_type_code => l_component_type_code
17802 , p_component_appl_id => l_component_appl_id
17803 , p_amb_context_code => l_amb_context_code
17804 , p_side => 'NA'
17805 );
17806
17807
17808 l_segment := AcctDerRule_4(
17809 p_application_id => p_application_id
17810 , p_ae_header_id => l_ae_header_id
17811 , p_source_14 => p_source_14
17815 , x_accounting_coa_id => l_adr_accounting_coa_id
17812 , p_source_15 => p_source_15
17813 , p_source_15_meaning => p_source_15_meaning
17814 , x_transaction_coa_id => l_adr_transaction_coa_id
17816 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17817 , x_flex_value_set_id => l_adr_flex_value_set_id
17818 , x_value_type_code => l_adr_value_type_code
17819 , x_value_combination_id => l_adr_value_combination_id
17820 , x_value_segment_code => l_adr_value_segment_code
17821 , p_side => 'NA'
17822 , p_override_seg_flag => 'Y'
17823 );
17824
17825 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17826
17827 xla_ae_lines_pkg.set_segment(
17828 p_to_segment_code => 'GL_ACCOUNT'
17829 , p_segment_value => l_segment
17830 , p_from_segment_code => l_adr_value_segment_code
17831 , p_from_combination_id => l_adr_value_combination_id
17832 , p_value_type_code => l_adr_value_type_code
17833 , p_transaction_coa_id => l_adr_transaction_coa_id
17834 , p_accounting_coa_id => l_adr_accounting_coa_id
17835 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17836 , p_flex_value_set_id => l_adr_flex_value_set_id
17837 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
17838 , p_adr_type_code => 'S'
17839 , p_component_type => l_component_type
17840 , p_component_code => l_component_code
17841 , p_component_type_code => l_component_type_code
17842 , p_component_appl_id => l_component_appl_id
17843 , p_amb_context_code => l_amb_context_code
17844 , p_entity_code => 'AP_PAYMENTS'
17845 , p_event_class_code => 'RECONCILED PAYMENTS'
17846 , p_side => 'NA'
17847 );
17848
17849 END IF;
17850
17851 l_segment := AcctDerRule_22(
17852 p_application_id => p_application_id
17853 , p_ae_header_id => l_ae_header_id
17854 , p_source_15 => p_source_15
17855 , p_source_15_meaning => p_source_15_meaning
17856 , p_source_30 => p_source_30
17857 , x_transaction_coa_id => l_adr_transaction_coa_id
17858 , x_accounting_coa_id => l_adr_accounting_coa_id
17859 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17860 , x_flex_value_set_id => l_adr_flex_value_set_id
17861 , x_value_type_code => l_adr_value_type_code
17862 , x_value_combination_id => l_adr_value_combination_id
17863 , x_value_segment_code => l_adr_value_segment_code
17864 , p_side => 'NA'
17865 , p_override_seg_flag => 'Y'
17866 );
17867
17868 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17869
17870 xla_ae_lines_pkg.set_segment(
17871 p_to_segment_code => 'GL_BALANCING'
17872 , p_segment_value => l_segment
17873 , p_from_segment_code => l_adr_value_segment_code
17874 , p_from_combination_id => l_adr_value_combination_id
17875 , p_value_type_code => l_adr_value_type_code
17876 , p_transaction_coa_id => l_adr_transaction_coa_id
17877 , p_accounting_coa_id => l_adr_accounting_coa_id
17878 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17879 , p_flex_value_set_id => l_adr_flex_value_set_id
17880 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
17881 , p_adr_type_code => 'S'
17882 , p_component_type => l_component_type
17883 , p_component_code => l_component_code
17884 , p_component_type_code => l_component_type_code
17885 , p_component_appl_id => l_component_appl_id
17886 , p_amb_context_code => l_amb_context_code
17887 , p_entity_code => 'AP_PAYMENTS'
17888 , p_event_class_code => 'RECONCILED PAYMENTS'
17889 , p_side => 'NA'
17890 );
17891
17892 END IF;
17893
17894 --
17895 --
17896 END IF;
17897 --
17898 -- Bug 4922099
17899 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17900 (NVL(l_enc_upg_option, 'N') = 'O')
17901 ) AND
17902 (l_bflow_method_code = 'PRIOR_ENTRY')
17903 )
17904 THEN
17905 IF
17906 --
17907 1 = 2
17908 --
17909 THEN
17910 xla_accounting_err_pkg.build_message
17911 (p_appli_s_name => 'XLA'
17912 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17913 ,p_token_1 => 'LINE_NUMBER'
17914 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17915 ,p_token_2 => 'LINE_TYPE_NAME'
17916 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17917 l_component_type
17918 ,l_component_code
17922 ,l_entity_code
17919 ,l_component_type_code
17920 ,l_component_appl_id
17921 ,l_amb_context_code
17923 ,l_event_class_code
17924 )
17925 ,p_token_3 => 'OWNER'
17926 ,p_value_3 => xla_lookups_pkg.get_meaning(
17927 p_lookup_type => 'XLA_OWNER_TYPE'
17928 ,p_lookup_code => l_component_type_code
17929 )
17930 ,p_token_4 => 'PRODUCT_NAME'
17931 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17932 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17933 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17934 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17935 ,p_ae_header_id => NULL
17936 );
17937
17938 IF (C_LEVEL_ERROR>= g_log_level) THEN
17939 trace
17940 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17941 ,p_level => C_LEVEL_ERROR
17942 ,p_module => l_log_module);
17943 END IF;
17944 END IF;
17945 END IF;
17946 --
17947 --
17948 ------------------------------------------------------------------------------------------------
17949 -- 4219869 Business Flow
17950 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17951 -- Prior Entry. Currently, the following code is always generated.
17952 ------------------------------------------------------------------------------------------------
17953 XLA_AE_LINES_PKG.ValidateCurrentLine;
17954
17955 ------------------------------------------------------------------------------------
17956 -- 4219869 Business Flow
17957 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17958 ------------------------------------------------------------------------------------
17959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17960
17961 ----------------------------------------------------------------------------------
17962 -- 4219869 Business Flow
17963 -- Update journal entry status -- Need to generate this within IF <condition>
17964 ----------------------------------------------------------------------------------
17965 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17966 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17967 ,p_balance_type_code => l_balance_type_code
17968 );
17969
17970 -------------------------------------------------------------------------------------------
17971 -- 4262811 - Generate the Accrual Reversal lines
17972 -------------------------------------------------------------------------------------------
17973 BEGIN
17974 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17975 (g_array_event(p_event_id).array_value_num('header_index'));
17976 IF l_acc_rev_flag IS NULL THEN
17977 l_acc_rev_flag := 'N';
17978 END IF;
17979 EXCEPTION
17980 WHEN OTHERS THEN
17981 l_acc_rev_flag := 'N';
17982 END;
17983 --
17984 IF (l_acc_rev_flag = 'Y') THEN
17985
17986 -- 4645092 ------------------------------------------------------------------------------
17987 -- To allow MPA report to determine if it should generate report process
17988 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17989 ------------------------------------------------------------------------------------------
17990
17991 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17992 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17993 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17994 -- call ADRs
17995 -- Bug 4922099
17996 --
17997 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17998 (NVL(l_actual_upg_option, 'N') = 'O') OR
17999 (NVL(l_enc_upg_option, 'N') = 'O')
18000 )
18001 THEN
18002 NULL;
18003 --
18004 --
18005
18006 l_ccid := AcctDerRule_26(
18007 p_application_id => p_application_id
18008 , p_ae_header_id => l_ae_header_id
18009 , p_source_14 => p_source_14
18010 , p_source_15 => p_source_15
18011 , p_source_15_meaning => p_source_15_meaning
18012 , p_source_30 => p_source_30
18013 , x_transaction_coa_id => l_adr_transaction_coa_id
18014 , x_accounting_coa_id => l_adr_accounting_coa_id
18015 , x_value_type_code => l_adr_value_type_code
18019 xla_ae_lines_pkg.set_ccid(
18016 , p_side => 'NA'
18017 );
18018
18020 p_code_combination_id => l_ccid
18021 , p_value_type_code => l_adr_value_type_code
18022 , p_transaction_coa_id => l_adr_transaction_coa_id
18023 , p_accounting_coa_id => l_adr_accounting_coa_id
18024 , p_adr_code => 'AP_BANK_CHARGES'
18025 , p_adr_type_code => 'S'
18026 , p_component_type => l_component_type
18027 , p_component_code => l_component_code
18028 , p_component_type_code => l_component_type_code
18029 , p_component_appl_id => l_component_appl_id
18030 , p_amb_context_code => l_amb_context_code
18031 , p_side => 'NA'
18032 );
18033
18034
18035 l_segment := AcctDerRule_4(
18036 p_application_id => p_application_id
18037 , p_ae_header_id => l_ae_header_id
18038 , p_source_14 => p_source_14
18039 , p_source_15 => p_source_15
18040 , p_source_15_meaning => p_source_15_meaning
18041 , x_transaction_coa_id => l_adr_transaction_coa_id
18042 , x_accounting_coa_id => l_adr_accounting_coa_id
18043 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18044 , x_flex_value_set_id => l_adr_flex_value_set_id
18045 , x_value_type_code => l_adr_value_type_code
18046 , x_value_combination_id => l_adr_value_combination_id
18047 , x_value_segment_code => l_adr_value_segment_code
18048 , p_side => 'NA'
18049 , p_override_seg_flag => 'Y'
18050 );
18051
18052 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18053
18054 xla_ae_lines_pkg.set_segment(
18055 p_to_segment_code => 'GL_ACCOUNT'
18056 , p_segment_value => l_segment
18057 , p_from_segment_code => l_adr_value_segment_code
18058 , p_from_combination_id => l_adr_value_combination_id
18059 , p_value_type_code => l_adr_value_type_code
18060 , p_transaction_coa_id => l_adr_transaction_coa_id
18061 , p_accounting_coa_id => l_adr_accounting_coa_id
18062 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18063 , p_flex_value_set_id => l_adr_flex_value_set_id
18064 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
18065 , p_adr_type_code => 'S'
18066 , p_component_type => l_component_type
18067 , p_component_code => l_component_code
18068 , p_component_type_code => l_component_type_code
18069 , p_component_appl_id => l_component_appl_id
18070 , p_amb_context_code => l_amb_context_code
18071 , p_entity_code => 'AP_PAYMENTS'
18072 , p_event_class_code => 'RECONCILED PAYMENTS'
18073 , p_side => 'NA'
18074 );
18075
18076 END IF;
18077
18078 l_segment := AcctDerRule_22(
18079 p_application_id => p_application_id
18080 , p_ae_header_id => l_ae_header_id
18081 , p_source_15 => p_source_15
18082 , p_source_15_meaning => p_source_15_meaning
18083 , p_source_30 => p_source_30
18084 , x_transaction_coa_id => l_adr_transaction_coa_id
18085 , x_accounting_coa_id => l_adr_accounting_coa_id
18086 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18087 , x_flex_value_set_id => l_adr_flex_value_set_id
18088 , x_value_type_code => l_adr_value_type_code
18089 , x_value_combination_id => l_adr_value_combination_id
18090 , x_value_segment_code => l_adr_value_segment_code
18091 , p_side => 'NA'
18092 , p_override_seg_flag => 'Y'
18093 );
18094
18095 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18096
18097 xla_ae_lines_pkg.set_segment(
18098 p_to_segment_code => 'GL_BALANCING'
18099 , p_segment_value => l_segment
18100 , p_from_segment_code => l_adr_value_segment_code
18101 , p_from_combination_id => l_adr_value_combination_id
18102 , p_value_type_code => l_adr_value_type_code
18103 , p_transaction_coa_id => l_adr_transaction_coa_id
18104 , p_accounting_coa_id => l_adr_accounting_coa_id
18105 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18106 , p_flex_value_set_id => l_adr_flex_value_set_id
18107 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18108 , p_adr_type_code => 'S'
18109 , p_component_type => l_component_type
18110 , p_component_code => l_component_code
18111 , p_component_type_code => l_component_type_code
18112 , p_component_appl_id => l_component_appl_id
18113 , p_amb_context_code => l_amb_context_code
18114 , p_entity_code => 'AP_PAYMENTS'
18115 , p_event_class_code => 'RECONCILED PAYMENTS'
18116 , p_side => 'NA'
18117 );
18118
18119 END IF;
18120
18121 --
18122 --
18123 END IF;
18124
18125 --
18126 -- Update the line information that should be overwritten
18127 --
18128 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18132 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18129 p_header_num => 1);
18130 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18131
18133
18134 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18135 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18136 END IF;
18137
18138 --
18139 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18140 --
18141 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18142 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18143 ELSE
18144 ---------------------------------------------------------------------------------------------------
18145 -- 4262811a Switch Sign
18146 ---------------------------------------------------------------------------------------------------
18147 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18148 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18149 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18150 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18151 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18152 -- 5132302
18153 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18154 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18155
18156 END IF;
18157
18158 -- 4955764
18159 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18160 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18161
18162
18163 XLA_AE_LINES_PKG.ValidateCurrentLine;
18164 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18165
18166 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18167 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18168 ,p_balance_type_code => l_balance_type_code);
18169
18170 END IF;
18171
18172 -----------------------------------------------------------------------------------------
18173 -- 4262811 Multiperiod Accounting
18174 -----------------------------------------------------------------------------------------
18175 -- No MPA option is assigned.
18176
18177
18178 END IF;
18179 END IF;
18180 --
18181
18182 --
18183 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18184 trace
18185 (p_msg => 'END of AcctLineType_58'
18186 ,p_level => C_LEVEL_PROCEDURE
18187 ,p_module => l_log_module);
18188 END IF;
18189 --
18190 EXCEPTION
18191 WHEN xla_exceptions_pkg.application_exception THEN
18192 RAISE;
18193 WHEN OTHERS THEN
18194 xla_exceptions_pkg.raise_message
18195 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_58');
18196 END AcctLineType_58;
18197 --
18198
18199 ---------------------------------------
18200 --
18201 -- PRIVATE FUNCTION
18202 -- AcctLineType_59
18203 --
18204 ---------------------------------------
18205 PROCEDURE AcctLineType_59 (
18206 p_application_id IN NUMBER
18207 ,p_event_id IN NUMBER
18208 ,p_calculate_acctd_flag IN VARCHAR2
18209 ,p_calculate_g_l_flag IN VARCHAR2
18210 ,p_actual_flag IN OUT VARCHAR2
18211 ,p_balance_type_code OUT VARCHAR2
18212 ,p_gain_or_loss_ref OUT VARCHAR2
18213
18214 --Automatic Offsets Value
18215 , p_source_15 IN VARCHAR2
18216 , p_source_15_meaning IN VARCHAR2
18217 --Bank Errors Account
18218 , p_source_16 IN NUMBER
18219 --Invoice Distribution Account
18220 , p_source_30 IN NUMBER
18221 --Accounting Reversal Indicator
18222 , p_source_52 IN VARCHAR2
18223 --Distribution Link Type
18224 , p_source_54 IN VARCHAR2
18225 --Override Accounted Amount Indicator
18226 , p_source_79 IN VARCHAR2
18227 , p_source_79_meaning IN VARCHAR2
18228 --Third Party Type
18229 , p_source_82 IN VARCHAR2
18230 --Invoice Distribution Tax Line Identifier
18231 , p_source_85 IN NUMBER
18232 --Invoice Distribution Summary Tax Line Identifier
18233 , p_source_87 IN NUMBER
18234 --Business Flow Accounts Payable Application Identifier
18235 , p_source_90 IN NUMBER
18236 --When to Account for Payment Option
18237 , p_source_96 IN VARCHAR2
18238 --Payment Distribution Type
18239 , p_source_97 IN VARCHAR2
18240 , p_source_97_meaning IN VARCHAR2
18241 --Payment Distribution Amount
18242 , p_source_98 IN NUMBER
18243 --Business Flow Payment Distribution Type
18244 , p_source_99 IN VARCHAR2
18245 --Business Flow Payment Entity Code
18246 , p_source_100 IN VARCHAR2
18247 --Business Flow Payment Distribution Identifier
18251 --Payment Distribution Identifier
18248 , p_source_101 IN NUMBER
18249 --Business Flow Payment Identifier
18250 , p_source_102 IN NUMBER
18252 , p_source_103 IN NUMBER
18253 --Cleared Currency Code
18254 , p_source_104 IN VARCHAR2
18255 --Cleared Exchange Date
18256 , p_source_105 IN DATE
18257 --Cleared Exchange Rate
18258 , p_source_106 IN NUMBER
18259 --Cleared Exchange Rate Type
18260 , p_source_107 IN VARCHAR2
18261 --Payment Distribution (Cleared Rate) Ledger Amount
18262 , p_source_108 IN NUMBER
18263 --Payment Supplier Identifier
18264 , p_source_109 IN NUMBER
18265 --Payment Supplier Site Identifier
18266 , p_source_110 IN NUMBER
18267 --Payment Distribution Reversed Identifier
18268 , p_source_111 IN NUMBER
18269 --Payment Identifier
18270 , p_source_112 IN NUMBER
18271 )
18272 IS
18273
18274 l_component_type VARCHAR2(80);
18275 l_component_code VARCHAR2(30);
18276 l_component_type_code VARCHAR2(1);
18277 l_component_appl_id INTEGER;
18278 l_amb_context_code VARCHAR2(30);
18279 l_entity_code VARCHAR2(30);
18280 l_event_class_code VARCHAR2(30);
18281 l_ae_header_id NUMBER;
18282 l_event_type_code VARCHAR2(30);
18283 l_line_definition_code VARCHAR2(30);
18284 l_line_definition_owner_code VARCHAR2(1);
18285 --
18286 -- adr variables
18287 l_segment VARCHAR2(30);
18288 l_ccid NUMBER;
18289 l_adr_transaction_coa_id NUMBER;
18290 l_adr_accounting_coa_id NUMBER;
18291 l_adr_flexfield_segment_code VARCHAR2(30);
18292 l_adr_flex_value_set_id NUMBER;
18293 l_adr_value_type_code VARCHAR2(30);
18294 l_adr_value_combination_id NUMBER;
18295 l_adr_value_segment_code VARCHAR2(30);
18296
18297 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18298 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18299 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18300 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18301
18302 -- 4262811 Variables ------------------------------------------------------------------------------------------
18303 l_entered_amt_idx NUMBER;
18304 l_accted_amt_idx NUMBER;
18305 l_acc_rev_flag VARCHAR2(1);
18306 l_accrual_line_num NUMBER;
18307 l_tmp_amt NUMBER;
18308 l_acc_rev_natural_side_code VARCHAR2(1);
18309
18310 l_num_entries NUMBER;
18311 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18312 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18313 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18314 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18315 l_recog_line_1 NUMBER;
18316 l_recog_line_2 NUMBER;
18317
18318 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18319 l_bflow_applied_to_amt NUMBER; -- 5132302
18320 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18321
18322 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18323
18324 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18325 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18326
18327 ---------------------------------------------------------------------------------------------------------------
18328
18329
18330 --
18331 -- bulk performance
18332 --
18333 l_balance_type_code VARCHAR2(1);
18334 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18335 l_log_module VARCHAR2(240);
18336
18337 --
18338 -- Upgrade strategy
18339 --
18340 l_actual_upg_option VARCHAR2(1);
18341 l_enc_upg_option VARCHAR2(1);
18342
18343 --
18344 BEGIN
18345 --
18346 IF g_log_enabled THEN
18347 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_59';
18348 END IF;
18349 --
18350 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18351
18352 trace
18353 (p_msg => 'BEGIN of AcctLineType_59'
18354 ,p_level => C_LEVEL_PROCEDURE
18355 ,p_module => l_log_module);
18356
18357 END IF;
18358 --
18359 l_component_type := 'AMB_JLT';
18360 l_component_code := 'AP_BANK_ERROR_CLEAR';
18361 l_component_type_code := 'S';
18362 l_component_appl_id := 200;
18363 l_amb_context_code := 'DEFAULT';
18364 l_entity_code := 'AP_PAYMENTS';
18365 l_event_class_code := 'RECONCILED PAYMENTS';
18366 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
18367 l_line_definition_owner_code := 'S';
18368 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
18369 --
18370 l_balance_type_code := 'A';
18371 l_segment := NULL;
18372 l_ccid := NULL;
18373 l_adr_transaction_coa_id := NULL;
18374 l_adr_accounting_coa_id := NULL;
18375 l_adr_flexfield_segment_code := NULL;
18376 l_adr_flex_value_set_id := NULL;
18380
18377 l_adr_value_type_code := NULL;
18378 l_adr_value_combination_id := NULL;
18379 l_adr_value_segment_code := NULL;
18381 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
18382 l_bflow_class_code := ''; -- 4219869 Business Flow
18383 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18384 l_budgetary_control_flag := 'N';
18385
18386 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18387 l_bflow_applied_to_amt := NULL; -- 5132302
18388 l_entered_amt_idx := NULL; -- 4262811
18389 l_accted_amt_idx := NULL; -- 4262811
18390 l_acc_rev_flag := NULL; -- 4262811
18391 l_accrual_line_num := NULL; -- 4262811
18392 l_tmp_amt := NULL; -- 4262811
18393 --
18394
18395 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18396 l_balance_type_code <> 'B' THEN
18397 IF NVL(p_source_96,'
18398 ') <> 'ISSUE_ISSUE' AND
18399 NVL(p_source_97,'
18400 ') = 'BANK ERROR'
18401 THEN
18402
18403 --
18404 XLA_AE_LINES_PKG.SetNewLine;
18405
18406 p_balance_type_code := l_balance_type_code;
18407 -- set the flag so later we will know whether the gain loss line needs to be created
18408
18409 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18410 p_actual_flag :='A';
18411 END IF;
18412
18413 --
18414 -- bulk performance
18415 --
18416 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18417 p_header_num => 0); -- 4262811
18418 --
18419 -- set accounting line options
18420 --
18421 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18422 p_natural_side_code => 'D'
18423 , p_gain_or_loss_flag => 'N'
18424 , p_gl_transfer_mode_code => 'S'
18425 , p_acct_entry_type_code => 'A'
18426 , p_switch_side_flag => 'Y'
18427 , p_merge_duplicate_code => 'A'
18428 );
18429 --
18430 l_acc_rev_natural_side_code := 'C'; -- 4262811
18431 --
18432 --
18433 -- set accounting line type info
18434 --
18435 xla_ae_lines_pkg.SetAcctLineType
18436 (p_component_type => l_component_type
18437 ,p_event_type_code => l_event_type_code
18438 ,p_line_definition_owner_code => l_line_definition_owner_code
18439 ,p_line_definition_code => l_line_definition_code
18440 ,p_accounting_line_code => l_component_code
18441 ,p_accounting_line_type_code => l_component_type_code
18442 ,p_accounting_line_appl_id => l_component_appl_id
18443 ,p_amb_context_code => l_amb_context_code
18444 ,p_entity_code => l_entity_code
18445 ,p_event_class_code => l_event_class_code);
18446 --
18447 -- set accounting class
18448 --
18449 xla_ae_lines_pkg.SetAcctClass(
18450 p_accounting_class_code => 'BANK_ERROR'
18451 , p_ae_header_id => l_ae_header_id
18452 );
18453
18454 --
18455 -- set rounding class
18456 --
18457 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18458 'BANK_ERROR';
18459
18460 --
18461 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18462 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18463 --
18464 -- bulk performance
18465 --
18466 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18467
18468 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18469 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18470
18471 -- 4955764
18472 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18473 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18474
18475 -- 4458381 Public Sector Enh
18476
18477 --
18478 -- set accounting attributes for the line type
18479 --
18480 l_entered_amt_idx := 10;
18481 l_accted_amt_idx := 15;
18482 l_bflow_applied_to_amt_idx := 2; -- 5132302
18483 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18484 l_rec_acct_attrs.array_char_value(1) := p_source_52;
18485 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
18486 l_rec_acct_attrs.array_num_value(2) := p_source_98;
18487 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
18488 l_rec_acct_attrs.array_num_value(3) := p_source_90;
18489 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18490 l_rec_acct_attrs.array_char_value(4) := p_source_99;
18491 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
18492 l_rec_acct_attrs.array_char_value(5) := p_source_100;
18493 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
18494 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
18495 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18496 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
18497 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
18501 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
18498 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
18499 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
18500 l_rec_acct_attrs.array_char_value(9) := p_source_54;
18502 l_rec_acct_attrs.array_num_value(10) := p_source_98;
18503 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
18504 l_rec_acct_attrs.array_char_value(11) := p_source_104;
18505 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
18506 l_rec_acct_attrs.array_date_value(12) := p_source_105;
18507 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
18508 l_rec_acct_attrs.array_num_value(13) := p_source_106;
18509 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
18510 l_rec_acct_attrs.array_char_value(14) := p_source_107;
18511 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
18512 l_rec_acct_attrs.array_num_value(15) := p_source_108;
18513 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
18514 l_rec_acct_attrs.array_char_value(16) := p_source_79;
18515 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
18516 l_rec_acct_attrs.array_num_value(17) := p_source_109;
18517 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
18518 l_rec_acct_attrs.array_num_value(18) := p_source_110;
18519 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
18520 l_rec_acct_attrs.array_char_value(19) := p_source_82;
18521 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
18522 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
18523 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
18524 l_rec_acct_attrs.array_char_value(21) := p_source_54;
18525 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
18526 l_rec_acct_attrs.array_num_value(22) := p_source_85;
18527 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
18528 l_rec_acct_attrs.array_num_value(23) := p_source_85;
18529 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
18530 l_rec_acct_attrs.array_num_value(24) := p_source_87;
18531
18532 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18533 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18534
18535 ---------------------------------------------------------------------------------------------------------------
18536 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18537 ---------------------------------------------------------------------------------------------------------------
18538 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18539
18540 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18541 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18542
18543 IF xla_accounting_cache_pkg.GetValueChar
18544 (p_source_code => 'LEDGER_CATEGORY_CODE'
18545 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18546 AND l_bflow_method_code = 'PRIOR_ENTRY'
18547 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18548 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18549 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18550 )
18551 THEN
18552 xla_ae_lines_pkg.BflowUpgEntry
18553 (p_business_method_code => l_bflow_method_code
18554 ,p_business_class_code => l_bflow_class_code
18555 ,p_balance_type => l_balance_type_code);
18556 ELSE
18557 NULL;
18558 -- No business flow processing for business flow method of NONE.
18559 END IF;
18560
18561 --
18562 -- call analytical criteria
18563 --
18564
18565
18566 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
18567 xla_ae_lines_pkg.SetAnalyticalCriteria(
18568 p_analytical_criterion_name => 'Check Id'
18569 , p_analytical_criterion_owner => 'S'
18570 , p_analytical_criterion_code => 'CHECK_ID'
18571 , p_amb_context_code => 'DEFAULT'
18572 , p_balancing_flag => 'N'
18573
18574 , p_analytical_detail_char_1 => NULL
18575 , p_analytical_detail_num_1 => p_source_112
18576 , p_analytical_detail_date_1 => NULL
18577
18578 , p_ae_header_id => l_ae_header_id
18579 )
18580 ;
18581 --
18582
18583 --
18584 -- call description
18585 --
18586 -- No description or it is inherited.
18587 --
18588 -- call ADRs
18589 -- Bug 4922099
18590 --
18591 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18592 (NVL(l_actual_upg_option, 'N') = 'O') OR
18593 (NVL(l_enc_upg_option, 'N') = 'O')
18594 )
18595 THEN
18596 NULL;
18597 --
18598 --
18599
18600 l_ccid := AcctDerRule_27(
18601 p_application_id => p_application_id
18602 , p_ae_header_id => l_ae_header_id
18603 , p_source_15 => p_source_15
18604 , p_source_15_meaning => p_source_15_meaning
18605 , p_source_16 => p_source_16
18606 , p_source_30 => p_source_30
18607 , x_transaction_coa_id => l_adr_transaction_coa_id
18608 , x_accounting_coa_id => l_adr_accounting_coa_id
18609 , x_value_type_code => l_adr_value_type_code
18610 , p_side => 'NA'
18614 p_code_combination_id => l_ccid
18611 );
18612
18613 xla_ae_lines_pkg.set_ccid(
18615 , p_value_type_code => l_adr_value_type_code
18616 , p_transaction_coa_id => l_adr_transaction_coa_id
18617 , p_accounting_coa_id => l_adr_accounting_coa_id
18618 , p_adr_code => 'AP_BANK_ERRORS'
18619 , p_adr_type_code => 'S'
18620 , p_component_type => l_component_type
18621 , p_component_code => l_component_code
18622 , p_component_type_code => l_component_type_code
18623 , p_component_appl_id => l_component_appl_id
18624 , p_amb_context_code => l_amb_context_code
18625 , p_side => 'NA'
18626 );
18627
18628
18629 l_segment := AcctDerRule_5(
18630 p_application_id => p_application_id
18631 , p_ae_header_id => l_ae_header_id
18632 , p_source_15 => p_source_15
18633 , p_source_15_meaning => p_source_15_meaning
18634 , p_source_16 => p_source_16
18635 , x_transaction_coa_id => l_adr_transaction_coa_id
18636 , x_accounting_coa_id => l_adr_accounting_coa_id
18637 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18638 , x_flex_value_set_id => l_adr_flex_value_set_id
18639 , x_value_type_code => l_adr_value_type_code
18640 , x_value_combination_id => l_adr_value_combination_id
18641 , x_value_segment_code => l_adr_value_segment_code
18642 , p_side => 'NA'
18643 , p_override_seg_flag => 'Y'
18644 );
18645
18646 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18647
18648 xla_ae_lines_pkg.set_segment(
18649 p_to_segment_code => 'GL_ACCOUNT'
18650 , p_segment_value => l_segment
18651 , p_from_segment_code => l_adr_value_segment_code
18652 , p_from_combination_id => l_adr_value_combination_id
18653 , p_value_type_code => l_adr_value_type_code
18654 , p_transaction_coa_id => l_adr_transaction_coa_id
18655 , p_accounting_coa_id => l_adr_accounting_coa_id
18656 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18657 , p_flex_value_set_id => l_adr_flex_value_set_id
18658 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
18659 , p_adr_type_code => 'S'
18660 , p_component_type => l_component_type
18661 , p_component_code => l_component_code
18662 , p_component_type_code => l_component_type_code
18663 , p_component_appl_id => l_component_appl_id
18664 , p_amb_context_code => l_amb_context_code
18665 , p_entity_code => 'AP_PAYMENTS'
18666 , p_event_class_code => 'RECONCILED PAYMENTS'
18667 , p_side => 'NA'
18668 );
18669
18670 END IF;
18671
18672 l_segment := AcctDerRule_22(
18673 p_application_id => p_application_id
18674 , p_ae_header_id => l_ae_header_id
18675 , p_source_15 => p_source_15
18676 , p_source_15_meaning => p_source_15_meaning
18677 , p_source_30 => p_source_30
18678 , x_transaction_coa_id => l_adr_transaction_coa_id
18679 , x_accounting_coa_id => l_adr_accounting_coa_id
18680 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18681 , x_flex_value_set_id => l_adr_flex_value_set_id
18682 , x_value_type_code => l_adr_value_type_code
18683 , x_value_combination_id => l_adr_value_combination_id
18684 , x_value_segment_code => l_adr_value_segment_code
18685 , p_side => 'NA'
18686 , p_override_seg_flag => 'Y'
18687 );
18688
18689 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18690
18691 xla_ae_lines_pkg.set_segment(
18692 p_to_segment_code => 'GL_BALANCING'
18693 , p_segment_value => l_segment
18694 , p_from_segment_code => l_adr_value_segment_code
18695 , p_from_combination_id => l_adr_value_combination_id
18696 , p_value_type_code => l_adr_value_type_code
18697 , p_transaction_coa_id => l_adr_transaction_coa_id
18698 , p_accounting_coa_id => l_adr_accounting_coa_id
18699 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18700 , p_flex_value_set_id => l_adr_flex_value_set_id
18701 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18702 , p_adr_type_code => 'S'
18703 , p_component_type => l_component_type
18704 , p_component_code => l_component_code
18705 , p_component_type_code => l_component_type_code
18706 , p_component_appl_id => l_component_appl_id
18707 , p_amb_context_code => l_amb_context_code
18708 , p_entity_code => 'AP_PAYMENTS'
18709 , p_event_class_code => 'RECONCILED PAYMENTS'
18710 , p_side => 'NA'
18711 );
18712
18713 END IF;
18714
18715 --
18716 --
18717 END IF;
18718 --
18719 -- Bug 4922099
18720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18721 (NVL(l_enc_upg_option, 'N') = 'O')
18722 ) AND
18723 (l_bflow_method_code = 'PRIOR_ENTRY')
18727 --
18724 )
18725 THEN
18726 IF
18728 1 = 2
18729 --
18730 THEN
18731 xla_accounting_err_pkg.build_message
18732 (p_appli_s_name => 'XLA'
18733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18734 ,p_token_1 => 'LINE_NUMBER'
18735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18736 ,p_token_2 => 'LINE_TYPE_NAME'
18737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18738 l_component_type
18739 ,l_component_code
18740 ,l_component_type_code
18741 ,l_component_appl_id
18742 ,l_amb_context_code
18743 ,l_entity_code
18744 ,l_event_class_code
18745 )
18746 ,p_token_3 => 'OWNER'
18747 ,p_value_3 => xla_lookups_pkg.get_meaning(
18748 p_lookup_type => 'XLA_OWNER_TYPE'
18749 ,p_lookup_code => l_component_type_code
18750 )
18751 ,p_token_4 => 'PRODUCT_NAME'
18752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18756 ,p_ae_header_id => NULL
18757 );
18758
18759 IF (C_LEVEL_ERROR>= g_log_level) THEN
18760 trace
18761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18762 ,p_level => C_LEVEL_ERROR
18763 ,p_module => l_log_module);
18764 END IF;
18765 END IF;
18766 END IF;
18767 --
18768 --
18769 ------------------------------------------------------------------------------------------------
18770 -- 4219869 Business Flow
18771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18772 -- Prior Entry. Currently, the following code is always generated.
18773 ------------------------------------------------------------------------------------------------
18774 XLA_AE_LINES_PKG.ValidateCurrentLine;
18775
18776 ------------------------------------------------------------------------------------
18777 -- 4219869 Business Flow
18778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18779 ------------------------------------------------------------------------------------
18780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18781
18782 ----------------------------------------------------------------------------------
18783 -- 4219869 Business Flow
18784 -- Update journal entry status -- Need to generate this within IF <condition>
18785 ----------------------------------------------------------------------------------
18786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18788 ,p_balance_type_code => l_balance_type_code
18789 );
18790
18791 -------------------------------------------------------------------------------------------
18792 -- 4262811 - Generate the Accrual Reversal lines
18793 -------------------------------------------------------------------------------------------
18794 BEGIN
18795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18796 (g_array_event(p_event_id).array_value_num('header_index'));
18797 IF l_acc_rev_flag IS NULL THEN
18798 l_acc_rev_flag := 'N';
18799 END IF;
18800 EXCEPTION
18801 WHEN OTHERS THEN
18802 l_acc_rev_flag := 'N';
18803 END;
18804 --
18805 IF (l_acc_rev_flag = 'Y') THEN
18806
18807 -- 4645092 ------------------------------------------------------------------------------
18808 -- To allow MPA report to determine if it should generate report process
18809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18810 ------------------------------------------------------------------------------------------
18811
18812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18815 -- call ADRs
18816 -- Bug 4922099
18817 --
18821 )
18818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18819 (NVL(l_actual_upg_option, 'N') = 'O') OR
18820 (NVL(l_enc_upg_option, 'N') = 'O')
18822 THEN
18823 NULL;
18824 --
18825 --
18826
18827 l_ccid := AcctDerRule_27(
18828 p_application_id => p_application_id
18829 , p_ae_header_id => l_ae_header_id
18830 , p_source_15 => p_source_15
18831 , p_source_15_meaning => p_source_15_meaning
18832 , p_source_16 => p_source_16
18833 , p_source_30 => p_source_30
18834 , x_transaction_coa_id => l_adr_transaction_coa_id
18835 , x_accounting_coa_id => l_adr_accounting_coa_id
18836 , x_value_type_code => l_adr_value_type_code
18837 , p_side => 'NA'
18838 );
18839
18840 xla_ae_lines_pkg.set_ccid(
18841 p_code_combination_id => l_ccid
18842 , p_value_type_code => l_adr_value_type_code
18843 , p_transaction_coa_id => l_adr_transaction_coa_id
18844 , p_accounting_coa_id => l_adr_accounting_coa_id
18845 , p_adr_code => 'AP_BANK_ERRORS'
18846 , p_adr_type_code => 'S'
18847 , p_component_type => l_component_type
18848 , p_component_code => l_component_code
18849 , p_component_type_code => l_component_type_code
18850 , p_component_appl_id => l_component_appl_id
18851 , p_amb_context_code => l_amb_context_code
18852 , p_side => 'NA'
18853 );
18854
18855
18856 l_segment := AcctDerRule_5(
18857 p_application_id => p_application_id
18858 , p_ae_header_id => l_ae_header_id
18859 , p_source_15 => p_source_15
18860 , p_source_15_meaning => p_source_15_meaning
18861 , p_source_16 => p_source_16
18862 , x_transaction_coa_id => l_adr_transaction_coa_id
18863 , x_accounting_coa_id => l_adr_accounting_coa_id
18864 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18865 , x_flex_value_set_id => l_adr_flex_value_set_id
18866 , x_value_type_code => l_adr_value_type_code
18867 , x_value_combination_id => l_adr_value_combination_id
18868 , x_value_segment_code => l_adr_value_segment_code
18869 , p_side => 'NA'
18870 , p_override_seg_flag => 'Y'
18871 );
18872
18873 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18874
18875 xla_ae_lines_pkg.set_segment(
18876 p_to_segment_code => 'GL_ACCOUNT'
18877 , p_segment_value => l_segment
18878 , p_from_segment_code => l_adr_value_segment_code
18879 , p_from_combination_id => l_adr_value_combination_id
18880 , p_value_type_code => l_adr_value_type_code
18881 , p_transaction_coa_id => l_adr_transaction_coa_id
18882 , p_accounting_coa_id => l_adr_accounting_coa_id
18883 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18884 , p_flex_value_set_id => l_adr_flex_value_set_id
18885 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
18886 , p_adr_type_code => 'S'
18887 , p_component_type => l_component_type
18888 , p_component_code => l_component_code
18889 , p_component_type_code => l_component_type_code
18890 , p_component_appl_id => l_component_appl_id
18891 , p_amb_context_code => l_amb_context_code
18892 , p_entity_code => 'AP_PAYMENTS'
18893 , p_event_class_code => 'RECONCILED PAYMENTS'
18894 , p_side => 'NA'
18895 );
18896
18897 END IF;
18898
18899 l_segment := AcctDerRule_22(
18900 p_application_id => p_application_id
18901 , p_ae_header_id => l_ae_header_id
18902 , p_source_15 => p_source_15
18903 , p_source_15_meaning => p_source_15_meaning
18904 , p_source_30 => p_source_30
18905 , x_transaction_coa_id => l_adr_transaction_coa_id
18906 , x_accounting_coa_id => l_adr_accounting_coa_id
18907 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18908 , x_flex_value_set_id => l_adr_flex_value_set_id
18909 , x_value_type_code => l_adr_value_type_code
18910 , x_value_combination_id => l_adr_value_combination_id
18911 , x_value_segment_code => l_adr_value_segment_code
18912 , p_side => 'NA'
18913 , p_override_seg_flag => 'Y'
18914 );
18915
18916 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18917
18918 xla_ae_lines_pkg.set_segment(
18919 p_to_segment_code => 'GL_BALANCING'
18920 , p_segment_value => l_segment
18921 , p_from_segment_code => l_adr_value_segment_code
18922 , p_from_combination_id => l_adr_value_combination_id
18923 , p_value_type_code => l_adr_value_type_code
18924 , p_transaction_coa_id => l_adr_transaction_coa_id
18925 , p_accounting_coa_id => l_adr_accounting_coa_id
18926 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18927 , p_flex_value_set_id => l_adr_flex_value_set_id
18928 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18932 , p_component_type_code => l_component_type_code
18929 , p_adr_type_code => 'S'
18930 , p_component_type => l_component_type
18931 , p_component_code => l_component_code
18933 , p_component_appl_id => l_component_appl_id
18934 , p_amb_context_code => l_amb_context_code
18935 , p_entity_code => 'AP_PAYMENTS'
18936 , p_event_class_code => 'RECONCILED PAYMENTS'
18937 , p_side => 'NA'
18938 );
18939
18940 END IF;
18941
18942 --
18943 --
18944 END IF;
18945
18946 --
18947 -- Update the line information that should be overwritten
18948 --
18949 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18950 p_header_num => 1);
18951 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18952
18953 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18954
18955 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18956 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18957 END IF;
18958
18959 --
18960 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18961 --
18962 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18963 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18964 ELSE
18965 ---------------------------------------------------------------------------------------------------
18966 -- 4262811a Switch Sign
18967 ---------------------------------------------------------------------------------------------------
18968 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18969 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18971 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18972 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18973 -- 5132302
18974 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18975 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18976
18977 END IF;
18978
18979 -- 4955764
18980 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18981 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18982
18983
18984 XLA_AE_LINES_PKG.ValidateCurrentLine;
18985 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18986
18987 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18988 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18989 ,p_balance_type_code => l_balance_type_code);
18990
18991 END IF;
18992
18993 -----------------------------------------------------------------------------------------
18994 -- 4262811 Multiperiod Accounting
18995 -----------------------------------------------------------------------------------------
18996 -- No MPA option is assigned.
18997
18998
18999 END IF;
19000 END IF;
19001 --
19002
19003 --
19004 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19005 trace
19006 (p_msg => 'END of AcctLineType_59'
19007 ,p_level => C_LEVEL_PROCEDURE
19008 ,p_module => l_log_module);
19009 END IF;
19010 --
19011 EXCEPTION
19012 WHEN xla_exceptions_pkg.application_exception THEN
19013 RAISE;
19014 WHEN OTHERS THEN
19015 xla_exceptions_pkg.raise_message
19016 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_59');
19017 END AcctLineType_59;
19018 --
19019
19020 ---------------------------------------
19021 --
19022 -- PRIVATE FUNCTION
19023 -- AcctLineType_60
19024 --
19025 ---------------------------------------
19026 PROCEDURE AcctLineType_60 (
19027 p_application_id IN NUMBER
19028 ,p_event_id IN NUMBER
19029 ,p_calculate_acctd_flag IN VARCHAR2
19030 ,p_calculate_g_l_flag IN VARCHAR2
19031 ,p_actual_flag IN OUT VARCHAR2
19032 ,p_balance_type_code OUT VARCHAR2
19033 ,p_gain_or_loss_ref OUT VARCHAR2
19034
19035 --Payment Currency Code
19036 , p_source_13 IN VARCHAR2
19037 --Automatic Offsets Value
19038 , p_source_15 IN VARCHAR2
19039 , p_source_15_meaning IN VARCHAR2
19040 --Bank Cash Account
19041 , p_source_17 IN NUMBER
19042 --Accounting Reversal Indicator
19043 , p_source_52 IN VARCHAR2
19044 --Distribution Link Type
19045 , p_source_54 IN VARCHAR2
19046 --Override Accounted Amount Indicator
19047 , p_source_79 IN VARCHAR2
19048 , p_source_79_meaning IN VARCHAR2
19049 --Third Party Type
19050 , p_source_82 IN VARCHAR2
19051 --Invoice Distribution Tax Line Identifier
19052 , p_source_85 IN NUMBER
19056 , p_source_90 IN NUMBER
19053 --Invoice Distribution Summary Tax Line Identifier
19054 , p_source_87 IN NUMBER
19055 --Business Flow Accounts Payable Application Identifier
19057 --When to Account for Payment Option
19058 , p_source_96 IN VARCHAR2
19059 --Payment Distribution Type
19060 , p_source_97 IN VARCHAR2
19061 , p_source_97_meaning IN VARCHAR2
19062 --Payment Distribution Amount
19063 , p_source_98 IN NUMBER
19064 --Business Flow Payment Distribution Type
19065 , p_source_99 IN VARCHAR2
19066 --Business Flow Payment Entity Code
19067 , p_source_100 IN VARCHAR2
19068 --Business Flow Payment Distribution Identifier
19069 , p_source_101 IN NUMBER
19070 --Business Flow Payment Identifier
19071 , p_source_102 IN NUMBER
19072 --Payment Distribution Identifier
19073 , p_source_103 IN NUMBER
19074 --Cleared Exchange Date
19075 , p_source_105 IN DATE
19076 --Cleared Exchange Rate
19077 , p_source_106 IN NUMBER
19078 --Cleared Exchange Rate Type
19079 , p_source_107 IN VARCHAR2
19080 --Payment Distribution (Cleared Rate) Ledger Amount
19081 , p_source_108 IN NUMBER
19082 --Payment Supplier Identifier
19083 , p_source_109 IN NUMBER
19084 --Payment Supplier Site Identifier
19085 , p_source_110 IN NUMBER
19086 --Payment Distribution Reversed Identifier
19087 , p_source_111 IN NUMBER
19088 --Payment Identifier
19089 , p_source_112 IN NUMBER
19090 --Pooled Bank Account Option
19091 , p_source_113 IN VARCHAR2
19092 , p_source_113_meaning IN VARCHAR2
19093 )
19094 IS
19095
19096 l_component_type VARCHAR2(80);
19097 l_component_code VARCHAR2(30);
19098 l_component_type_code VARCHAR2(1);
19099 l_component_appl_id INTEGER;
19100 l_amb_context_code VARCHAR2(30);
19101 l_entity_code VARCHAR2(30);
19102 l_event_class_code VARCHAR2(30);
19103 l_ae_header_id NUMBER;
19104 l_event_type_code VARCHAR2(30);
19105 l_line_definition_code VARCHAR2(30);
19106 l_line_definition_owner_code VARCHAR2(1);
19107 --
19108 -- adr variables
19109 l_segment VARCHAR2(30);
19110 l_ccid NUMBER;
19111 l_adr_transaction_coa_id NUMBER;
19112 l_adr_accounting_coa_id NUMBER;
19113 l_adr_flexfield_segment_code VARCHAR2(30);
19114 l_adr_flex_value_set_id NUMBER;
19115 l_adr_value_type_code VARCHAR2(30);
19116 l_adr_value_combination_id NUMBER;
19117 l_adr_value_segment_code VARCHAR2(30);
19118
19119 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19120 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19121 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19122 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19123
19124 -- 4262811 Variables ------------------------------------------------------------------------------------------
19125 l_entered_amt_idx NUMBER;
19126 l_accted_amt_idx NUMBER;
19127 l_acc_rev_flag VARCHAR2(1);
19128 l_accrual_line_num NUMBER;
19129 l_tmp_amt NUMBER;
19130 l_acc_rev_natural_side_code VARCHAR2(1);
19131
19132 l_num_entries NUMBER;
19133 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19134 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19135 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19136 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19137 l_recog_line_1 NUMBER;
19138 l_recog_line_2 NUMBER;
19139
19140 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19141 l_bflow_applied_to_amt NUMBER; -- 5132302
19142 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19143
19144 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19145
19146 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19147 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19148
19149 ---------------------------------------------------------------------------------------------------------------
19150
19151
19152 --
19153 -- bulk performance
19154 --
19155 l_balance_type_code VARCHAR2(1);
19156 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19157 l_log_module VARCHAR2(240);
19158
19159 --
19160 -- Upgrade strategy
19161 --
19162 l_actual_upg_option VARCHAR2(1);
19163 l_enc_upg_option VARCHAR2(1);
19164
19165 --
19166 BEGIN
19167 --
19168 IF g_log_enabled THEN
19169 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_60';
19170 END IF;
19171 --
19172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19173
19174 trace
19175 (p_msg => 'BEGIN of AcctLineType_60'
19176 ,p_level => C_LEVEL_PROCEDURE
19177 ,p_module => l_log_module);
19178
19179 END IF;
19180 --
19184 l_component_appl_id := 200;
19181 l_component_type := 'AMB_JLT';
19182 l_component_code := 'AP_CASH_CLEARONLY_AOS_AS';
19183 l_component_type_code := 'S';
19185 l_amb_context_code := 'DEFAULT';
19186 l_entity_code := 'AP_PAYMENTS';
19187 l_event_class_code := 'RECONCILED PAYMENTS';
19188 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
19189 l_line_definition_owner_code := 'S';
19190 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
19191 --
19192 l_balance_type_code := 'A';
19193 l_segment := NULL;
19194 l_ccid := NULL;
19195 l_adr_transaction_coa_id := NULL;
19196 l_adr_accounting_coa_id := NULL;
19197 l_adr_flexfield_segment_code := NULL;
19198 l_adr_flex_value_set_id := NULL;
19199 l_adr_value_type_code := NULL;
19200 l_adr_value_combination_id := NULL;
19201 l_adr_value_segment_code := NULL;
19202
19203 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
19204 l_bflow_class_code := ''; -- 4219869 Business Flow
19205 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19206 l_budgetary_control_flag := 'N';
19207
19208 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19209 l_bflow_applied_to_amt := NULL; -- 5132302
19210 l_entered_amt_idx := NULL; -- 4262811
19211 l_accted_amt_idx := NULL; -- 4262811
19212 l_acc_rev_flag := NULL; -- 4262811
19213 l_accrual_line_num := NULL; -- 4262811
19214 l_tmp_amt := NULL; -- 4262811
19215 --
19216
19217 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19218 l_balance_type_code <> 'B' THEN
19219 IF NVL(p_source_96,'
19220 ') <> 'ISSUE_ISSUE' AND
19221 (NVL(p_source_113,'
19222 ') = 'Y' AND
19223 NVL(p_source_15,'
19224 ') = 'ACCOUNT_SEGMENT_VALUE') AND
19225 (NVL(p_source_97,'
19226 ') = 'CASH' OR
19227 NVL(p_source_97,'
19228 ') = 'BANK CHARGE' OR
19229 NVL(p_source_97,'
19230 ') = 'BANK ERROR')
19231 THEN
19232
19233 --
19234 XLA_AE_LINES_PKG.SetNewLine;
19235
19236 p_balance_type_code := l_balance_type_code;
19237 -- set the flag so later we will know whether the gain loss line needs to be created
19238
19239 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19240 p_actual_flag :='A';
19241 END IF;
19242
19243 --
19244 -- bulk performance
19245 --
19246 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19247 p_header_num => 0); -- 4262811
19248 --
19249 -- set accounting line options
19250 --
19251 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19252 p_natural_side_code => 'C'
19253 , p_gain_or_loss_flag => 'N'
19254 , p_gl_transfer_mode_code => 'S'
19255 , p_acct_entry_type_code => 'A'
19256 , p_switch_side_flag => 'Y'
19257 , p_merge_duplicate_code => 'A'
19258 );
19259 --
19260 l_acc_rev_natural_side_code := 'D'; -- 4262811
19261 --
19262 --
19263 -- set accounting line type info
19264 --
19265 xla_ae_lines_pkg.SetAcctLineType
19266 (p_component_type => l_component_type
19267 ,p_event_type_code => l_event_type_code
19268 ,p_line_definition_owner_code => l_line_definition_owner_code
19269 ,p_line_definition_code => l_line_definition_code
19270 ,p_accounting_line_code => l_component_code
19271 ,p_accounting_line_type_code => l_component_type_code
19272 ,p_accounting_line_appl_id => l_component_appl_id
19273 ,p_amb_context_code => l_amb_context_code
19274 ,p_entity_code => l_entity_code
19275 ,p_event_class_code => l_event_class_code);
19276 --
19277 -- set accounting class
19278 --
19279 xla_ae_lines_pkg.SetAcctClass(
19280 p_accounting_class_code => 'CASH'
19281 , p_ae_header_id => l_ae_header_id
19282 );
19283
19284 --
19285 -- set rounding class
19286 --
19287 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19288 'CASH';
19289
19290 --
19291 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19292 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19293 --
19294 -- bulk performance
19295 --
19296 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19297
19298 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19299 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19300
19301 -- 4955764
19302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19304
19305 -- 4458381 Public Sector Enh
19306
19307 --
19308 -- set accounting attributes for the line type
19312 l_bflow_applied_to_amt_idx := 2; -- 5132302
19309 --
19310 l_entered_amt_idx := 10;
19311 l_accted_amt_idx := 15;
19313 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19314 l_rec_acct_attrs.array_char_value(1) := p_source_52;
19315 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
19316 l_rec_acct_attrs.array_num_value(2) := p_source_98;
19317 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
19318 l_rec_acct_attrs.array_num_value(3) := p_source_90;
19319 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19320 l_rec_acct_attrs.array_char_value(4) := p_source_99;
19321 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
19322 l_rec_acct_attrs.array_char_value(5) := p_source_100;
19323 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
19324 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
19325 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19326 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
19327 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
19328 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
19329 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
19330 l_rec_acct_attrs.array_char_value(9) := p_source_54;
19331 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
19332 l_rec_acct_attrs.array_num_value(10) := p_source_98;
19333 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
19334 l_rec_acct_attrs.array_char_value(11) := p_source_13;
19335 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
19336 l_rec_acct_attrs.array_date_value(12) := p_source_105;
19337 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
19338 l_rec_acct_attrs.array_num_value(13) := p_source_106;
19339 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
19340 l_rec_acct_attrs.array_char_value(14) := p_source_107;
19341 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
19342 l_rec_acct_attrs.array_num_value(15) := p_source_108;
19343 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
19344 l_rec_acct_attrs.array_char_value(16) := p_source_79;
19345 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
19346 l_rec_acct_attrs.array_num_value(17) := p_source_109;
19347 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
19348 l_rec_acct_attrs.array_num_value(18) := p_source_110;
19349 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
19350 l_rec_acct_attrs.array_char_value(19) := p_source_82;
19351 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
19352 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
19353 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
19354 l_rec_acct_attrs.array_char_value(21) := p_source_54;
19355 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
19356 l_rec_acct_attrs.array_num_value(22) := p_source_85;
19357 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
19358 l_rec_acct_attrs.array_num_value(23) := p_source_85;
19359 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
19360 l_rec_acct_attrs.array_num_value(24) := p_source_87;
19361
19362 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19363 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19364
19365 ---------------------------------------------------------------------------------------------------------------
19366 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19367 ---------------------------------------------------------------------------------------------------------------
19368 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19369
19370 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19371 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19372
19373 IF xla_accounting_cache_pkg.GetValueChar
19374 (p_source_code => 'LEDGER_CATEGORY_CODE'
19375 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19376 AND l_bflow_method_code = 'PRIOR_ENTRY'
19377 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19378 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19379 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19380 )
19381 THEN
19382 xla_ae_lines_pkg.BflowUpgEntry
19383 (p_business_method_code => l_bflow_method_code
19384 ,p_business_class_code => l_bflow_class_code
19385 ,p_balance_type => l_balance_type_code);
19386 ELSE
19387 NULL;
19388 XLA_AE_LINES_PKG.business_flow_validation(
19389 p_business_method_code => l_bflow_method_code
19390 ,p_business_class_code => l_bflow_class_code
19391 ,p_inherit_description_flag => l_inherit_desc_flag);
19392 END IF;
19393
19394 --
19395 -- call analytical criteria
19396 --
19397
19398
19399 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
19400 xla_ae_lines_pkg.SetAnalyticalCriteria(
19404 , p_amb_context_code => 'DEFAULT'
19401 p_analytical_criterion_name => 'Check Id'
19402 , p_analytical_criterion_owner => 'S'
19403 , p_analytical_criterion_code => 'CHECK_ID'
19405 , p_balancing_flag => 'N'
19406
19407 , p_analytical_detail_char_1 => NULL
19408 , p_analytical_detail_num_1 => p_source_112
19409 , p_analytical_detail_date_1 => NULL
19410
19411 , p_ae_header_id => l_ae_header_id
19412 )
19413 ;
19414 --
19415
19416 --
19417 -- call description
19418 --
19419 -- No description or it is inherited.
19420 --
19421 -- call ADRs
19422 -- Bug 4922099
19423 --
19424 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19425 (NVL(l_actual_upg_option, 'N') = 'O') OR
19426 (NVL(l_enc_upg_option, 'N') = 'O')
19427 )
19428 THEN
19429 NULL;
19430 --
19431 --
19432
19433 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
19434 p_code_combination_id => TO_NUMBER(C_NUM)
19435 , p_value_type_code => NULL
19436 , p_transaction_coa_id => null
19437 , p_accounting_coa_id => null
19438 , p_adr_code => NULL
19439 , p_adr_type_code => NULL
19440 , p_component_type => l_component_type
19441 , p_component_code => l_component_code
19442 , p_component_type_code => l_component_type_code
19443 , p_component_appl_id => l_component_appl_id
19444 , p_amb_context_code => l_amb_context_code
19445 , p_side => NULL
19446 );
19447
19448
19449 -- initialise segments
19450 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19451 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19452 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19453 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19454 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19455 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19456 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19457 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19458 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19459 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19460 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19461 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19462 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19463 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19464 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19465 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19466 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19467 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19468 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19469 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19470 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19471 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19472 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19473 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19474 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19475 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19476 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19477 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19478 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19479 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19480 --
19481
19482 --
19483
19484
19485 l_segment := AcctDerRule_6(
19486 p_application_id => p_application_id
19487 , p_ae_header_id => l_ae_header_id
19488 , p_source_17 => p_source_17
19489 , x_transaction_coa_id => l_adr_transaction_coa_id
19490 , x_accounting_coa_id => l_adr_accounting_coa_id
19491 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19492 , x_flex_value_set_id => l_adr_flex_value_set_id
19493 , x_value_type_code => l_adr_value_type_code
19494 , x_value_combination_id => l_adr_value_combination_id
19495 , x_value_segment_code => l_adr_value_segment_code
19496 , p_side => 'NA'
19497 , p_override_seg_flag => 'Y'
19498 );
19499
19500 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19501
19502 xla_ae_lines_pkg.set_segment(
19503 p_to_segment_code => 'GL_ACCOUNT'
19504 , p_segment_value => l_segment
19505 , p_from_segment_code => l_adr_value_segment_code
19509 , p_accounting_coa_id => l_adr_accounting_coa_id
19506 , p_from_combination_id => l_adr_value_combination_id
19507 , p_value_type_code => l_adr_value_type_code
19508 , p_transaction_coa_id => l_adr_transaction_coa_id
19510 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19511 , p_flex_value_set_id => l_adr_flex_value_set_id
19512 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
19513 , p_adr_type_code => 'S'
19514 , p_component_type => l_component_type
19515 , p_component_code => l_component_code
19516 , p_component_type_code => l_component_type_code
19517 , p_component_appl_id => l_component_appl_id
19518 , p_amb_context_code => l_amb_context_code
19519 , p_entity_code => 'AP_PAYMENTS'
19520 , p_event_class_code => 'RECONCILED PAYMENTS'
19521 , p_side => 'NA'
19522 );
19523
19524 END IF;
19525
19526 --
19527 --
19528 END IF;
19529 --
19530 -- Bug 4922099
19531 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19532 (NVL(l_enc_upg_option, 'N') = 'O')
19533 ) AND
19534 (l_bflow_method_code = 'PRIOR_ENTRY')
19535 )
19536 THEN
19537 IF
19538 --
19539 1 = 2
19540 --
19541 THEN
19542 xla_accounting_err_pkg.build_message
19543 (p_appli_s_name => 'XLA'
19544 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19545 ,p_token_1 => 'LINE_NUMBER'
19546 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19547 ,p_token_2 => 'LINE_TYPE_NAME'
19548 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19549 l_component_type
19550 ,l_component_code
19551 ,l_component_type_code
19552 ,l_component_appl_id
19553 ,l_amb_context_code
19554 ,l_entity_code
19555 ,l_event_class_code
19556 )
19557 ,p_token_3 => 'OWNER'
19558 ,p_value_3 => xla_lookups_pkg.get_meaning(
19559 p_lookup_type => 'XLA_OWNER_TYPE'
19560 ,p_lookup_code => l_component_type_code
19561 )
19562 ,p_token_4 => 'PRODUCT_NAME'
19563 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19564 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19565 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19566 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19567 ,p_ae_header_id => NULL
19568 );
19569
19570 IF (C_LEVEL_ERROR>= g_log_level) THEN
19571 trace
19572 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19573 ,p_level => C_LEVEL_ERROR
19574 ,p_module => l_log_module);
19575 END IF;
19576 END IF;
19577 END IF;
19578 --
19579 --
19580 ------------------------------------------------------------------------------------------------
19581 -- 4219869 Business Flow
19582 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19583 -- Prior Entry. Currently, the following code is always generated.
19584 ------------------------------------------------------------------------------------------------
19585 XLA_AE_LINES_PKG.ValidateCurrentLine;
19586
19587 ------------------------------------------------------------------------------------
19588 -- 4219869 Business Flow
19589 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19590 ------------------------------------------------------------------------------------
19591 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19592
19593 ----------------------------------------------------------------------------------
19594 -- 4219869 Business Flow
19595 -- Update journal entry status -- Need to generate this within IF <condition>
19596 ----------------------------------------------------------------------------------
19597 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19598 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19599 ,p_balance_type_code => l_balance_type_code
19600 );
19604 -------------------------------------------------------------------------------------------
19601
19602 -------------------------------------------------------------------------------------------
19603 -- 4262811 - Generate the Accrual Reversal lines
19605 BEGIN
19606 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19607 (g_array_event(p_event_id).array_value_num('header_index'));
19608 IF l_acc_rev_flag IS NULL THEN
19609 l_acc_rev_flag := 'N';
19610 END IF;
19611 EXCEPTION
19612 WHEN OTHERS THEN
19613 l_acc_rev_flag := 'N';
19614 END;
19615 --
19616 IF (l_acc_rev_flag = 'Y') THEN
19617
19618 -- 4645092 ------------------------------------------------------------------------------
19619 -- To allow MPA report to determine if it should generate report process
19620 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19621 ------------------------------------------------------------------------------------------
19622
19623 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19624 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19625 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19626 -- call ADRs
19627 -- Bug 4922099
19628 --
19629 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19630 (NVL(l_actual_upg_option, 'N') = 'O') OR
19631 (NVL(l_enc_upg_option, 'N') = 'O')
19632 )
19633 THEN
19634 NULL;
19635 --
19636 --
19637
19638 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
19639 p_code_combination_id => TO_NUMBER(C_NUM)
19640 , p_value_type_code => NULL
19641 , p_transaction_coa_id => null
19642 , p_accounting_coa_id => null
19643 , p_adr_code => NULL
19644 , p_adr_type_code => NULL
19645 , p_component_type => l_component_type
19646 , p_component_code => l_component_code
19647 , p_component_type_code => l_component_type_code
19648 , p_component_appl_id => l_component_appl_id
19649 , p_amb_context_code => l_amb_context_code
19650 , p_side => NULL
19651 );
19652
19653
19654 -- initialise segments
19655 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19656 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19657 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19658 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19659 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19660 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19661 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19662 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19663 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19664 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19665 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19666 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19667 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19668 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19669 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19670 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19671 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19672 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19673 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19674 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19675 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19676 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19677 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19678 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19679 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19680 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19681 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19682 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19683 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19684 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19685 --
19686
19687 --
19688
19689
19690 l_segment := AcctDerRule_6(
19691 p_application_id => p_application_id
19692 , p_ae_header_id => l_ae_header_id
19693 , p_source_17 => p_source_17
19694 , x_transaction_coa_id => l_adr_transaction_coa_id
19695 , x_accounting_coa_id => l_adr_accounting_coa_id
19696 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19697 , x_flex_value_set_id => l_adr_flex_value_set_id
19701 , p_side => 'NA'
19698 , x_value_type_code => l_adr_value_type_code
19699 , x_value_combination_id => l_adr_value_combination_id
19700 , x_value_segment_code => l_adr_value_segment_code
19702 , p_override_seg_flag => 'Y'
19703 );
19704
19705 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19706
19707 xla_ae_lines_pkg.set_segment(
19708 p_to_segment_code => 'GL_ACCOUNT'
19709 , p_segment_value => l_segment
19710 , p_from_segment_code => l_adr_value_segment_code
19711 , p_from_combination_id => l_adr_value_combination_id
19712 , p_value_type_code => l_adr_value_type_code
19713 , p_transaction_coa_id => l_adr_transaction_coa_id
19714 , p_accounting_coa_id => l_adr_accounting_coa_id
19715 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19716 , p_flex_value_set_id => l_adr_flex_value_set_id
19717 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
19718 , p_adr_type_code => 'S'
19719 , p_component_type => l_component_type
19720 , p_component_code => l_component_code
19721 , p_component_type_code => l_component_type_code
19722 , p_component_appl_id => l_component_appl_id
19723 , p_amb_context_code => l_amb_context_code
19724 , p_entity_code => 'AP_PAYMENTS'
19725 , p_event_class_code => 'RECONCILED PAYMENTS'
19726 , p_side => 'NA'
19727 );
19728
19729 END IF;
19730
19731 --
19732 --
19733 END IF;
19734
19735 --
19736 -- Update the line information that should be overwritten
19737 --
19738 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19739 p_header_num => 1);
19740 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19741
19742 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19743
19744 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19745 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19746 END IF;
19747
19748 --
19749 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19750 --
19751 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19752 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19753 ELSE
19754 ---------------------------------------------------------------------------------------------------
19755 -- 4262811a Switch Sign
19756 ---------------------------------------------------------------------------------------------------
19757 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19758 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19759 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19760 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19761 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19762 -- 5132302
19763 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19764 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19765
19766 END IF;
19767
19768 -- 4955764
19769 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19770 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19771
19772
19773 XLA_AE_LINES_PKG.ValidateCurrentLine;
19774 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19775
19776 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19777 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19778 ,p_balance_type_code => l_balance_type_code);
19779
19780 END IF;
19781
19782 -----------------------------------------------------------------------------------------
19783 -- 4262811 Multiperiod Accounting
19784 -----------------------------------------------------------------------------------------
19785 -- No MPA option is assigned.
19786
19787
19788 END IF;
19789 END IF;
19790 --
19791
19792 --
19793 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19794 trace
19795 (p_msg => 'END of AcctLineType_60'
19796 ,p_level => C_LEVEL_PROCEDURE
19797 ,p_module => l_log_module);
19798 END IF;
19799 --
19800 EXCEPTION
19801 WHEN xla_exceptions_pkg.application_exception THEN
19802 RAISE;
19803 WHEN OTHERS THEN
19804 xla_exceptions_pkg.raise_message
19805 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_60');
19806 END AcctLineType_60;
19807 --
19808
19809 ---------------------------------------
19810 --
19811 -- PRIVATE FUNCTION
19812 -- AcctLineType_61
19813 --
19817 ,p_event_id IN NUMBER
19814 ---------------------------------------
19815 PROCEDURE AcctLineType_61 (
19816 p_application_id IN NUMBER
19818 ,p_calculate_acctd_flag IN VARCHAR2
19819 ,p_calculate_g_l_flag IN VARCHAR2
19820 ,p_actual_flag IN OUT VARCHAR2
19821 ,p_balance_type_code OUT VARCHAR2
19822 ,p_gain_or_loss_ref OUT VARCHAR2
19823
19824 --Payment Currency Code
19825 , p_source_13 IN VARCHAR2
19826 --Automatic Offsets Value
19827 , p_source_15 IN VARCHAR2
19828 , p_source_15_meaning IN VARCHAR2
19829 --Bank Cash Account
19830 , p_source_17 IN NUMBER
19831 --Accounting Reversal Indicator
19832 , p_source_52 IN VARCHAR2
19833 --Distribution Link Type
19834 , p_source_54 IN VARCHAR2
19835 --Override Accounted Amount Indicator
19836 , p_source_79 IN VARCHAR2
19837 , p_source_79_meaning IN VARCHAR2
19838 --Third Party Type
19839 , p_source_82 IN VARCHAR2
19840 --Invoice Distribution Tax Line Identifier
19841 , p_source_85 IN NUMBER
19842 --Invoice Distribution Summary Tax Line Identifier
19843 , p_source_87 IN NUMBER
19844 --Business Flow Accounts Payable Application Identifier
19845 , p_source_90 IN NUMBER
19846 --When to Account for Payment Option
19847 , p_source_96 IN VARCHAR2
19848 --Payment Distribution Type
19849 , p_source_97 IN VARCHAR2
19850 , p_source_97_meaning IN VARCHAR2
19851 --Payment Distribution Amount
19852 , p_source_98 IN NUMBER
19853 --Business Flow Payment Distribution Type
19854 , p_source_99 IN VARCHAR2
19855 --Business Flow Payment Entity Code
19856 , p_source_100 IN VARCHAR2
19857 --Business Flow Payment Distribution Identifier
19858 , p_source_101 IN NUMBER
19859 --Business Flow Payment Identifier
19860 , p_source_102 IN NUMBER
19861 --Payment Distribution Identifier
19862 , p_source_103 IN NUMBER
19863 --Cleared Exchange Date
19864 , p_source_105 IN DATE
19865 --Cleared Exchange Rate
19866 , p_source_106 IN NUMBER
19867 --Cleared Exchange Rate Type
19868 , p_source_107 IN VARCHAR2
19869 --Payment Distribution (Cleared Rate) Ledger Amount
19870 , p_source_108 IN NUMBER
19871 --Payment Supplier Identifier
19872 , p_source_109 IN NUMBER
19873 --Payment Supplier Site Identifier
19874 , p_source_110 IN NUMBER
19875 --Payment Distribution Reversed Identifier
19876 , p_source_111 IN NUMBER
19877 --Payment Identifier
19878 , p_source_112 IN NUMBER
19879 --Pooled Bank Account Option
19880 , p_source_113 IN VARCHAR2
19881 , p_source_113_meaning IN VARCHAR2
19882 )
19883 IS
19884
19885 l_component_type VARCHAR2(80);
19886 l_component_code VARCHAR2(30);
19887 l_component_type_code VARCHAR2(1);
19888 l_component_appl_id INTEGER;
19889 l_amb_context_code VARCHAR2(30);
19890 l_entity_code VARCHAR2(30);
19891 l_event_class_code VARCHAR2(30);
19892 l_ae_header_id NUMBER;
19893 l_event_type_code VARCHAR2(30);
19894 l_line_definition_code VARCHAR2(30);
19895 l_line_definition_owner_code VARCHAR2(1);
19896 --
19897 -- adr variables
19898 l_segment VARCHAR2(30);
19899 l_ccid NUMBER;
19900 l_adr_transaction_coa_id NUMBER;
19901 l_adr_accounting_coa_id NUMBER;
19902 l_adr_flexfield_segment_code VARCHAR2(30);
19903 l_adr_flex_value_set_id NUMBER;
19904 l_adr_value_type_code VARCHAR2(30);
19905 l_adr_value_combination_id NUMBER;
19906 l_adr_value_segment_code VARCHAR2(30);
19907
19908 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19909 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19910 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19911 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19912
19913 -- 4262811 Variables ------------------------------------------------------------------------------------------
19914 l_entered_amt_idx NUMBER;
19915 l_accted_amt_idx NUMBER;
19916 l_acc_rev_flag VARCHAR2(1);
19917 l_accrual_line_num NUMBER;
19918 l_tmp_amt NUMBER;
19919 l_acc_rev_natural_side_code VARCHAR2(1);
19920
19921 l_num_entries NUMBER;
19922 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19923 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19924 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19925 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19926 l_recog_line_1 NUMBER;
19927 l_recog_line_2 NUMBER;
19928
19929 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19930 l_bflow_applied_to_amt NUMBER; -- 5132302
19931 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19932
19933 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19934
19935 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19936 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19940
19937
19938 ---------------------------------------------------------------------------------------------------------------
19939
19941 --
19942 -- bulk performance
19943 --
19944 l_balance_type_code VARCHAR2(1);
19945 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19946 l_log_module VARCHAR2(240);
19947
19948 --
19949 -- Upgrade strategy
19950 --
19951 l_actual_upg_option VARCHAR2(1);
19952 l_enc_upg_option VARCHAR2(1);
19953
19954 --
19955 BEGIN
19956 --
19957 IF g_log_enabled THEN
19958 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_61';
19959 END IF;
19960 --
19961 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19962
19963 trace
19964 (p_msg => 'BEGIN of AcctLineType_61'
19965 ,p_level => C_LEVEL_PROCEDURE
19966 ,p_module => l_log_module);
19967
19968 END IF;
19969 --
19970 l_component_type := 'AMB_JLT';
19971 l_component_code := 'AP_CASH_CLEARONLY_AOS_BS';
19972 l_component_type_code := 'S';
19973 l_component_appl_id := 200;
19974 l_amb_context_code := 'DEFAULT';
19975 l_entity_code := 'AP_PAYMENTS';
19976 l_event_class_code := 'RECONCILED PAYMENTS';
19977 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
19978 l_line_definition_owner_code := 'S';
19979 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
19980 --
19981 l_balance_type_code := 'A';
19982 l_segment := NULL;
19983 l_ccid := NULL;
19984 l_adr_transaction_coa_id := NULL;
19985 l_adr_accounting_coa_id := NULL;
19986 l_adr_flexfield_segment_code := NULL;
19987 l_adr_flex_value_set_id := NULL;
19988 l_adr_value_type_code := NULL;
19989 l_adr_value_combination_id := NULL;
19990 l_adr_value_segment_code := NULL;
19991
19992 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
19993 l_bflow_class_code := ''; -- 4219869 Business Flow
19994 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19995 l_budgetary_control_flag := 'N';
19996
19997 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19998 l_bflow_applied_to_amt := NULL; -- 5132302
19999 l_entered_amt_idx := NULL; -- 4262811
20000 l_accted_amt_idx := NULL; -- 4262811
20001 l_acc_rev_flag := NULL; -- 4262811
20002 l_accrual_line_num := NULL; -- 4262811
20003 l_tmp_amt := NULL; -- 4262811
20004 --
20005
20006 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20007 l_balance_type_code <> 'B' THEN
20008 IF NVL(p_source_96,'
20009 ') <> 'ISSUE_ISSUE' AND
20010 (NVL(p_source_113,'
20011 ') = 'Y' AND
20012 NVL(p_source_15,'
20013 ') = 'BALANCING_SEGMENT') AND
20014 (NVL(p_source_97,'
20015 ') = 'CASH' OR
20016 NVL(p_source_97,'
20017 ') = 'BANK CHARGE' OR
20018 NVL(p_source_97,'
20019 ') = 'BANK ERROR')
20020 THEN
20021
20022 --
20023 XLA_AE_LINES_PKG.SetNewLine;
20024
20025 p_balance_type_code := l_balance_type_code;
20026 -- set the flag so later we will know whether the gain loss line needs to be created
20027
20028 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20029 p_actual_flag :='A';
20030 END IF;
20031
20032 --
20033 -- bulk performance
20034 --
20035 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20036 p_header_num => 0); -- 4262811
20037 --
20038 -- set accounting line options
20039 --
20040 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20041 p_natural_side_code => 'C'
20042 , p_gain_or_loss_flag => 'N'
20043 , p_gl_transfer_mode_code => 'S'
20044 , p_acct_entry_type_code => 'A'
20045 , p_switch_side_flag => 'Y'
20046 , p_merge_duplicate_code => 'A'
20047 );
20048 --
20049 l_acc_rev_natural_side_code := 'D'; -- 4262811
20050 --
20051 --
20052 -- set accounting line type info
20053 --
20054 xla_ae_lines_pkg.SetAcctLineType
20055 (p_component_type => l_component_type
20056 ,p_event_type_code => l_event_type_code
20057 ,p_line_definition_owner_code => l_line_definition_owner_code
20058 ,p_line_definition_code => l_line_definition_code
20059 ,p_accounting_line_code => l_component_code
20060 ,p_accounting_line_type_code => l_component_type_code
20061 ,p_accounting_line_appl_id => l_component_appl_id
20062 ,p_amb_context_code => l_amb_context_code
20063 ,p_entity_code => l_entity_code
20064 ,p_event_class_code => l_event_class_code);
20065 --
20066 -- set accounting class
20067 --
20068 xla_ae_lines_pkg.SetAcctClass(
20069 p_accounting_class_code => 'CASH'
20070 , p_ae_header_id => l_ae_header_id
20071 );
20072
20073 --
20074 -- set rounding class
20075 --
20076 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20080 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20077 'CASH';
20078
20079 --
20081 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20082 --
20083 -- bulk performance
20084 --
20085 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20086
20087 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20088 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20089
20090 -- 4955764
20091 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20092 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20093
20094 -- 4458381 Public Sector Enh
20095
20096 --
20097 -- set accounting attributes for the line type
20098 --
20099 l_entered_amt_idx := 10;
20100 l_accted_amt_idx := 15;
20101 l_bflow_applied_to_amt_idx := 2; -- 5132302
20102 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20103 l_rec_acct_attrs.array_char_value(1) := p_source_52;
20104 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20105 l_rec_acct_attrs.array_num_value(2) := p_source_98;
20106 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20107 l_rec_acct_attrs.array_num_value(3) := p_source_90;
20108 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20109 l_rec_acct_attrs.array_char_value(4) := p_source_99;
20110 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20111 l_rec_acct_attrs.array_char_value(5) := p_source_100;
20112 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20113 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
20114 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20115 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
20116 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20117 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
20118 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20119 l_rec_acct_attrs.array_char_value(9) := p_source_54;
20120 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20121 l_rec_acct_attrs.array_num_value(10) := p_source_98;
20122 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20123 l_rec_acct_attrs.array_char_value(11) := p_source_13;
20124 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20125 l_rec_acct_attrs.array_date_value(12) := p_source_105;
20126 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20127 l_rec_acct_attrs.array_num_value(13) := p_source_106;
20128 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20129 l_rec_acct_attrs.array_char_value(14) := p_source_107;
20130 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20131 l_rec_acct_attrs.array_num_value(15) := p_source_108;
20132 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20133 l_rec_acct_attrs.array_char_value(16) := p_source_79;
20134 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20135 l_rec_acct_attrs.array_num_value(17) := p_source_109;
20136 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20137 l_rec_acct_attrs.array_num_value(18) := p_source_110;
20138 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20139 l_rec_acct_attrs.array_char_value(19) := p_source_82;
20140 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20141 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
20142 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20143 l_rec_acct_attrs.array_char_value(21) := p_source_54;
20144 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20145 l_rec_acct_attrs.array_num_value(22) := p_source_85;
20146 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20147 l_rec_acct_attrs.array_num_value(23) := p_source_85;
20148 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20149 l_rec_acct_attrs.array_num_value(24) := p_source_87;
20150
20151 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20152 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20153
20154 ---------------------------------------------------------------------------------------------------------------
20155 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20156 ---------------------------------------------------------------------------------------------------------------
20157 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20158
20159 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20160 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20161
20162 IF xla_accounting_cache_pkg.GetValueChar
20163 (p_source_code => 'LEDGER_CATEGORY_CODE'
20164 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20165 AND l_bflow_method_code = 'PRIOR_ENTRY'
20166 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20170 THEN
20167 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20168 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20169 )
20171 xla_ae_lines_pkg.BflowUpgEntry
20172 (p_business_method_code => l_bflow_method_code
20173 ,p_business_class_code => l_bflow_class_code
20174 ,p_balance_type => l_balance_type_code);
20175 ELSE
20176 NULL;
20177 XLA_AE_LINES_PKG.business_flow_validation(
20178 p_business_method_code => l_bflow_method_code
20179 ,p_business_class_code => l_bflow_class_code
20180 ,p_inherit_description_flag => l_inherit_desc_flag);
20181 END IF;
20182
20183 --
20184 -- call analytical criteria
20185 --
20186
20187
20188 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
20189 xla_ae_lines_pkg.SetAnalyticalCriteria(
20190 p_analytical_criterion_name => 'Check Id'
20191 , p_analytical_criterion_owner => 'S'
20192 , p_analytical_criterion_code => 'CHECK_ID'
20193 , p_amb_context_code => 'DEFAULT'
20194 , p_balancing_flag => 'N'
20195
20196 , p_analytical_detail_char_1 => NULL
20197 , p_analytical_detail_num_1 => p_source_112
20198 , p_analytical_detail_date_1 => NULL
20199
20200 , p_ae_header_id => l_ae_header_id
20201 )
20202 ;
20203 --
20204
20205 --
20206 -- call description
20207 --
20208 -- No description or it is inherited.
20209 --
20210 -- call ADRs
20211 -- Bug 4922099
20212 --
20213 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20214 (NVL(l_actual_upg_option, 'N') = 'O') OR
20215 (NVL(l_enc_upg_option, 'N') = 'O')
20216 )
20217 THEN
20218 NULL;
20219 --
20220 --
20221
20222 l_ccid := AcctDerRule_28(
20223 p_application_id => p_application_id
20224 , p_ae_header_id => l_ae_header_id
20225 , p_source_17 => p_source_17
20226 , x_transaction_coa_id => l_adr_transaction_coa_id
20227 , x_accounting_coa_id => l_adr_accounting_coa_id
20228 , x_value_type_code => l_adr_value_type_code
20229 , p_side => 'NA'
20230 );
20231
20232 xla_ae_lines_pkg.set_ccid(
20233 p_code_combination_id => l_ccid
20234 , p_value_type_code => l_adr_value_type_code
20235 , p_transaction_coa_id => l_adr_transaction_coa_id
20236 , p_accounting_coa_id => l_adr_accounting_coa_id
20237 , p_adr_code => 'AP_CASH'
20238 , p_adr_type_code => 'S'
20239 , p_component_type => l_component_type
20240 , p_component_code => l_component_code
20241 , p_component_type_code => l_component_type_code
20242 , p_component_appl_id => l_component_appl_id
20243 , p_amb_context_code => l_amb_context_code
20244 , p_side => 'NA'
20245 );
20246
20247
20248 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
20249 p_to_segment_code => 'GL_BALANCING'
20250 , p_segment_value => C_CHAR
20251 , p_from_segment_code => NULL
20252 , p_from_combination_id => NULL
20253 , p_value_type_code => NULL
20254 , p_transaction_coa_id => null
20255 , p_accounting_coa_id => null
20256 , p_flexfield_segment_code => NULL
20257 , p_flex_value_set_id => NULL
20258 , p_adr_code => NULL
20259 , p_adr_type_code => NULL
20260 , p_component_type => l_component_type
20261 , p_component_code => l_component_code
20262 , p_component_type_code => l_component_type_code
20263 , p_component_appl_id => l_component_appl_id
20264 , p_amb_context_code => l_amb_context_code
20265 , p_entity_code => 'AP_PAYMENTS'
20266 , p_event_class_code => 'RECONCILED PAYMENTS'
20267 , p_side => 'NA'
20268 );
20269 --
20270
20271
20272 --
20273 --
20274 END IF;
20275 --
20276 -- Bug 4922099
20277 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20278 (NVL(l_enc_upg_option, 'N') = 'O')
20279 ) AND
20280 (l_bflow_method_code = 'PRIOR_ENTRY')
20281 )
20282 THEN
20283 IF
20284 --
20285 1 = 2
20286 --
20287 THEN
20288 xla_accounting_err_pkg.build_message
20289 (p_appli_s_name => 'XLA'
20290 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20291 ,p_token_1 => 'LINE_NUMBER'
20292 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20293 ,p_token_2 => 'LINE_TYPE_NAME'
20294 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20295 l_component_type
20296 ,l_component_code
20300 ,l_entity_code
20297 ,l_component_type_code
20298 ,l_component_appl_id
20299 ,l_amb_context_code
20301 ,l_event_class_code
20302 )
20303 ,p_token_3 => 'OWNER'
20304 ,p_value_3 => xla_lookups_pkg.get_meaning(
20305 p_lookup_type => 'XLA_OWNER_TYPE'
20306 ,p_lookup_code => l_component_type_code
20307 )
20308 ,p_token_4 => 'PRODUCT_NAME'
20309 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20310 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20311 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20312 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20313 ,p_ae_header_id => NULL
20314 );
20315
20316 IF (C_LEVEL_ERROR>= g_log_level) THEN
20317 trace
20318 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20319 ,p_level => C_LEVEL_ERROR
20320 ,p_module => l_log_module);
20321 END IF;
20322 END IF;
20323 END IF;
20324 --
20325 --
20326 ------------------------------------------------------------------------------------------------
20327 -- 4219869 Business Flow
20328 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20329 -- Prior Entry. Currently, the following code is always generated.
20330 ------------------------------------------------------------------------------------------------
20331 XLA_AE_LINES_PKG.ValidateCurrentLine;
20332
20333 ------------------------------------------------------------------------------------
20334 -- 4219869 Business Flow
20335 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
20336 ------------------------------------------------------------------------------------
20337 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20338
20339 ----------------------------------------------------------------------------------
20340 -- 4219869 Business Flow
20341 -- Update journal entry status -- Need to generate this within IF <condition>
20342 ----------------------------------------------------------------------------------
20343 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20344 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
20345 ,p_balance_type_code => l_balance_type_code
20346 );
20347
20348 -------------------------------------------------------------------------------------------
20349 -- 4262811 - Generate the Accrual Reversal lines
20350 -------------------------------------------------------------------------------------------
20351 BEGIN
20352 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
20353 (g_array_event(p_event_id).array_value_num('header_index'));
20354 IF l_acc_rev_flag IS NULL THEN
20355 l_acc_rev_flag := 'N';
20356 END IF;
20357 EXCEPTION
20358 WHEN OTHERS THEN
20359 l_acc_rev_flag := 'N';
20360 END;
20361 --
20362 IF (l_acc_rev_flag = 'Y') THEN
20363
20364 -- 4645092 ------------------------------------------------------------------------------
20365 -- To allow MPA report to determine if it should generate report process
20366 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20367 ------------------------------------------------------------------------------------------
20368
20369 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20370 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20371 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20372 -- call ADRs
20373 -- Bug 4922099
20374 --
20375 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20376 (NVL(l_actual_upg_option, 'N') = 'O') OR
20377 (NVL(l_enc_upg_option, 'N') = 'O')
20378 )
20379 THEN
20380 NULL;
20381 --
20382 --
20383
20384 l_ccid := AcctDerRule_28(
20385 p_application_id => p_application_id
20386 , p_ae_header_id => l_ae_header_id
20387 , p_source_17 => p_source_17
20388 , x_transaction_coa_id => l_adr_transaction_coa_id
20389 , x_accounting_coa_id => l_adr_accounting_coa_id
20390 , x_value_type_code => l_adr_value_type_code
20391 , p_side => 'NA'
20392 );
20393
20394 xla_ae_lines_pkg.set_ccid(
20395 p_code_combination_id => l_ccid
20399 , p_adr_code => 'AP_CASH'
20396 , p_value_type_code => l_adr_value_type_code
20397 , p_transaction_coa_id => l_adr_transaction_coa_id
20398 , p_accounting_coa_id => l_adr_accounting_coa_id
20400 , p_adr_type_code => 'S'
20401 , p_component_type => l_component_type
20402 , p_component_code => l_component_code
20403 , p_component_type_code => l_component_type_code
20404 , p_component_appl_id => l_component_appl_id
20405 , p_amb_context_code => l_amb_context_code
20406 , p_side => 'NA'
20407 );
20408
20409
20410 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
20411 p_to_segment_code => 'GL_BALANCING'
20412 , p_segment_value => C_CHAR
20413 , p_from_segment_code => NULL
20414 , p_from_combination_id => NULL
20415 , p_value_type_code => NULL
20416 , p_transaction_coa_id => null
20417 , p_accounting_coa_id => null
20418 , p_flexfield_segment_code => NULL
20419 , p_flex_value_set_id => NULL
20420 , p_adr_code => NULL
20421 , p_adr_type_code => NULL
20422 , p_component_type => l_component_type
20423 , p_component_code => l_component_code
20424 , p_component_type_code => l_component_type_code
20425 , p_component_appl_id => l_component_appl_id
20426 , p_amb_context_code => l_amb_context_code
20427 , p_entity_code => 'AP_PAYMENTS'
20428 , p_event_class_code => 'RECONCILED PAYMENTS'
20429 , p_side => 'NA'
20430 );
20431 --
20432
20433
20434 --
20435 --
20436 END IF;
20437
20438 --
20439 -- Update the line information that should be overwritten
20440 --
20441 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20442 p_header_num => 1);
20443 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20444
20445 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20446
20447 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20448 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20449 END IF;
20450
20451 --
20452 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20453 --
20454 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20455 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20456 ELSE
20457 ---------------------------------------------------------------------------------------------------
20458 -- 4262811a Switch Sign
20459 ---------------------------------------------------------------------------------------------------
20460 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20461 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20462 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20463 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20464 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20465 -- 5132302
20466 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20467 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20468
20469 END IF;
20470
20471 -- 4955764
20472 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20473 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20474
20475
20476 XLA_AE_LINES_PKG.ValidateCurrentLine;
20477 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20478
20479 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20480 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20481 ,p_balance_type_code => l_balance_type_code);
20482
20483 END IF;
20484
20485 -----------------------------------------------------------------------------------------
20486 -- 4262811 Multiperiod Accounting
20487 -----------------------------------------------------------------------------------------
20488 -- No MPA option is assigned.
20489
20490
20491 END IF;
20492 END IF;
20493 --
20494
20495 --
20496 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20497 trace
20498 (p_msg => 'END of AcctLineType_61'
20499 ,p_level => C_LEVEL_PROCEDURE
20500 ,p_module => l_log_module);
20501 END IF;
20502 --
20503 EXCEPTION
20504 WHEN xla_exceptions_pkg.application_exception THEN
20505 RAISE;
20506 WHEN OTHERS THEN
20507 xla_exceptions_pkg.raise_message
20508 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_61');
20509 END AcctLineType_61;
20510 --
20511
20512 ---------------------------------------
20513 --
20514 -- PRIVATE FUNCTION
20515 -- AcctLineType_62
20516 --
20520 ,p_event_id IN NUMBER
20517 ---------------------------------------
20518 PROCEDURE AcctLineType_62 (
20519 p_application_id IN NUMBER
20521 ,p_calculate_acctd_flag IN VARCHAR2
20522 ,p_calculate_g_l_flag IN VARCHAR2
20523 ,p_actual_flag IN OUT VARCHAR2
20524 ,p_balance_type_code OUT VARCHAR2
20525 ,p_gain_or_loss_ref OUT VARCHAR2
20526
20527 --Payment Currency Code
20528 , p_source_13 IN VARCHAR2
20529 --Bank Cash Account
20530 , p_source_17 IN NUMBER
20531 --Automatic Offsets Flag
20532 , p_source_47 IN VARCHAR2
20533 , p_source_47_meaning IN VARCHAR2
20534 --Accounting Reversal Indicator
20535 , p_source_52 IN VARCHAR2
20536 --Distribution Link Type
20537 , p_source_54 IN VARCHAR2
20538 --Override Accounted Amount Indicator
20539 , p_source_79 IN VARCHAR2
20540 , p_source_79_meaning IN VARCHAR2
20541 --Third Party Type
20542 , p_source_82 IN VARCHAR2
20543 --Invoice Distribution Tax Line Identifier
20544 , p_source_85 IN NUMBER
20545 --Invoice Distribution Summary Tax Line Identifier
20546 , p_source_87 IN NUMBER
20547 --Business Flow Accounts Payable Application Identifier
20548 , p_source_90 IN NUMBER
20549 --When to Account for Payment Option
20550 , p_source_96 IN VARCHAR2
20551 --Payment Distribution Type
20552 , p_source_97 IN VARCHAR2
20553 , p_source_97_meaning IN VARCHAR2
20554 --Payment Distribution Amount
20555 , p_source_98 IN NUMBER
20556 --Business Flow Payment Distribution Type
20557 , p_source_99 IN VARCHAR2
20558 --Business Flow Payment Entity Code
20559 , p_source_100 IN VARCHAR2
20560 --Business Flow Payment Distribution Identifier
20561 , p_source_101 IN NUMBER
20562 --Business Flow Payment Identifier
20563 , p_source_102 IN NUMBER
20564 --Payment Distribution Identifier
20565 , p_source_103 IN NUMBER
20566 --Cleared Exchange Date
20567 , p_source_105 IN DATE
20568 --Cleared Exchange Rate
20569 , p_source_106 IN NUMBER
20570 --Cleared Exchange Rate Type
20571 , p_source_107 IN VARCHAR2
20572 --Payment Distribution (Cleared Rate) Ledger Amount
20573 , p_source_108 IN NUMBER
20574 --Payment Supplier Identifier
20575 , p_source_109 IN NUMBER
20576 --Payment Supplier Site Identifier
20577 , p_source_110 IN NUMBER
20578 --Payment Distribution Reversed Identifier
20579 , p_source_111 IN NUMBER
20580 --Payment Identifier
20581 , p_source_112 IN NUMBER
20582 --Pooled Bank Account Option
20583 , p_source_113 IN VARCHAR2
20584 , p_source_113_meaning IN VARCHAR2
20585 )
20586 IS
20587
20588 l_component_type VARCHAR2(80);
20589 l_component_code VARCHAR2(30);
20590 l_component_type_code VARCHAR2(1);
20591 l_component_appl_id INTEGER;
20592 l_amb_context_code VARCHAR2(30);
20593 l_entity_code VARCHAR2(30);
20594 l_event_class_code VARCHAR2(30);
20595 l_ae_header_id NUMBER;
20596 l_event_type_code VARCHAR2(30);
20597 l_line_definition_code VARCHAR2(30);
20598 l_line_definition_owner_code VARCHAR2(1);
20599 --
20600 -- adr variables
20601 l_segment VARCHAR2(30);
20602 l_ccid NUMBER;
20603 l_adr_transaction_coa_id NUMBER;
20604 l_adr_accounting_coa_id NUMBER;
20605 l_adr_flexfield_segment_code VARCHAR2(30);
20606 l_adr_flex_value_set_id NUMBER;
20607 l_adr_value_type_code VARCHAR2(30);
20608 l_adr_value_combination_id NUMBER;
20609 l_adr_value_segment_code VARCHAR2(30);
20610
20611 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20612 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20613 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20614 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20615
20616 -- 4262811 Variables ------------------------------------------------------------------------------------------
20617 l_entered_amt_idx NUMBER;
20618 l_accted_amt_idx NUMBER;
20619 l_acc_rev_flag VARCHAR2(1);
20620 l_accrual_line_num NUMBER;
20621 l_tmp_amt NUMBER;
20622 l_acc_rev_natural_side_code VARCHAR2(1);
20623
20624 l_num_entries NUMBER;
20625 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20626 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20627 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20628 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20629 l_recog_line_1 NUMBER;
20630 l_recog_line_2 NUMBER;
20631
20632 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20633 l_bflow_applied_to_amt NUMBER; -- 5132302
20634 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
20635
20636 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
20637
20638 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
20642
20639 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
20640
20641 ---------------------------------------------------------------------------------------------------------------
20643
20644 --
20645 -- bulk performance
20646 --
20647 l_balance_type_code VARCHAR2(1);
20648 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20649 l_log_module VARCHAR2(240);
20650
20651 --
20652 -- Upgrade strategy
20653 --
20654 l_actual_upg_option VARCHAR2(1);
20655 l_enc_upg_option VARCHAR2(1);
20656
20657 --
20658 BEGIN
20659 --
20660 IF g_log_enabled THEN
20661 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_62';
20662 END IF;
20663 --
20664 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20665
20666 trace
20667 (p_msg => 'BEGIN of AcctLineType_62'
20668 ,p_level => C_LEVEL_PROCEDURE
20669 ,p_module => l_log_module);
20670
20671 END IF;
20672 --
20673 l_component_type := 'AMB_JLT';
20674 l_component_code := 'AP_CASH_CLEARONLY_NP';
20675 l_component_type_code := 'S';
20676 l_component_appl_id := 200;
20677 l_amb_context_code := 'DEFAULT';
20678 l_entity_code := 'AP_PAYMENTS';
20679 l_event_class_code := 'RECONCILED PAYMENTS';
20680 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
20681 l_line_definition_owner_code := 'S';
20682 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
20683 --
20684 l_balance_type_code := 'A';
20685 l_segment := NULL;
20686 l_ccid := NULL;
20687 l_adr_transaction_coa_id := NULL;
20688 l_adr_accounting_coa_id := NULL;
20689 l_adr_flexfield_segment_code := NULL;
20690 l_adr_flex_value_set_id := NULL;
20691 l_adr_value_type_code := NULL;
20692 l_adr_value_combination_id := NULL;
20693 l_adr_value_segment_code := NULL;
20694
20695 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
20696 l_bflow_class_code := ''; -- 4219869 Business Flow
20697 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20698 l_budgetary_control_flag := 'N';
20699
20700 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20701 l_bflow_applied_to_amt := NULL; -- 5132302
20702 l_entered_amt_idx := NULL; -- 4262811
20703 l_accted_amt_idx := NULL; -- 4262811
20704 l_acc_rev_flag := NULL; -- 4262811
20705 l_accrual_line_num := NULL; -- 4262811
20706 l_tmp_amt := NULL; -- 4262811
20707 --
20708
20709 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20710 l_balance_type_code <> 'B' THEN
20711 IF NVL(p_source_96,'
20712 ') <> 'ISSUE_ISSUE' AND
20713 (NVL(p_source_47,'
20714 ') <> 'Y' OR
20715 NVL(p_source_47,'
20716 ') = 'Y' AND
20717 NVL(p_source_113,'
20718 ') <> 'Y') AND
20719 (NVL(p_source_97,'
20720 ') = 'CASH' OR
20721 NVL(p_source_97,'
20722 ') = 'BANK CHARGE' OR
20723 NVL(p_source_97,'
20724 ') = 'BANK ERROR')
20725 THEN
20726
20727 --
20728 XLA_AE_LINES_PKG.SetNewLine;
20729
20730 p_balance_type_code := l_balance_type_code;
20731 -- set the flag so later we will know whether the gain loss line needs to be created
20732
20733 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20734 p_actual_flag :='A';
20735 END IF;
20736
20737 --
20738 -- bulk performance
20739 --
20740 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20741 p_header_num => 0); -- 4262811
20742 --
20743 -- set accounting line options
20744 --
20745 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20746 p_natural_side_code => 'C'
20747 , p_gain_or_loss_flag => 'N'
20748 , p_gl_transfer_mode_code => 'S'
20749 , p_acct_entry_type_code => 'A'
20750 , p_switch_side_flag => 'Y'
20751 , p_merge_duplicate_code => 'A'
20752 );
20753 --
20754 l_acc_rev_natural_side_code := 'D'; -- 4262811
20755 --
20756 --
20757 -- set accounting line type info
20758 --
20759 xla_ae_lines_pkg.SetAcctLineType
20760 (p_component_type => l_component_type
20761 ,p_event_type_code => l_event_type_code
20762 ,p_line_definition_owner_code => l_line_definition_owner_code
20763 ,p_line_definition_code => l_line_definition_code
20764 ,p_accounting_line_code => l_component_code
20765 ,p_accounting_line_type_code => l_component_type_code
20766 ,p_accounting_line_appl_id => l_component_appl_id
20767 ,p_amb_context_code => l_amb_context_code
20768 ,p_entity_code => l_entity_code
20769 ,p_event_class_code => l_event_class_code);
20770 --
20771 -- set accounting class
20772 --
20773 xla_ae_lines_pkg.SetAcctClass(
20774 p_accounting_class_code => 'CASH'
20775 , p_ae_header_id => l_ae_header_id
20779 -- set rounding class
20776 );
20777
20778 --
20780 --
20781 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20782 'CASH';
20783
20784 --
20785 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20786 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20787 --
20788 -- bulk performance
20789 --
20790 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20791
20792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20793 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20794
20795 -- 4955764
20796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20798
20799 -- 4458381 Public Sector Enh
20800
20801 --
20802 -- set accounting attributes for the line type
20803 --
20804 l_entered_amt_idx := 10;
20805 l_accted_amt_idx := 15;
20806 l_bflow_applied_to_amt_idx := 2; -- 5132302
20807 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20808 l_rec_acct_attrs.array_char_value(1) := p_source_52;
20809 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20810 l_rec_acct_attrs.array_num_value(2) := p_source_98;
20811 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20812 l_rec_acct_attrs.array_num_value(3) := p_source_90;
20813 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20814 l_rec_acct_attrs.array_char_value(4) := p_source_99;
20815 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20816 l_rec_acct_attrs.array_char_value(5) := p_source_100;
20817 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20818 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
20819 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20820 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
20821 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20822 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
20823 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20824 l_rec_acct_attrs.array_char_value(9) := p_source_54;
20825 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20826 l_rec_acct_attrs.array_num_value(10) := p_source_98;
20827 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20828 l_rec_acct_attrs.array_char_value(11) := p_source_13;
20829 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20830 l_rec_acct_attrs.array_date_value(12) := p_source_105;
20831 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20832 l_rec_acct_attrs.array_num_value(13) := p_source_106;
20833 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20834 l_rec_acct_attrs.array_char_value(14) := p_source_107;
20835 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20836 l_rec_acct_attrs.array_num_value(15) := p_source_108;
20837 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20838 l_rec_acct_attrs.array_char_value(16) := p_source_79;
20839 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20840 l_rec_acct_attrs.array_num_value(17) := p_source_109;
20841 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20842 l_rec_acct_attrs.array_num_value(18) := p_source_110;
20843 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20844 l_rec_acct_attrs.array_char_value(19) := p_source_82;
20845 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20846 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
20847 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20848 l_rec_acct_attrs.array_char_value(21) := p_source_54;
20849 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20850 l_rec_acct_attrs.array_num_value(22) := p_source_85;
20851 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20852 l_rec_acct_attrs.array_num_value(23) := p_source_85;
20853 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20854 l_rec_acct_attrs.array_num_value(24) := p_source_87;
20855
20856 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20857 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20858
20859 ---------------------------------------------------------------------------------------------------------------
20860 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20861 ---------------------------------------------------------------------------------------------------------------
20862 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20863
20864 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20865 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20866
20867 IF xla_accounting_cache_pkg.GetValueChar
20868 (p_source_code => 'LEDGER_CATEGORY_CODE'
20869 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20870 AND l_bflow_method_code = 'PRIOR_ENTRY'
20874 )
20871 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20872 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20873 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20875 THEN
20876 xla_ae_lines_pkg.BflowUpgEntry
20877 (p_business_method_code => l_bflow_method_code
20878 ,p_business_class_code => l_bflow_class_code
20879 ,p_balance_type => l_balance_type_code);
20880 ELSE
20881 NULL;
20882 -- No business flow processing for business flow method of NONE.
20883 END IF;
20884
20885 --
20886 -- call analytical criteria
20887 --
20888
20889
20890 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
20891 xla_ae_lines_pkg.SetAnalyticalCriteria(
20892 p_analytical_criterion_name => 'Check Id'
20893 , p_analytical_criterion_owner => 'S'
20894 , p_analytical_criterion_code => 'CHECK_ID'
20895 , p_amb_context_code => 'DEFAULT'
20896 , p_balancing_flag => 'N'
20897
20898 , p_analytical_detail_char_1 => NULL
20899 , p_analytical_detail_num_1 => p_source_112
20900 , p_analytical_detail_date_1 => NULL
20901
20902 , p_ae_header_id => l_ae_header_id
20903 )
20904 ;
20905 --
20906
20907 --
20908 -- call description
20909 --
20910 -- No description or it is inherited.
20911 --
20912 -- call ADRs
20913 -- Bug 4922099
20914 --
20915 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20916 (NVL(l_actual_upg_option, 'N') = 'O') OR
20917 (NVL(l_enc_upg_option, 'N') = 'O')
20918 )
20919 THEN
20920 NULL;
20921 --
20922 --
20923
20924 l_ccid := AcctDerRule_28(
20925 p_application_id => p_application_id
20926 , p_ae_header_id => l_ae_header_id
20927 , p_source_17 => p_source_17
20928 , x_transaction_coa_id => l_adr_transaction_coa_id
20929 , x_accounting_coa_id => l_adr_accounting_coa_id
20930 , x_value_type_code => l_adr_value_type_code
20931 , p_side => 'NA'
20932 );
20933
20934 xla_ae_lines_pkg.set_ccid(
20935 p_code_combination_id => l_ccid
20936 , p_value_type_code => l_adr_value_type_code
20937 , p_transaction_coa_id => l_adr_transaction_coa_id
20938 , p_accounting_coa_id => l_adr_accounting_coa_id
20939 , p_adr_code => 'AP_CASH'
20940 , p_adr_type_code => 'S'
20941 , p_component_type => l_component_type
20942 , p_component_code => l_component_code
20943 , p_component_type_code => l_component_type_code
20944 , p_component_appl_id => l_component_appl_id
20945 , p_amb_context_code => l_amb_context_code
20946 , p_side => 'NA'
20947 );
20948
20949
20950 --
20951 --
20952 END IF;
20953 --
20954 -- Bug 4922099
20955 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20956 (NVL(l_enc_upg_option, 'N') = 'O')
20957 ) AND
20958 (l_bflow_method_code = 'PRIOR_ENTRY')
20959 )
20960 THEN
20961 IF
20962 --
20963 1 = 2
20964 --
20965 THEN
20966 xla_accounting_err_pkg.build_message
20967 (p_appli_s_name => 'XLA'
20968 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20969 ,p_token_1 => 'LINE_NUMBER'
20970 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20971 ,p_token_2 => 'LINE_TYPE_NAME'
20972 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20973 l_component_type
20974 ,l_component_code
20975 ,l_component_type_code
20976 ,l_component_appl_id
20977 ,l_amb_context_code
20978 ,l_entity_code
20979 ,l_event_class_code
20980 )
20981 ,p_token_3 => 'OWNER'
20982 ,p_value_3 => xla_lookups_pkg.get_meaning(
20983 p_lookup_type => 'XLA_OWNER_TYPE'
20984 ,p_lookup_code => l_component_type_code
20985 )
20986 ,p_token_4 => 'PRODUCT_NAME'
20987 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20991 ,p_ae_header_id => NULL
20988 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20989 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20990 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20992 );
20993
20994 IF (C_LEVEL_ERROR>= g_log_level) THEN
20995 trace
20996 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20997 ,p_level => C_LEVEL_ERROR
20998 ,p_module => l_log_module);
20999 END IF;
21000 END IF;
21001 END IF;
21002 --
21003 --
21004 ------------------------------------------------------------------------------------------------
21005 -- 4219869 Business Flow
21006 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21007 -- Prior Entry. Currently, the following code is always generated.
21008 ------------------------------------------------------------------------------------------------
21009 XLA_AE_LINES_PKG.ValidateCurrentLine;
21010
21011 ------------------------------------------------------------------------------------
21012 -- 4219869 Business Flow
21013 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21014 ------------------------------------------------------------------------------------
21015 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21016
21017 ----------------------------------------------------------------------------------
21018 -- 4219869 Business Flow
21019 -- Update journal entry status -- Need to generate this within IF <condition>
21020 ----------------------------------------------------------------------------------
21021 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21022 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21023 ,p_balance_type_code => l_balance_type_code
21024 );
21025
21026 -------------------------------------------------------------------------------------------
21027 -- 4262811 - Generate the Accrual Reversal lines
21028 -------------------------------------------------------------------------------------------
21029 BEGIN
21030 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21031 (g_array_event(p_event_id).array_value_num('header_index'));
21032 IF l_acc_rev_flag IS NULL THEN
21033 l_acc_rev_flag := 'N';
21034 END IF;
21035 EXCEPTION
21036 WHEN OTHERS THEN
21037 l_acc_rev_flag := 'N';
21038 END;
21039 --
21040 IF (l_acc_rev_flag = 'Y') THEN
21041
21042 -- 4645092 ------------------------------------------------------------------------------
21043 -- To allow MPA report to determine if it should generate report process
21044 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21045 ------------------------------------------------------------------------------------------
21046
21047 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21048 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21049 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21050 -- call ADRs
21051 -- Bug 4922099
21052 --
21053 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21054 (NVL(l_actual_upg_option, 'N') = 'O') OR
21055 (NVL(l_enc_upg_option, 'N') = 'O')
21056 )
21057 THEN
21058 NULL;
21059 --
21060 --
21061
21062 l_ccid := AcctDerRule_28(
21063 p_application_id => p_application_id
21064 , p_ae_header_id => l_ae_header_id
21065 , p_source_17 => p_source_17
21066 , x_transaction_coa_id => l_adr_transaction_coa_id
21067 , x_accounting_coa_id => l_adr_accounting_coa_id
21068 , x_value_type_code => l_adr_value_type_code
21069 , p_side => 'NA'
21070 );
21071
21072 xla_ae_lines_pkg.set_ccid(
21073 p_code_combination_id => l_ccid
21074 , p_value_type_code => l_adr_value_type_code
21075 , p_transaction_coa_id => l_adr_transaction_coa_id
21076 , p_accounting_coa_id => l_adr_accounting_coa_id
21077 , p_adr_code => 'AP_CASH'
21078 , p_adr_type_code => 'S'
21079 , p_component_type => l_component_type
21080 , p_component_code => l_component_code
21081 , p_component_type_code => l_component_type_code
21082 , p_component_appl_id => l_component_appl_id
21083 , p_amb_context_code => l_amb_context_code
21084 , p_side => 'NA'
21085 );
21086
21087
21088 --
21089 --
21090 END IF;
21091
21092 --
21093 -- Update the line information that should be overwritten
21094 --
21095 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21096 p_header_num => 1);
21097 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21098
21102 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21099 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21100
21101 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21103 END IF;
21104
21105 --
21106 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21107 --
21108 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21109 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21110 ELSE
21111 ---------------------------------------------------------------------------------------------------
21112 -- 4262811a Switch Sign
21113 ---------------------------------------------------------------------------------------------------
21114 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21115 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21116 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21117 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21118 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21119 -- 5132302
21120 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21121 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21122
21123 END IF;
21124
21125 -- 4955764
21126 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21127 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21128
21129
21130 XLA_AE_LINES_PKG.ValidateCurrentLine;
21131 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21132
21133 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21134 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21135 ,p_balance_type_code => l_balance_type_code);
21136
21137 END IF;
21138
21139 -----------------------------------------------------------------------------------------
21140 -- 4262811 Multiperiod Accounting
21141 -----------------------------------------------------------------------------------------
21142 -- No MPA option is assigned.
21143
21144
21145 END IF;
21146 END IF;
21147 --
21148
21149 --
21150 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21151 trace
21152 (p_msg => 'END of AcctLineType_62'
21153 ,p_level => C_LEVEL_PROCEDURE
21154 ,p_module => l_log_module);
21155 END IF;
21156 --
21157 EXCEPTION
21158 WHEN xla_exceptions_pkg.application_exception THEN
21159 RAISE;
21160 WHEN OTHERS THEN
21161 xla_exceptions_pkg.raise_message
21162 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_62');
21163 END AcctLineType_62;
21164 --
21165
21166 ---------------------------------------
21167 --
21168 -- PRIVATE FUNCTION
21169 -- AcctLineType_63
21170 --
21171 ---------------------------------------
21172 PROCEDURE AcctLineType_63 (
21173 p_application_id IN NUMBER
21174 ,p_event_id IN NUMBER
21175 ,p_calculate_acctd_flag IN VARCHAR2
21176 ,p_calculate_g_l_flag IN VARCHAR2
21177 ,p_actual_flag IN OUT VARCHAR2
21178 ,p_balance_type_code OUT VARCHAR2
21179 ,p_gain_or_loss_ref OUT VARCHAR2
21180
21181 --Payment Currency Code
21182 , p_source_13 IN VARCHAR2
21183 --Accounting Reversal Indicator
21184 , p_source_52 IN VARCHAR2
21185 --Distribution Link Type
21186 , p_source_54 IN VARCHAR2
21187 --Override Accounted Amount Indicator
21188 , p_source_79 IN VARCHAR2
21189 , p_source_79_meaning IN VARCHAR2
21190 --Third Party Type
21191 , p_source_82 IN VARCHAR2
21192 --Invoice Distribution Tax Line Identifier
21193 , p_source_85 IN NUMBER
21194 --Invoice Distribution Summary Tax Line Identifier
21195 , p_source_87 IN NUMBER
21196 --Business Flow Accounts Payable Application Identifier
21197 , p_source_90 IN NUMBER
21198 --When to Account for Payment Option
21199 , p_source_96 IN VARCHAR2
21200 --Payment Distribution Type
21201 , p_source_97 IN VARCHAR2
21202 , p_source_97_meaning IN VARCHAR2
21203 --Payment Distribution Amount
21204 , p_source_98 IN NUMBER
21205 --Business Flow Payment Distribution Type
21206 , p_source_99 IN VARCHAR2
21207 --Business Flow Payment Entity Code
21208 , p_source_100 IN VARCHAR2
21209 --Business Flow Payment Distribution Identifier
21210 , p_source_101 IN NUMBER
21211 --Business Flow Payment Identifier
21212 , p_source_102 IN NUMBER
21213 --Payment Distribution Identifier
21214 , p_source_103 IN NUMBER
21215 --Payment Distribution Reversed Identifier
21216 , p_source_111 IN NUMBER
21217 --Payment Maturity Date
21218 , p_source_114 IN DATE
21219 --Payment Distribution (Payment Rate) Ledger Amount
21220 , p_source_115 IN NUMBER
21224 l_component_type VARCHAR2(80);
21221 )
21222 IS
21223
21225 l_component_code VARCHAR2(30);
21226 l_component_type_code VARCHAR2(1);
21227 l_component_appl_id INTEGER;
21228 l_amb_context_code VARCHAR2(30);
21229 l_entity_code VARCHAR2(30);
21230 l_event_class_code VARCHAR2(30);
21231 l_ae_header_id NUMBER;
21232 l_event_type_code VARCHAR2(30);
21233 l_line_definition_code VARCHAR2(30);
21234 l_line_definition_owner_code VARCHAR2(1);
21235 --
21236 -- adr variables
21237 l_segment VARCHAR2(30);
21238 l_ccid NUMBER;
21239 l_adr_transaction_coa_id NUMBER;
21240 l_adr_accounting_coa_id NUMBER;
21241 l_adr_flexfield_segment_code VARCHAR2(30);
21242 l_adr_flex_value_set_id NUMBER;
21243 l_adr_value_type_code VARCHAR2(30);
21244 l_adr_value_combination_id NUMBER;
21245 l_adr_value_segment_code VARCHAR2(30);
21246
21247 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21248 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21249 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21250 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21251
21252 -- 4262811 Variables ------------------------------------------------------------------------------------------
21253 l_entered_amt_idx NUMBER;
21254 l_accted_amt_idx NUMBER;
21255 l_acc_rev_flag VARCHAR2(1);
21256 l_accrual_line_num NUMBER;
21257 l_tmp_amt NUMBER;
21258 l_acc_rev_natural_side_code VARCHAR2(1);
21259
21260 l_num_entries NUMBER;
21261 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21262 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21263 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21264 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21265 l_recog_line_1 NUMBER;
21266 l_recog_line_2 NUMBER;
21267
21268 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21269 l_bflow_applied_to_amt NUMBER; -- 5132302
21270 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21271
21272 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21273
21274 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21275 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21276
21277 ---------------------------------------------------------------------------------------------------------------
21278
21279
21280 --
21281 -- bulk performance
21282 --
21283 l_balance_type_code VARCHAR2(1);
21284 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21285 l_log_module VARCHAR2(240);
21286
21287 --
21288 -- Upgrade strategy
21289 --
21290 l_actual_upg_option VARCHAR2(1);
21291 l_enc_upg_option VARCHAR2(1);
21292
21293 --
21294 BEGIN
21295 --
21296 IF g_log_enabled THEN
21297 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_63';
21298 END IF;
21299 --
21300 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21301
21302 trace
21303 (p_msg => 'BEGIN of AcctLineType_63'
21304 ,p_level => C_LEVEL_PROCEDURE
21305 ,p_module => l_log_module);
21306
21307 END IF;
21308 --
21309 l_component_type := 'AMB_JLT';
21310 l_component_code := 'AP_CASH_CLEAR_CLEAR';
21311 l_component_type_code := 'S';
21312 l_component_appl_id := 200;
21313 l_amb_context_code := 'DEFAULT';
21314 l_entity_code := 'AP_PAYMENTS';
21315 l_event_class_code := 'RECONCILED PAYMENTS';
21316 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21317 l_line_definition_owner_code := 'S';
21318 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
21319 --
21320 l_balance_type_code := 'A';
21321 l_segment := NULL;
21322 l_ccid := NULL;
21323 l_adr_transaction_coa_id := NULL;
21324 l_adr_accounting_coa_id := NULL;
21325 l_adr_flexfield_segment_code := NULL;
21326 l_adr_flex_value_set_id := NULL;
21327 l_adr_value_type_code := NULL;
21328 l_adr_value_combination_id := NULL;
21329 l_adr_value_segment_code := NULL;
21330
21331 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
21332 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
21333 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21334 l_budgetary_control_flag := 'N';
21335
21336 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21337 l_bflow_applied_to_amt := NULL; -- 5132302
21338 l_entered_amt_idx := NULL; -- 4262811
21339 l_accted_amt_idx := NULL; -- 4262811
21340 l_acc_rev_flag := NULL; -- 4262811
21341 l_accrual_line_num := NULL; -- 4262811
21342 l_tmp_amt := NULL; -- 4262811
21343 --
21344
21345 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21346 l_balance_type_code <> 'B' THEN
21347 IF (NVL(p_source_96,'
21348 ') = 'ALWAYS_ALWAYS' OR
21349 NVL(p_source_96,'
21350 ') = 'ALWAYS_ISSUE') AND
21351 NVL(p_source_97,'
21352 ') = 'CASH' AND
21353 p_source_114 IS NULL
21357 XLA_AE_LINES_PKG.SetNewLine;
21354 THEN
21355
21356 --
21358
21359 p_balance_type_code := l_balance_type_code;
21360 -- set the flag so later we will know whether the gain loss line needs to be created
21361
21362 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21363 p_actual_flag :='A';
21364 END IF;
21365
21366 --
21367 -- bulk performance
21368 --
21369 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21370 p_header_num => 0); -- 4262811
21371 --
21372 -- set accounting line options
21373 --
21374 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21375 p_natural_side_code => 'D'
21376 , p_gain_or_loss_flag => 'N'
21377 , p_gl_transfer_mode_code => 'S'
21378 , p_acct_entry_type_code => 'A'
21379 , p_switch_side_flag => 'Y'
21380 , p_merge_duplicate_code => 'A'
21381 );
21382 --
21383 l_acc_rev_natural_side_code := 'C'; -- 4262811
21384 --
21385 --
21386 -- set accounting line type info
21387 --
21388 xla_ae_lines_pkg.SetAcctLineType
21389 (p_component_type => l_component_type
21390 ,p_event_type_code => l_event_type_code
21391 ,p_line_definition_owner_code => l_line_definition_owner_code
21392 ,p_line_definition_code => l_line_definition_code
21393 ,p_accounting_line_code => l_component_code
21394 ,p_accounting_line_type_code => l_component_type_code
21395 ,p_accounting_line_appl_id => l_component_appl_id
21396 ,p_amb_context_code => l_amb_context_code
21397 ,p_entity_code => l_entity_code
21398 ,p_event_class_code => l_event_class_code);
21399 --
21400 -- set accounting class
21401 --
21402 xla_ae_lines_pkg.SetAcctClass(
21403 p_accounting_class_code => 'CASH_CLEARING'
21404 , p_ae_header_id => l_ae_header_id
21405 );
21406
21407 --
21408 -- set rounding class
21409 --
21410 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21411 'CASH_CLEARING';
21412
21413 --
21414 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21415 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21416 --
21417 -- bulk performance
21418 --
21419 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21420
21421 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21422 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21423
21424 -- 4955764
21425 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21426 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21427
21428 -- 4458381 Public Sector Enh
21429
21430 --
21431 -- set accounting attributes for the line type
21432 --
21433 l_entered_amt_idx := 10;
21434 l_accted_amt_idx := 12;
21435 l_bflow_applied_to_amt_idx := 2; -- 5132302
21436 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21437 l_rec_acct_attrs.array_char_value(1) := p_source_52;
21438 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21439 l_rec_acct_attrs.array_num_value(2) := p_source_98;
21440 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21441 l_rec_acct_attrs.array_num_value(3) := p_source_90;
21442 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21443 l_rec_acct_attrs.array_char_value(4) := p_source_99;
21444 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21445 l_rec_acct_attrs.array_char_value(5) := p_source_100;
21446 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21447 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
21448 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21449 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
21450 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
21451 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
21452 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
21453 l_rec_acct_attrs.array_char_value(9) := p_source_54;
21454 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
21455 l_rec_acct_attrs.array_num_value(10) := p_source_98;
21456 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
21457 l_rec_acct_attrs.array_char_value(11) := p_source_13;
21458 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
21459 l_rec_acct_attrs.array_num_value(12) := p_source_115;
21460 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
21461 l_rec_acct_attrs.array_char_value(13) := p_source_79;
21462 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
21463 l_rec_acct_attrs.array_char_value(14) := p_source_82;
21464 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
21465 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
21466 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
21470 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
21467 l_rec_acct_attrs.array_char_value(16) := p_source_54;
21468 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
21469 l_rec_acct_attrs.array_num_value(17) := p_source_85;
21471 l_rec_acct_attrs.array_num_value(18) := p_source_85;
21472 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
21473 l_rec_acct_attrs.array_num_value(19) := p_source_87;
21474
21475 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21476 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21477
21478 ---------------------------------------------------------------------------------------------------------------
21479 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21480 ---------------------------------------------------------------------------------------------------------------
21481 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21482
21483 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21484 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21485
21486 IF xla_accounting_cache_pkg.GetValueChar
21487 (p_source_code => 'LEDGER_CATEGORY_CODE'
21488 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21489 AND l_bflow_method_code = 'PRIOR_ENTRY'
21490 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21491 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21492 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21493 )
21494 THEN
21495 xla_ae_lines_pkg.BflowUpgEntry
21496 (p_business_method_code => l_bflow_method_code
21497 ,p_business_class_code => l_bflow_class_code
21498 ,p_balance_type => l_balance_type_code);
21499 ELSE
21500 NULL;
21501 XLA_AE_LINES_PKG.business_flow_validation(
21502 p_business_method_code => l_bflow_method_code
21503 ,p_business_class_code => l_bflow_class_code
21504 ,p_inherit_description_flag => l_inherit_desc_flag);
21505 END IF;
21506
21507 --
21508 -- call analytical criteria
21509 --
21510 -- Inherited Analytical Criteria for business flow method of Prior Entry.
21511 --
21512 -- call description
21513 --
21514 -- No description or it is inherited.
21515 --
21516 -- call ADRs
21517 -- Bug 4922099
21518 --
21519 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21520 (NVL(l_actual_upg_option, 'N') = 'O') OR
21521 (NVL(l_enc_upg_option, 'N') = 'O')
21522 )
21523 THEN
21524 NULL;
21525 --
21526 --
21527
21528 --
21529 --
21530 END IF;
21531 --
21532 -- Bug 4922099
21533 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
21534 (NVL(l_enc_upg_option, 'N') = 'O')
21535 ) AND
21536 (l_bflow_method_code = 'PRIOR_ENTRY')
21537 )
21538 THEN
21539 IF
21540 --
21541 1 = 1
21542 --
21543 THEN
21544 xla_accounting_err_pkg.build_message
21545 (p_appli_s_name => 'XLA'
21546 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21547 ,p_token_1 => 'LINE_NUMBER'
21548 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21549 ,p_token_2 => 'LINE_TYPE_NAME'
21550 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21551 l_component_type
21552 ,l_component_code
21553 ,l_component_type_code
21554 ,l_component_appl_id
21555 ,l_amb_context_code
21556 ,l_entity_code
21557 ,l_event_class_code
21558 )
21559 ,p_token_3 => 'OWNER'
21560 ,p_value_3 => xla_lookups_pkg.get_meaning(
21561 p_lookup_type => 'XLA_OWNER_TYPE'
21562 ,p_lookup_code => l_component_type_code
21563 )
21564 ,p_token_4 => 'PRODUCT_NAME'
21565 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21566 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21567 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21571
21568 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21569 ,p_ae_header_id => NULL
21570 );
21572 IF (C_LEVEL_ERROR>= g_log_level) THEN
21573 trace
21574 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21575 ,p_level => C_LEVEL_ERROR
21576 ,p_module => l_log_module);
21577 END IF;
21578 END IF;
21579 END IF;
21580 --
21581 --
21582 ------------------------------------------------------------------------------------------------
21583 -- 4219869 Business Flow
21584 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21585 -- Prior Entry. Currently, the following code is always generated.
21586 ------------------------------------------------------------------------------------------------
21587 -- No ValidateCurrentLine for business flow method of Prior Entry
21588
21589 ------------------------------------------------------------------------------------
21590 -- 4219869 Business Flow
21591 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21592 ------------------------------------------------------------------------------------
21593 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21594
21595 ----------------------------------------------------------------------------------
21596 -- 4219869 Business Flow
21597 -- Update journal entry status -- Need to generate this within IF <condition>
21598 ----------------------------------------------------------------------------------
21599 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21600 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21601 ,p_balance_type_code => l_balance_type_code
21602 );
21603
21604 -------------------------------------------------------------------------------------------
21605 -- 4262811 - Generate the Accrual Reversal lines
21606 -------------------------------------------------------------------------------------------
21607 BEGIN
21608 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21609 (g_array_event(p_event_id).array_value_num('header_index'));
21610 IF l_acc_rev_flag IS NULL THEN
21611 l_acc_rev_flag := 'N';
21612 END IF;
21613 EXCEPTION
21614 WHEN OTHERS THEN
21615 l_acc_rev_flag := 'N';
21616 END;
21617 --
21618 IF (l_acc_rev_flag = 'Y') THEN
21619
21620 -- 4645092 ------------------------------------------------------------------------------
21621 -- To allow MPA report to determine if it should generate report process
21622 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21623 ------------------------------------------------------------------------------------------
21624
21625 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21626 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21627 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21628 -- call ADRs
21629 -- Bug 4922099
21630 --
21631 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21632 (NVL(l_actual_upg_option, 'N') = 'O') OR
21633 (NVL(l_enc_upg_option, 'N') = 'O')
21634 )
21635 THEN
21636 NULL;
21637 --
21638 --
21639
21640 --
21641 --
21642 END IF;
21643
21644 --
21645 -- Update the line information that should be overwritten
21646 --
21647 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21648 p_header_num => 1);
21649 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21650
21651 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21652
21653 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21654 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21655 END IF;
21656
21657 --
21658 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21659 --
21660 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21661 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21662 ELSE
21663 ---------------------------------------------------------------------------------------------------
21664 -- 4262811a Switch Sign
21665 ---------------------------------------------------------------------------------------------------
21666 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21667 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21668 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21669 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21670 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21671 -- 5132302
21675 END IF;
21672 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21673 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21674
21676
21677 -- 4955764
21678 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21679 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21680
21681
21682 XLA_AE_LINES_PKG.ValidateCurrentLine;
21683 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21684
21685 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21686 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21687 ,p_balance_type_code => l_balance_type_code);
21688
21689 END IF;
21690
21691 -----------------------------------------------------------------------------------------
21692 -- 4262811 Multiperiod Accounting
21693 -----------------------------------------------------------------------------------------
21694 -- No MPA option is assigned.
21695
21696
21697 END IF;
21698 END IF;
21699 --
21700
21701 --
21702 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21703 trace
21704 (p_msg => 'END of AcctLineType_63'
21705 ,p_level => C_LEVEL_PROCEDURE
21706 ,p_module => l_log_module);
21707 END IF;
21708 --
21709 EXCEPTION
21710 WHEN xla_exceptions_pkg.application_exception THEN
21711 RAISE;
21712 WHEN OTHERS THEN
21713 xla_exceptions_pkg.raise_message
21714 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_63');
21715 END AcctLineType_63;
21716 --
21717
21718 ---------------------------------------
21719 --
21720 -- PRIVATE FUNCTION
21721 -- AcctLineType_64
21722 --
21723 ---------------------------------------
21724 PROCEDURE AcctLineType_64 (
21725 p_application_id IN NUMBER
21726 ,p_event_id IN NUMBER
21727 ,p_calculate_acctd_flag IN VARCHAR2
21728 ,p_calculate_g_l_flag IN VARCHAR2
21729 ,p_actual_flag IN OUT VARCHAR2
21730 ,p_balance_type_code OUT VARCHAR2
21731 ,p_gain_or_loss_ref OUT VARCHAR2
21732
21733 --Payment Currency Code
21734 , p_source_13 IN VARCHAR2
21735 --Accounting Reversal Indicator
21736 , p_source_52 IN VARCHAR2
21737 --Distribution Link Type
21738 , p_source_54 IN VARCHAR2
21739 --Override Accounted Amount Indicator
21740 , p_source_79 IN VARCHAR2
21741 , p_source_79_meaning IN VARCHAR2
21742 --Third Party Type
21743 , p_source_82 IN VARCHAR2
21744 --Invoice Distribution Tax Line Identifier
21745 , p_source_85 IN NUMBER
21746 --Invoice Distribution Summary Tax Line Identifier
21747 , p_source_87 IN NUMBER
21748 --Business Flow Accounts Payable Application Identifier
21749 , p_source_90 IN NUMBER
21750 --When to Account for Payment Option
21751 , p_source_96 IN VARCHAR2
21752 --Payment Distribution Type
21753 , p_source_97 IN VARCHAR2
21754 , p_source_97_meaning IN VARCHAR2
21755 --Payment Distribution Amount
21756 , p_source_98 IN NUMBER
21757 --Business Flow Payment Distribution Type
21758 , p_source_99 IN VARCHAR2
21759 --Business Flow Payment Entity Code
21760 , p_source_100 IN VARCHAR2
21761 --Business Flow Payment Distribution Identifier
21762 , p_source_101 IN NUMBER
21763 --Business Flow Payment Identifier
21764 , p_source_102 IN NUMBER
21765 --Payment Distribution Identifier
21766 , p_source_103 IN NUMBER
21767 --Payment Distribution Reversed Identifier
21768 , p_source_111 IN NUMBER
21769 --Payment Maturity Date
21770 , p_source_114 IN DATE
21771 --Payment Distribution (Invoice Rate) Ledger Amount
21772 , p_source_116 IN NUMBER
21773 )
21774 IS
21775
21776 l_component_type VARCHAR2(80);
21777 l_component_code VARCHAR2(30);
21778 l_component_type_code VARCHAR2(1);
21779 l_component_appl_id INTEGER;
21780 l_amb_context_code VARCHAR2(30);
21781 l_entity_code VARCHAR2(30);
21782 l_event_class_code VARCHAR2(30);
21783 l_ae_header_id NUMBER;
21784 l_event_type_code VARCHAR2(30);
21785 l_line_definition_code VARCHAR2(30);
21786 l_line_definition_owner_code VARCHAR2(1);
21787 --
21788 -- adr variables
21789 l_segment VARCHAR2(30);
21790 l_ccid NUMBER;
21791 l_adr_transaction_coa_id NUMBER;
21792 l_adr_accounting_coa_id NUMBER;
21793 l_adr_flexfield_segment_code VARCHAR2(30);
21794 l_adr_flex_value_set_id NUMBER;
21795 l_adr_value_type_code VARCHAR2(30);
21796 l_adr_value_combination_id NUMBER;
21797 l_adr_value_segment_code VARCHAR2(30);
21798
21799 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21800 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21801 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21802 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21803
21807 l_acc_rev_flag VARCHAR2(1);
21804 -- 4262811 Variables ------------------------------------------------------------------------------------------
21805 l_entered_amt_idx NUMBER;
21806 l_accted_amt_idx NUMBER;
21808 l_accrual_line_num NUMBER;
21809 l_tmp_amt NUMBER;
21810 l_acc_rev_natural_side_code VARCHAR2(1);
21811
21812 l_num_entries NUMBER;
21813 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21814 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21815 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21816 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21817 l_recog_line_1 NUMBER;
21818 l_recog_line_2 NUMBER;
21819
21820 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21821 l_bflow_applied_to_amt NUMBER; -- 5132302
21822 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21823
21824 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21825
21826 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21827 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21828
21829 ---------------------------------------------------------------------------------------------------------------
21830
21831
21832 --
21833 -- bulk performance
21834 --
21835 l_balance_type_code VARCHAR2(1);
21836 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21837 l_log_module VARCHAR2(240);
21838
21839 --
21840 -- Upgrade strategy
21841 --
21842 l_actual_upg_option VARCHAR2(1);
21843 l_enc_upg_option VARCHAR2(1);
21844
21845 --
21846 BEGIN
21847 --
21848 IF g_log_enabled THEN
21849 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_64';
21850 END IF;
21851 --
21852 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21853
21854 trace
21855 (p_msg => 'BEGIN of AcctLineType_64'
21856 ,p_level => C_LEVEL_PROCEDURE
21857 ,p_module => l_log_module);
21858
21859 END IF;
21860 --
21861 l_component_type := 'AMB_JLT';
21862 l_component_code := 'AP_CASH_CLEAR_CLEAR_INVXRATE';
21863 l_component_type_code := 'S';
21864 l_component_appl_id := 200;
21865 l_amb_context_code := 'DEFAULT';
21866 l_entity_code := 'AP_PAYMENTS';
21867 l_event_class_code := 'RECONCILED PAYMENTS';
21868 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21869 l_line_definition_owner_code := 'S';
21870 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
21871 --
21872 l_balance_type_code := 'A';
21873 l_segment := NULL;
21874 l_ccid := NULL;
21875 l_adr_transaction_coa_id := NULL;
21876 l_adr_accounting_coa_id := NULL;
21877 l_adr_flexfield_segment_code := NULL;
21878 l_adr_flex_value_set_id := NULL;
21879 l_adr_value_type_code := NULL;
21880 l_adr_value_combination_id := NULL;
21881 l_adr_value_segment_code := NULL;
21882
21883 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
21884 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
21885 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21886 l_budgetary_control_flag := 'N';
21887
21888 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21889 l_bflow_applied_to_amt := NULL; -- 5132302
21890 l_entered_amt_idx := NULL; -- 4262811
21891 l_accted_amt_idx := NULL; -- 4262811
21892 l_acc_rev_flag := NULL; -- 4262811
21893 l_accrual_line_num := NULL; -- 4262811
21894 l_tmp_amt := NULL; -- 4262811
21895 --
21896
21897 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21898 l_balance_type_code <> 'B' THEN
21899 IF NVL(p_source_96,'
21900 ') = 'ALWAYS_CLEAR' AND
21901 NVL(p_source_97,'
21902 ') = 'CASH' AND
21903 p_source_114 IS NULL
21904 THEN
21905
21906 --
21907 XLA_AE_LINES_PKG.SetNewLine;
21908
21909 p_balance_type_code := l_balance_type_code;
21910 -- set the flag so later we will know whether the gain loss line needs to be created
21911
21912 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21913 p_actual_flag :='A';
21914 END IF;
21915
21916 --
21917 -- bulk performance
21918 --
21919 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21920 p_header_num => 0); -- 4262811
21921 --
21922 -- set accounting line options
21923 --
21924 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21925 p_natural_side_code => 'D'
21926 , p_gain_or_loss_flag => 'N'
21927 , p_gl_transfer_mode_code => 'S'
21928 , p_acct_entry_type_code => 'A'
21929 , p_switch_side_flag => 'Y'
21930 , p_merge_duplicate_code => 'A'
21931 );
21932 --
21933 l_acc_rev_natural_side_code := 'C'; -- 4262811
21934 --
21935 --
21939 (p_component_type => l_component_type
21936 -- set accounting line type info
21937 --
21938 xla_ae_lines_pkg.SetAcctLineType
21940 ,p_event_type_code => l_event_type_code
21941 ,p_line_definition_owner_code => l_line_definition_owner_code
21942 ,p_line_definition_code => l_line_definition_code
21943 ,p_accounting_line_code => l_component_code
21944 ,p_accounting_line_type_code => l_component_type_code
21945 ,p_accounting_line_appl_id => l_component_appl_id
21946 ,p_amb_context_code => l_amb_context_code
21947 ,p_entity_code => l_entity_code
21948 ,p_event_class_code => l_event_class_code);
21949 --
21950 -- set accounting class
21951 --
21952 xla_ae_lines_pkg.SetAcctClass(
21953 p_accounting_class_code => 'CASH_CLEARING'
21954 , p_ae_header_id => l_ae_header_id
21955 );
21956
21957 --
21958 -- set rounding class
21959 --
21960 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21961 'CASH_CLEARING';
21962
21963 --
21964 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21965 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21966 --
21967 -- bulk performance
21968 --
21969 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21970
21971 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21972 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21973
21974 -- 4955764
21975 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21976 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21977
21978 -- 4458381 Public Sector Enh
21979
21980 --
21981 -- set accounting attributes for the line type
21982 --
21983 l_entered_amt_idx := 10;
21984 l_accted_amt_idx := 12;
21985 l_bflow_applied_to_amt_idx := 2; -- 5132302
21986 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21987 l_rec_acct_attrs.array_char_value(1) := p_source_52;
21988 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21989 l_rec_acct_attrs.array_num_value(2) := p_source_98;
21990 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21991 l_rec_acct_attrs.array_num_value(3) := p_source_90;
21992 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21993 l_rec_acct_attrs.array_char_value(4) := p_source_99;
21994 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21995 l_rec_acct_attrs.array_char_value(5) := p_source_100;
21996 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21997 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
21998 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21999 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
22000 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
22001 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
22002 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
22003 l_rec_acct_attrs.array_char_value(9) := p_source_54;
22004 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
22005 l_rec_acct_attrs.array_num_value(10) := p_source_98;
22006 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
22007 l_rec_acct_attrs.array_char_value(11) := p_source_13;
22008 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
22009 l_rec_acct_attrs.array_num_value(12) := p_source_116;
22010 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
22011 l_rec_acct_attrs.array_char_value(13) := p_source_79;
22012 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
22013 l_rec_acct_attrs.array_char_value(14) := p_source_82;
22014 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
22015 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
22016 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
22017 l_rec_acct_attrs.array_char_value(16) := p_source_54;
22018 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
22019 l_rec_acct_attrs.array_num_value(17) := p_source_85;
22020 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
22021 l_rec_acct_attrs.array_num_value(18) := p_source_85;
22022 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
22023 l_rec_acct_attrs.array_num_value(19) := p_source_87;
22024
22025 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22026 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22027
22028 ---------------------------------------------------------------------------------------------------------------
22029 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22030 ---------------------------------------------------------------------------------------------------------------
22031 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22032
22036 IF xla_accounting_cache_pkg.GetValueChar
22033 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22034 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22035
22037 (p_source_code => 'LEDGER_CATEGORY_CODE'
22038 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22039 AND l_bflow_method_code = 'PRIOR_ENTRY'
22040 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22041 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22042 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22043 )
22044 THEN
22045 xla_ae_lines_pkg.BflowUpgEntry
22046 (p_business_method_code => l_bflow_method_code
22047 ,p_business_class_code => l_bflow_class_code
22048 ,p_balance_type => l_balance_type_code);
22049 ELSE
22050 NULL;
22051 XLA_AE_LINES_PKG.business_flow_validation(
22052 p_business_method_code => l_bflow_method_code
22053 ,p_business_class_code => l_bflow_class_code
22054 ,p_inherit_description_flag => l_inherit_desc_flag);
22055 END IF;
22056
22057 --
22058 -- call analytical criteria
22059 --
22060 -- Inherited Analytical Criteria for business flow method of Prior Entry.
22061 --
22062 -- call description
22063 --
22064 -- No description or it is inherited.
22065 --
22066 -- call ADRs
22067 -- Bug 4922099
22068 --
22069 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22070 (NVL(l_actual_upg_option, 'N') = 'O') OR
22071 (NVL(l_enc_upg_option, 'N') = 'O')
22072 )
22073 THEN
22074 NULL;
22075 --
22076 --
22077
22078 --
22079 --
22080 END IF;
22081 --
22082 -- Bug 4922099
22083 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22084 (NVL(l_enc_upg_option, 'N') = 'O')
22085 ) AND
22086 (l_bflow_method_code = 'PRIOR_ENTRY')
22087 )
22088 THEN
22089 IF
22090 --
22091 1 = 1
22092 --
22093 THEN
22094 xla_accounting_err_pkg.build_message
22095 (p_appli_s_name => 'XLA'
22096 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22097 ,p_token_1 => 'LINE_NUMBER'
22098 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22099 ,p_token_2 => 'LINE_TYPE_NAME'
22100 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22101 l_component_type
22102 ,l_component_code
22103 ,l_component_type_code
22104 ,l_component_appl_id
22105 ,l_amb_context_code
22106 ,l_entity_code
22107 ,l_event_class_code
22108 )
22109 ,p_token_3 => 'OWNER'
22110 ,p_value_3 => xla_lookups_pkg.get_meaning(
22111 p_lookup_type => 'XLA_OWNER_TYPE'
22112 ,p_lookup_code => l_component_type_code
22113 )
22114 ,p_token_4 => 'PRODUCT_NAME'
22115 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22116 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22117 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22118 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22119 ,p_ae_header_id => NULL
22120 );
22121
22122 IF (C_LEVEL_ERROR>= g_log_level) THEN
22123 trace
22124 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22125 ,p_level => C_LEVEL_ERROR
22126 ,p_module => l_log_module);
22127 END IF;
22128 END IF;
22129 END IF;
22130 --
22131 --
22132 ------------------------------------------------------------------------------------------------
22133 -- 4219869 Business Flow
22134 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22135 -- Prior Entry. Currently, the following code is always generated.
22139 ------------------------------------------------------------------------------------
22136 ------------------------------------------------------------------------------------------------
22137 -- No ValidateCurrentLine for business flow method of Prior Entry
22138
22140 -- 4219869 Business Flow
22141 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22142 ------------------------------------------------------------------------------------
22143 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22144
22145 ----------------------------------------------------------------------------------
22146 -- 4219869 Business Flow
22147 -- Update journal entry status -- Need to generate this within IF <condition>
22148 ----------------------------------------------------------------------------------
22149 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22150 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22151 ,p_balance_type_code => l_balance_type_code
22152 );
22153
22154 -------------------------------------------------------------------------------------------
22155 -- 4262811 - Generate the Accrual Reversal lines
22156 -------------------------------------------------------------------------------------------
22157 BEGIN
22158 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22159 (g_array_event(p_event_id).array_value_num('header_index'));
22160 IF l_acc_rev_flag IS NULL THEN
22161 l_acc_rev_flag := 'N';
22162 END IF;
22163 EXCEPTION
22164 WHEN OTHERS THEN
22165 l_acc_rev_flag := 'N';
22166 END;
22167 --
22168 IF (l_acc_rev_flag = 'Y') THEN
22169
22170 -- 4645092 ------------------------------------------------------------------------------
22171 -- To allow MPA report to determine if it should generate report process
22172 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22173 ------------------------------------------------------------------------------------------
22174
22175 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22176 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22177 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22178 -- call ADRs
22179 -- Bug 4922099
22180 --
22181 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22182 (NVL(l_actual_upg_option, 'N') = 'O') OR
22183 (NVL(l_enc_upg_option, 'N') = 'O')
22184 )
22185 THEN
22186 NULL;
22187 --
22188 --
22189
22190 --
22191 --
22192 END IF;
22193
22194 --
22195 -- Update the line information that should be overwritten
22196 --
22197 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22198 p_header_num => 1);
22199 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22200
22201 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22202
22203 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22204 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22205 END IF;
22206
22207 --
22208 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22209 --
22210 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22211 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22212 ELSE
22213 ---------------------------------------------------------------------------------------------------
22214 -- 4262811a Switch Sign
22215 ---------------------------------------------------------------------------------------------------
22216 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22217 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22218 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22219 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22220 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22221 -- 5132302
22222 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22223 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22224
22225 END IF;
22226
22227 -- 4955764
22228 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22229 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22230
22231
22232 XLA_AE_LINES_PKG.ValidateCurrentLine;
22233 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22234
22235 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22236 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22237 ,p_balance_type_code => l_balance_type_code);
22238
22239 END IF;
22240
22241 -----------------------------------------------------------------------------------------
22245
22242 -- 4262811 Multiperiod Accounting
22243 -----------------------------------------------------------------------------------------
22244 -- No MPA option is assigned.
22246
22247 END IF;
22248 END IF;
22249 --
22250
22251 --
22252 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22253 trace
22254 (p_msg => 'END of AcctLineType_64'
22255 ,p_level => C_LEVEL_PROCEDURE
22256 ,p_module => l_log_module);
22257 END IF;
22258 --
22259 EXCEPTION
22260 WHEN xla_exceptions_pkg.application_exception THEN
22261 RAISE;
22262 WHEN OTHERS THEN
22263 xla_exceptions_pkg.raise_message
22264 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_64');
22265 END AcctLineType_64;
22266 --
22267
22268 ---------------------------------------
22269 --
22270 -- PRIVATE FUNCTION
22271 -- AcctLineType_65
22272 --
22273 ---------------------------------------
22274 PROCEDURE AcctLineType_65 (
22275 p_application_id IN NUMBER
22276 ,p_event_id IN NUMBER
22277 ,p_calculate_acctd_flag IN VARCHAR2
22278 ,p_calculate_g_l_flag IN VARCHAR2
22279 ,p_actual_flag IN OUT VARCHAR2
22280 ,p_balance_type_code OUT VARCHAR2
22281 ,p_gain_or_loss_ref OUT VARCHAR2
22282
22283 --Payment Currency Code
22284 , p_source_13 IN VARCHAR2
22285 --Automatic Offsets Value
22286 , p_source_15 IN VARCHAR2
22287 , p_source_15_meaning IN VARCHAR2
22288 --Bank Cash Clearing Account
22289 , p_source_35 IN NUMBER
22290 --Accounting Reversal Indicator
22291 , p_source_52 IN VARCHAR2
22292 --Distribution Link Type
22293 , p_source_54 IN VARCHAR2
22294 --Override Accounted Amount Indicator
22295 , p_source_79 IN VARCHAR2
22296 , p_source_79_meaning IN VARCHAR2
22297 --Third Party Type
22298 , p_source_82 IN VARCHAR2
22299 --Business Flow Accounts Payable Application Identifier
22300 , p_source_90 IN NUMBER
22301 --When to Account for Payment Option
22302 , p_source_96 IN VARCHAR2
22303 --Payment Distribution Type
22304 , p_source_97 IN VARCHAR2
22305 , p_source_97_meaning IN VARCHAR2
22306 --Payment Distribution Amount
22307 , p_source_98 IN NUMBER
22308 --Business Flow Payment Distribution Type
22309 , p_source_99 IN VARCHAR2
22310 --Business Flow Payment Entity Code
22311 , p_source_100 IN VARCHAR2
22312 --Business Flow Payment Distribution Identifier
22313 , p_source_101 IN NUMBER
22314 --Business Flow Payment Identifier
22315 , p_source_102 IN NUMBER
22316 --Payment Distribution Identifier
22317 , p_source_103 IN NUMBER
22318 --Payment Supplier Identifier
22319 , p_source_109 IN NUMBER
22320 --Payment Supplier Site Identifier
22321 , p_source_110 IN NUMBER
22322 --Payment Distribution Reversed Identifier
22323 , p_source_111 IN NUMBER
22324 --Payment Identifier
22325 , p_source_112 IN NUMBER
22326 --Pooled Bank Account Option
22327 , p_source_113 IN VARCHAR2
22328 , p_source_113_meaning IN VARCHAR2
22329 --Payment Maturity Date
22330 , p_source_114 IN DATE
22331 --Payment Distribution (Invoice Rate) Ledger Amount
22332 , p_source_116 IN NUMBER
22333 --Payment Exchange Date
22334 , p_source_117 IN DATE
22335 --Payment Exchange Rate
22336 , p_source_118 IN NUMBER
22337 --Payment Exchange Rate Type
22338 , p_source_119 IN VARCHAR2
22339 )
22340 IS
22341
22342 l_component_type VARCHAR2(80);
22343 l_component_code VARCHAR2(30);
22344 l_component_type_code VARCHAR2(1);
22345 l_component_appl_id INTEGER;
22346 l_amb_context_code VARCHAR2(30);
22347 l_entity_code VARCHAR2(30);
22348 l_event_class_code VARCHAR2(30);
22349 l_ae_header_id NUMBER;
22350 l_event_type_code VARCHAR2(30);
22351 l_line_definition_code VARCHAR2(30);
22352 l_line_definition_owner_code VARCHAR2(1);
22353 --
22354 -- adr variables
22355 l_segment VARCHAR2(30);
22356 l_ccid NUMBER;
22357 l_adr_transaction_coa_id NUMBER;
22358 l_adr_accounting_coa_id NUMBER;
22359 l_adr_flexfield_segment_code VARCHAR2(30);
22360 l_adr_flex_value_set_id NUMBER;
22361 l_adr_value_type_code VARCHAR2(30);
22362 l_adr_value_combination_id NUMBER;
22363 l_adr_value_segment_code VARCHAR2(30);
22364
22365 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22366 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22367 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22368 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22369
22370 -- 4262811 Variables ------------------------------------------------------------------------------------------
22371 l_entered_amt_idx NUMBER;
22372 l_accted_amt_idx NUMBER;
22373 l_acc_rev_flag VARCHAR2(1);
22374 l_accrual_line_num NUMBER;
22375 l_tmp_amt NUMBER;
22376 l_acc_rev_natural_side_code VARCHAR2(1);
22377
22378 l_num_entries NUMBER;
22382 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22379 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22380 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22381 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22383 l_recog_line_1 NUMBER;
22384 l_recog_line_2 NUMBER;
22385
22386 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22387 l_bflow_applied_to_amt NUMBER; -- 5132302
22388 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22389
22390 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22391
22392 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22393 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22394
22395 ---------------------------------------------------------------------------------------------------------------
22396
22397
22398 --
22399 -- bulk performance
22400 --
22401 l_balance_type_code VARCHAR2(1);
22402 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22403 l_log_module VARCHAR2(240);
22404
22405 --
22406 -- Upgrade strategy
22407 --
22408 l_actual_upg_option VARCHAR2(1);
22409 l_enc_upg_option VARCHAR2(1);
22410
22411 --
22412 BEGIN
22413 --
22414 IF g_log_enabled THEN
22415 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_65';
22416 END IF;
22417 --
22418 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22419
22420 trace
22421 (p_msg => 'BEGIN of AcctLineType_65'
22422 ,p_level => C_LEVEL_PROCEDURE
22423 ,p_module => l_log_module);
22424
22425 END IF;
22426 --
22427 l_component_type := 'AMB_JLT';
22428 l_component_code := 'AP_CASH_CLEAR_MAT_AS_INVXRATE';
22429 l_component_type_code := 'S';
22430 l_component_appl_id := 200;
22431 l_amb_context_code := 'DEFAULT';
22432 l_entity_code := 'AP_PAYMENTS';
22433 l_event_class_code := 'FUTURE DATED PAYMENTS';
22434 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
22435 l_line_definition_owner_code := 'S';
22436 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
22437 --
22438 l_balance_type_code := 'A';
22439 l_segment := NULL;
22440 l_ccid := NULL;
22441 l_adr_transaction_coa_id := NULL;
22442 l_adr_accounting_coa_id := NULL;
22443 l_adr_flexfield_segment_code := NULL;
22444 l_adr_flex_value_set_id := NULL;
22445 l_adr_value_type_code := NULL;
22446 l_adr_value_combination_id := NULL;
22447 l_adr_value_segment_code := NULL;
22448
22449 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
22450 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
22451 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22452 l_budgetary_control_flag := 'N';
22453
22454 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22455 l_bflow_applied_to_amt := NULL; -- 5132302
22456 l_entered_amt_idx := NULL; -- 4262811
22457 l_accted_amt_idx := NULL; -- 4262811
22458 l_acc_rev_flag := NULL; -- 4262811
22459 l_accrual_line_num := NULL; -- 4262811
22460 l_tmp_amt := NULL; -- 4262811
22461 --
22462
22463 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22464 l_balance_type_code <> 'B' THEN
22465 IF NVL(p_source_96,'
22466 ') = 'ALWAYS_CLEAR' AND
22467 (NVL(p_source_113,'
22468 ') = 'Y' AND
22469 NVL(p_source_15,'
22470 ') = 'ACCOUNT_SEGMENT_VALUE') AND
22471 p_source_114 IS NOT NULL AND
22472 NVL(p_source_97,'
22473 ') = 'CASH'
22474 THEN
22475
22476 --
22477 XLA_AE_LINES_PKG.SetNewLine;
22478
22479 p_balance_type_code := l_balance_type_code;
22480 -- set the flag so later we will know whether the gain loss line needs to be created
22481
22482 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22483 p_actual_flag :='A';
22484 END IF;
22485
22486 --
22487 -- bulk performance
22488 --
22489 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22490 p_header_num => 0); -- 4262811
22491 --
22492 -- set accounting line options
22493 --
22494 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22495 p_natural_side_code => 'C'
22496 , p_gain_or_loss_flag => 'N'
22497 , p_gl_transfer_mode_code => 'S'
22498 , p_acct_entry_type_code => 'A'
22499 , p_switch_side_flag => 'Y'
22500 , p_merge_duplicate_code => 'A'
22501 );
22502 --
22503 l_acc_rev_natural_side_code := 'D'; -- 4262811
22504 --
22505 --
22506 -- set accounting line type info
22507 --
22508 xla_ae_lines_pkg.SetAcctLineType
22509 (p_component_type => l_component_type
22510 ,p_event_type_code => l_event_type_code
22511 ,p_line_definition_owner_code => l_line_definition_owner_code
22515 ,p_accounting_line_appl_id => l_component_appl_id
22512 ,p_line_definition_code => l_line_definition_code
22513 ,p_accounting_line_code => l_component_code
22514 ,p_accounting_line_type_code => l_component_type_code
22516 ,p_amb_context_code => l_amb_context_code
22517 ,p_entity_code => l_entity_code
22518 ,p_event_class_code => l_event_class_code);
22519 --
22520 -- set accounting class
22521 --
22522 xla_ae_lines_pkg.SetAcctClass(
22523 p_accounting_class_code => 'CASH_CLEARING'
22524 , p_ae_header_id => l_ae_header_id
22525 );
22526
22527 --
22528 -- set rounding class
22529 --
22530 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22531 'CASH_CLEARING';
22532
22533 --
22534 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22535 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22536 --
22537 -- bulk performance
22538 --
22539 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22540
22541 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22542 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22543
22544 -- 4955764
22545 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22546 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22547
22548 -- 4458381 Public Sector Enh
22549
22550 --
22551 -- set accounting attributes for the line type
22552 --
22553 l_entered_amt_idx := 9;
22554 l_accted_amt_idx := 14;
22555 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22556 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
22557 l_rec_acct_attrs.array_char_value(1) := p_source_52;
22558 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
22559 l_rec_acct_attrs.array_num_value(2) := p_source_90;
22560 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
22561 l_rec_acct_attrs.array_char_value(3) := p_source_99;
22562 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
22563 l_rec_acct_attrs.array_char_value(4) := p_source_100;
22564 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
22565 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
22566 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22567 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
22568 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
22569 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
22570 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
22571 l_rec_acct_attrs.array_char_value(8) := p_source_54;
22572 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
22573 l_rec_acct_attrs.array_num_value(9) := p_source_98;
22574 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
22575 l_rec_acct_attrs.array_char_value(10) := p_source_13;
22576 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
22577 l_rec_acct_attrs.array_date_value(11) := p_source_117;
22578 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
22579 l_rec_acct_attrs.array_num_value(12) := p_source_118;
22580 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
22581 l_rec_acct_attrs.array_char_value(13) := p_source_119;
22582 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
22583 l_rec_acct_attrs.array_num_value(14) := p_source_116;
22584 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
22585 l_rec_acct_attrs.array_char_value(15) := p_source_79;
22586 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
22587 l_rec_acct_attrs.array_num_value(16) := p_source_109;
22588 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
22589 l_rec_acct_attrs.array_num_value(17) := p_source_110;
22590 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
22591 l_rec_acct_attrs.array_char_value(18) := p_source_82;
22592 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
22593 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
22594 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
22595 l_rec_acct_attrs.array_char_value(20) := p_source_54;
22596
22597 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22598 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22599
22600 ---------------------------------------------------------------------------------------------------------------
22601 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22602 ---------------------------------------------------------------------------------------------------------------
22603 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22604
22605 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22606 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22607
22608 IF xla_accounting_cache_pkg.GetValueChar
22612 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22609 (p_source_code => 'LEDGER_CATEGORY_CODE'
22610 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22611 AND l_bflow_method_code = 'PRIOR_ENTRY'
22613 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22614 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22615 )
22616 THEN
22617 xla_ae_lines_pkg.BflowUpgEntry
22618 (p_business_method_code => l_bflow_method_code
22619 ,p_business_class_code => l_bflow_class_code
22620 ,p_balance_type => l_balance_type_code);
22621 ELSE
22622 NULL;
22623 XLA_AE_LINES_PKG.business_flow_validation(
22624 p_business_method_code => l_bflow_method_code
22625 ,p_business_class_code => l_bflow_class_code
22626 ,p_inherit_description_flag => l_inherit_desc_flag);
22627 END IF;
22628
22629 --
22630 -- call analytical criteria
22631 --
22632
22633
22634 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
22635 xla_ae_lines_pkg.SetAnalyticalCriteria(
22636 p_analytical_criterion_name => 'Check Id'
22637 , p_analytical_criterion_owner => 'S'
22638 , p_analytical_criterion_code => 'CHECK_ID'
22639 , p_amb_context_code => 'DEFAULT'
22640 , p_balancing_flag => 'N'
22641
22642 , p_analytical_detail_char_1 => NULL
22643 , p_analytical_detail_num_1 => p_source_112
22644 , p_analytical_detail_date_1 => NULL
22645
22646 , p_ae_header_id => l_ae_header_id
22647 )
22648 ;
22649 --
22650
22651 --
22652 -- call description
22653 --
22654 -- No description or it is inherited.
22655 --
22656 -- call ADRs
22657 -- Bug 4922099
22658 --
22659 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22660 (NVL(l_actual_upg_option, 'N') = 'O') OR
22661 (NVL(l_enc_upg_option, 'N') = 'O')
22662 )
22663 THEN
22664 NULL;
22665 --
22666 --
22667
22668 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
22669 p_code_combination_id => TO_NUMBER(C_NUM)
22670 , p_value_type_code => NULL
22671 , p_transaction_coa_id => null
22672 , p_accounting_coa_id => null
22673 , p_adr_code => NULL
22674 , p_adr_type_code => NULL
22675 , p_component_type => l_component_type
22676 , p_component_code => l_component_code
22677 , p_component_type_code => l_component_type_code
22678 , p_component_appl_id => l_component_appl_id
22679 , p_amb_context_code => l_amb_context_code
22680 , p_side => NULL
22681 );
22682
22683
22684 -- initialise segments
22685 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22686 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22687 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22688 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22689 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22690 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22691 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22692 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22693 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22694 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22695 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22696 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22697 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22698 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22699 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22700 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22701 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22702 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22703 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22704 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22705 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22706 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22707 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22708 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22709 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22710 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22711 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22712 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22716
22713 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22714 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22715 --
22717 --
22718
22719
22720 l_segment := AcctDerRule_16(
22721 p_application_id => p_application_id
22722 , p_ae_header_id => l_ae_header_id
22723 , p_source_35 => p_source_35
22724 , x_transaction_coa_id => l_adr_transaction_coa_id
22725 , x_accounting_coa_id => l_adr_accounting_coa_id
22726 , x_flexfield_segment_code => l_adr_flexfield_segment_code
22727 , x_flex_value_set_id => l_adr_flex_value_set_id
22728 , x_value_type_code => l_adr_value_type_code
22729 , x_value_combination_id => l_adr_value_combination_id
22730 , x_value_segment_code => l_adr_value_segment_code
22731 , p_side => 'NA'
22732 , p_override_seg_flag => 'Y'
22733 );
22734
22735 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22736
22737 xla_ae_lines_pkg.set_segment(
22738 p_to_segment_code => 'GL_ACCOUNT'
22739 , p_segment_value => l_segment
22740 , p_from_segment_code => l_adr_value_segment_code
22741 , p_from_combination_id => l_adr_value_combination_id
22742 , p_value_type_code => l_adr_value_type_code
22743 , p_transaction_coa_id => l_adr_transaction_coa_id
22744 , p_accounting_coa_id => l_adr_accounting_coa_id
22745 , p_flexfield_segment_code => l_adr_flexfield_segment_code
22746 , p_flex_value_set_id => l_adr_flex_value_set_id
22747 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
22748 , p_adr_type_code => 'S'
22749 , p_component_type => l_component_type
22750 , p_component_code => l_component_code
22751 , p_component_type_code => l_component_type_code
22752 , p_component_appl_id => l_component_appl_id
22753 , p_amb_context_code => l_amb_context_code
22754 , p_entity_code => 'AP_PAYMENTS'
22755 , p_event_class_code => 'FUTURE DATED PAYMENTS'
22756 , p_side => 'NA'
22757 );
22758
22759 END IF;
22760
22761 --
22762 --
22763 END IF;
22764 --
22765 -- Bug 4922099
22766 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22767 (NVL(l_enc_upg_option, 'N') = 'O')
22768 ) AND
22769 (l_bflow_method_code = 'PRIOR_ENTRY')
22770 )
22771 THEN
22772 IF
22773 --
22774 1 = 2
22775 --
22776 THEN
22777 xla_accounting_err_pkg.build_message
22778 (p_appli_s_name => 'XLA'
22779 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22780 ,p_token_1 => 'LINE_NUMBER'
22781 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22782 ,p_token_2 => 'LINE_TYPE_NAME'
22783 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22784 l_component_type
22785 ,l_component_code
22786 ,l_component_type_code
22787 ,l_component_appl_id
22788 ,l_amb_context_code
22789 ,l_entity_code
22790 ,l_event_class_code
22791 )
22792 ,p_token_3 => 'OWNER'
22793 ,p_value_3 => xla_lookups_pkg.get_meaning(
22794 p_lookup_type => 'XLA_OWNER_TYPE'
22795 ,p_lookup_code => l_component_type_code
22796 )
22797 ,p_token_4 => 'PRODUCT_NAME'
22798 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22799 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22800 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22801 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22802 ,p_ae_header_id => NULL
22803 );
22804
22805 IF (C_LEVEL_ERROR>= g_log_level) THEN
22806 trace
22807 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22808 ,p_level => C_LEVEL_ERROR
22809 ,p_module => l_log_module);
22810 END IF;
22811 END IF;
22815 ------------------------------------------------------------------------------------------------
22812 END IF;
22813 --
22814 --
22816 -- 4219869 Business Flow
22817 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22818 -- Prior Entry. Currently, the following code is always generated.
22819 ------------------------------------------------------------------------------------------------
22820 XLA_AE_LINES_PKG.ValidateCurrentLine;
22821
22822 ------------------------------------------------------------------------------------
22823 -- 4219869 Business Flow
22824 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22825 ------------------------------------------------------------------------------------
22826 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22827
22828 ----------------------------------------------------------------------------------
22829 -- 4219869 Business Flow
22830 -- Update journal entry status -- Need to generate this within IF <condition>
22831 ----------------------------------------------------------------------------------
22832 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22833 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22834 ,p_balance_type_code => l_balance_type_code
22835 );
22836
22837 -------------------------------------------------------------------------------------------
22838 -- 4262811 - Generate the Accrual Reversal lines
22839 -------------------------------------------------------------------------------------------
22840 BEGIN
22841 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22842 (g_array_event(p_event_id).array_value_num('header_index'));
22843 IF l_acc_rev_flag IS NULL THEN
22844 l_acc_rev_flag := 'N';
22845 END IF;
22846 EXCEPTION
22847 WHEN OTHERS THEN
22848 l_acc_rev_flag := 'N';
22849 END;
22850 --
22851 IF (l_acc_rev_flag = 'Y') THEN
22852
22853 -- 4645092 ------------------------------------------------------------------------------
22854 -- To allow MPA report to determine if it should generate report process
22855 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22856 ------------------------------------------------------------------------------------------
22857
22858 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22859 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22860 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22861 -- call ADRs
22862 -- Bug 4922099
22863 --
22864 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22865 (NVL(l_actual_upg_option, 'N') = 'O') OR
22866 (NVL(l_enc_upg_option, 'N') = 'O')
22867 )
22868 THEN
22869 NULL;
22870 --
22871 --
22872
22873 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
22874 p_code_combination_id => TO_NUMBER(C_NUM)
22875 , p_value_type_code => NULL
22876 , p_transaction_coa_id => null
22877 , p_accounting_coa_id => null
22878 , p_adr_code => NULL
22879 , p_adr_type_code => NULL
22880 , p_component_type => l_component_type
22881 , p_component_code => l_component_code
22882 , p_component_type_code => l_component_type_code
22883 , p_component_appl_id => l_component_appl_id
22884 , p_amb_context_code => l_amb_context_code
22885 , p_side => NULL
22886 );
22887
22888
22889 -- initialise segments
22890 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22891 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22892 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22893 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22894 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22895 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22896 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22897 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22898 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22899 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22900 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22901 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22902 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22903 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22904 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22905 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22906 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22907 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22908 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22909 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22913 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22910 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22911 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22912 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22914 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22915 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22916 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22917 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22918 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22919 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22920 --
22921
22922 --
22923
22924
22925 l_segment := AcctDerRule_16(
22926 p_application_id => p_application_id
22927 , p_ae_header_id => l_ae_header_id
22928 , p_source_35 => p_source_35
22929 , x_transaction_coa_id => l_adr_transaction_coa_id
22930 , x_accounting_coa_id => l_adr_accounting_coa_id
22931 , x_flexfield_segment_code => l_adr_flexfield_segment_code
22932 , x_flex_value_set_id => l_adr_flex_value_set_id
22933 , x_value_type_code => l_adr_value_type_code
22934 , x_value_combination_id => l_adr_value_combination_id
22935 , x_value_segment_code => l_adr_value_segment_code
22936 , p_side => 'NA'
22937 , p_override_seg_flag => 'Y'
22938 );
22939
22940 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22941
22942 xla_ae_lines_pkg.set_segment(
22943 p_to_segment_code => 'GL_ACCOUNT'
22944 , p_segment_value => l_segment
22945 , p_from_segment_code => l_adr_value_segment_code
22946 , p_from_combination_id => l_adr_value_combination_id
22947 , p_value_type_code => l_adr_value_type_code
22948 , p_transaction_coa_id => l_adr_transaction_coa_id
22949 , p_accounting_coa_id => l_adr_accounting_coa_id
22950 , p_flexfield_segment_code => l_adr_flexfield_segment_code
22951 , p_flex_value_set_id => l_adr_flex_value_set_id
22952 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
22953 , p_adr_type_code => 'S'
22954 , p_component_type => l_component_type
22955 , p_component_code => l_component_code
22956 , p_component_type_code => l_component_type_code
22957 , p_component_appl_id => l_component_appl_id
22958 , p_amb_context_code => l_amb_context_code
22959 , p_entity_code => 'AP_PAYMENTS'
22960 , p_event_class_code => 'FUTURE DATED PAYMENTS'
22961 , p_side => 'NA'
22962 );
22963
22964 END IF;
22965
22966 --
22967 --
22968 END IF;
22969
22970 --
22971 -- Update the line information that should be overwritten
22972 --
22973 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22974 p_header_num => 1);
22975 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22976
22977 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22978
22979 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22980 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22981 END IF;
22982
22983 --
22984 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22985 --
22986 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22987 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22988 ELSE
22989 ---------------------------------------------------------------------------------------------------
22990 -- 4262811a Switch Sign
22991 ---------------------------------------------------------------------------------------------------
22992 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22993 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22994 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22995 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22996 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22997 -- 5132302
22998 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22999 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23000
23001 END IF;
23002
23003 -- 4955764
23004 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23005 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23006
23007
23008 XLA_AE_LINES_PKG.ValidateCurrentLine;
23012 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23009 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23010
23011 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23013 ,p_balance_type_code => l_balance_type_code);
23014
23015 END IF;
23016
23017 -----------------------------------------------------------------------------------------
23018 -- 4262811 Multiperiod Accounting
23019 -----------------------------------------------------------------------------------------
23020 -- No MPA option is assigned.
23021
23022
23023 END IF;
23024 END IF;
23025 --
23026
23027 --
23028 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23029 trace
23030 (p_msg => 'END of AcctLineType_65'
23031 ,p_level => C_LEVEL_PROCEDURE
23032 ,p_module => l_log_module);
23033 END IF;
23034 --
23035 EXCEPTION
23036 WHEN xla_exceptions_pkg.application_exception THEN
23037 RAISE;
23038 WHEN OTHERS THEN
23039 xla_exceptions_pkg.raise_message
23040 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_65');
23041 END AcctLineType_65;
23042 --
23043
23044 ---------------------------------------
23045 --
23046 -- PRIVATE FUNCTION
23047 -- AcctLineType_66
23048 --
23049 ---------------------------------------
23050 PROCEDURE AcctLineType_66 (
23051 p_application_id IN NUMBER
23052 ,p_event_id IN NUMBER
23053 ,p_calculate_acctd_flag IN VARCHAR2
23054 ,p_calculate_g_l_flag IN VARCHAR2
23055 ,p_actual_flag IN OUT VARCHAR2
23056 ,p_balance_type_code OUT VARCHAR2
23057 ,p_gain_or_loss_ref OUT VARCHAR2
23058
23059 --Payment Currency Code
23060 , p_source_13 IN VARCHAR2
23061 --Automatic Offsets Value
23062 , p_source_15 IN VARCHAR2
23063 , p_source_15_meaning IN VARCHAR2
23064 --Bank Cash Clearing Account
23065 , p_source_35 IN NUMBER
23066 --Accounting Reversal Indicator
23067 , p_source_52 IN VARCHAR2
23068 --Distribution Link Type
23069 , p_source_54 IN VARCHAR2
23070 --Override Accounted Amount Indicator
23071 , p_source_79 IN VARCHAR2
23072 , p_source_79_meaning IN VARCHAR2
23073 --Third Party Type
23074 , p_source_82 IN VARCHAR2
23075 --Business Flow Accounts Payable Application Identifier
23076 , p_source_90 IN NUMBER
23077 --When to Account for Payment Option
23078 , p_source_96 IN VARCHAR2
23079 --Payment Distribution Type
23080 , p_source_97 IN VARCHAR2
23081 , p_source_97_meaning IN VARCHAR2
23082 --Payment Distribution Amount
23083 , p_source_98 IN NUMBER
23084 --Business Flow Payment Distribution Type
23085 , p_source_99 IN VARCHAR2
23086 --Business Flow Payment Entity Code
23087 , p_source_100 IN VARCHAR2
23088 --Business Flow Payment Distribution Identifier
23089 , p_source_101 IN NUMBER
23090 --Business Flow Payment Identifier
23091 , p_source_102 IN NUMBER
23092 --Payment Distribution Identifier
23093 , p_source_103 IN NUMBER
23094 --Payment Supplier Identifier
23095 , p_source_109 IN NUMBER
23096 --Payment Supplier Site Identifier
23097 , p_source_110 IN NUMBER
23098 --Payment Distribution Reversed Identifier
23099 , p_source_111 IN NUMBER
23100 --Payment Identifier
23101 , p_source_112 IN NUMBER
23102 --Pooled Bank Account Option
23103 , p_source_113 IN VARCHAR2
23104 , p_source_113_meaning IN VARCHAR2
23105 --Payment Maturity Date
23106 , p_source_114 IN DATE
23107 --Payment Distribution (Invoice Rate) Ledger Amount
23108 , p_source_116 IN NUMBER
23109 --Payment Exchange Date
23110 , p_source_117 IN DATE
23111 --Payment Exchange Rate
23112 , p_source_118 IN NUMBER
23113 --Payment Exchange Rate Type
23114 , p_source_119 IN VARCHAR2
23115 )
23116 IS
23117
23118 l_component_type VARCHAR2(80);
23119 l_component_code VARCHAR2(30);
23120 l_component_type_code VARCHAR2(1);
23121 l_component_appl_id INTEGER;
23122 l_amb_context_code VARCHAR2(30);
23123 l_entity_code VARCHAR2(30);
23124 l_event_class_code VARCHAR2(30);
23125 l_ae_header_id NUMBER;
23126 l_event_type_code VARCHAR2(30);
23127 l_line_definition_code VARCHAR2(30);
23128 l_line_definition_owner_code VARCHAR2(1);
23129 --
23130 -- adr variables
23131 l_segment VARCHAR2(30);
23132 l_ccid NUMBER;
23133 l_adr_transaction_coa_id NUMBER;
23134 l_adr_accounting_coa_id NUMBER;
23135 l_adr_flexfield_segment_code VARCHAR2(30);
23136 l_adr_flex_value_set_id NUMBER;
23137 l_adr_value_type_code VARCHAR2(30);
23138 l_adr_value_combination_id NUMBER;
23139 l_adr_value_segment_code VARCHAR2(30);
23140
23141 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23142 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23143 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23144 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23145
23149 l_acc_rev_flag VARCHAR2(1);
23146 -- 4262811 Variables ------------------------------------------------------------------------------------------
23147 l_entered_amt_idx NUMBER;
23148 l_accted_amt_idx NUMBER;
23150 l_accrual_line_num NUMBER;
23151 l_tmp_amt NUMBER;
23152 l_acc_rev_natural_side_code VARCHAR2(1);
23153
23154 l_num_entries NUMBER;
23155 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23156 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23157 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23158 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23159 l_recog_line_1 NUMBER;
23160 l_recog_line_2 NUMBER;
23161
23162 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23163 l_bflow_applied_to_amt NUMBER; -- 5132302
23164 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23165
23166 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23167
23168 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23169 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23170
23171 ---------------------------------------------------------------------------------------------------------------
23172
23173
23174 --
23175 -- bulk performance
23176 --
23177 l_balance_type_code VARCHAR2(1);
23178 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23179 l_log_module VARCHAR2(240);
23180
23181 --
23182 -- Upgrade strategy
23183 --
23184 l_actual_upg_option VARCHAR2(1);
23185 l_enc_upg_option VARCHAR2(1);
23186
23187 --
23188 BEGIN
23189 --
23190 IF g_log_enabled THEN
23191 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_66';
23192 END IF;
23193 --
23194 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23195
23196 trace
23197 (p_msg => 'BEGIN of AcctLineType_66'
23198 ,p_level => C_LEVEL_PROCEDURE
23199 ,p_module => l_log_module);
23200
23201 END IF;
23202 --
23203 l_component_type := 'AMB_JLT';
23204 l_component_code := 'AP_CASH_CLEAR_MAT_BS_INVXRATE';
23205 l_component_type_code := 'S';
23206 l_component_appl_id := 200;
23207 l_amb_context_code := 'DEFAULT';
23208 l_entity_code := 'AP_PAYMENTS';
23209 l_event_class_code := 'FUTURE DATED PAYMENTS';
23210 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
23211 l_line_definition_owner_code := 'S';
23212 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
23213 --
23214 l_balance_type_code := 'A';
23215 l_segment := NULL;
23216 l_ccid := NULL;
23217 l_adr_transaction_coa_id := NULL;
23218 l_adr_accounting_coa_id := NULL;
23219 l_adr_flexfield_segment_code := NULL;
23220 l_adr_flex_value_set_id := NULL;
23221 l_adr_value_type_code := NULL;
23222 l_adr_value_combination_id := NULL;
23223 l_adr_value_segment_code := NULL;
23224
23225 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
23226 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23227 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23228 l_budgetary_control_flag := 'N';
23229
23230 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23231 l_bflow_applied_to_amt := NULL; -- 5132302
23232 l_entered_amt_idx := NULL; -- 4262811
23233 l_accted_amt_idx := NULL; -- 4262811
23234 l_acc_rev_flag := NULL; -- 4262811
23235 l_accrual_line_num := NULL; -- 4262811
23236 l_tmp_amt := NULL; -- 4262811
23237 --
23238
23239 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23240 l_balance_type_code <> 'B' THEN
23241 IF NVL(p_source_96,'
23242 ') = 'ALWAYS_CLEAR' AND
23243 (NVL(p_source_113,'
23244 ') = 'Y' AND
23245 NVL(p_source_15,'
23246 ') = 'BALANCING_SEGMENT') AND
23247 p_source_114 IS NOT NULL AND
23248 NVL(p_source_97,'
23249 ') = 'CASH'
23250 THEN
23251
23252 --
23253 XLA_AE_LINES_PKG.SetNewLine;
23254
23255 p_balance_type_code := l_balance_type_code;
23256 -- set the flag so later we will know whether the gain loss line needs to be created
23257
23258 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23259 p_actual_flag :='A';
23260 END IF;
23261
23262 --
23263 -- bulk performance
23264 --
23265 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23266 p_header_num => 0); -- 4262811
23267 --
23268 -- set accounting line options
23269 --
23270 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23271 p_natural_side_code => 'C'
23272 , p_gain_or_loss_flag => 'N'
23273 , p_gl_transfer_mode_code => 'S'
23274 , p_acct_entry_type_code => 'A'
23275 , p_switch_side_flag => 'Y'
23276 , p_merge_duplicate_code => 'A'
23280 --
23277 );
23278 --
23279 l_acc_rev_natural_side_code := 'D'; -- 4262811
23281 --
23282 -- set accounting line type info
23283 --
23284 xla_ae_lines_pkg.SetAcctLineType
23285 (p_component_type => l_component_type
23286 ,p_event_type_code => l_event_type_code
23287 ,p_line_definition_owner_code => l_line_definition_owner_code
23288 ,p_line_definition_code => l_line_definition_code
23289 ,p_accounting_line_code => l_component_code
23290 ,p_accounting_line_type_code => l_component_type_code
23291 ,p_accounting_line_appl_id => l_component_appl_id
23292 ,p_amb_context_code => l_amb_context_code
23293 ,p_entity_code => l_entity_code
23294 ,p_event_class_code => l_event_class_code);
23295 --
23296 -- set accounting class
23297 --
23298 xla_ae_lines_pkg.SetAcctClass(
23299 p_accounting_class_code => 'CASH_CLEARING'
23300 , p_ae_header_id => l_ae_header_id
23301 );
23302
23303 --
23304 -- set rounding class
23305 --
23306 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23307 'CASH_CLEARING';
23308
23309 --
23310 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23311 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23312 --
23313 -- bulk performance
23314 --
23315 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23316
23317 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23318 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23319
23320 -- 4955764
23321 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23322 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23323
23324 -- 4458381 Public Sector Enh
23325
23326 --
23327 -- set accounting attributes for the line type
23328 --
23329 l_entered_amt_idx := 9;
23330 l_accted_amt_idx := 14;
23331 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23332 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23333 l_rec_acct_attrs.array_char_value(1) := p_source_52;
23334 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
23335 l_rec_acct_attrs.array_num_value(2) := p_source_90;
23336 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23337 l_rec_acct_attrs.array_char_value(3) := p_source_99;
23338 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
23339 l_rec_acct_attrs.array_char_value(4) := p_source_100;
23340 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
23341 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
23342 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23343 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
23344 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
23345 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
23346 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
23347 l_rec_acct_attrs.array_char_value(8) := p_source_54;
23348 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
23349 l_rec_acct_attrs.array_num_value(9) := p_source_98;
23350 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
23351 l_rec_acct_attrs.array_char_value(10) := p_source_13;
23352 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
23353 l_rec_acct_attrs.array_date_value(11) := p_source_117;
23354 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
23355 l_rec_acct_attrs.array_num_value(12) := p_source_118;
23356 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
23357 l_rec_acct_attrs.array_char_value(13) := p_source_119;
23358 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
23359 l_rec_acct_attrs.array_num_value(14) := p_source_116;
23360 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
23361 l_rec_acct_attrs.array_char_value(15) := p_source_79;
23362 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
23363 l_rec_acct_attrs.array_num_value(16) := p_source_109;
23364 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
23365 l_rec_acct_attrs.array_num_value(17) := p_source_110;
23366 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
23367 l_rec_acct_attrs.array_char_value(18) := p_source_82;
23368 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
23369 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
23370 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
23371 l_rec_acct_attrs.array_char_value(20) := p_source_54;
23372
23373 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23374 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23375
23376 ---------------------------------------------------------------------------------------------------------------
23377 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23378 ---------------------------------------------------------------------------------------------------------------
23382 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23379 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23380
23381 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23383
23384 IF xla_accounting_cache_pkg.GetValueChar
23385 (p_source_code => 'LEDGER_CATEGORY_CODE'
23386 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23387 AND l_bflow_method_code = 'PRIOR_ENTRY'
23388 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23389 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23390 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23391 )
23392 THEN
23393 xla_ae_lines_pkg.BflowUpgEntry
23394 (p_business_method_code => l_bflow_method_code
23395 ,p_business_class_code => l_bflow_class_code
23396 ,p_balance_type => l_balance_type_code);
23397 ELSE
23398 NULL;
23399 XLA_AE_LINES_PKG.business_flow_validation(
23400 p_business_method_code => l_bflow_method_code
23401 ,p_business_class_code => l_bflow_class_code
23402 ,p_inherit_description_flag => l_inherit_desc_flag);
23403 END IF;
23404
23405 --
23406 -- call analytical criteria
23407 --
23408
23409
23410 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
23411 xla_ae_lines_pkg.SetAnalyticalCriteria(
23412 p_analytical_criterion_name => 'Check Id'
23413 , p_analytical_criterion_owner => 'S'
23414 , p_analytical_criterion_code => 'CHECK_ID'
23415 , p_amb_context_code => 'DEFAULT'
23416 , p_balancing_flag => 'N'
23417
23418 , p_analytical_detail_char_1 => NULL
23419 , p_analytical_detail_num_1 => p_source_112
23420 , p_analytical_detail_date_1 => NULL
23421
23422 , p_ae_header_id => l_ae_header_id
23423 )
23424 ;
23425 --
23426
23427 --
23428 -- call description
23429 --
23430 -- No description or it is inherited.
23431 --
23432 -- call ADRs
23433 -- Bug 4922099
23434 --
23435 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23436 (NVL(l_actual_upg_option, 'N') = 'O') OR
23437 (NVL(l_enc_upg_option, 'N') = 'O')
23438 )
23439 THEN
23440 NULL;
23441 --
23442 --
23443
23444 l_ccid := AcctDerRule_35(
23445 p_application_id => p_application_id
23446 , p_ae_header_id => l_ae_header_id
23447 , p_source_35 => p_source_35
23448 , x_transaction_coa_id => l_adr_transaction_coa_id
23449 , x_accounting_coa_id => l_adr_accounting_coa_id
23450 , x_value_type_code => l_adr_value_type_code
23451 , p_side => 'NA'
23452 );
23453
23454 xla_ae_lines_pkg.set_ccid(
23455 p_code_combination_id => l_ccid
23456 , p_value_type_code => l_adr_value_type_code
23457 , p_transaction_coa_id => l_adr_transaction_coa_id
23458 , p_accounting_coa_id => l_adr_accounting_coa_id
23459 , p_adr_code => 'AP_PMT_CASH_CLEAR'
23460 , p_adr_type_code => 'S'
23461 , p_component_type => l_component_type
23462 , p_component_code => l_component_code
23463 , p_component_type_code => l_component_type_code
23464 , p_component_appl_id => l_component_appl_id
23465 , p_amb_context_code => l_amb_context_code
23466 , p_side => 'NA'
23467 );
23468
23469
23470 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
23471 p_to_segment_code => 'GL_BALANCING'
23472 , p_segment_value => C_CHAR
23473 , p_from_segment_code => NULL
23474 , p_from_combination_id => NULL
23475 , p_value_type_code => NULL
23476 , p_transaction_coa_id => null
23477 , p_accounting_coa_id => null
23478 , p_flexfield_segment_code => NULL
23479 , p_flex_value_set_id => NULL
23480 , p_adr_code => NULL
23481 , p_adr_type_code => NULL
23482 , p_component_type => l_component_type
23483 , p_component_code => l_component_code
23484 , p_component_type_code => l_component_type_code
23485 , p_component_appl_id => l_component_appl_id
23486 , p_amb_context_code => l_amb_context_code
23487 , p_entity_code => 'AP_PAYMENTS'
23488 , p_event_class_code => 'FUTURE DATED PAYMENTS'
23489 , p_side => 'NA'
23490 );
23491 --
23492
23493
23494 --
23495 --
23496 END IF;
23497 --
23498 -- Bug 4922099
23499 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23500 (NVL(l_enc_upg_option, 'N') = 'O')
23501 ) AND
23502 (l_bflow_method_code = 'PRIOR_ENTRY')
23503 )
23504 THEN
23505 IF
23506 --
23507 1 = 2
23508 --
23509 THEN
23510 xla_accounting_err_pkg.build_message
23511 (p_appli_s_name => 'XLA'
23515 ,p_token_2 => 'LINE_TYPE_NAME'
23512 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23513 ,p_token_1 => 'LINE_NUMBER'
23514 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23516 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23517 l_component_type
23518 ,l_component_code
23519 ,l_component_type_code
23520 ,l_component_appl_id
23521 ,l_amb_context_code
23522 ,l_entity_code
23523 ,l_event_class_code
23524 )
23525 ,p_token_3 => 'OWNER'
23526 ,p_value_3 => xla_lookups_pkg.get_meaning(
23527 p_lookup_type => 'XLA_OWNER_TYPE'
23528 ,p_lookup_code => l_component_type_code
23529 )
23530 ,p_token_4 => 'PRODUCT_NAME'
23531 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23532 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23533 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23534 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23535 ,p_ae_header_id => NULL
23536 );
23537
23538 IF (C_LEVEL_ERROR>= g_log_level) THEN
23539 trace
23540 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23541 ,p_level => C_LEVEL_ERROR
23542 ,p_module => l_log_module);
23543 END IF;
23544 END IF;
23545 END IF;
23546 --
23547 --
23548 ------------------------------------------------------------------------------------------------
23549 -- 4219869 Business Flow
23550 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23551 -- Prior Entry. Currently, the following code is always generated.
23552 ------------------------------------------------------------------------------------------------
23553 XLA_AE_LINES_PKG.ValidateCurrentLine;
23554
23555 ------------------------------------------------------------------------------------
23556 -- 4219869 Business Flow
23557 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23558 ------------------------------------------------------------------------------------
23559 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23560
23561 ----------------------------------------------------------------------------------
23562 -- 4219869 Business Flow
23563 -- Update journal entry status -- Need to generate this within IF <condition>
23564 ----------------------------------------------------------------------------------
23565 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23566 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23567 ,p_balance_type_code => l_balance_type_code
23568 );
23569
23570 -------------------------------------------------------------------------------------------
23571 -- 4262811 - Generate the Accrual Reversal lines
23572 -------------------------------------------------------------------------------------------
23573 BEGIN
23574 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23575 (g_array_event(p_event_id).array_value_num('header_index'));
23576 IF l_acc_rev_flag IS NULL THEN
23577 l_acc_rev_flag := 'N';
23578 END IF;
23579 EXCEPTION
23580 WHEN OTHERS THEN
23581 l_acc_rev_flag := 'N';
23582 END;
23583 --
23584 IF (l_acc_rev_flag = 'Y') THEN
23585
23586 -- 4645092 ------------------------------------------------------------------------------
23587 -- To allow MPA report to determine if it should generate report process
23588 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23589 ------------------------------------------------------------------------------------------
23590
23591 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23592 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23593 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23594 -- call ADRs
23595 -- Bug 4922099
23596 --
23597 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23598 (NVL(l_actual_upg_option, 'N') = 'O') OR
23602 NULL;
23599 (NVL(l_enc_upg_option, 'N') = 'O')
23600 )
23601 THEN
23603 --
23604 --
23605
23606 l_ccid := AcctDerRule_35(
23607 p_application_id => p_application_id
23608 , p_ae_header_id => l_ae_header_id
23609 , p_source_35 => p_source_35
23610 , x_transaction_coa_id => l_adr_transaction_coa_id
23611 , x_accounting_coa_id => l_adr_accounting_coa_id
23612 , x_value_type_code => l_adr_value_type_code
23613 , p_side => 'NA'
23614 );
23615
23616 xla_ae_lines_pkg.set_ccid(
23617 p_code_combination_id => l_ccid
23618 , p_value_type_code => l_adr_value_type_code
23619 , p_transaction_coa_id => l_adr_transaction_coa_id
23620 , p_accounting_coa_id => l_adr_accounting_coa_id
23621 , p_adr_code => 'AP_PMT_CASH_CLEAR'
23622 , p_adr_type_code => 'S'
23623 , p_component_type => l_component_type
23624 , p_component_code => l_component_code
23625 , p_component_type_code => l_component_type_code
23626 , p_component_appl_id => l_component_appl_id
23627 , p_amb_context_code => l_amb_context_code
23628 , p_side => 'NA'
23629 );
23630
23631
23632 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
23633 p_to_segment_code => 'GL_BALANCING'
23634 , p_segment_value => C_CHAR
23635 , p_from_segment_code => NULL
23636 , p_from_combination_id => NULL
23637 , p_value_type_code => NULL
23638 , p_transaction_coa_id => null
23639 , p_accounting_coa_id => null
23640 , p_flexfield_segment_code => NULL
23641 , p_flex_value_set_id => NULL
23642 , p_adr_code => NULL
23643 , p_adr_type_code => NULL
23644 , p_component_type => l_component_type
23645 , p_component_code => l_component_code
23646 , p_component_type_code => l_component_type_code
23647 , p_component_appl_id => l_component_appl_id
23648 , p_amb_context_code => l_amb_context_code
23649 , p_entity_code => 'AP_PAYMENTS'
23650 , p_event_class_code => 'FUTURE DATED PAYMENTS'
23651 , p_side => 'NA'
23652 );
23653 --
23654
23655
23656 --
23657 --
23658 END IF;
23659
23660 --
23661 -- Update the line information that should be overwritten
23662 --
23663 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23664 p_header_num => 1);
23665 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23666
23667 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23668
23669 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23670 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23671 END IF;
23672
23673 --
23674 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23675 --
23676 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23677 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23678 ELSE
23679 ---------------------------------------------------------------------------------------------------
23680 -- 4262811a Switch Sign
23681 ---------------------------------------------------------------------------------------------------
23682 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23683 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23684 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23685 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23686 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23687 -- 5132302
23688 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23689 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23690
23691 END IF;
23692
23693 -- 4955764
23694 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23695 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23696
23697
23698 XLA_AE_LINES_PKG.ValidateCurrentLine;
23699 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23700
23701 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23702 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23703 ,p_balance_type_code => l_balance_type_code);
23704
23705 END IF;
23706
23707 -----------------------------------------------------------------------------------------
23708 -- 4262811 Multiperiod Accounting
23709 -----------------------------------------------------------------------------------------
23710 -- No MPA option is assigned.
23711
23712
23713 END IF;
23714 END IF;
23715 --
23716
23720 (p_msg => 'END of AcctLineType_66'
23717 --
23718 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23719 trace
23721 ,p_level => C_LEVEL_PROCEDURE
23722 ,p_module => l_log_module);
23723 END IF;
23724 --
23725 EXCEPTION
23726 WHEN xla_exceptions_pkg.application_exception THEN
23727 RAISE;
23728 WHEN OTHERS THEN
23729 xla_exceptions_pkg.raise_message
23730 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_66');
23731 END AcctLineType_66;
23732 --
23733
23734 ---------------------------------------
23735 --
23736 -- PRIVATE FUNCTION
23737 -- AcctLineType_67
23738 --
23739 ---------------------------------------
23740 PROCEDURE AcctLineType_67 (
23741 p_application_id IN NUMBER
23742 ,p_event_id IN NUMBER
23743 ,p_calculate_acctd_flag IN VARCHAR2
23744 ,p_calculate_g_l_flag IN VARCHAR2
23745 ,p_actual_flag IN OUT VARCHAR2
23746 ,p_balance_type_code OUT VARCHAR2
23747 ,p_gain_or_loss_ref OUT VARCHAR2
23748
23749 --Payment Currency Code
23750 , p_source_13 IN VARCHAR2
23751 --Accounting Reversal Indicator
23752 , p_source_52 IN VARCHAR2
23753 --Distribution Link Type
23754 , p_source_54 IN VARCHAR2
23755 --Override Accounted Amount Indicator
23756 , p_source_79 IN VARCHAR2
23757 , p_source_79_meaning IN VARCHAR2
23758 --Third Party Type
23759 , p_source_82 IN VARCHAR2
23760 --Invoice Distribution Tax Line Identifier
23761 , p_source_85 IN NUMBER
23762 --Invoice Distribution Summary Tax Line Identifier
23763 , p_source_87 IN NUMBER
23764 --Business Flow Accounts Payable Application Identifier
23765 , p_source_90 IN NUMBER
23766 --When to Account for Payment Option
23767 , p_source_96 IN VARCHAR2
23768 --Payment Distribution Type
23769 , p_source_97 IN VARCHAR2
23770 , p_source_97_meaning IN VARCHAR2
23771 --Payment Distribution Amount
23772 , p_source_98 IN NUMBER
23773 --Business Flow Payment Distribution Type
23774 , p_source_99 IN VARCHAR2
23775 --Business Flow Payment Entity Code
23776 , p_source_100 IN VARCHAR2
23777 --Business Flow Payment Identifier
23778 , p_source_102 IN NUMBER
23779 --Payment Distribution Identifier
23780 , p_source_103 IN NUMBER
23781 --Payment Distribution Reversed Identifier
23782 , p_source_111 IN NUMBER
23783 --Payment Maturity Date
23784 , p_source_114 IN DATE
23785 --Business Flow Payment Maturity Identifier
23786 , p_source_120 IN NUMBER
23787 --Payment Distribution (Matured Rate) Ledger Amount
23788 , p_source_121 IN NUMBER
23789 )
23790 IS
23791
23792 l_component_type VARCHAR2(80);
23793 l_component_code VARCHAR2(30);
23794 l_component_type_code VARCHAR2(1);
23795 l_component_appl_id INTEGER;
23796 l_amb_context_code VARCHAR2(30);
23797 l_entity_code VARCHAR2(30);
23798 l_event_class_code VARCHAR2(30);
23799 l_ae_header_id NUMBER;
23800 l_event_type_code VARCHAR2(30);
23801 l_line_definition_code VARCHAR2(30);
23802 l_line_definition_owner_code VARCHAR2(1);
23803 --
23804 -- adr variables
23805 l_segment VARCHAR2(30);
23806 l_ccid NUMBER;
23807 l_adr_transaction_coa_id NUMBER;
23808 l_adr_accounting_coa_id NUMBER;
23809 l_adr_flexfield_segment_code VARCHAR2(30);
23810 l_adr_flex_value_set_id NUMBER;
23811 l_adr_value_type_code VARCHAR2(30);
23812 l_adr_value_combination_id NUMBER;
23813 l_adr_value_segment_code VARCHAR2(30);
23814
23815 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23816 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23817 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23818 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23819
23820 -- 4262811 Variables ------------------------------------------------------------------------------------------
23821 l_entered_amt_idx NUMBER;
23822 l_accted_amt_idx NUMBER;
23823 l_acc_rev_flag VARCHAR2(1);
23824 l_accrual_line_num NUMBER;
23825 l_tmp_amt NUMBER;
23826 l_acc_rev_natural_side_code VARCHAR2(1);
23827
23828 l_num_entries NUMBER;
23829 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23830 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23831 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23832 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23833 l_recog_line_1 NUMBER;
23834 l_recog_line_2 NUMBER;
23835
23836 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23837 l_bflow_applied_to_amt NUMBER; -- 5132302
23838 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23839
23840 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23841
23842 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23846
23843 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23844
23845 ---------------------------------------------------------------------------------------------------------------
23847
23848 --
23849 -- bulk performance
23850 --
23851 l_balance_type_code VARCHAR2(1);
23852 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23853 l_log_module VARCHAR2(240);
23854
23855 --
23856 -- Upgrade strategy
23857 --
23858 l_actual_upg_option VARCHAR2(1);
23859 l_enc_upg_option VARCHAR2(1);
23860
23861 --
23862 BEGIN
23863 --
23864 IF g_log_enabled THEN
23865 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_67';
23866 END IF;
23867 --
23868 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23869
23870 trace
23871 (p_msg => 'BEGIN of AcctLineType_67'
23872 ,p_level => C_LEVEL_PROCEDURE
23873 ,p_module => l_log_module);
23874
23875 END IF;
23876 --
23877 l_component_type := 'AMB_JLT';
23878 l_component_code := 'AP_CASH_CLEAR_MAT_CLEAR';
23879 l_component_type_code := 'S';
23880 l_component_appl_id := 200;
23881 l_amb_context_code := 'DEFAULT';
23882 l_entity_code := 'AP_PAYMENTS';
23883 l_event_class_code := 'RECONCILED PAYMENTS';
23884 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
23885 l_line_definition_owner_code := 'S';
23886 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
23887 --
23888 l_balance_type_code := 'A';
23889 l_segment := NULL;
23890 l_ccid := NULL;
23891 l_adr_transaction_coa_id := NULL;
23892 l_adr_accounting_coa_id := NULL;
23893 l_adr_flexfield_segment_code := NULL;
23894 l_adr_flex_value_set_id := NULL;
23895 l_adr_value_type_code := NULL;
23896 l_adr_value_combination_id := NULL;
23897 l_adr_value_segment_code := NULL;
23898
23899 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
23900 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23901 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23902 l_budgetary_control_flag := 'N';
23903
23904 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23905 l_bflow_applied_to_amt := NULL; -- 5132302
23906 l_entered_amt_idx := NULL; -- 4262811
23907 l_accted_amt_idx := NULL; -- 4262811
23908 l_acc_rev_flag := NULL; -- 4262811
23909 l_accrual_line_num := NULL; -- 4262811
23910 l_tmp_amt := NULL; -- 4262811
23911 --
23912
23913 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23914 l_balance_type_code <> 'B' THEN
23915 IF (NVL(p_source_96,'
23916 ') = 'ALWAYS_ALWAYS' OR
23917 NVL(p_source_96,'
23918 ') = 'ALWAYS_CLEAR' OR
23919 NVL(p_source_96,'
23920 ') = 'ALWAYS_ISSUE') AND
23921 NVL(p_source_97,'
23922 ') = 'CASH' AND
23923 p_source_114 IS NOT NULL
23924 THEN
23925
23926 --
23927 XLA_AE_LINES_PKG.SetNewLine;
23928
23929 p_balance_type_code := l_balance_type_code;
23930 -- set the flag so later we will know whether the gain loss line needs to be created
23931
23932 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23933 p_actual_flag :='A';
23934 END IF;
23935
23936 --
23937 -- bulk performance
23938 --
23939 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23940 p_header_num => 0); -- 4262811
23941 --
23942 -- set accounting line options
23943 --
23944 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23945 p_natural_side_code => 'D'
23946 , p_gain_or_loss_flag => 'N'
23947 , p_gl_transfer_mode_code => 'S'
23948 , p_acct_entry_type_code => 'A'
23949 , p_switch_side_flag => 'Y'
23950 , p_merge_duplicate_code => 'A'
23951 );
23952 --
23953 l_acc_rev_natural_side_code := 'C'; -- 4262811
23954 --
23955 --
23956 -- set accounting line type info
23957 --
23958 xla_ae_lines_pkg.SetAcctLineType
23959 (p_component_type => l_component_type
23960 ,p_event_type_code => l_event_type_code
23961 ,p_line_definition_owner_code => l_line_definition_owner_code
23962 ,p_line_definition_code => l_line_definition_code
23963 ,p_accounting_line_code => l_component_code
23964 ,p_accounting_line_type_code => l_component_type_code
23965 ,p_accounting_line_appl_id => l_component_appl_id
23966 ,p_amb_context_code => l_amb_context_code
23967 ,p_entity_code => l_entity_code
23968 ,p_event_class_code => l_event_class_code);
23969 --
23970 -- set accounting class
23971 --
23972 xla_ae_lines_pkg.SetAcctClass(
23973 p_accounting_class_code => 'CASH_CLEARING'
23974 , p_ae_header_id => l_ae_header_id
23975 );
23976
23977 --
23978 -- set rounding class
23979 --
23983 --
23980 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23981 'CASH_CLEARING';
23982
23984 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23985 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23986 --
23987 -- bulk performance
23988 --
23989 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23990
23991 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23992 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23993
23994 -- 4955764
23995 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23996 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23997
23998 -- 4458381 Public Sector Enh
23999
24000 --
24001 -- set accounting attributes for the line type
24002 --
24003 l_entered_amt_idx := 10;
24004 l_accted_amt_idx := 12;
24005 l_bflow_applied_to_amt_idx := 2; -- 5132302
24006 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24007 l_rec_acct_attrs.array_char_value(1) := p_source_52;
24008 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
24009 l_rec_acct_attrs.array_num_value(2) := p_source_98;
24010 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
24011 l_rec_acct_attrs.array_num_value(3) := p_source_90;
24012 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24013 l_rec_acct_attrs.array_char_value(4) := p_source_99;
24014 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
24015 l_rec_acct_attrs.array_char_value(5) := p_source_100;
24016 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
24017 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_120);
24018 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24019 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
24020 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
24021 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
24022 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
24023 l_rec_acct_attrs.array_char_value(9) := p_source_54;
24024 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
24025 l_rec_acct_attrs.array_num_value(10) := p_source_98;
24026 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
24027 l_rec_acct_attrs.array_char_value(11) := p_source_13;
24028 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
24029 l_rec_acct_attrs.array_num_value(12) := p_source_121;
24030 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
24031 l_rec_acct_attrs.array_char_value(13) := p_source_79;
24032 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
24033 l_rec_acct_attrs.array_char_value(14) := p_source_82;
24034 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
24035 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
24036 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
24037 l_rec_acct_attrs.array_char_value(16) := p_source_54;
24038 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
24039 l_rec_acct_attrs.array_num_value(17) := p_source_85;
24040 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
24041 l_rec_acct_attrs.array_num_value(18) := p_source_85;
24042 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
24043 l_rec_acct_attrs.array_num_value(19) := p_source_87;
24044
24045 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24046 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24047
24048 ---------------------------------------------------------------------------------------------------------------
24049 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24050 ---------------------------------------------------------------------------------------------------------------
24051 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24052
24053 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24054 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24055
24056 IF xla_accounting_cache_pkg.GetValueChar
24057 (p_source_code => 'LEDGER_CATEGORY_CODE'
24058 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24059 AND l_bflow_method_code = 'PRIOR_ENTRY'
24060 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24061 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24062 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24063 )
24064 THEN
24065 xla_ae_lines_pkg.BflowUpgEntry
24066 (p_business_method_code => l_bflow_method_code
24067 ,p_business_class_code => l_bflow_class_code
24068 ,p_balance_type => l_balance_type_code);
24069 ELSE
24070 NULL;
24071 XLA_AE_LINES_PKG.business_flow_validation(
24075 END IF;
24072 p_business_method_code => l_bflow_method_code
24073 ,p_business_class_code => l_bflow_class_code
24074 ,p_inherit_description_flag => l_inherit_desc_flag);
24076
24077 --
24078 -- call analytical criteria
24079 --
24080 -- Inherited Analytical Criteria for business flow method of Prior Entry.
24081 --
24082 -- call description
24083 --
24084 -- No description or it is inherited.
24085 --
24086 -- call ADRs
24087 -- Bug 4922099
24088 --
24089 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24090 (NVL(l_actual_upg_option, 'N') = 'O') OR
24091 (NVL(l_enc_upg_option, 'N') = 'O')
24092 )
24093 THEN
24094 NULL;
24095 --
24096 --
24097
24098 --
24099 --
24100 END IF;
24101 --
24102 -- Bug 4922099
24103 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24104 (NVL(l_enc_upg_option, 'N') = 'O')
24105 ) AND
24106 (l_bflow_method_code = 'PRIOR_ENTRY')
24107 )
24108 THEN
24109 IF
24110 --
24111 1 = 1
24112 --
24113 THEN
24114 xla_accounting_err_pkg.build_message
24115 (p_appli_s_name => 'XLA'
24116 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24117 ,p_token_1 => 'LINE_NUMBER'
24118 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24119 ,p_token_2 => 'LINE_TYPE_NAME'
24120 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24121 l_component_type
24122 ,l_component_code
24123 ,l_component_type_code
24124 ,l_component_appl_id
24125 ,l_amb_context_code
24126 ,l_entity_code
24127 ,l_event_class_code
24128 )
24129 ,p_token_3 => 'OWNER'
24130 ,p_value_3 => xla_lookups_pkg.get_meaning(
24131 p_lookup_type => 'XLA_OWNER_TYPE'
24132 ,p_lookup_code => l_component_type_code
24133 )
24134 ,p_token_4 => 'PRODUCT_NAME'
24135 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24136 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24137 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24138 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24139 ,p_ae_header_id => NULL
24140 );
24141
24142 IF (C_LEVEL_ERROR>= g_log_level) THEN
24143 trace
24144 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24145 ,p_level => C_LEVEL_ERROR
24146 ,p_module => l_log_module);
24147 END IF;
24148 END IF;
24149 END IF;
24150 --
24151 --
24152 ------------------------------------------------------------------------------------------------
24153 -- 4219869 Business Flow
24154 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24155 -- Prior Entry. Currently, the following code is always generated.
24156 ------------------------------------------------------------------------------------------------
24157 -- No ValidateCurrentLine for business flow method of Prior Entry
24158
24159 ------------------------------------------------------------------------------------
24160 -- 4219869 Business Flow
24161 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24162 ------------------------------------------------------------------------------------
24163 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24164
24165 ----------------------------------------------------------------------------------
24166 -- 4219869 Business Flow
24167 -- Update journal entry status -- Need to generate this within IF <condition>
24168 ----------------------------------------------------------------------------------
24169 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24170 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24171 ,p_balance_type_code => l_balance_type_code
24172 );
24173
24174 -------------------------------------------------------------------------------------------
24175 -- 4262811 - Generate the Accrual Reversal lines
24176 -------------------------------------------------------------------------------------------
24177 BEGIN
24181 l_acc_rev_flag := 'N';
24178 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24179 (g_array_event(p_event_id).array_value_num('header_index'));
24180 IF l_acc_rev_flag IS NULL THEN
24182 END IF;
24183 EXCEPTION
24184 WHEN OTHERS THEN
24185 l_acc_rev_flag := 'N';
24186 END;
24187 --
24188 IF (l_acc_rev_flag = 'Y') THEN
24189
24190 -- 4645092 ------------------------------------------------------------------------------
24191 -- To allow MPA report to determine if it should generate report process
24192 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24193 ------------------------------------------------------------------------------------------
24194
24195 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24196 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24197 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24198 -- call ADRs
24199 -- Bug 4922099
24200 --
24201 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24202 (NVL(l_actual_upg_option, 'N') = 'O') OR
24203 (NVL(l_enc_upg_option, 'N') = 'O')
24204 )
24205 THEN
24206 NULL;
24207 --
24208 --
24209
24210 --
24211 --
24212 END IF;
24213
24214 --
24215 -- Update the line information that should be overwritten
24216 --
24217 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24218 p_header_num => 1);
24219 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24220
24221 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24222
24223 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24224 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24225 END IF;
24226
24227 --
24228 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24229 --
24230 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24231 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24232 ELSE
24233 ---------------------------------------------------------------------------------------------------
24234 -- 4262811a Switch Sign
24235 ---------------------------------------------------------------------------------------------------
24236 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24237 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24238 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24239 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24240 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24241 -- 5132302
24242 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24243 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24244
24245 END IF;
24246
24247 -- 4955764
24248 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24249 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24250
24251
24252 XLA_AE_LINES_PKG.ValidateCurrentLine;
24253 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24254
24255 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24256 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24257 ,p_balance_type_code => l_balance_type_code);
24258
24259 END IF;
24260
24261 -----------------------------------------------------------------------------------------
24262 -- 4262811 Multiperiod Accounting
24263 -----------------------------------------------------------------------------------------
24264 -- No MPA option is assigned.
24265
24266
24267 END IF;
24268 END IF;
24269 --
24270
24271 --
24272 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24273 trace
24274 (p_msg => 'END of AcctLineType_67'
24275 ,p_level => C_LEVEL_PROCEDURE
24276 ,p_module => l_log_module);
24277 END IF;
24278 --
24279 EXCEPTION
24280 WHEN xla_exceptions_pkg.application_exception THEN
24281 RAISE;
24282 WHEN OTHERS THEN
24283 xla_exceptions_pkg.raise_message
24284 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_67');
24285 END AcctLineType_67;
24286 --
24287
24288 ---------------------------------------
24289 --
24290 -- PRIVATE FUNCTION
24291 -- AcctLineType_68
24292 --
24293 ---------------------------------------
24294 PROCEDURE AcctLineType_68 (
24295 p_application_id IN NUMBER
24296 ,p_event_id IN NUMBER
24297 ,p_calculate_acctd_flag IN VARCHAR2
24298 ,p_calculate_g_l_flag IN VARCHAR2
24299 ,p_actual_flag IN OUT VARCHAR2
24300 ,p_balance_type_code OUT VARCHAR2
24301 ,p_gain_or_loss_ref OUT VARCHAR2
24302
24303 --Payment Currency Code
24304 , p_source_13 IN VARCHAR2
24308 , p_source_47 IN VARCHAR2
24305 --Bank Cash Clearing Account
24306 , p_source_35 IN NUMBER
24307 --Automatic Offsets Flag
24309 , p_source_47_meaning IN VARCHAR2
24310 --Accounting Reversal Indicator
24311 , p_source_52 IN VARCHAR2
24312 --Distribution Link Type
24313 , p_source_54 IN VARCHAR2
24314 --Override Accounted Amount Indicator
24315 , p_source_79 IN VARCHAR2
24316 , p_source_79_meaning IN VARCHAR2
24317 --Third Party Type
24318 , p_source_82 IN VARCHAR2
24319 --Invoice Distribution Tax Line Identifier
24320 , p_source_85 IN NUMBER
24321 --Invoice Distribution Tax Distribution Identifier from Tax
24322 , p_source_86 IN NUMBER
24323 --Invoice Distribution Summary Tax Line Identifier
24324 , p_source_87 IN NUMBER
24325 --Business Flow Accounts Payable Application Identifier
24326 , p_source_90 IN NUMBER
24327 --Business Flow Invoice Distribution Type
24328 , p_source_91 IN VARCHAR2
24329 --Business Flow Invoice Entity Code
24330 , p_source_92 IN VARCHAR2
24331 --Business Flow Invoice Distribution Identifier
24332 , p_source_93 IN NUMBER
24333 --Business Flow Invoice Identifier
24334 , p_source_94 IN NUMBER
24335 --When to Account for Payment Option
24336 , p_source_96 IN VARCHAR2
24337 --Payment Distribution Type
24338 , p_source_97 IN VARCHAR2
24339 , p_source_97_meaning IN VARCHAR2
24340 --Payment Distribution Amount
24341 , p_source_98 IN NUMBER
24342 --Payment Distribution Identifier
24343 , p_source_103 IN NUMBER
24344 --Payment Supplier Identifier
24345 , p_source_109 IN NUMBER
24346 --Payment Supplier Site Identifier
24347 , p_source_110 IN NUMBER
24348 --Payment Distribution Reversed Identifier
24349 , p_source_111 IN NUMBER
24350 --Payment Identifier
24351 , p_source_112 IN NUMBER
24352 --Pooled Bank Account Option
24353 , p_source_113 IN VARCHAR2
24354 , p_source_113_meaning IN VARCHAR2
24355 --Payment Maturity Date
24356 , p_source_114 IN DATE
24357 --Payment Distribution (Payment Rate) Ledger Amount
24358 , p_source_115 IN NUMBER
24359 --Payment Exchange Date
24360 , p_source_117 IN DATE
24361 --Payment Exchange Rate
24362 , p_source_118 IN NUMBER
24363 --Payment Exchange Rate Type
24364 , p_source_119 IN VARCHAR2
24365 --Payment Type
24366 , p_source_122 IN VARCHAR2
24367 , p_source_122_meaning IN VARCHAR2
24368 --Payment Processing Type
24369 , p_source_123 IN VARCHAR2
24370 --Invoice Distribution Amount of the Payment Distribution
24371 , p_source_124 IN NUMBER
24372 )
24373 IS
24374
24375 l_component_type VARCHAR2(80);
24376 l_component_code VARCHAR2(30);
24377 l_component_type_code VARCHAR2(1);
24378 l_component_appl_id INTEGER;
24379 l_amb_context_code VARCHAR2(30);
24380 l_entity_code VARCHAR2(30);
24381 l_event_class_code VARCHAR2(30);
24382 l_ae_header_id NUMBER;
24383 l_event_type_code VARCHAR2(30);
24384 l_line_definition_code VARCHAR2(30);
24385 l_line_definition_owner_code VARCHAR2(1);
24386 --
24387 -- adr variables
24388 l_segment VARCHAR2(30);
24389 l_ccid NUMBER;
24390 l_adr_transaction_coa_id NUMBER;
24391 l_adr_accounting_coa_id NUMBER;
24392 l_adr_flexfield_segment_code VARCHAR2(30);
24393 l_adr_flex_value_set_id NUMBER;
24394 l_adr_value_type_code VARCHAR2(30);
24395 l_adr_value_combination_id NUMBER;
24396 l_adr_value_segment_code VARCHAR2(30);
24397
24398 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24399 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24400 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24401 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24402
24403 -- 4262811 Variables ------------------------------------------------------------------------------------------
24404 l_entered_amt_idx NUMBER;
24405 l_accted_amt_idx NUMBER;
24406 l_acc_rev_flag VARCHAR2(1);
24407 l_accrual_line_num NUMBER;
24408 l_tmp_amt NUMBER;
24409 l_acc_rev_natural_side_code VARCHAR2(1);
24410
24411 l_num_entries NUMBER;
24412 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24413 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24414 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24415 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24416 l_recog_line_1 NUMBER;
24417 l_recog_line_2 NUMBER;
24418
24419 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24420 l_bflow_applied_to_amt NUMBER; -- 5132302
24421 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24422
24423 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24424
24425 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24426 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24430
24427
24428 ---------------------------------------------------------------------------------------------------------------
24429
24431 --
24432 -- bulk performance
24433 --
24434 l_balance_type_code VARCHAR2(1);
24435 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24436 l_log_module VARCHAR2(240);
24437
24438 --
24439 -- Upgrade strategy
24440 --
24441 l_actual_upg_option VARCHAR2(1);
24442 l_enc_upg_option VARCHAR2(1);
24443
24444 --
24445 BEGIN
24446 --
24447 IF g_log_enabled THEN
24448 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_68';
24449 END IF;
24450 --
24451 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24452
24453 trace
24454 (p_msg => 'BEGIN of AcctLineType_68'
24455 ,p_level => C_LEVEL_PROCEDURE
24456 ,p_module => l_log_module);
24457
24458 END IF;
24459 --
24460 l_component_type := 'AMB_JLT';
24461 l_component_code := 'AP_CASH_CLEAR_PMT';
24462 l_component_type_code := 'S';
24463 l_component_appl_id := 200;
24464 l_amb_context_code := 'DEFAULT';
24465 l_entity_code := 'AP_PAYMENTS';
24466 l_event_class_code := 'PAYMENTS';
24467 l_event_type_code := 'PAYMENTS_ALL';
24468 l_line_definition_owner_code := 'S';
24469 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
24470 --
24471 l_balance_type_code := 'A';
24472 l_segment := NULL;
24473 l_ccid := NULL;
24474 l_adr_transaction_coa_id := NULL;
24475 l_adr_accounting_coa_id := NULL;
24476 l_adr_flexfield_segment_code := NULL;
24477 l_adr_flex_value_set_id := NULL;
24478 l_adr_value_type_code := NULL;
24479 l_adr_value_combination_id := NULL;
24480 l_adr_value_segment_code := NULL;
24481
24482 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
24483 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24484 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24485 l_budgetary_control_flag := 'N';
24486
24487 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24488 l_bflow_applied_to_amt := NULL; -- 5132302
24489 l_entered_amt_idx := NULL; -- 4262811
24490 l_accted_amt_idx := NULL; -- 4262811
24491 l_acc_rev_flag := NULL; -- 4262811
24492 l_accrual_line_num := NULL; -- 4262811
24493 l_tmp_amt := NULL; -- 4262811
24494 --
24495
24496 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24497 l_balance_type_code <> 'B' THEN
24498 IF NVL(p_source_96,'
24499 ') = 'ALWAYS_ALWAYS' AND
24500 (NVL(p_source_47,'
24501 ') <> 'Y' OR
24502 NVL(p_source_47,'
24503 ') = 'Y' AND
24504 NVL(p_source_113,'
24505 ') <> 'Y') AND
24506 p_source_114 IS NULL AND
24507 NVL(p_source_97,'
24508 ') = 'CASH' AND
24509 NVL(p_source_122,'
24510 ') <> 'R' AND
24511 NVL(p_source_123,'
24512 ') <> 'PAYMENTCARD'
24513 THEN
24514
24515 --
24516 XLA_AE_LINES_PKG.SetNewLine;
24517
24518 p_balance_type_code := l_balance_type_code;
24519 -- set the flag so later we will know whether the gain loss line needs to be created
24520
24521 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24522 p_actual_flag :='A';
24523 END IF;
24524
24525 --
24526 -- bulk performance
24527 --
24528 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24529 p_header_num => 0); -- 4262811
24530 --
24531 -- set accounting line options
24532 --
24533 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24534 p_natural_side_code => 'C'
24535 , p_gain_or_loss_flag => 'N'
24536 , p_gl_transfer_mode_code => 'S'
24537 , p_acct_entry_type_code => 'A'
24538 , p_switch_side_flag => 'Y'
24539 , p_merge_duplicate_code => 'A'
24540 );
24541 --
24542 l_acc_rev_natural_side_code := 'D'; -- 4262811
24543 --
24544 --
24545 -- set accounting line type info
24546 --
24547 xla_ae_lines_pkg.SetAcctLineType
24548 (p_component_type => l_component_type
24549 ,p_event_type_code => l_event_type_code
24550 ,p_line_definition_owner_code => l_line_definition_owner_code
24551 ,p_line_definition_code => l_line_definition_code
24552 ,p_accounting_line_code => l_component_code
24553 ,p_accounting_line_type_code => l_component_type_code
24554 ,p_accounting_line_appl_id => l_component_appl_id
24555 ,p_amb_context_code => l_amb_context_code
24556 ,p_entity_code => l_entity_code
24557 ,p_event_class_code => l_event_class_code);
24558 --
24559 -- set accounting class
24560 --
24561 xla_ae_lines_pkg.SetAcctClass(
24562 p_accounting_class_code => 'CASH_CLEARING'
24563 , p_ae_header_id => l_ae_header_id
24564 );
24565
24566 --
24567 -- set rounding class
24568 --
24569 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24573 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24570 'CASH_CLEARING';
24571
24572 --
24574 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24575 --
24576 -- bulk performance
24577 --
24578 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24579
24580 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24581 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24582
24583 -- 4955764
24584 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24585 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24586
24587 -- 4458381 Public Sector Enh
24588
24589 --
24590 -- set accounting attributes for the line type
24591 --
24592 l_entered_amt_idx := 10;
24593 l_accted_amt_idx := 15;
24594 l_bflow_applied_to_amt_idx := 2; -- 5132302
24595 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24596 l_rec_acct_attrs.array_char_value(1) := p_source_52;
24597 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
24598 l_rec_acct_attrs.array_num_value(2) := p_source_124;
24599 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
24600 l_rec_acct_attrs.array_num_value(3) := p_source_90;
24601 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24602 l_rec_acct_attrs.array_char_value(4) := p_source_91;
24603 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
24604 l_rec_acct_attrs.array_char_value(5) := p_source_92;
24605 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
24606 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
24607 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24608 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
24609 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
24610 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
24611 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
24612 l_rec_acct_attrs.array_char_value(9) := p_source_54;
24613 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
24614 l_rec_acct_attrs.array_num_value(10) := p_source_98;
24615 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
24616 l_rec_acct_attrs.array_char_value(11) := p_source_13;
24617 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
24618 l_rec_acct_attrs.array_date_value(12) := p_source_117;
24619 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
24620 l_rec_acct_attrs.array_num_value(13) := p_source_118;
24621 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
24622 l_rec_acct_attrs.array_char_value(14) := p_source_119;
24623 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
24624 l_rec_acct_attrs.array_num_value(15) := p_source_115;
24625 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
24626 l_rec_acct_attrs.array_char_value(16) := p_source_79;
24627 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
24628 l_rec_acct_attrs.array_num_value(17) := p_source_109;
24629 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
24630 l_rec_acct_attrs.array_num_value(18) := p_source_110;
24631 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
24632 l_rec_acct_attrs.array_char_value(19) := p_source_82;
24633 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
24634 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
24635 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
24636 l_rec_acct_attrs.array_char_value(21) := p_source_54;
24637 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
24638 l_rec_acct_attrs.array_num_value(22) := p_source_85;
24639 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
24640 l_rec_acct_attrs.array_num_value(23) := p_source_86;
24641 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
24642 l_rec_acct_attrs.array_num_value(24) := p_source_87;
24643
24644 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24645 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24646
24647 ---------------------------------------------------------------------------------------------------------------
24648 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24649 ---------------------------------------------------------------------------------------------------------------
24650 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24651
24652 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24653 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24654
24655 IF xla_accounting_cache_pkg.GetValueChar
24656 (p_source_code => 'LEDGER_CATEGORY_CODE'
24657 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24658 AND l_bflow_method_code = 'PRIOR_ENTRY'
24659 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24660 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24664 xla_ae_lines_pkg.BflowUpgEntry
24661 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24662 )
24663 THEN
24665 (p_business_method_code => l_bflow_method_code
24666 ,p_business_class_code => l_bflow_class_code
24667 ,p_balance_type => l_balance_type_code);
24668 ELSE
24669 NULL;
24670 -- No business flow processing for business flow method of NONE.
24671 END IF;
24672
24673 --
24674 -- call analytical criteria
24675 --
24676
24677
24678 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
24679 xla_ae_lines_pkg.SetAnalyticalCriteria(
24680 p_analytical_criterion_name => 'Check Id'
24681 , p_analytical_criterion_owner => 'S'
24682 , p_analytical_criterion_code => 'CHECK_ID'
24683 , p_amb_context_code => 'DEFAULT'
24684 , p_balancing_flag => 'N'
24685
24686 , p_analytical_detail_char_1 => NULL
24687 , p_analytical_detail_num_1 => p_source_112
24688 , p_analytical_detail_date_1 => NULL
24689
24690 , p_ae_header_id => l_ae_header_id
24691 )
24692 ;
24693 --
24694
24695 --
24696 -- call description
24697 --
24698 -- No description or it is inherited.
24699 --
24700 -- call ADRs
24701 -- Bug 4922099
24702 --
24703 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24704 (NVL(l_actual_upg_option, 'N') = 'O') OR
24705 (NVL(l_enc_upg_option, 'N') = 'O')
24706 )
24707 THEN
24708 NULL;
24709 --
24710 --
24711
24712 l_ccid := AcctDerRule_35(
24713 p_application_id => p_application_id
24714 , p_ae_header_id => l_ae_header_id
24715 , p_source_35 => p_source_35
24716 , x_transaction_coa_id => l_adr_transaction_coa_id
24717 , x_accounting_coa_id => l_adr_accounting_coa_id
24718 , x_value_type_code => l_adr_value_type_code
24719 , p_side => 'NA'
24720 );
24721
24722 xla_ae_lines_pkg.set_ccid(
24723 p_code_combination_id => l_ccid
24724 , p_value_type_code => l_adr_value_type_code
24725 , p_transaction_coa_id => l_adr_transaction_coa_id
24726 , p_accounting_coa_id => l_adr_accounting_coa_id
24727 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24728 , p_adr_type_code => 'S'
24729 , p_component_type => l_component_type
24730 , p_component_code => l_component_code
24731 , p_component_type_code => l_component_type_code
24732 , p_component_appl_id => l_component_appl_id
24733 , p_amb_context_code => l_amb_context_code
24734 , p_side => 'NA'
24735 );
24736
24737
24738 --
24739 --
24740 END IF;
24741 --
24742 -- Bug 4922099
24743 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24744 (NVL(l_enc_upg_option, 'N') = 'O')
24745 ) AND
24746 (l_bflow_method_code = 'PRIOR_ENTRY')
24747 )
24748 THEN
24749 IF
24750 --
24751 1 = 2
24752 --
24753 THEN
24754 xla_accounting_err_pkg.build_message
24755 (p_appli_s_name => 'XLA'
24756 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24757 ,p_token_1 => 'LINE_NUMBER'
24758 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24759 ,p_token_2 => 'LINE_TYPE_NAME'
24760 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24761 l_component_type
24762 ,l_component_code
24763 ,l_component_type_code
24764 ,l_component_appl_id
24765 ,l_amb_context_code
24766 ,l_entity_code
24767 ,l_event_class_code
24768 )
24769 ,p_token_3 => 'OWNER'
24770 ,p_value_3 => xla_lookups_pkg.get_meaning(
24771 p_lookup_type => 'XLA_OWNER_TYPE'
24772 ,p_lookup_code => l_component_type_code
24773 )
24774 ,p_token_4 => 'PRODUCT_NAME'
24775 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24776 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24780 );
24777 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24778 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24779 ,p_ae_header_id => NULL
24781
24782 IF (C_LEVEL_ERROR>= g_log_level) THEN
24783 trace
24784 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24785 ,p_level => C_LEVEL_ERROR
24786 ,p_module => l_log_module);
24787 END IF;
24788 END IF;
24789 END IF;
24790 --
24791 --
24792 ------------------------------------------------------------------------------------------------
24793 -- 4219869 Business Flow
24794 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24795 -- Prior Entry. Currently, the following code is always generated.
24796 ------------------------------------------------------------------------------------------------
24797 XLA_AE_LINES_PKG.ValidateCurrentLine;
24798
24799 ------------------------------------------------------------------------------------
24800 -- 4219869 Business Flow
24801 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24802 ------------------------------------------------------------------------------------
24803 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24804
24805 ----------------------------------------------------------------------------------
24806 -- 4219869 Business Flow
24807 -- Update journal entry status -- Need to generate this within IF <condition>
24808 ----------------------------------------------------------------------------------
24809 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24810 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24811 ,p_balance_type_code => l_balance_type_code
24812 );
24813
24814 -------------------------------------------------------------------------------------------
24815 -- 4262811 - Generate the Accrual Reversal lines
24816 -------------------------------------------------------------------------------------------
24817 BEGIN
24818 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24819 (g_array_event(p_event_id).array_value_num('header_index'));
24820 IF l_acc_rev_flag IS NULL THEN
24821 l_acc_rev_flag := 'N';
24822 END IF;
24823 EXCEPTION
24824 WHEN OTHERS THEN
24825 l_acc_rev_flag := 'N';
24826 END;
24827 --
24828 IF (l_acc_rev_flag = 'Y') THEN
24829
24830 -- 4645092 ------------------------------------------------------------------------------
24831 -- To allow MPA report to determine if it should generate report process
24832 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24833 ------------------------------------------------------------------------------------------
24834
24835 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24836 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24837 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24838 -- call ADRs
24839 -- Bug 4922099
24840 --
24841 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24842 (NVL(l_actual_upg_option, 'N') = 'O') OR
24843 (NVL(l_enc_upg_option, 'N') = 'O')
24844 )
24845 THEN
24846 NULL;
24847 --
24848 --
24849
24850 l_ccid := AcctDerRule_35(
24851 p_application_id => p_application_id
24852 , p_ae_header_id => l_ae_header_id
24853 , p_source_35 => p_source_35
24854 , x_transaction_coa_id => l_adr_transaction_coa_id
24855 , x_accounting_coa_id => l_adr_accounting_coa_id
24856 , x_value_type_code => l_adr_value_type_code
24857 , p_side => 'NA'
24858 );
24859
24860 xla_ae_lines_pkg.set_ccid(
24861 p_code_combination_id => l_ccid
24862 , p_value_type_code => l_adr_value_type_code
24863 , p_transaction_coa_id => l_adr_transaction_coa_id
24864 , p_accounting_coa_id => l_adr_accounting_coa_id
24865 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24866 , p_adr_type_code => 'S'
24867 , p_component_type => l_component_type
24868 , p_component_code => l_component_code
24869 , p_component_type_code => l_component_type_code
24870 , p_component_appl_id => l_component_appl_id
24871 , p_amb_context_code => l_amb_context_code
24872 , p_side => 'NA'
24873 );
24874
24875
24876 --
24877 --
24878 END IF;
24879
24880 --
24881 -- Update the line information that should be overwritten
24882 --
24883 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24884 p_header_num => 1);
24885 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24886
24887 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24888
24889 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24893 --
24890 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24891 END IF;
24892
24894 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24895 --
24896 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24897 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24898 ELSE
24899 ---------------------------------------------------------------------------------------------------
24900 -- 4262811a Switch Sign
24901 ---------------------------------------------------------------------------------------------------
24902 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24903 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24904 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24905 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24906 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24907 -- 5132302
24908 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24909 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24910
24911 END IF;
24912
24913 -- 4955764
24914 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24915 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24916
24917
24918 XLA_AE_LINES_PKG.ValidateCurrentLine;
24919 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24920
24921 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24922 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24923 ,p_balance_type_code => l_balance_type_code);
24924
24925 END IF;
24926
24927 -----------------------------------------------------------------------------------------
24928 -- 4262811 Multiperiod Accounting
24929 -----------------------------------------------------------------------------------------
24930 -- No MPA option is assigned.
24931
24932
24933 END IF;
24934 END IF;
24935 --
24936
24937 --
24938 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24939 trace
24940 (p_msg => 'END of AcctLineType_68'
24941 ,p_level => C_LEVEL_PROCEDURE
24942 ,p_module => l_log_module);
24943 END IF;
24944 --
24945 EXCEPTION
24946 WHEN xla_exceptions_pkg.application_exception THEN
24947 RAISE;
24948 WHEN OTHERS THEN
24949 xla_exceptions_pkg.raise_message
24950 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_68');
24951 END AcctLineType_68;
24952 --
24953
24954 ---------------------------------------
24955 --
24956 -- PRIVATE FUNCTION
24957 -- AcctLineType_69
24958 --
24959 ---------------------------------------
24960 PROCEDURE AcctLineType_69 (
24961 p_application_id IN NUMBER
24962 ,p_event_id IN NUMBER
24963 ,p_calculate_acctd_flag IN VARCHAR2
24964 ,p_calculate_g_l_flag IN VARCHAR2
24965 ,p_actual_flag IN OUT VARCHAR2
24966 ,p_balance_type_code OUT VARCHAR2
24967 ,p_gain_or_loss_ref OUT VARCHAR2
24968
24969 --Payment Currency Code
24970 , p_source_13 IN VARCHAR2
24971 --Automatic Offsets Value
24972 , p_source_15 IN VARCHAR2
24973 , p_source_15_meaning IN VARCHAR2
24974 --Bank Cash Clearing Account
24975 , p_source_35 IN NUMBER
24976 --Accounting Reversal Indicator
24977 , p_source_52 IN VARCHAR2
24978 --Distribution Link Type
24979 , p_source_54 IN VARCHAR2
24980 --Override Accounted Amount Indicator
24981 , p_source_79 IN VARCHAR2
24982 , p_source_79_meaning IN VARCHAR2
24983 --Third Party Type
24984 , p_source_82 IN VARCHAR2
24985 --Invoice Distribution Tax Line Identifier
24986 , p_source_85 IN NUMBER
24987 --Invoice Distribution Tax Distribution Identifier from Tax
24988 , p_source_86 IN NUMBER
24989 --Invoice Distribution Summary Tax Line Identifier
24990 , p_source_87 IN NUMBER
24991 --Business Flow Accounts Payable Application Identifier
24992 , p_source_90 IN NUMBER
24993 --Business Flow Invoice Distribution Type
24994 , p_source_91 IN VARCHAR2
24995 --Business Flow Invoice Entity Code
24996 , p_source_92 IN VARCHAR2
24997 --Business Flow Invoice Distribution Identifier
24998 , p_source_93 IN NUMBER
24999 --Business Flow Invoice Identifier
25000 , p_source_94 IN NUMBER
25001 --When to Account for Payment Option
25002 , p_source_96 IN VARCHAR2
25003 --Payment Distribution Type
25004 , p_source_97 IN VARCHAR2
25005 , p_source_97_meaning IN VARCHAR2
25006 --Payment Distribution Amount
25007 , p_source_98 IN NUMBER
25008 --Payment Distribution Identifier
25009 , p_source_103 IN NUMBER
25010 --Payment Supplier Identifier
25011 , p_source_109 IN NUMBER
25015 , p_source_111 IN NUMBER
25012 --Payment Supplier Site Identifier
25013 , p_source_110 IN NUMBER
25014 --Payment Distribution Reversed Identifier
25016 --Payment Identifier
25017 , p_source_112 IN NUMBER
25018 --Pooled Bank Account Option
25019 , p_source_113 IN VARCHAR2
25020 , p_source_113_meaning IN VARCHAR2
25021 --Payment Maturity Date
25022 , p_source_114 IN DATE
25023 --Payment Distribution (Payment Rate) Ledger Amount
25024 , p_source_115 IN NUMBER
25025 --Payment Exchange Date
25026 , p_source_117 IN DATE
25027 --Payment Exchange Rate
25028 , p_source_118 IN NUMBER
25029 --Payment Exchange Rate Type
25030 , p_source_119 IN VARCHAR2
25031 --Payment Type
25032 , p_source_122 IN VARCHAR2
25033 , p_source_122_meaning IN VARCHAR2
25034 --Payment Processing Type
25035 , p_source_123 IN VARCHAR2
25036 --Invoice Distribution Amount of the Payment Distribution
25037 , p_source_124 IN NUMBER
25038 )
25039 IS
25040
25041 l_component_type VARCHAR2(80);
25042 l_component_code VARCHAR2(30);
25043 l_component_type_code VARCHAR2(1);
25044 l_component_appl_id INTEGER;
25045 l_amb_context_code VARCHAR2(30);
25046 l_entity_code VARCHAR2(30);
25047 l_event_class_code VARCHAR2(30);
25048 l_ae_header_id NUMBER;
25049 l_event_type_code VARCHAR2(30);
25050 l_line_definition_code VARCHAR2(30);
25051 l_line_definition_owner_code VARCHAR2(1);
25052 --
25053 -- adr variables
25054 l_segment VARCHAR2(30);
25055 l_ccid NUMBER;
25056 l_adr_transaction_coa_id NUMBER;
25057 l_adr_accounting_coa_id NUMBER;
25058 l_adr_flexfield_segment_code VARCHAR2(30);
25059 l_adr_flex_value_set_id NUMBER;
25060 l_adr_value_type_code VARCHAR2(30);
25061 l_adr_value_combination_id NUMBER;
25062 l_adr_value_segment_code VARCHAR2(30);
25063
25064 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25065 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25066 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25067 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25068
25069 -- 4262811 Variables ------------------------------------------------------------------------------------------
25070 l_entered_amt_idx NUMBER;
25071 l_accted_amt_idx NUMBER;
25072 l_acc_rev_flag VARCHAR2(1);
25073 l_accrual_line_num NUMBER;
25074 l_tmp_amt NUMBER;
25075 l_acc_rev_natural_side_code VARCHAR2(1);
25076
25077 l_num_entries NUMBER;
25078 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25079 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25080 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25081 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25082 l_recog_line_1 NUMBER;
25083 l_recog_line_2 NUMBER;
25084
25085 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25086 l_bflow_applied_to_amt NUMBER; -- 5132302
25087 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25088
25089 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25090
25091 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25092 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25093
25094 ---------------------------------------------------------------------------------------------------------------
25095
25096
25097 --
25098 -- bulk performance
25099 --
25100 l_balance_type_code VARCHAR2(1);
25101 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25102 l_log_module VARCHAR2(240);
25103
25104 --
25105 -- Upgrade strategy
25106 --
25107 l_actual_upg_option VARCHAR2(1);
25108 l_enc_upg_option VARCHAR2(1);
25109
25110 --
25111 BEGIN
25112 --
25113 IF g_log_enabled THEN
25114 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_69';
25115 END IF;
25116 --
25117 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25118
25119 trace
25120 (p_msg => 'BEGIN of AcctLineType_69'
25121 ,p_level => C_LEVEL_PROCEDURE
25122 ,p_module => l_log_module);
25123
25124 END IF;
25125 --
25126 l_component_type := 'AMB_JLT';
25127 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_AS';
25128 l_component_type_code := 'S';
25129 l_component_appl_id := 200;
25130 l_amb_context_code := 'DEFAULT';
25131 l_entity_code := 'AP_PAYMENTS';
25132 l_event_class_code := 'PAYMENTS';
25133 l_event_type_code := 'PAYMENTS_ALL';
25134 l_line_definition_owner_code := 'S';
25135 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
25136 --
25137 l_balance_type_code := 'A';
25138 l_segment := NULL;
25139 l_ccid := NULL;
25140 l_adr_transaction_coa_id := NULL;
25141 l_adr_accounting_coa_id := NULL;
25142 l_adr_flexfield_segment_code := NULL;
25143 l_adr_flex_value_set_id := NULL;
25147
25144 l_adr_value_type_code := NULL;
25145 l_adr_value_combination_id := NULL;
25146 l_adr_value_segment_code := NULL;
25148 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
25149 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25150 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25151 l_budgetary_control_flag := 'N';
25152
25153 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25154 l_bflow_applied_to_amt := NULL; -- 5132302
25155 l_entered_amt_idx := NULL; -- 4262811
25156 l_accted_amt_idx := NULL; -- 4262811
25157 l_acc_rev_flag := NULL; -- 4262811
25158 l_accrual_line_num := NULL; -- 4262811
25159 l_tmp_amt := NULL; -- 4262811
25160 --
25161
25162 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25163 l_balance_type_code <> 'B' THEN
25164 IF NVL(p_source_96,'
25165 ') = 'ALWAYS_ALWAYS' AND
25166 (NVL(p_source_113,'
25167 ') = 'Y' AND
25168 NVL(p_source_15,'
25169 ') = 'ACCOUNT_SEGMENT_VALUE') AND
25170 p_source_114 IS NULL AND
25171 NVL(p_source_97,'
25172 ') = 'CASH' AND
25173 NVL(p_source_122,'
25174 ') <> 'R' AND
25175 NVL(p_source_123,'
25176 ') <> 'PAYMENTCARD'
25177 THEN
25178
25179 --
25180 XLA_AE_LINES_PKG.SetNewLine;
25181
25182 p_balance_type_code := l_balance_type_code;
25183 -- set the flag so later we will know whether the gain loss line needs to be created
25184
25185 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25186 p_actual_flag :='A';
25187 END IF;
25188
25189 --
25190 -- bulk performance
25191 --
25192 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25193 p_header_num => 0); -- 4262811
25194 --
25195 -- set accounting line options
25196 --
25197 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25198 p_natural_side_code => 'C'
25199 , p_gain_or_loss_flag => 'N'
25200 , p_gl_transfer_mode_code => 'S'
25201 , p_acct_entry_type_code => 'A'
25202 , p_switch_side_flag => 'Y'
25203 , p_merge_duplicate_code => 'A'
25204 );
25205 --
25206 l_acc_rev_natural_side_code := 'D'; -- 4262811
25207 --
25208 --
25209 -- set accounting line type info
25210 --
25211 xla_ae_lines_pkg.SetAcctLineType
25212 (p_component_type => l_component_type
25213 ,p_event_type_code => l_event_type_code
25214 ,p_line_definition_owner_code => l_line_definition_owner_code
25215 ,p_line_definition_code => l_line_definition_code
25216 ,p_accounting_line_code => l_component_code
25217 ,p_accounting_line_type_code => l_component_type_code
25218 ,p_accounting_line_appl_id => l_component_appl_id
25219 ,p_amb_context_code => l_amb_context_code
25220 ,p_entity_code => l_entity_code
25221 ,p_event_class_code => l_event_class_code);
25222 --
25223 -- set accounting class
25224 --
25225 xla_ae_lines_pkg.SetAcctClass(
25226 p_accounting_class_code => 'CASH_CLEARING'
25227 , p_ae_header_id => l_ae_header_id
25228 );
25229
25230 --
25231 -- set rounding class
25232 --
25233 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25234 'CASH_CLEARING';
25235
25236 --
25237 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25238 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25239 --
25240 -- bulk performance
25241 --
25242 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25243
25244 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25245 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25246
25247 -- 4955764
25248 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25249 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25250
25251 -- 4458381 Public Sector Enh
25252
25253 --
25254 -- set accounting attributes for the line type
25255 --
25256 l_entered_amt_idx := 10;
25257 l_accted_amt_idx := 15;
25258 l_bflow_applied_to_amt_idx := 2; -- 5132302
25259 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25260 l_rec_acct_attrs.array_char_value(1) := p_source_52;
25261 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
25262 l_rec_acct_attrs.array_num_value(2) := p_source_124;
25263 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
25264 l_rec_acct_attrs.array_num_value(3) := p_source_90;
25265 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25266 l_rec_acct_attrs.array_char_value(4) := p_source_91;
25267 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
25268 l_rec_acct_attrs.array_char_value(5) := p_source_92;
25272 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
25269 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
25270 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
25271 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25273 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
25274 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
25275 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
25276 l_rec_acct_attrs.array_char_value(9) := p_source_54;
25277 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
25278 l_rec_acct_attrs.array_num_value(10) := p_source_98;
25279 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
25280 l_rec_acct_attrs.array_char_value(11) := p_source_13;
25281 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
25282 l_rec_acct_attrs.array_date_value(12) := p_source_117;
25283 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
25284 l_rec_acct_attrs.array_num_value(13) := p_source_118;
25285 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
25286 l_rec_acct_attrs.array_char_value(14) := p_source_119;
25287 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
25288 l_rec_acct_attrs.array_num_value(15) := p_source_115;
25289 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
25290 l_rec_acct_attrs.array_char_value(16) := p_source_79;
25291 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
25292 l_rec_acct_attrs.array_num_value(17) := p_source_109;
25293 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
25294 l_rec_acct_attrs.array_num_value(18) := p_source_110;
25295 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
25296 l_rec_acct_attrs.array_char_value(19) := p_source_82;
25297 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
25298 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
25299 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
25300 l_rec_acct_attrs.array_char_value(21) := p_source_54;
25301 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
25302 l_rec_acct_attrs.array_num_value(22) := p_source_85;
25303 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
25304 l_rec_acct_attrs.array_num_value(23) := p_source_86;
25305 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
25306 l_rec_acct_attrs.array_num_value(24) := p_source_87;
25307
25308 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25309 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25310
25311 ---------------------------------------------------------------------------------------------------------------
25312 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25313 ---------------------------------------------------------------------------------------------------------------
25314 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25315
25316 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25317 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25318
25319 IF xla_accounting_cache_pkg.GetValueChar
25320 (p_source_code => 'LEDGER_CATEGORY_CODE'
25321 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25322 AND l_bflow_method_code = 'PRIOR_ENTRY'
25323 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25324 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25325 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25326 )
25327 THEN
25328 xla_ae_lines_pkg.BflowUpgEntry
25329 (p_business_method_code => l_bflow_method_code
25330 ,p_business_class_code => l_bflow_class_code
25331 ,p_balance_type => l_balance_type_code);
25332 ELSE
25333 NULL;
25334 XLA_AE_LINES_PKG.business_flow_validation(
25335 p_business_method_code => l_bflow_method_code
25336 ,p_business_class_code => l_bflow_class_code
25337 ,p_inherit_description_flag => l_inherit_desc_flag);
25338 END IF;
25339
25340 --
25341 -- call analytical criteria
25342 --
25343
25344
25345 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
25346 xla_ae_lines_pkg.SetAnalyticalCriteria(
25347 p_analytical_criterion_name => 'Check Id'
25348 , p_analytical_criterion_owner => 'S'
25349 , p_analytical_criterion_code => 'CHECK_ID'
25350 , p_amb_context_code => 'DEFAULT'
25351 , p_balancing_flag => 'N'
25352
25353 , p_analytical_detail_char_1 => NULL
25354 , p_analytical_detail_num_1 => p_source_112
25355 , p_analytical_detail_date_1 => NULL
25356
25357 , p_ae_header_id => l_ae_header_id
25358 )
25359 ;
25360 --
25361
25362 --
25363 -- call description
25364 --
25365 -- No description or it is inherited.
25366 --
25367 -- call ADRs
25368 -- Bug 4922099
25369 --
25370 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25371 (NVL(l_actual_upg_option, 'N') = 'O') OR
25372 (NVL(l_enc_upg_option, 'N') = 'O')
25376 --
25373 )
25374 THEN
25375 NULL;
25377 --
25378
25379 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
25380 p_code_combination_id => TO_NUMBER(C_NUM)
25381 , p_value_type_code => NULL
25382 , p_transaction_coa_id => null
25383 , p_accounting_coa_id => null
25384 , p_adr_code => NULL
25385 , p_adr_type_code => NULL
25386 , p_component_type => l_component_type
25387 , p_component_code => l_component_code
25388 , p_component_type_code => l_component_type_code
25389 , p_component_appl_id => l_component_appl_id
25390 , p_amb_context_code => l_amb_context_code
25391 , p_side => NULL
25392 );
25393
25394
25395 -- initialise segments
25396 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25397 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25398 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25399 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25400 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25401 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25402 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25403 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25404 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25405 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25406 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25407 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25408 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25409 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25410 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25411 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25412 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25413 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25414 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25415 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25416 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25417 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25418 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25419 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25420 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25421 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25422 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25423 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25424 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25425 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25426 --
25427
25428 --
25429
25430
25431 l_segment := AcctDerRule_16(
25432 p_application_id => p_application_id
25433 , p_ae_header_id => l_ae_header_id
25434 , p_source_35 => p_source_35
25435 , x_transaction_coa_id => l_adr_transaction_coa_id
25436 , x_accounting_coa_id => l_adr_accounting_coa_id
25437 , x_flexfield_segment_code => l_adr_flexfield_segment_code
25438 , x_flex_value_set_id => l_adr_flex_value_set_id
25439 , x_value_type_code => l_adr_value_type_code
25440 , x_value_combination_id => l_adr_value_combination_id
25441 , x_value_segment_code => l_adr_value_segment_code
25442 , p_side => 'NA'
25443 , p_override_seg_flag => 'Y'
25444 );
25445
25446 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25447
25448 xla_ae_lines_pkg.set_segment(
25449 p_to_segment_code => 'GL_ACCOUNT'
25450 , p_segment_value => l_segment
25451 , p_from_segment_code => l_adr_value_segment_code
25452 , p_from_combination_id => l_adr_value_combination_id
25453 , p_value_type_code => l_adr_value_type_code
25454 , p_transaction_coa_id => l_adr_transaction_coa_id
25455 , p_accounting_coa_id => l_adr_accounting_coa_id
25456 , p_flexfield_segment_code => l_adr_flexfield_segment_code
25457 , p_flex_value_set_id => l_adr_flex_value_set_id
25458 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
25459 , p_adr_type_code => 'S'
25460 , p_component_type => l_component_type
25461 , p_component_code => l_component_code
25462 , p_component_type_code => l_component_type_code
25463 , p_component_appl_id => l_component_appl_id
25464 , p_amb_context_code => l_amb_context_code
25465 , p_entity_code => 'AP_PAYMENTS'
25469
25466 , p_event_class_code => 'PAYMENTS'
25467 , p_side => 'NA'
25468 );
25470 END IF;
25471
25472 --
25473 --
25474 END IF;
25475 --
25476 -- Bug 4922099
25477 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25478 (NVL(l_enc_upg_option, 'N') = 'O')
25479 ) AND
25480 (l_bflow_method_code = 'PRIOR_ENTRY')
25481 )
25482 THEN
25483 IF
25484 --
25485 1 = 2
25486 --
25487 THEN
25488 xla_accounting_err_pkg.build_message
25489 (p_appli_s_name => 'XLA'
25490 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25491 ,p_token_1 => 'LINE_NUMBER'
25492 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25493 ,p_token_2 => 'LINE_TYPE_NAME'
25494 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25495 l_component_type
25496 ,l_component_code
25497 ,l_component_type_code
25498 ,l_component_appl_id
25499 ,l_amb_context_code
25500 ,l_entity_code
25501 ,l_event_class_code
25502 )
25503 ,p_token_3 => 'OWNER'
25504 ,p_value_3 => xla_lookups_pkg.get_meaning(
25505 p_lookup_type => 'XLA_OWNER_TYPE'
25506 ,p_lookup_code => l_component_type_code
25507 )
25508 ,p_token_4 => 'PRODUCT_NAME'
25509 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25510 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25511 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25512 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25513 ,p_ae_header_id => NULL
25514 );
25515
25516 IF (C_LEVEL_ERROR>= g_log_level) THEN
25517 trace
25518 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25519 ,p_level => C_LEVEL_ERROR
25520 ,p_module => l_log_module);
25521 END IF;
25522 END IF;
25523 END IF;
25524 --
25525 --
25526 ------------------------------------------------------------------------------------------------
25527 -- 4219869 Business Flow
25528 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25529 -- Prior Entry. Currently, the following code is always generated.
25530 ------------------------------------------------------------------------------------------------
25531 XLA_AE_LINES_PKG.ValidateCurrentLine;
25532
25533 ------------------------------------------------------------------------------------
25534 -- 4219869 Business Flow
25535 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25536 ------------------------------------------------------------------------------------
25537 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25538
25539 ----------------------------------------------------------------------------------
25540 -- 4219869 Business Flow
25541 -- Update journal entry status -- Need to generate this within IF <condition>
25542 ----------------------------------------------------------------------------------
25543 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25544 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25545 ,p_balance_type_code => l_balance_type_code
25546 );
25547
25548 -------------------------------------------------------------------------------------------
25549 -- 4262811 - Generate the Accrual Reversal lines
25550 -------------------------------------------------------------------------------------------
25551 BEGIN
25552 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25553 (g_array_event(p_event_id).array_value_num('header_index'));
25554 IF l_acc_rev_flag IS NULL THEN
25555 l_acc_rev_flag := 'N';
25556 END IF;
25557 EXCEPTION
25558 WHEN OTHERS THEN
25559 l_acc_rev_flag := 'N';
25560 END;
25561 --
25562 IF (l_acc_rev_flag = 'Y') THEN
25563
25564 -- 4645092 ------------------------------------------------------------------------------
25568
25565 -- To allow MPA report to determine if it should generate report process
25566 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25567 ------------------------------------------------------------------------------------------
25569 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25570 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25571 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25572 -- call ADRs
25573 -- Bug 4922099
25574 --
25575 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25576 (NVL(l_actual_upg_option, 'N') = 'O') OR
25577 (NVL(l_enc_upg_option, 'N') = 'O')
25578 )
25579 THEN
25580 NULL;
25581 --
25582 --
25583
25584 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
25585 p_code_combination_id => TO_NUMBER(C_NUM)
25586 , p_value_type_code => NULL
25587 , p_transaction_coa_id => null
25588 , p_accounting_coa_id => null
25589 , p_adr_code => NULL
25590 , p_adr_type_code => NULL
25591 , p_component_type => l_component_type
25592 , p_component_code => l_component_code
25593 , p_component_type_code => l_component_type_code
25594 , p_component_appl_id => l_component_appl_id
25595 , p_amb_context_code => l_amb_context_code
25596 , p_side => NULL
25597 );
25598
25599
25600 -- initialise segments
25601 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25602 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25603 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25604 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25605 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25606 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25607 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25608 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25609 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25610 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25611 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25612 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25613 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25614 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25615 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25616 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25617 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25618 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25619 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25620 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25621 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25622 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25623 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25624 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25625 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25626 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25627 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25628 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25629 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25630 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25631 --
25632
25633 --
25634
25635
25636 l_segment := AcctDerRule_16(
25637 p_application_id => p_application_id
25638 , p_ae_header_id => l_ae_header_id
25639 , p_source_35 => p_source_35
25640 , x_transaction_coa_id => l_adr_transaction_coa_id
25641 , x_accounting_coa_id => l_adr_accounting_coa_id
25642 , x_flexfield_segment_code => l_adr_flexfield_segment_code
25643 , x_flex_value_set_id => l_adr_flex_value_set_id
25644 , x_value_type_code => l_adr_value_type_code
25645 , x_value_combination_id => l_adr_value_combination_id
25646 , x_value_segment_code => l_adr_value_segment_code
25647 , p_side => 'NA'
25648 , p_override_seg_flag => 'Y'
25649 );
25650
25651 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25652
25653 xla_ae_lines_pkg.set_segment(
25654 p_to_segment_code => 'GL_ACCOUNT'
25655 , p_segment_value => l_segment
25656 , p_from_segment_code => l_adr_value_segment_code
25657 , p_from_combination_id => l_adr_value_combination_id
25658 , p_value_type_code => l_adr_value_type_code
25662 , p_flex_value_set_id => l_adr_flex_value_set_id
25659 , p_transaction_coa_id => l_adr_transaction_coa_id
25660 , p_accounting_coa_id => l_adr_accounting_coa_id
25661 , p_flexfield_segment_code => l_adr_flexfield_segment_code
25663 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
25664 , p_adr_type_code => 'S'
25665 , p_component_type => l_component_type
25666 , p_component_code => l_component_code
25667 , p_component_type_code => l_component_type_code
25668 , p_component_appl_id => l_component_appl_id
25669 , p_amb_context_code => l_amb_context_code
25670 , p_entity_code => 'AP_PAYMENTS'
25671 , p_event_class_code => 'PAYMENTS'
25672 , p_side => 'NA'
25673 );
25674
25675 END IF;
25676
25677 --
25678 --
25679 END IF;
25680
25681 --
25682 -- Update the line information that should be overwritten
25683 --
25684 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25685 p_header_num => 1);
25686 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25687
25688 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25689
25690 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25691 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25692 END IF;
25693
25694 --
25695 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25696 --
25697 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25698 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25699 ELSE
25700 ---------------------------------------------------------------------------------------------------
25701 -- 4262811a Switch Sign
25702 ---------------------------------------------------------------------------------------------------
25703 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25704 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25705 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25706 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25707 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25708 -- 5132302
25709 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25710 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25711
25712 END IF;
25713
25714 -- 4955764
25715 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25716 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25717
25718
25719 XLA_AE_LINES_PKG.ValidateCurrentLine;
25720 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25721
25722 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25723 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25724 ,p_balance_type_code => l_balance_type_code);
25725
25726 END IF;
25727
25728 -----------------------------------------------------------------------------------------
25729 -- 4262811 Multiperiod Accounting
25730 -----------------------------------------------------------------------------------------
25731 -- No MPA option is assigned.
25732
25733
25734 END IF;
25735 END IF;
25736 --
25737
25738 --
25739 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25740 trace
25741 (p_msg => 'END of AcctLineType_69'
25742 ,p_level => C_LEVEL_PROCEDURE
25743 ,p_module => l_log_module);
25744 END IF;
25745 --
25746 EXCEPTION
25747 WHEN xla_exceptions_pkg.application_exception THEN
25748 RAISE;
25749 WHEN OTHERS THEN
25750 xla_exceptions_pkg.raise_message
25751 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_69');
25752 END AcctLineType_69;
25753 --
25754
25755 ---------------------------------------
25756 --
25757 -- PRIVATE FUNCTION
25758 -- AcctLineType_70
25759 --
25760 ---------------------------------------
25761 PROCEDURE AcctLineType_70 (
25762 p_application_id IN NUMBER
25763 ,p_event_id IN NUMBER
25764 ,p_calculate_acctd_flag IN VARCHAR2
25765 ,p_calculate_g_l_flag IN VARCHAR2
25766 ,p_actual_flag IN OUT VARCHAR2
25767 ,p_balance_type_code OUT VARCHAR2
25768 ,p_gain_or_loss_ref OUT VARCHAR2
25769
25770 --Payment Currency Code
25771 , p_source_13 IN VARCHAR2
25772 --Automatic Offsets Value
25773 , p_source_15 IN VARCHAR2
25774 , p_source_15_meaning IN VARCHAR2
25775 --Bank Cash Clearing Account
25776 , p_source_35 IN NUMBER
25777 --Accounting Reversal Indicator
25778 , p_source_52 IN VARCHAR2
25779 --Distribution Link Type
25780 , p_source_54 IN VARCHAR2
25784 --Third Party Type
25781 --Override Accounted Amount Indicator
25782 , p_source_79 IN VARCHAR2
25783 , p_source_79_meaning IN VARCHAR2
25785 , p_source_82 IN VARCHAR2
25786 --Invoice Distribution Tax Line Identifier
25787 , p_source_85 IN NUMBER
25788 --Invoice Distribution Tax Distribution Identifier from Tax
25789 , p_source_86 IN NUMBER
25790 --Invoice Distribution Summary Tax Line Identifier
25791 , p_source_87 IN NUMBER
25792 --Business Flow Accounts Payable Application Identifier
25793 , p_source_90 IN NUMBER
25794 --Business Flow Invoice Distribution Type
25795 , p_source_91 IN VARCHAR2
25796 --Business Flow Invoice Entity Code
25797 , p_source_92 IN VARCHAR2
25798 --Business Flow Invoice Distribution Identifier
25799 , p_source_93 IN NUMBER
25800 --Business Flow Invoice Identifier
25801 , p_source_94 IN NUMBER
25802 --When to Account for Payment Option
25803 , p_source_96 IN VARCHAR2
25804 --Payment Distribution Type
25805 , p_source_97 IN VARCHAR2
25806 , p_source_97_meaning IN VARCHAR2
25807 --Payment Distribution Amount
25808 , p_source_98 IN NUMBER
25809 --Payment Distribution Identifier
25810 , p_source_103 IN NUMBER
25811 --Payment Supplier Identifier
25812 , p_source_109 IN NUMBER
25813 --Payment Supplier Site Identifier
25814 , p_source_110 IN NUMBER
25815 --Payment Distribution Reversed Identifier
25816 , p_source_111 IN NUMBER
25817 --Payment Identifier
25818 , p_source_112 IN NUMBER
25819 --Pooled Bank Account Option
25820 , p_source_113 IN VARCHAR2
25821 , p_source_113_meaning IN VARCHAR2
25822 --Payment Maturity Date
25823 , p_source_114 IN DATE
25824 --Payment Distribution (Payment Rate) Ledger Amount
25825 , p_source_115 IN NUMBER
25826 --Payment Exchange Date
25827 , p_source_117 IN DATE
25828 --Payment Exchange Rate
25829 , p_source_118 IN NUMBER
25830 --Payment Exchange Rate Type
25831 , p_source_119 IN VARCHAR2
25832 --Payment Type
25833 , p_source_122 IN VARCHAR2
25834 , p_source_122_meaning IN VARCHAR2
25835 --Payment Processing Type
25836 , p_source_123 IN VARCHAR2
25837 --Invoice Distribution Amount of the Payment Distribution
25838 , p_source_124 IN NUMBER
25839 )
25840 IS
25841
25842 l_component_type VARCHAR2(80);
25843 l_component_code VARCHAR2(30);
25844 l_component_type_code VARCHAR2(1);
25845 l_component_appl_id INTEGER;
25846 l_amb_context_code VARCHAR2(30);
25847 l_entity_code VARCHAR2(30);
25848 l_event_class_code VARCHAR2(30);
25849 l_ae_header_id NUMBER;
25850 l_event_type_code VARCHAR2(30);
25851 l_line_definition_code VARCHAR2(30);
25852 l_line_definition_owner_code VARCHAR2(1);
25853 --
25854 -- adr variables
25855 l_segment VARCHAR2(30);
25856 l_ccid NUMBER;
25857 l_adr_transaction_coa_id NUMBER;
25858 l_adr_accounting_coa_id NUMBER;
25859 l_adr_flexfield_segment_code VARCHAR2(30);
25860 l_adr_flex_value_set_id NUMBER;
25861 l_adr_value_type_code VARCHAR2(30);
25862 l_adr_value_combination_id NUMBER;
25863 l_adr_value_segment_code VARCHAR2(30);
25864
25865 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25866 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25867 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25868 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25869
25870 -- 4262811 Variables ------------------------------------------------------------------------------------------
25871 l_entered_amt_idx NUMBER;
25872 l_accted_amt_idx NUMBER;
25873 l_acc_rev_flag VARCHAR2(1);
25874 l_accrual_line_num NUMBER;
25875 l_tmp_amt NUMBER;
25876 l_acc_rev_natural_side_code VARCHAR2(1);
25877
25878 l_num_entries NUMBER;
25879 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25880 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25881 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25882 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25883 l_recog_line_1 NUMBER;
25884 l_recog_line_2 NUMBER;
25885
25886 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25887 l_bflow_applied_to_amt NUMBER; -- 5132302
25888 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25889
25890 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25891
25892 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25893 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25894
25895 ---------------------------------------------------------------------------------------------------------------
25896
25897
25898 --
25899 -- bulk performance
25900 --
25901 l_balance_type_code VARCHAR2(1);
25902 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25903 l_log_module VARCHAR2(240);
25904
25908 l_actual_upg_option VARCHAR2(1);
25905 --
25906 -- Upgrade strategy
25907 --
25909 l_enc_upg_option VARCHAR2(1);
25910
25911 --
25912 BEGIN
25913 --
25914 IF g_log_enabled THEN
25915 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_70';
25916 END IF;
25917 --
25918 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25919
25920 trace
25921 (p_msg => 'BEGIN of AcctLineType_70'
25922 ,p_level => C_LEVEL_PROCEDURE
25923 ,p_module => l_log_module);
25924
25925 END IF;
25926 --
25927 l_component_type := 'AMB_JLT';
25928 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_BS';
25929 l_component_type_code := 'S';
25930 l_component_appl_id := 200;
25931 l_amb_context_code := 'DEFAULT';
25932 l_entity_code := 'AP_PAYMENTS';
25933 l_event_class_code := 'PAYMENTS';
25934 l_event_type_code := 'PAYMENTS_ALL';
25935 l_line_definition_owner_code := 'S';
25936 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
25937 --
25938 l_balance_type_code := 'A';
25939 l_segment := NULL;
25940 l_ccid := NULL;
25941 l_adr_transaction_coa_id := NULL;
25942 l_adr_accounting_coa_id := NULL;
25943 l_adr_flexfield_segment_code := NULL;
25944 l_adr_flex_value_set_id := NULL;
25945 l_adr_value_type_code := NULL;
25946 l_adr_value_combination_id := NULL;
25947 l_adr_value_segment_code := NULL;
25948
25949 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
25950 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25951 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25952 l_budgetary_control_flag := 'N';
25953
25954 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25955 l_bflow_applied_to_amt := NULL; -- 5132302
25956 l_entered_amt_idx := NULL; -- 4262811
25957 l_accted_amt_idx := NULL; -- 4262811
25958 l_acc_rev_flag := NULL; -- 4262811
25959 l_accrual_line_num := NULL; -- 4262811
25960 l_tmp_amt := NULL; -- 4262811
25961 --
25962
25963 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25964 l_balance_type_code <> 'B' THEN
25965 IF NVL(p_source_96,'
25966 ') = 'ALWAYS_ALWAYS' AND
25967 (NVL(p_source_113,'
25968 ') = 'Y' AND
25969 NVL(p_source_15,'
25970 ') = 'BALANCING_SEGMENT') AND
25971 p_source_114 IS NULL AND
25972 NVL(p_source_97,'
25973 ') = 'CASH' AND
25974 NVL(p_source_122,'
25975 ') <> 'R' AND
25976 NVL(p_source_123,'
25977 ') <> 'PAYMENTCARD'
25978 THEN
25979
25980 --
25981 XLA_AE_LINES_PKG.SetNewLine;
25982
25983 p_balance_type_code := l_balance_type_code;
25984 -- set the flag so later we will know whether the gain loss line needs to be created
25985
25986 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25987 p_actual_flag :='A';
25988 END IF;
25989
25990 --
25991 -- bulk performance
25992 --
25993 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25994 p_header_num => 0); -- 4262811
25995 --
25996 -- set accounting line options
25997 --
25998 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25999 p_natural_side_code => 'C'
26000 , p_gain_or_loss_flag => 'N'
26001 , p_gl_transfer_mode_code => 'S'
26002 , p_acct_entry_type_code => 'A'
26003 , p_switch_side_flag => 'Y'
26004 , p_merge_duplicate_code => 'A'
26005 );
26006 --
26007 l_acc_rev_natural_side_code := 'D'; -- 4262811
26008 --
26009 --
26010 -- set accounting line type info
26011 --
26012 xla_ae_lines_pkg.SetAcctLineType
26013 (p_component_type => l_component_type
26014 ,p_event_type_code => l_event_type_code
26015 ,p_line_definition_owner_code => l_line_definition_owner_code
26016 ,p_line_definition_code => l_line_definition_code
26017 ,p_accounting_line_code => l_component_code
26018 ,p_accounting_line_type_code => l_component_type_code
26019 ,p_accounting_line_appl_id => l_component_appl_id
26020 ,p_amb_context_code => l_amb_context_code
26021 ,p_entity_code => l_entity_code
26022 ,p_event_class_code => l_event_class_code);
26023 --
26024 -- set accounting class
26025 --
26026 xla_ae_lines_pkg.SetAcctClass(
26027 p_accounting_class_code => 'CASH_CLEARING'
26028 , p_ae_header_id => l_ae_header_id
26029 );
26030
26031 --
26032 -- set rounding class
26033 --
26034 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26035 'CASH_CLEARING';
26036
26037 --
26038 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26039 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26040 --
26041 -- bulk performance
26042 --
26046 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26043 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26044
26045 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26047
26048 -- 4955764
26049 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26050 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26051
26052 -- 4458381 Public Sector Enh
26053
26054 --
26055 -- set accounting attributes for the line type
26056 --
26057 l_entered_amt_idx := 10;
26058 l_accted_amt_idx := 15;
26059 l_bflow_applied_to_amt_idx := 2; -- 5132302
26060 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26061 l_rec_acct_attrs.array_char_value(1) := p_source_52;
26062 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26063 l_rec_acct_attrs.array_num_value(2) := p_source_124;
26064 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26065 l_rec_acct_attrs.array_num_value(3) := p_source_90;
26066 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26067 l_rec_acct_attrs.array_char_value(4) := p_source_91;
26068 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26069 l_rec_acct_attrs.array_char_value(5) := p_source_92;
26070 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26071 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
26072 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26073 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
26074 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26075 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
26076 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26077 l_rec_acct_attrs.array_char_value(9) := p_source_54;
26078 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26079 l_rec_acct_attrs.array_num_value(10) := p_source_98;
26080 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26081 l_rec_acct_attrs.array_char_value(11) := p_source_13;
26082 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26083 l_rec_acct_attrs.array_date_value(12) := p_source_117;
26084 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26085 l_rec_acct_attrs.array_num_value(13) := p_source_118;
26086 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26087 l_rec_acct_attrs.array_char_value(14) := p_source_119;
26088 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26089 l_rec_acct_attrs.array_num_value(15) := p_source_115;
26090 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26091 l_rec_acct_attrs.array_char_value(16) := p_source_79;
26092 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26093 l_rec_acct_attrs.array_num_value(17) := p_source_109;
26094 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26095 l_rec_acct_attrs.array_num_value(18) := p_source_110;
26096 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26097 l_rec_acct_attrs.array_char_value(19) := p_source_82;
26098 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26099 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
26100 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26101 l_rec_acct_attrs.array_char_value(21) := p_source_54;
26102 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26103 l_rec_acct_attrs.array_num_value(22) := p_source_85;
26104 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26105 l_rec_acct_attrs.array_num_value(23) := p_source_86;
26106 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26107 l_rec_acct_attrs.array_num_value(24) := p_source_87;
26108
26109 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26110 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26111
26112 ---------------------------------------------------------------------------------------------------------------
26113 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26114 ---------------------------------------------------------------------------------------------------------------
26115 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26116
26117 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26118 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26119
26120 IF xla_accounting_cache_pkg.GetValueChar
26121 (p_source_code => 'LEDGER_CATEGORY_CODE'
26122 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26123 AND l_bflow_method_code = 'PRIOR_ENTRY'
26124 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26125 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26126 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26127 )
26128 THEN
26129 xla_ae_lines_pkg.BflowUpgEntry
26130 (p_business_method_code => l_bflow_method_code
26131 ,p_business_class_code => l_bflow_class_code
26132 ,p_balance_type => l_balance_type_code);
26133 ELSE
26134 NULL;
26138 ,p_inherit_description_flag => l_inherit_desc_flag);
26135 XLA_AE_LINES_PKG.business_flow_validation(
26136 p_business_method_code => l_bflow_method_code
26137 ,p_business_class_code => l_bflow_class_code
26139 END IF;
26140
26141 --
26142 -- call analytical criteria
26143 --
26144
26145
26146 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
26147 xla_ae_lines_pkg.SetAnalyticalCriteria(
26148 p_analytical_criterion_name => 'Check Id'
26149 , p_analytical_criterion_owner => 'S'
26150 , p_analytical_criterion_code => 'CHECK_ID'
26151 , p_amb_context_code => 'DEFAULT'
26152 , p_balancing_flag => 'N'
26153
26154 , p_analytical_detail_char_1 => NULL
26155 , p_analytical_detail_num_1 => p_source_112
26156 , p_analytical_detail_date_1 => NULL
26157
26158 , p_ae_header_id => l_ae_header_id
26159 )
26160 ;
26161 --
26162
26163 --
26164 -- call description
26165 --
26166 -- No description or it is inherited.
26167 --
26168 -- call ADRs
26169 -- Bug 4922099
26170 --
26171 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26172 (NVL(l_actual_upg_option, 'N') = 'O') OR
26173 (NVL(l_enc_upg_option, 'N') = 'O')
26174 )
26175 THEN
26176 NULL;
26177 --
26178 --
26179
26180 l_ccid := AcctDerRule_35(
26181 p_application_id => p_application_id
26182 , p_ae_header_id => l_ae_header_id
26183 , p_source_35 => p_source_35
26184 , x_transaction_coa_id => l_adr_transaction_coa_id
26185 , x_accounting_coa_id => l_adr_accounting_coa_id
26186 , x_value_type_code => l_adr_value_type_code
26187 , p_side => 'NA'
26188 );
26189
26190 xla_ae_lines_pkg.set_ccid(
26191 p_code_combination_id => l_ccid
26192 , p_value_type_code => l_adr_value_type_code
26193 , p_transaction_coa_id => l_adr_transaction_coa_id
26194 , p_accounting_coa_id => l_adr_accounting_coa_id
26195 , p_adr_code => 'AP_PMT_CASH_CLEAR'
26196 , p_adr_type_code => 'S'
26197 , p_component_type => l_component_type
26198 , p_component_code => l_component_code
26199 , p_component_type_code => l_component_type_code
26200 , p_component_appl_id => l_component_appl_id
26201 , p_amb_context_code => l_amb_context_code
26202 , p_side => 'NA'
26203 );
26204
26205
26206 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
26207 p_to_segment_code => 'GL_BALANCING'
26208 , p_segment_value => C_CHAR
26209 , p_from_segment_code => NULL
26210 , p_from_combination_id => NULL
26211 , p_value_type_code => NULL
26212 , p_transaction_coa_id => null
26213 , p_accounting_coa_id => null
26214 , p_flexfield_segment_code => NULL
26215 , p_flex_value_set_id => NULL
26216 , p_adr_code => NULL
26217 , p_adr_type_code => NULL
26218 , p_component_type => l_component_type
26219 , p_component_code => l_component_code
26220 , p_component_type_code => l_component_type_code
26221 , p_component_appl_id => l_component_appl_id
26222 , p_amb_context_code => l_amb_context_code
26223 , p_entity_code => 'AP_PAYMENTS'
26224 , p_event_class_code => 'PAYMENTS'
26225 , p_side => 'NA'
26226 );
26227 --
26228
26229
26230 --
26231 --
26232 END IF;
26233 --
26234 -- Bug 4922099
26235 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26236 (NVL(l_enc_upg_option, 'N') = 'O')
26237 ) AND
26238 (l_bflow_method_code = 'PRIOR_ENTRY')
26239 )
26240 THEN
26241 IF
26242 --
26243 1 = 2
26244 --
26245 THEN
26246 xla_accounting_err_pkg.build_message
26247 (p_appli_s_name => 'XLA'
26248 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26249 ,p_token_1 => 'LINE_NUMBER'
26250 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26251 ,p_token_2 => 'LINE_TYPE_NAME'
26252 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26253 l_component_type
26254 ,l_component_code
26255 ,l_component_type_code
26256 ,l_component_appl_id
26257 ,l_amb_context_code
26258 ,l_entity_code
26262 ,p_value_3 => xla_lookups_pkg.get_meaning(
26259 ,l_event_class_code
26260 )
26261 ,p_token_3 => 'OWNER'
26263 p_lookup_type => 'XLA_OWNER_TYPE'
26264 ,p_lookup_code => l_component_type_code
26265 )
26266 ,p_token_4 => 'PRODUCT_NAME'
26267 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26268 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26269 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26270 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26271 ,p_ae_header_id => NULL
26272 );
26273
26274 IF (C_LEVEL_ERROR>= g_log_level) THEN
26275 trace
26276 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26277 ,p_level => C_LEVEL_ERROR
26278 ,p_module => l_log_module);
26279 END IF;
26280 END IF;
26281 END IF;
26282 --
26283 --
26284 ------------------------------------------------------------------------------------------------
26285 -- 4219869 Business Flow
26286 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26287 -- Prior Entry. Currently, the following code is always generated.
26288 ------------------------------------------------------------------------------------------------
26289 XLA_AE_LINES_PKG.ValidateCurrentLine;
26290
26291 ------------------------------------------------------------------------------------
26292 -- 4219869 Business Flow
26293 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26294 ------------------------------------------------------------------------------------
26295 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26296
26297 ----------------------------------------------------------------------------------
26298 -- 4219869 Business Flow
26299 -- Update journal entry status -- Need to generate this within IF <condition>
26300 ----------------------------------------------------------------------------------
26301 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26302 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26303 ,p_balance_type_code => l_balance_type_code
26304 );
26305
26306 -------------------------------------------------------------------------------------------
26307 -- 4262811 - Generate the Accrual Reversal lines
26308 -------------------------------------------------------------------------------------------
26309 BEGIN
26310 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26311 (g_array_event(p_event_id).array_value_num('header_index'));
26312 IF l_acc_rev_flag IS NULL THEN
26313 l_acc_rev_flag := 'N';
26314 END IF;
26315 EXCEPTION
26316 WHEN OTHERS THEN
26317 l_acc_rev_flag := 'N';
26318 END;
26319 --
26320 IF (l_acc_rev_flag = 'Y') THEN
26321
26322 -- 4645092 ------------------------------------------------------------------------------
26323 -- To allow MPA report to determine if it should generate report process
26324 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26325 ------------------------------------------------------------------------------------------
26326
26327 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26328 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26329 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26330 -- call ADRs
26331 -- Bug 4922099
26332 --
26333 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26334 (NVL(l_actual_upg_option, 'N') = 'O') OR
26335 (NVL(l_enc_upg_option, 'N') = 'O')
26336 )
26337 THEN
26338 NULL;
26339 --
26340 --
26341
26342 l_ccid := AcctDerRule_35(
26343 p_application_id => p_application_id
26344 , p_ae_header_id => l_ae_header_id
26345 , p_source_35 => p_source_35
26346 , x_transaction_coa_id => l_adr_transaction_coa_id
26347 , x_accounting_coa_id => l_adr_accounting_coa_id
26348 , x_value_type_code => l_adr_value_type_code
26349 , p_side => 'NA'
26350 );
26351
26352 xla_ae_lines_pkg.set_ccid(
26353 p_code_combination_id => l_ccid
26354 , p_value_type_code => l_adr_value_type_code
26355 , p_transaction_coa_id => l_adr_transaction_coa_id
26356 , p_accounting_coa_id => l_adr_accounting_coa_id
26357 , p_adr_code => 'AP_PMT_CASH_CLEAR'
26358 , p_adr_type_code => 'S'
26362 , p_component_appl_id => l_component_appl_id
26359 , p_component_type => l_component_type
26360 , p_component_code => l_component_code
26361 , p_component_type_code => l_component_type_code
26363 , p_amb_context_code => l_amb_context_code
26364 , p_side => 'NA'
26365 );
26366
26367
26368 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
26369 p_to_segment_code => 'GL_BALANCING'
26370 , p_segment_value => C_CHAR
26371 , p_from_segment_code => NULL
26372 , p_from_combination_id => NULL
26373 , p_value_type_code => NULL
26374 , p_transaction_coa_id => null
26375 , p_accounting_coa_id => null
26376 , p_flexfield_segment_code => NULL
26377 , p_flex_value_set_id => NULL
26378 , p_adr_code => NULL
26379 , p_adr_type_code => NULL
26380 , p_component_type => l_component_type
26381 , p_component_code => l_component_code
26382 , p_component_type_code => l_component_type_code
26383 , p_component_appl_id => l_component_appl_id
26384 , p_amb_context_code => l_amb_context_code
26385 , p_entity_code => 'AP_PAYMENTS'
26386 , p_event_class_code => 'PAYMENTS'
26387 , p_side => 'NA'
26388 );
26389 --
26390
26391
26392 --
26393 --
26394 END IF;
26395
26396 --
26397 -- Update the line information that should be overwritten
26398 --
26399 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26400 p_header_num => 1);
26401 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26402
26403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26404
26405 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26406 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26407 END IF;
26408
26409 --
26410 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26411 --
26412 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26413 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26414 ELSE
26415 ---------------------------------------------------------------------------------------------------
26416 -- 4262811a Switch Sign
26417 ---------------------------------------------------------------------------------------------------
26418 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26419 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26420 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26421 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26422 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26423 -- 5132302
26424 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26425 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26426
26427 END IF;
26428
26429 -- 4955764
26430 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26431 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26432
26433
26434 XLA_AE_LINES_PKG.ValidateCurrentLine;
26435 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26436
26437 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26438 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26439 ,p_balance_type_code => l_balance_type_code);
26440
26441 END IF;
26442
26443 -----------------------------------------------------------------------------------------
26444 -- 4262811 Multiperiod Accounting
26445 -----------------------------------------------------------------------------------------
26446 -- No MPA option is assigned.
26447
26448
26449 END IF;
26450 END IF;
26451 --
26452
26453 --
26454 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26455 trace
26456 (p_msg => 'END of AcctLineType_70'
26457 ,p_level => C_LEVEL_PROCEDURE
26458 ,p_module => l_log_module);
26459 END IF;
26460 --
26461 EXCEPTION
26462 WHEN xla_exceptions_pkg.application_exception THEN
26463 RAISE;
26464 WHEN OTHERS THEN
26465 xla_exceptions_pkg.raise_message
26466 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_70');
26467 END AcctLineType_70;
26468 --
26469
26470 ---------------------------------------
26471 --
26472 -- PRIVATE FUNCTION
26473 -- AcctLineType_71
26474 --
26475 ---------------------------------------
26476 PROCEDURE AcctLineType_71 (
26477 p_application_id IN NUMBER
26478 ,p_event_id IN NUMBER
26479 ,p_calculate_acctd_flag IN VARCHAR2
26480 ,p_calculate_g_l_flag IN VARCHAR2
26481 ,p_actual_flag IN OUT VARCHAR2
26485 --Payment Currency Code
26482 ,p_balance_type_code OUT VARCHAR2
26483 ,p_gain_or_loss_ref OUT VARCHAR2
26484
26486 , p_source_13 IN VARCHAR2
26487 --Automatic Offsets Value
26488 , p_source_15 IN VARCHAR2
26489 , p_source_15_meaning IN VARCHAR2
26490 --Bank Cash Clearing Account
26491 , p_source_35 IN NUMBER
26492 --Accounting Reversal Indicator
26493 , p_source_52 IN VARCHAR2
26494 --Distribution Link Type
26495 , p_source_54 IN VARCHAR2
26496 --Override Accounted Amount Indicator
26497 , p_source_79 IN VARCHAR2
26498 , p_source_79_meaning IN VARCHAR2
26499 --Third Party Type
26500 , p_source_82 IN VARCHAR2
26501 --Invoice Distribution Tax Line Identifier
26502 , p_source_85 IN NUMBER
26503 --Invoice Distribution Tax Distribution Identifier from Tax
26504 , p_source_86 IN NUMBER
26505 --Invoice Distribution Summary Tax Line Identifier
26506 , p_source_87 IN NUMBER
26507 --Business Flow Accounts Payable Application Identifier
26508 , p_source_90 IN NUMBER
26509 --Business Flow Invoice Distribution Type
26510 , p_source_91 IN VARCHAR2
26511 --Business Flow Invoice Entity Code
26512 , p_source_92 IN VARCHAR2
26513 --Business Flow Invoice Distribution Identifier
26514 , p_source_93 IN NUMBER
26515 --Business Flow Invoice Identifier
26516 , p_source_94 IN NUMBER
26517 --When to Account for Payment Option
26518 , p_source_96 IN VARCHAR2
26519 --Payment Distribution Type
26520 , p_source_97 IN VARCHAR2
26521 , p_source_97_meaning IN VARCHAR2
26522 --Payment Distribution Amount
26523 , p_source_98 IN NUMBER
26524 --Payment Distribution Identifier
26525 , p_source_103 IN NUMBER
26526 --Payment Supplier Identifier
26527 , p_source_109 IN NUMBER
26528 --Payment Supplier Site Identifier
26529 , p_source_110 IN NUMBER
26530 --Payment Distribution Reversed Identifier
26531 , p_source_111 IN NUMBER
26532 --Payment Identifier
26533 , p_source_112 IN NUMBER
26534 --Pooled Bank Account Option
26535 , p_source_113 IN VARCHAR2
26536 , p_source_113_meaning IN VARCHAR2
26537 --Payment Maturity Date
26538 , p_source_114 IN DATE
26539 --Payment Distribution (Invoice Rate) Ledger Amount
26540 , p_source_116 IN NUMBER
26541 --Payment Exchange Date
26542 , p_source_117 IN DATE
26543 --Payment Exchange Rate
26544 , p_source_118 IN NUMBER
26545 --Payment Exchange Rate Type
26546 , p_source_119 IN VARCHAR2
26547 --Payment Type
26548 , p_source_122 IN VARCHAR2
26549 , p_source_122_meaning IN VARCHAR2
26550 --Payment Processing Type
26551 , p_source_123 IN VARCHAR2
26552 --Invoice Distribution Amount of the Payment Distribution
26553 , p_source_124 IN NUMBER
26554 )
26555 IS
26556
26557 l_component_type VARCHAR2(80);
26558 l_component_code VARCHAR2(30);
26559 l_component_type_code VARCHAR2(1);
26560 l_component_appl_id INTEGER;
26561 l_amb_context_code VARCHAR2(30);
26562 l_entity_code VARCHAR2(30);
26563 l_event_class_code VARCHAR2(30);
26564 l_ae_header_id NUMBER;
26565 l_event_type_code VARCHAR2(30);
26566 l_line_definition_code VARCHAR2(30);
26567 l_line_definition_owner_code VARCHAR2(1);
26568 --
26569 -- adr variables
26570 l_segment VARCHAR2(30);
26571 l_ccid NUMBER;
26572 l_adr_transaction_coa_id NUMBER;
26573 l_adr_accounting_coa_id NUMBER;
26574 l_adr_flexfield_segment_code VARCHAR2(30);
26575 l_adr_flex_value_set_id NUMBER;
26576 l_adr_value_type_code VARCHAR2(30);
26577 l_adr_value_combination_id NUMBER;
26578 l_adr_value_segment_code VARCHAR2(30);
26579
26580 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26581 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26582 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26583 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26584
26585 -- 4262811 Variables ------------------------------------------------------------------------------------------
26586 l_entered_amt_idx NUMBER;
26587 l_accted_amt_idx NUMBER;
26588 l_acc_rev_flag VARCHAR2(1);
26589 l_accrual_line_num NUMBER;
26590 l_tmp_amt NUMBER;
26591 l_acc_rev_natural_side_code VARCHAR2(1);
26592
26593 l_num_entries NUMBER;
26594 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26595 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26596 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26597 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26598 l_recog_line_1 NUMBER;
26599 l_recog_line_2 NUMBER;
26600
26601 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26602 l_bflow_applied_to_amt NUMBER; -- 5132302
26603 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26604
26605 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26606
26610 ---------------------------------------------------------------------------------------------------------------
26607 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26608 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26609
26611
26612
26613 --
26614 -- bulk performance
26615 --
26616 l_balance_type_code VARCHAR2(1);
26617 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26618 l_log_module VARCHAR2(240);
26619
26620 --
26621 -- Upgrade strategy
26622 --
26623 l_actual_upg_option VARCHAR2(1);
26624 l_enc_upg_option VARCHAR2(1);
26625
26626 --
26627 BEGIN
26628 --
26629 IF g_log_enabled THEN
26630 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_71';
26631 END IF;
26632 --
26633 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26634
26635 trace
26636 (p_msg => 'BEGIN of AcctLineType_71'
26637 ,p_level => C_LEVEL_PROCEDURE
26638 ,p_module => l_log_module);
26639
26640 END IF;
26641 --
26642 l_component_type := 'AMB_JLT';
26643 l_component_code := 'AP_CASH_CLEAR_PMT_AS_INVXRATE';
26644 l_component_type_code := 'S';
26645 l_component_appl_id := 200;
26646 l_amb_context_code := 'DEFAULT';
26647 l_entity_code := 'AP_PAYMENTS';
26648 l_event_class_code := 'PAYMENTS';
26649 l_event_type_code := 'PAYMENTS_ALL';
26650 l_line_definition_owner_code := 'S';
26651 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
26652 --
26653 l_balance_type_code := 'A';
26654 l_segment := NULL;
26655 l_ccid := NULL;
26656 l_adr_transaction_coa_id := NULL;
26657 l_adr_accounting_coa_id := NULL;
26658 l_adr_flexfield_segment_code := NULL;
26659 l_adr_flex_value_set_id := NULL;
26660 l_adr_value_type_code := NULL;
26661 l_adr_value_combination_id := NULL;
26662 l_adr_value_segment_code := NULL;
26663
26664 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
26665 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26666 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26667 l_budgetary_control_flag := 'N';
26668
26669 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26670 l_bflow_applied_to_amt := NULL; -- 5132302
26671 l_entered_amt_idx := NULL; -- 4262811
26672 l_accted_amt_idx := NULL; -- 4262811
26673 l_acc_rev_flag := NULL; -- 4262811
26674 l_accrual_line_num := NULL; -- 4262811
26675 l_tmp_amt := NULL; -- 4262811
26676 --
26677
26678 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26679 l_balance_type_code <> 'B' THEN
26680 IF NVL(p_source_96,'
26681 ') = 'ALWAYS_CLEAR' AND
26682 (NVL(p_source_113,'
26683 ') = 'Y' AND
26684 NVL(p_source_15,'
26685 ') = 'ACCOUNT_SEGMENT_VALUE') AND
26686 p_source_114 IS NULL AND
26687 NVL(p_source_97,'
26688 ') = 'CASH' AND
26689 NVL(p_source_122,'
26690 ') <> 'R' AND
26691 NVL(p_source_123,'
26692 ') <> 'PAYMENTCARD'
26693 THEN
26694
26695 --
26696 XLA_AE_LINES_PKG.SetNewLine;
26697
26698 p_balance_type_code := l_balance_type_code;
26699 -- set the flag so later we will know whether the gain loss line needs to be created
26700
26701 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26702 p_actual_flag :='A';
26703 END IF;
26704
26705 --
26706 -- bulk performance
26707 --
26708 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26709 p_header_num => 0); -- 4262811
26710 --
26711 -- set accounting line options
26712 --
26713 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26714 p_natural_side_code => 'C'
26715 , p_gain_or_loss_flag => 'N'
26716 , p_gl_transfer_mode_code => 'S'
26717 , p_acct_entry_type_code => 'A'
26718 , p_switch_side_flag => 'Y'
26719 , p_merge_duplicate_code => 'A'
26720 );
26721 --
26722 l_acc_rev_natural_side_code := 'D'; -- 4262811
26723 --
26724 --
26725 -- set accounting line type info
26726 --
26727 xla_ae_lines_pkg.SetAcctLineType
26728 (p_component_type => l_component_type
26729 ,p_event_type_code => l_event_type_code
26730 ,p_line_definition_owner_code => l_line_definition_owner_code
26731 ,p_line_definition_code => l_line_definition_code
26732 ,p_accounting_line_code => l_component_code
26733 ,p_accounting_line_type_code => l_component_type_code
26734 ,p_accounting_line_appl_id => l_component_appl_id
26735 ,p_amb_context_code => l_amb_context_code
26736 ,p_entity_code => l_entity_code
26737 ,p_event_class_code => l_event_class_code);
26738 --
26739 -- set accounting class
26740 --
26741 xla_ae_lines_pkg.SetAcctClass(
26742 p_accounting_class_code => 'CASH_CLEARING'
26743 , p_ae_header_id => l_ae_header_id
26747 -- set rounding class
26744 );
26745
26746 --
26748 --
26749 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26750 'CASH_CLEARING';
26751
26752 --
26753 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26754 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26755 --
26756 -- bulk performance
26757 --
26758 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26759
26760 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26761 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26762
26763 -- 4955764
26764 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26765 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26766
26767 -- 4458381 Public Sector Enh
26768
26769 --
26770 -- set accounting attributes for the line type
26771 --
26772 l_entered_amt_idx := 10;
26773 l_accted_amt_idx := 15;
26774 l_bflow_applied_to_amt_idx := 2; -- 5132302
26775 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26776 l_rec_acct_attrs.array_char_value(1) := p_source_52;
26777 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26778 l_rec_acct_attrs.array_num_value(2) := p_source_124;
26779 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26780 l_rec_acct_attrs.array_num_value(3) := p_source_90;
26781 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26782 l_rec_acct_attrs.array_char_value(4) := p_source_91;
26783 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26784 l_rec_acct_attrs.array_char_value(5) := p_source_92;
26785 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26786 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
26787 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26788 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
26789 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26790 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
26791 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26792 l_rec_acct_attrs.array_char_value(9) := p_source_54;
26793 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26794 l_rec_acct_attrs.array_num_value(10) := p_source_98;
26795 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26796 l_rec_acct_attrs.array_char_value(11) := p_source_13;
26797 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26798 l_rec_acct_attrs.array_date_value(12) := p_source_117;
26799 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26800 l_rec_acct_attrs.array_num_value(13) := p_source_118;
26801 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26802 l_rec_acct_attrs.array_char_value(14) := p_source_119;
26803 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26804 l_rec_acct_attrs.array_num_value(15) := p_source_116;
26805 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26806 l_rec_acct_attrs.array_char_value(16) := p_source_79;
26807 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26808 l_rec_acct_attrs.array_num_value(17) := p_source_109;
26809 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26810 l_rec_acct_attrs.array_num_value(18) := p_source_110;
26811 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26812 l_rec_acct_attrs.array_char_value(19) := p_source_82;
26813 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26814 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
26815 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26816 l_rec_acct_attrs.array_char_value(21) := p_source_54;
26817 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26818 l_rec_acct_attrs.array_num_value(22) := p_source_85;
26819 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26820 l_rec_acct_attrs.array_num_value(23) := p_source_86;
26821 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26822 l_rec_acct_attrs.array_num_value(24) := p_source_87;
26823
26824 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26825 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26826
26827 ---------------------------------------------------------------------------------------------------------------
26828 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26829 ---------------------------------------------------------------------------------------------------------------
26830 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26831
26832 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26833 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26834
26835 IF xla_accounting_cache_pkg.GetValueChar
26836 (p_source_code => 'LEDGER_CATEGORY_CODE'
26837 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26838 AND l_bflow_method_code = 'PRIOR_ENTRY'
26842 )
26839 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26840 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26841 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26843 THEN
26844 xla_ae_lines_pkg.BflowUpgEntry
26845 (p_business_method_code => l_bflow_method_code
26846 ,p_business_class_code => l_bflow_class_code
26847 ,p_balance_type => l_balance_type_code);
26848 ELSE
26849 NULL;
26850 XLA_AE_LINES_PKG.business_flow_validation(
26851 p_business_method_code => l_bflow_method_code
26852 ,p_business_class_code => l_bflow_class_code
26853 ,p_inherit_description_flag => l_inherit_desc_flag);
26854 END IF;
26855
26856 --
26857 -- call analytical criteria
26858 --
26859
26860
26861 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
26862 xla_ae_lines_pkg.SetAnalyticalCriteria(
26863 p_analytical_criterion_name => 'Check Id'
26864 , p_analytical_criterion_owner => 'S'
26865 , p_analytical_criterion_code => 'CHECK_ID'
26866 , p_amb_context_code => 'DEFAULT'
26867 , p_balancing_flag => 'N'
26868
26869 , p_analytical_detail_char_1 => NULL
26870 , p_analytical_detail_num_1 => p_source_112
26871 , p_analytical_detail_date_1 => NULL
26872
26873 , p_ae_header_id => l_ae_header_id
26874 )
26875 ;
26876 --
26877
26878 --
26879 -- call description
26880 --
26881 -- No description or it is inherited.
26882 --
26883 -- call ADRs
26884 -- Bug 4922099
26885 --
26886 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26887 (NVL(l_actual_upg_option, 'N') = 'O') OR
26888 (NVL(l_enc_upg_option, 'N') = 'O')
26889 )
26890 THEN
26891 NULL;
26892 --
26893 --
26894
26895 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
26896 p_code_combination_id => TO_NUMBER(C_NUM)
26897 , p_value_type_code => NULL
26898 , p_transaction_coa_id => null
26899 , p_accounting_coa_id => null
26900 , p_adr_code => NULL
26901 , p_adr_type_code => NULL
26902 , p_component_type => l_component_type
26903 , p_component_code => l_component_code
26904 , p_component_type_code => l_component_type_code
26905 , p_component_appl_id => l_component_appl_id
26906 , p_amb_context_code => l_amb_context_code
26907 , p_side => NULL
26908 );
26909
26910
26911 -- initialise segments
26912 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26913 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26914 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26915 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26916 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26917 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26918 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26919 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26920 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26921 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26922 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26923 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26924 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26925 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26926 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26927 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26928 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26929 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26930 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26931 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26932 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26933 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26934 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26935 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26936 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26937 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26938 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26939 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26940 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26941 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26942 --
26943
26944 --
26945
26946
26950 , p_source_35 => p_source_35
26947 l_segment := AcctDerRule_16(
26948 p_application_id => p_application_id
26949 , p_ae_header_id => l_ae_header_id
26951 , x_transaction_coa_id => l_adr_transaction_coa_id
26952 , x_accounting_coa_id => l_adr_accounting_coa_id
26953 , x_flexfield_segment_code => l_adr_flexfield_segment_code
26954 , x_flex_value_set_id => l_adr_flex_value_set_id
26955 , x_value_type_code => l_adr_value_type_code
26956 , x_value_combination_id => l_adr_value_combination_id
26957 , x_value_segment_code => l_adr_value_segment_code
26958 , p_side => 'NA'
26959 , p_override_seg_flag => 'Y'
26960 );
26961
26962 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26963
26964 xla_ae_lines_pkg.set_segment(
26965 p_to_segment_code => 'GL_ACCOUNT'
26966 , p_segment_value => l_segment
26967 , p_from_segment_code => l_adr_value_segment_code
26968 , p_from_combination_id => l_adr_value_combination_id
26969 , p_value_type_code => l_adr_value_type_code
26970 , p_transaction_coa_id => l_adr_transaction_coa_id
26971 , p_accounting_coa_id => l_adr_accounting_coa_id
26972 , p_flexfield_segment_code => l_adr_flexfield_segment_code
26973 , p_flex_value_set_id => l_adr_flex_value_set_id
26974 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
26975 , p_adr_type_code => 'S'
26976 , p_component_type => l_component_type
26977 , p_component_code => l_component_code
26978 , p_component_type_code => l_component_type_code
26979 , p_component_appl_id => l_component_appl_id
26980 , p_amb_context_code => l_amb_context_code
26981 , p_entity_code => 'AP_PAYMENTS'
26982 , p_event_class_code => 'PAYMENTS'
26983 , p_side => 'NA'
26984 );
26985
26986 END IF;
26987
26988 --
26989 --
26990 END IF;
26991 --
26992 -- Bug 4922099
26993 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26994 (NVL(l_enc_upg_option, 'N') = 'O')
26995 ) AND
26996 (l_bflow_method_code = 'PRIOR_ENTRY')
26997 )
26998 THEN
26999 IF
27000 --
27001 1 = 2
27002 --
27003 THEN
27004 xla_accounting_err_pkg.build_message
27005 (p_appli_s_name => 'XLA'
27006 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27007 ,p_token_1 => 'LINE_NUMBER'
27008 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27009 ,p_token_2 => 'LINE_TYPE_NAME'
27010 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27011 l_component_type
27012 ,l_component_code
27013 ,l_component_type_code
27014 ,l_component_appl_id
27015 ,l_amb_context_code
27016 ,l_entity_code
27017 ,l_event_class_code
27018 )
27019 ,p_token_3 => 'OWNER'
27020 ,p_value_3 => xla_lookups_pkg.get_meaning(
27021 p_lookup_type => 'XLA_OWNER_TYPE'
27022 ,p_lookup_code => l_component_type_code
27023 )
27024 ,p_token_4 => 'PRODUCT_NAME'
27025 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27026 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27027 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27028 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27029 ,p_ae_header_id => NULL
27030 );
27031
27032 IF (C_LEVEL_ERROR>= g_log_level) THEN
27033 trace
27034 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27035 ,p_level => C_LEVEL_ERROR
27036 ,p_module => l_log_module);
27037 END IF;
27038 END IF;
27039 END IF;
27040 --
27041 --
27042 ------------------------------------------------------------------------------------------------
27043 -- 4219869 Business Flow
27047 XLA_AE_LINES_PKG.ValidateCurrentLine;
27044 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27045 -- Prior Entry. Currently, the following code is always generated.
27046 ------------------------------------------------------------------------------------------------
27048
27049 ------------------------------------------------------------------------------------
27050 -- 4219869 Business Flow
27051 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27052 ------------------------------------------------------------------------------------
27053 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27054
27055 ----------------------------------------------------------------------------------
27056 -- 4219869 Business Flow
27057 -- Update journal entry status -- Need to generate this within IF <condition>
27058 ----------------------------------------------------------------------------------
27059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27061 ,p_balance_type_code => l_balance_type_code
27062 );
27063
27064 -------------------------------------------------------------------------------------------
27065 -- 4262811 - Generate the Accrual Reversal lines
27066 -------------------------------------------------------------------------------------------
27067 BEGIN
27068 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27069 (g_array_event(p_event_id).array_value_num('header_index'));
27070 IF l_acc_rev_flag IS NULL THEN
27071 l_acc_rev_flag := 'N';
27072 END IF;
27073 EXCEPTION
27074 WHEN OTHERS THEN
27075 l_acc_rev_flag := 'N';
27076 END;
27077 --
27078 IF (l_acc_rev_flag = 'Y') THEN
27079
27080 -- 4645092 ------------------------------------------------------------------------------
27081 -- To allow MPA report to determine if it should generate report process
27082 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27083 ------------------------------------------------------------------------------------------
27084
27085 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27086 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27087 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27088 -- call ADRs
27089 -- Bug 4922099
27090 --
27091 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27092 (NVL(l_actual_upg_option, 'N') = 'O') OR
27093 (NVL(l_enc_upg_option, 'N') = 'O')
27094 )
27095 THEN
27096 NULL;
27097 --
27098 --
27099
27100 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
27101 p_code_combination_id => TO_NUMBER(C_NUM)
27102 , p_value_type_code => NULL
27103 , p_transaction_coa_id => null
27104 , p_accounting_coa_id => null
27105 , p_adr_code => NULL
27106 , p_adr_type_code => NULL
27107 , p_component_type => l_component_type
27108 , p_component_code => l_component_code
27109 , p_component_type_code => l_component_type_code
27110 , p_component_appl_id => l_component_appl_id
27111 , p_amb_context_code => l_amb_context_code
27112 , p_side => NULL
27113 );
27114
27115
27116 -- initialise segments
27117 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27118 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27119 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27120 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27121 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27122 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27123 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27124 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27125 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27126 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27127 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27128 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27129 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27130 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27131 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27132 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27133 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27134 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27135 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27136 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27137 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27138 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27139 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27143 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27140 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27141 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27142 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27144 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27145 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27146 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27147 --
27148
27149 --
27150
27151
27152 l_segment := AcctDerRule_16(
27153 p_application_id => p_application_id
27154 , p_ae_header_id => l_ae_header_id
27155 , p_source_35 => p_source_35
27156 , x_transaction_coa_id => l_adr_transaction_coa_id
27157 , x_accounting_coa_id => l_adr_accounting_coa_id
27158 , x_flexfield_segment_code => l_adr_flexfield_segment_code
27159 , x_flex_value_set_id => l_adr_flex_value_set_id
27160 , x_value_type_code => l_adr_value_type_code
27161 , x_value_combination_id => l_adr_value_combination_id
27162 , x_value_segment_code => l_adr_value_segment_code
27163 , p_side => 'NA'
27164 , p_override_seg_flag => 'Y'
27165 );
27166
27167 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27168
27169 xla_ae_lines_pkg.set_segment(
27170 p_to_segment_code => 'GL_ACCOUNT'
27171 , p_segment_value => l_segment
27172 , p_from_segment_code => l_adr_value_segment_code
27173 , p_from_combination_id => l_adr_value_combination_id
27174 , p_value_type_code => l_adr_value_type_code
27175 , p_transaction_coa_id => l_adr_transaction_coa_id
27176 , p_accounting_coa_id => l_adr_accounting_coa_id
27177 , p_flexfield_segment_code => l_adr_flexfield_segment_code
27178 , p_flex_value_set_id => l_adr_flex_value_set_id
27179 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
27180 , p_adr_type_code => 'S'
27181 , p_component_type => l_component_type
27182 , p_component_code => l_component_code
27183 , p_component_type_code => l_component_type_code
27184 , p_component_appl_id => l_component_appl_id
27185 , p_amb_context_code => l_amb_context_code
27186 , p_entity_code => 'AP_PAYMENTS'
27187 , p_event_class_code => 'PAYMENTS'
27188 , p_side => 'NA'
27189 );
27190
27191 END IF;
27192
27193 --
27194 --
27195 END IF;
27196
27197 --
27198 -- Update the line information that should be overwritten
27199 --
27200 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27201 p_header_num => 1);
27202 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27203
27204 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27205
27206 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27207 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27208 END IF;
27209
27210 --
27211 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27212 --
27213 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27214 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27215 ELSE
27216 ---------------------------------------------------------------------------------------------------
27217 -- 4262811a Switch Sign
27218 ---------------------------------------------------------------------------------------------------
27219 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27221 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27223 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27224 -- 5132302
27225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27226 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27227
27228 END IF;
27229
27230 -- 4955764
27231 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27232 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27233
27234
27235 XLA_AE_LINES_PKG.ValidateCurrentLine;
27236 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27237
27238 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27239 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27240 ,p_balance_type_code => l_balance_type_code);
27241
27242 END IF;
27243
27247 -- No MPA option is assigned.
27244 -----------------------------------------------------------------------------------------
27245 -- 4262811 Multiperiod Accounting
27246 -----------------------------------------------------------------------------------------
27248
27249
27250 END IF;
27251 END IF;
27252 --
27253
27254 --
27255 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27256 trace
27257 (p_msg => 'END of AcctLineType_71'
27258 ,p_level => C_LEVEL_PROCEDURE
27259 ,p_module => l_log_module);
27260 END IF;
27261 --
27262 EXCEPTION
27263 WHEN xla_exceptions_pkg.application_exception THEN
27264 RAISE;
27265 WHEN OTHERS THEN
27266 xla_exceptions_pkg.raise_message
27267 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_71');
27268 END AcctLineType_71;
27269 --
27270
27271 ---------------------------------------
27272 --
27273 -- PRIVATE FUNCTION
27274 -- AcctLineType_72
27275 --
27276 ---------------------------------------
27277 PROCEDURE AcctLineType_72 (
27278 p_application_id IN NUMBER
27279 ,p_event_id IN NUMBER
27280 ,p_calculate_acctd_flag IN VARCHAR2
27281 ,p_calculate_g_l_flag IN VARCHAR2
27282 ,p_actual_flag IN OUT VARCHAR2
27283 ,p_balance_type_code OUT VARCHAR2
27284 ,p_gain_or_loss_ref OUT VARCHAR2
27285
27286 --Payment Currency Code
27287 , p_source_13 IN VARCHAR2
27288 --Automatic Offsets Value
27289 , p_source_15 IN VARCHAR2
27290 , p_source_15_meaning IN VARCHAR2
27291 --Bank Cash Clearing Account
27292 , p_source_35 IN NUMBER
27293 --Accounting Reversal Indicator
27294 , p_source_52 IN VARCHAR2
27295 --Distribution Link Type
27296 , p_source_54 IN VARCHAR2
27297 --Override Accounted Amount Indicator
27298 , p_source_79 IN VARCHAR2
27299 , p_source_79_meaning IN VARCHAR2
27300 --Third Party Type
27301 , p_source_82 IN VARCHAR2
27302 --Invoice Distribution Tax Line Identifier
27303 , p_source_85 IN NUMBER
27304 --Invoice Distribution Tax Distribution Identifier from Tax
27305 , p_source_86 IN NUMBER
27306 --Invoice Distribution Summary Tax Line Identifier
27307 , p_source_87 IN NUMBER
27308 --Business Flow Accounts Payable Application Identifier
27309 , p_source_90 IN NUMBER
27310 --Business Flow Invoice Distribution Type
27311 , p_source_91 IN VARCHAR2
27312 --Business Flow Invoice Entity Code
27313 , p_source_92 IN VARCHAR2
27314 --Business Flow Invoice Distribution Identifier
27315 , p_source_93 IN NUMBER
27316 --Business Flow Invoice Identifier
27317 , p_source_94 IN NUMBER
27318 --When to Account for Payment Option
27319 , p_source_96 IN VARCHAR2
27320 --Payment Distribution Type
27321 , p_source_97 IN VARCHAR2
27322 , p_source_97_meaning IN VARCHAR2
27323 --Payment Distribution Amount
27324 , p_source_98 IN NUMBER
27325 --Payment Distribution Identifier
27326 , p_source_103 IN NUMBER
27327 --Payment Supplier Identifier
27328 , p_source_109 IN NUMBER
27329 --Payment Supplier Site Identifier
27330 , p_source_110 IN NUMBER
27331 --Payment Distribution Reversed Identifier
27332 , p_source_111 IN NUMBER
27333 --Payment Identifier
27334 , p_source_112 IN NUMBER
27335 --Pooled Bank Account Option
27336 , p_source_113 IN VARCHAR2
27337 , p_source_113_meaning IN VARCHAR2
27338 --Payment Maturity Date
27339 , p_source_114 IN DATE
27340 --Payment Distribution (Invoice Rate) Ledger Amount
27341 , p_source_116 IN NUMBER
27342 --Payment Exchange Date
27343 , p_source_117 IN DATE
27344 --Payment Exchange Rate
27345 , p_source_118 IN NUMBER
27346 --Payment Exchange Rate Type
27347 , p_source_119 IN VARCHAR2
27348 --Payment Type
27349 , p_source_122 IN VARCHAR2
27350 , p_source_122_meaning IN VARCHAR2
27351 --Payment Processing Type
27352 , p_source_123 IN VARCHAR2
27353 --Invoice Distribution Amount of the Payment Distribution
27354 , p_source_124 IN NUMBER
27355 )
27356 IS
27357
27358 l_component_type VARCHAR2(80);
27359 l_component_code VARCHAR2(30);
27360 l_component_type_code VARCHAR2(1);
27361 l_component_appl_id INTEGER;
27362 l_amb_context_code VARCHAR2(30);
27363 l_entity_code VARCHAR2(30);
27364 l_event_class_code VARCHAR2(30);
27365 l_ae_header_id NUMBER;
27366 l_event_type_code VARCHAR2(30);
27367 l_line_definition_code VARCHAR2(30);
27368 l_line_definition_owner_code VARCHAR2(1);
27369 --
27370 -- adr variables
27371 l_segment VARCHAR2(30);
27372 l_ccid NUMBER;
27373 l_adr_transaction_coa_id NUMBER;
27374 l_adr_accounting_coa_id NUMBER;
27375 l_adr_flexfield_segment_code VARCHAR2(30);
27376 l_adr_flex_value_set_id NUMBER;
27377 l_adr_value_type_code VARCHAR2(30);
27378 l_adr_value_combination_id NUMBER;
27379 l_adr_value_segment_code VARCHAR2(30);
27380
27381 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27385
27382 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27383 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27384 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27386 -- 4262811 Variables ------------------------------------------------------------------------------------------
27387 l_entered_amt_idx NUMBER;
27388 l_accted_amt_idx NUMBER;
27389 l_acc_rev_flag VARCHAR2(1);
27390 l_accrual_line_num NUMBER;
27391 l_tmp_amt NUMBER;
27392 l_acc_rev_natural_side_code VARCHAR2(1);
27393
27394 l_num_entries NUMBER;
27395 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27396 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27397 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27398 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27399 l_recog_line_1 NUMBER;
27400 l_recog_line_2 NUMBER;
27401
27402 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27403 l_bflow_applied_to_amt NUMBER; -- 5132302
27404 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27405
27406 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27407
27408 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27409 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27410
27411 ---------------------------------------------------------------------------------------------------------------
27412
27413
27414 --
27415 -- bulk performance
27416 --
27417 l_balance_type_code VARCHAR2(1);
27418 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27419 l_log_module VARCHAR2(240);
27420
27421 --
27422 -- Upgrade strategy
27423 --
27424 l_actual_upg_option VARCHAR2(1);
27425 l_enc_upg_option VARCHAR2(1);
27426
27427 --
27428 BEGIN
27429 --
27430 IF g_log_enabled THEN
27431 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_72';
27432 END IF;
27433 --
27434 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27435
27436 trace
27437 (p_msg => 'BEGIN of AcctLineType_72'
27438 ,p_level => C_LEVEL_PROCEDURE
27439 ,p_module => l_log_module);
27440
27441 END IF;
27442 --
27443 l_component_type := 'AMB_JLT';
27444 l_component_code := 'AP_CASH_CLEAR_PMT_BS_INVXRATE';
27445 l_component_type_code := 'S';
27446 l_component_appl_id := 200;
27447 l_amb_context_code := 'DEFAULT';
27448 l_entity_code := 'AP_PAYMENTS';
27449 l_event_class_code := 'PAYMENTS';
27450 l_event_type_code := 'PAYMENTS_ALL';
27451 l_line_definition_owner_code := 'S';
27452 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
27453 --
27454 l_balance_type_code := 'A';
27455 l_segment := NULL;
27456 l_ccid := NULL;
27457 l_adr_transaction_coa_id := NULL;
27458 l_adr_accounting_coa_id := NULL;
27459 l_adr_flexfield_segment_code := NULL;
27460 l_adr_flex_value_set_id := NULL;
27461 l_adr_value_type_code := NULL;
27462 l_adr_value_combination_id := NULL;
27463 l_adr_value_segment_code := NULL;
27464
27465 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
27466 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
27467 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
27468 l_budgetary_control_flag := 'N';
27469
27470 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27471 l_bflow_applied_to_amt := NULL; -- 5132302
27472 l_entered_amt_idx := NULL; -- 4262811
27473 l_accted_amt_idx := NULL; -- 4262811
27474 l_acc_rev_flag := NULL; -- 4262811
27475 l_accrual_line_num := NULL; -- 4262811
27476 l_tmp_amt := NULL; -- 4262811
27477 --
27478
27479 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27480 l_balance_type_code <> 'B' THEN
27481 IF NVL(p_source_96,'
27482 ') = 'ALWAYS_CLEAR' AND
27483 (NVL(p_source_113,'
27484 ') = 'Y' AND
27485 NVL(p_source_15,'
27486 ') = 'BALANCING_SEGMENT') AND
27487 p_source_114 IS NULL AND
27488 NVL(p_source_97,'
27489 ') = 'CASH' AND
27490 NVL(p_source_122,'
27491 ') <> 'R' AND
27492 NVL(p_source_123,'
27493 ') <> 'PAYMENTCARD'
27494 THEN
27495
27496 --
27497 XLA_AE_LINES_PKG.SetNewLine;
27498
27499 p_balance_type_code := l_balance_type_code;
27500 -- set the flag so later we will know whether the gain loss line needs to be created
27501
27502 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27503 p_actual_flag :='A';
27504 END IF;
27505
27506 --
27507 -- bulk performance
27508 --
27509 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27510 p_header_num => 0); -- 4262811
27511 --
27512 -- set accounting line options
27513 --
27514 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27515 p_natural_side_code => 'C'
27519 , p_switch_side_flag => 'Y'
27516 , p_gain_or_loss_flag => 'N'
27517 , p_gl_transfer_mode_code => 'S'
27518 , p_acct_entry_type_code => 'A'
27520 , p_merge_duplicate_code => 'A'
27521 );
27522 --
27523 l_acc_rev_natural_side_code := 'D'; -- 4262811
27524 --
27525 --
27526 -- set accounting line type info
27527 --
27528 xla_ae_lines_pkg.SetAcctLineType
27529 (p_component_type => l_component_type
27530 ,p_event_type_code => l_event_type_code
27531 ,p_line_definition_owner_code => l_line_definition_owner_code
27532 ,p_line_definition_code => l_line_definition_code
27533 ,p_accounting_line_code => l_component_code
27534 ,p_accounting_line_type_code => l_component_type_code
27535 ,p_accounting_line_appl_id => l_component_appl_id
27536 ,p_amb_context_code => l_amb_context_code
27537 ,p_entity_code => l_entity_code
27538 ,p_event_class_code => l_event_class_code);
27539 --
27540 -- set accounting class
27541 --
27542 xla_ae_lines_pkg.SetAcctClass(
27543 p_accounting_class_code => 'CASH_CLEARING'
27544 , p_ae_header_id => l_ae_header_id
27545 );
27546
27547 --
27548 -- set rounding class
27549 --
27550 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27551 'CASH_CLEARING';
27552
27553 --
27554 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27555 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27556 --
27557 -- bulk performance
27558 --
27559 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27560
27561 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27562 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27563
27564 -- 4955764
27565 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27566 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27567
27568 -- 4458381 Public Sector Enh
27569
27570 --
27571 -- set accounting attributes for the line type
27572 --
27573 l_entered_amt_idx := 10;
27574 l_accted_amt_idx := 15;
27575 l_bflow_applied_to_amt_idx := 2; -- 5132302
27576 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27577 l_rec_acct_attrs.array_char_value(1) := p_source_52;
27578 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
27579 l_rec_acct_attrs.array_num_value(2) := p_source_124;
27580 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
27581 l_rec_acct_attrs.array_num_value(3) := p_source_90;
27582 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27583 l_rec_acct_attrs.array_char_value(4) := p_source_91;
27584 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
27585 l_rec_acct_attrs.array_char_value(5) := p_source_92;
27586 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
27587 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
27588 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27589 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
27590 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
27591 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
27592 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
27593 l_rec_acct_attrs.array_char_value(9) := p_source_54;
27594 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
27595 l_rec_acct_attrs.array_num_value(10) := p_source_98;
27596 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
27597 l_rec_acct_attrs.array_char_value(11) := p_source_13;
27598 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
27599 l_rec_acct_attrs.array_date_value(12) := p_source_117;
27600 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
27601 l_rec_acct_attrs.array_num_value(13) := p_source_118;
27602 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
27603 l_rec_acct_attrs.array_char_value(14) := p_source_119;
27604 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
27605 l_rec_acct_attrs.array_num_value(15) := p_source_116;
27606 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
27607 l_rec_acct_attrs.array_char_value(16) := p_source_79;
27608 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
27609 l_rec_acct_attrs.array_num_value(17) := p_source_109;
27610 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
27611 l_rec_acct_attrs.array_num_value(18) := p_source_110;
27612 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
27613 l_rec_acct_attrs.array_char_value(19) := p_source_82;
27614 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
27615 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
27616 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
27617 l_rec_acct_attrs.array_char_value(21) := p_source_54;
27621 l_rec_acct_attrs.array_num_value(23) := p_source_86;
27618 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
27619 l_rec_acct_attrs.array_num_value(22) := p_source_85;
27620 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
27622 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
27623 l_rec_acct_attrs.array_num_value(24) := p_source_87;
27624
27625 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27626 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27627
27628 ---------------------------------------------------------------------------------------------------------------
27629 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27630 ---------------------------------------------------------------------------------------------------------------
27631 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27632
27633 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27634 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27635
27636 IF xla_accounting_cache_pkg.GetValueChar
27637 (p_source_code => 'LEDGER_CATEGORY_CODE'
27638 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27639 AND l_bflow_method_code = 'PRIOR_ENTRY'
27640 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27641 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27642 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27643 )
27644 THEN
27645 xla_ae_lines_pkg.BflowUpgEntry
27646 (p_business_method_code => l_bflow_method_code
27647 ,p_business_class_code => l_bflow_class_code
27648 ,p_balance_type => l_balance_type_code);
27649 ELSE
27650 NULL;
27651 XLA_AE_LINES_PKG.business_flow_validation(
27652 p_business_method_code => l_bflow_method_code
27653 ,p_business_class_code => l_bflow_class_code
27654 ,p_inherit_description_flag => l_inherit_desc_flag);
27655 END IF;
27656
27657 --
27658 -- call analytical criteria
27659 --
27660
27661
27662 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
27663 xla_ae_lines_pkg.SetAnalyticalCriteria(
27664 p_analytical_criterion_name => 'Check Id'
27665 , p_analytical_criterion_owner => 'S'
27666 , p_analytical_criterion_code => 'CHECK_ID'
27667 , p_amb_context_code => 'DEFAULT'
27668 , p_balancing_flag => 'N'
27669
27670 , p_analytical_detail_char_1 => NULL
27671 , p_analytical_detail_num_1 => p_source_112
27672 , p_analytical_detail_date_1 => NULL
27673
27674 , p_ae_header_id => l_ae_header_id
27675 )
27676 ;
27677 --
27678
27679 --
27680 -- call description
27681 --
27682 -- No description or it is inherited.
27683 --
27684 -- call ADRs
27685 -- Bug 4922099
27686 --
27687 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27688 (NVL(l_actual_upg_option, 'N') = 'O') OR
27689 (NVL(l_enc_upg_option, 'N') = 'O')
27690 )
27691 THEN
27692 NULL;
27693 --
27694 --
27695
27696 l_ccid := AcctDerRule_35(
27697 p_application_id => p_application_id
27698 , p_ae_header_id => l_ae_header_id
27699 , p_source_35 => p_source_35
27700 , x_transaction_coa_id => l_adr_transaction_coa_id
27701 , x_accounting_coa_id => l_adr_accounting_coa_id
27702 , x_value_type_code => l_adr_value_type_code
27703 , p_side => 'NA'
27704 );
27705
27706 xla_ae_lines_pkg.set_ccid(
27707 p_code_combination_id => l_ccid
27708 , p_value_type_code => l_adr_value_type_code
27709 , p_transaction_coa_id => l_adr_transaction_coa_id
27710 , p_accounting_coa_id => l_adr_accounting_coa_id
27711 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27712 , p_adr_type_code => 'S'
27713 , p_component_type => l_component_type
27714 , p_component_code => l_component_code
27715 , p_component_type_code => l_component_type_code
27716 , p_component_appl_id => l_component_appl_id
27717 , p_amb_context_code => l_amb_context_code
27718 , p_side => 'NA'
27719 );
27720
27721
27722 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27723 p_to_segment_code => 'GL_BALANCING'
27724 , p_segment_value => C_CHAR
27725 , p_from_segment_code => NULL
27726 , p_from_combination_id => NULL
27727 , p_value_type_code => NULL
27728 , p_transaction_coa_id => null
27729 , p_accounting_coa_id => null
27730 , p_flexfield_segment_code => NULL
27731 , p_flex_value_set_id => NULL
27732 , p_adr_code => NULL
27733 , p_adr_type_code => NULL
27734 , p_component_type => l_component_type
27735 , p_component_code => l_component_code
27739 , p_entity_code => 'AP_PAYMENTS'
27736 , p_component_type_code => l_component_type_code
27737 , p_component_appl_id => l_component_appl_id
27738 , p_amb_context_code => l_amb_context_code
27740 , p_event_class_code => 'PAYMENTS'
27741 , p_side => 'NA'
27742 );
27743 --
27744
27745
27746 --
27747 --
27748 END IF;
27749 --
27750 -- Bug 4922099
27751 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27752 (NVL(l_enc_upg_option, 'N') = 'O')
27753 ) AND
27754 (l_bflow_method_code = 'PRIOR_ENTRY')
27755 )
27756 THEN
27757 IF
27758 --
27759 1 = 2
27760 --
27761 THEN
27762 xla_accounting_err_pkg.build_message
27763 (p_appli_s_name => 'XLA'
27764 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27765 ,p_token_1 => 'LINE_NUMBER'
27766 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27767 ,p_token_2 => 'LINE_TYPE_NAME'
27768 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27769 l_component_type
27770 ,l_component_code
27771 ,l_component_type_code
27772 ,l_component_appl_id
27773 ,l_amb_context_code
27774 ,l_entity_code
27775 ,l_event_class_code
27776 )
27777 ,p_token_3 => 'OWNER'
27778 ,p_value_3 => xla_lookups_pkg.get_meaning(
27779 p_lookup_type => 'XLA_OWNER_TYPE'
27780 ,p_lookup_code => l_component_type_code
27781 )
27782 ,p_token_4 => 'PRODUCT_NAME'
27783 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27784 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27785 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27786 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27787 ,p_ae_header_id => NULL
27788 );
27789
27790 IF (C_LEVEL_ERROR>= g_log_level) THEN
27791 trace
27792 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27793 ,p_level => C_LEVEL_ERROR
27794 ,p_module => l_log_module);
27795 END IF;
27796 END IF;
27797 END IF;
27798 --
27799 --
27800 ------------------------------------------------------------------------------------------------
27801 -- 4219869 Business Flow
27802 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27803 -- Prior Entry. Currently, the following code is always generated.
27804 ------------------------------------------------------------------------------------------------
27805 XLA_AE_LINES_PKG.ValidateCurrentLine;
27806
27807 ------------------------------------------------------------------------------------
27808 -- 4219869 Business Flow
27809 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27810 ------------------------------------------------------------------------------------
27811 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27812
27813 ----------------------------------------------------------------------------------
27814 -- 4219869 Business Flow
27815 -- Update journal entry status -- Need to generate this within IF <condition>
27816 ----------------------------------------------------------------------------------
27817 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27818 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27819 ,p_balance_type_code => l_balance_type_code
27820 );
27821
27822 -------------------------------------------------------------------------------------------
27823 -- 4262811 - Generate the Accrual Reversal lines
27824 -------------------------------------------------------------------------------------------
27825 BEGIN
27826 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27827 (g_array_event(p_event_id).array_value_num('header_index'));
27828 IF l_acc_rev_flag IS NULL THEN
27829 l_acc_rev_flag := 'N';
27830 END IF;
27831 EXCEPTION
27832 WHEN OTHERS THEN
27833 l_acc_rev_flag := 'N';
27834 END;
27838 -- 4645092 ------------------------------------------------------------------------------
27835 --
27836 IF (l_acc_rev_flag = 'Y') THEN
27837
27839 -- To allow MPA report to determine if it should generate report process
27840 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27841 ------------------------------------------------------------------------------------------
27842
27843 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27844 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27845 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27846 -- call ADRs
27847 -- Bug 4922099
27848 --
27849 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27850 (NVL(l_actual_upg_option, 'N') = 'O') OR
27851 (NVL(l_enc_upg_option, 'N') = 'O')
27852 )
27853 THEN
27854 NULL;
27855 --
27856 --
27857
27858 l_ccid := AcctDerRule_35(
27859 p_application_id => p_application_id
27860 , p_ae_header_id => l_ae_header_id
27861 , p_source_35 => p_source_35
27862 , x_transaction_coa_id => l_adr_transaction_coa_id
27863 , x_accounting_coa_id => l_adr_accounting_coa_id
27864 , x_value_type_code => l_adr_value_type_code
27865 , p_side => 'NA'
27866 );
27867
27868 xla_ae_lines_pkg.set_ccid(
27869 p_code_combination_id => l_ccid
27870 , p_value_type_code => l_adr_value_type_code
27871 , p_transaction_coa_id => l_adr_transaction_coa_id
27872 , p_accounting_coa_id => l_adr_accounting_coa_id
27873 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27874 , p_adr_type_code => 'S'
27875 , p_component_type => l_component_type
27876 , p_component_code => l_component_code
27877 , p_component_type_code => l_component_type_code
27878 , p_component_appl_id => l_component_appl_id
27879 , p_amb_context_code => l_amb_context_code
27880 , p_side => 'NA'
27881 );
27882
27883
27884 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27885 p_to_segment_code => 'GL_BALANCING'
27886 , p_segment_value => C_CHAR
27887 , p_from_segment_code => NULL
27888 , p_from_combination_id => NULL
27889 , p_value_type_code => NULL
27890 , p_transaction_coa_id => null
27891 , p_accounting_coa_id => null
27892 , p_flexfield_segment_code => NULL
27893 , p_flex_value_set_id => NULL
27894 , p_adr_code => NULL
27895 , p_adr_type_code => NULL
27896 , p_component_type => l_component_type
27897 , p_component_code => l_component_code
27898 , p_component_type_code => l_component_type_code
27899 , p_component_appl_id => l_component_appl_id
27900 , p_amb_context_code => l_amb_context_code
27901 , p_entity_code => 'AP_PAYMENTS'
27902 , p_event_class_code => 'PAYMENTS'
27903 , p_side => 'NA'
27904 );
27905 --
27906
27907
27908 --
27909 --
27910 END IF;
27911
27912 --
27913 -- Update the line information that should be overwritten
27914 --
27915 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27916 p_header_num => 1);
27917 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27918
27919 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27920
27921 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27922 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27923 END IF;
27924
27925 --
27926 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27927 --
27928 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27929 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27930 ELSE
27931 ---------------------------------------------------------------------------------------------------
27932 -- 4262811a Switch Sign
27933 ---------------------------------------------------------------------------------------------------
27934 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27935 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27936 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27937 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27938 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27939 -- 5132302
27940 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27941 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27942
27943 END IF;
27944
27945 -- 4955764
27946 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27950 XLA_AE_LINES_PKG.ValidateCurrentLine;
27947 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27948
27949
27951 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27952
27953 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27954 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27955 ,p_balance_type_code => l_balance_type_code);
27956
27957 END IF;
27958
27959 -----------------------------------------------------------------------------------------
27960 -- 4262811 Multiperiod Accounting
27961 -----------------------------------------------------------------------------------------
27962 -- No MPA option is assigned.
27963
27964
27965 END IF;
27966 END IF;
27967 --
27968
27969 --
27970 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27971 trace
27972 (p_msg => 'END of AcctLineType_72'
27973 ,p_level => C_LEVEL_PROCEDURE
27974 ,p_module => l_log_module);
27975 END IF;
27976 --
27977 EXCEPTION
27978 WHEN xla_exceptions_pkg.application_exception THEN
27979 RAISE;
27980 WHEN OTHERS THEN
27981 xla_exceptions_pkg.raise_message
27982 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_72');
27983 END AcctLineType_72;
27984 --
27985
27986 ---------------------------------------
27987 --
27988 -- PRIVATE FUNCTION
27989 -- AcctLineType_73
27990 --
27991 ---------------------------------------
27992 PROCEDURE AcctLineType_73 (
27993 p_application_id IN NUMBER
27994 ,p_event_id IN NUMBER
27995 ,p_calculate_acctd_flag IN VARCHAR2
27996 ,p_calculate_g_l_flag IN VARCHAR2
27997 ,p_actual_flag IN OUT VARCHAR2
27998 ,p_balance_type_code OUT VARCHAR2
27999 ,p_gain_or_loss_ref OUT VARCHAR2
28000
28001 --Payment Currency Code
28002 , p_source_13 IN VARCHAR2
28003 --Bank Cash Clearing Account
28004 , p_source_35 IN NUMBER
28005 --Automatic Offsets Flag
28006 , p_source_47 IN VARCHAR2
28007 , p_source_47_meaning IN VARCHAR2
28008 --Accounting Reversal Indicator
28009 , p_source_52 IN VARCHAR2
28010 --Distribution Link Type
28011 , p_source_54 IN VARCHAR2
28012 --Override Accounted Amount Indicator
28013 , p_source_79 IN VARCHAR2
28014 , p_source_79_meaning IN VARCHAR2
28015 --Third Party Type
28016 , p_source_82 IN VARCHAR2
28017 --Invoice Distribution Tax Line Identifier
28018 , p_source_85 IN NUMBER
28019 --Invoice Distribution Tax Distribution Identifier from Tax
28020 , p_source_86 IN NUMBER
28021 --Invoice Distribution Summary Tax Line Identifier
28022 , p_source_87 IN NUMBER
28023 --Business Flow Accounts Payable Application Identifier
28024 , p_source_90 IN NUMBER
28025 --Business Flow Invoice Distribution Type
28026 , p_source_91 IN VARCHAR2
28027 --Business Flow Invoice Entity Code
28028 , p_source_92 IN VARCHAR2
28029 --Business Flow Invoice Distribution Identifier
28030 , p_source_93 IN NUMBER
28031 --Business Flow Invoice Identifier
28032 , p_source_94 IN NUMBER
28033 --When to Account for Payment Option
28034 , p_source_96 IN VARCHAR2
28035 --Payment Distribution Type
28036 , p_source_97 IN VARCHAR2
28037 , p_source_97_meaning IN VARCHAR2
28038 --Payment Distribution Amount
28039 , p_source_98 IN NUMBER
28040 --Payment Distribution Identifier
28041 , p_source_103 IN NUMBER
28042 --Payment Supplier Identifier
28043 , p_source_109 IN NUMBER
28044 --Payment Supplier Site Identifier
28045 , p_source_110 IN NUMBER
28046 --Payment Distribution Reversed Identifier
28047 , p_source_111 IN NUMBER
28048 --Payment Identifier
28049 , p_source_112 IN NUMBER
28050 --Pooled Bank Account Option
28051 , p_source_113 IN VARCHAR2
28052 , p_source_113_meaning IN VARCHAR2
28053 --Payment Maturity Date
28054 , p_source_114 IN DATE
28055 --Payment Distribution (Invoice Rate) Ledger Amount
28056 , p_source_116 IN NUMBER
28057 --Payment Exchange Date
28058 , p_source_117 IN DATE
28059 --Payment Exchange Rate
28060 , p_source_118 IN NUMBER
28061 --Payment Exchange Rate Type
28062 , p_source_119 IN VARCHAR2
28063 --Payment Type
28064 , p_source_122 IN VARCHAR2
28065 , p_source_122_meaning IN VARCHAR2
28066 --Payment Processing Type
28067 , p_source_123 IN VARCHAR2
28068 --Invoice Distribution Amount of the Payment Distribution
28069 , p_source_124 IN NUMBER
28070 )
28071 IS
28072
28073 l_component_type VARCHAR2(80);
28074 l_component_code VARCHAR2(30);
28075 l_component_type_code VARCHAR2(1);
28076 l_component_appl_id INTEGER;
28077 l_amb_context_code VARCHAR2(30);
28078 l_entity_code VARCHAR2(30);
28079 l_event_class_code VARCHAR2(30);
28080 l_ae_header_id NUMBER;
28081 l_event_type_code VARCHAR2(30);
28082 l_line_definition_code VARCHAR2(30);
28083 l_line_definition_owner_code VARCHAR2(1);
28084 --
28088 l_adr_transaction_coa_id NUMBER;
28085 -- adr variables
28086 l_segment VARCHAR2(30);
28087 l_ccid NUMBER;
28089 l_adr_accounting_coa_id NUMBER;
28090 l_adr_flexfield_segment_code VARCHAR2(30);
28091 l_adr_flex_value_set_id NUMBER;
28092 l_adr_value_type_code VARCHAR2(30);
28093 l_adr_value_combination_id NUMBER;
28094 l_adr_value_segment_code VARCHAR2(30);
28095
28096 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28097 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28098 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28099 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28100
28101 -- 4262811 Variables ------------------------------------------------------------------------------------------
28102 l_entered_amt_idx NUMBER;
28103 l_accted_amt_idx NUMBER;
28104 l_acc_rev_flag VARCHAR2(1);
28105 l_accrual_line_num NUMBER;
28106 l_tmp_amt NUMBER;
28107 l_acc_rev_natural_side_code VARCHAR2(1);
28108
28109 l_num_entries NUMBER;
28110 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28111 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28112 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28113 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28114 l_recog_line_1 NUMBER;
28115 l_recog_line_2 NUMBER;
28116
28117 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28118 l_bflow_applied_to_amt NUMBER; -- 5132302
28119 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28120
28121 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28122
28123 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28124 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28125
28126 ---------------------------------------------------------------------------------------------------------------
28127
28128
28129 --
28130 -- bulk performance
28131 --
28132 l_balance_type_code VARCHAR2(1);
28133 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28134 l_log_module VARCHAR2(240);
28135
28136 --
28137 -- Upgrade strategy
28138 --
28139 l_actual_upg_option VARCHAR2(1);
28140 l_enc_upg_option VARCHAR2(1);
28141
28142 --
28143 BEGIN
28144 --
28145 IF g_log_enabled THEN
28146 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_73';
28147 END IF;
28148 --
28149 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28150
28151 trace
28152 (p_msg => 'BEGIN of AcctLineType_73'
28153 ,p_level => C_LEVEL_PROCEDURE
28154 ,p_module => l_log_module);
28155
28156 END IF;
28157 --
28158 l_component_type := 'AMB_JLT';
28159 l_component_code := 'AP_CASH_CLEAR_PMT_INVXRATE';
28160 l_component_type_code := 'S';
28161 l_component_appl_id := 200;
28162 l_amb_context_code := 'DEFAULT';
28163 l_entity_code := 'AP_PAYMENTS';
28164 l_event_class_code := 'PAYMENTS';
28165 l_event_type_code := 'PAYMENTS_ALL';
28166 l_line_definition_owner_code := 'S';
28167 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
28168 --
28169 l_balance_type_code := 'A';
28170 l_segment := NULL;
28171 l_ccid := NULL;
28172 l_adr_transaction_coa_id := NULL;
28173 l_adr_accounting_coa_id := NULL;
28174 l_adr_flexfield_segment_code := NULL;
28175 l_adr_flex_value_set_id := NULL;
28176 l_adr_value_type_code := NULL;
28177 l_adr_value_combination_id := NULL;
28178 l_adr_value_segment_code := NULL;
28179
28180 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
28181 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28182 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28183 l_budgetary_control_flag := 'N';
28184
28185 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28186 l_bflow_applied_to_amt := NULL; -- 5132302
28187 l_entered_amt_idx := NULL; -- 4262811
28188 l_accted_amt_idx := NULL; -- 4262811
28189 l_acc_rev_flag := NULL; -- 4262811
28190 l_accrual_line_num := NULL; -- 4262811
28191 l_tmp_amt := NULL; -- 4262811
28192 --
28193
28194 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28195 l_balance_type_code <> 'B' THEN
28196 IF NVL(p_source_96,'
28197 ') = 'ALWAYS_CLEAR' AND
28198 (NVL(p_source_47,'
28199 ') <> 'Y' OR
28200 NVL(p_source_47,'
28201 ') = 'Y' AND
28202 NVL(p_source_113,'
28203 ') <> 'Y') AND
28204 p_source_114 IS NULL AND
28205 NVL(p_source_97,'
28206 ') = 'CASH' AND
28207 NVL(p_source_122,'
28208 ') <> 'R' AND
28209 NVL(p_source_123,'
28210 ') <> 'PAYMENTCARD'
28211 THEN
28212
28213 --
28214 XLA_AE_LINES_PKG.SetNewLine;
28215
28216 p_balance_type_code := l_balance_type_code;
28217 -- set the flag so later we will know whether the gain loss line needs to be created
28221 END IF;
28218
28219 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28220 p_actual_flag :='A';
28222
28223 --
28224 -- bulk performance
28225 --
28226 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28227 p_header_num => 0); -- 4262811
28228 --
28229 -- set accounting line options
28230 --
28231 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28232 p_natural_side_code => 'C'
28233 , p_gain_or_loss_flag => 'N'
28234 , p_gl_transfer_mode_code => 'S'
28235 , p_acct_entry_type_code => 'A'
28236 , p_switch_side_flag => 'Y'
28237 , p_merge_duplicate_code => 'A'
28238 );
28239 --
28240 l_acc_rev_natural_side_code := 'D'; -- 4262811
28241 --
28242 --
28243 -- set accounting line type info
28244 --
28245 xla_ae_lines_pkg.SetAcctLineType
28246 (p_component_type => l_component_type
28247 ,p_event_type_code => l_event_type_code
28248 ,p_line_definition_owner_code => l_line_definition_owner_code
28249 ,p_line_definition_code => l_line_definition_code
28250 ,p_accounting_line_code => l_component_code
28251 ,p_accounting_line_type_code => l_component_type_code
28252 ,p_accounting_line_appl_id => l_component_appl_id
28253 ,p_amb_context_code => l_amb_context_code
28254 ,p_entity_code => l_entity_code
28255 ,p_event_class_code => l_event_class_code);
28256 --
28257 -- set accounting class
28258 --
28259 xla_ae_lines_pkg.SetAcctClass(
28260 p_accounting_class_code => 'CASH_CLEARING'
28261 , p_ae_header_id => l_ae_header_id
28262 );
28263
28264 --
28265 -- set rounding class
28266 --
28267 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28268 'CASH_CLEARING';
28269
28270 --
28271 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28272 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28273 --
28274 -- bulk performance
28275 --
28276 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28277
28278 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28279 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28280
28281 -- 4955764
28282 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28283 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28284
28285 -- 4458381 Public Sector Enh
28286
28287 --
28288 -- set accounting attributes for the line type
28289 --
28290 l_entered_amt_idx := 10;
28291 l_accted_amt_idx := 15;
28292 l_bflow_applied_to_amt_idx := 2; -- 5132302
28293 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28294 l_rec_acct_attrs.array_char_value(1) := p_source_52;
28295 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
28296 l_rec_acct_attrs.array_num_value(2) := p_source_124;
28297 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
28298 l_rec_acct_attrs.array_num_value(3) := p_source_90;
28299 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28300 l_rec_acct_attrs.array_char_value(4) := p_source_91;
28301 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
28302 l_rec_acct_attrs.array_char_value(5) := p_source_92;
28303 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
28304 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
28305 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28306 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
28307 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
28308 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
28309 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
28310 l_rec_acct_attrs.array_char_value(9) := p_source_54;
28311 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
28312 l_rec_acct_attrs.array_num_value(10) := p_source_98;
28313 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
28314 l_rec_acct_attrs.array_char_value(11) := p_source_13;
28315 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
28316 l_rec_acct_attrs.array_date_value(12) := p_source_117;
28317 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
28318 l_rec_acct_attrs.array_num_value(13) := p_source_118;
28319 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
28320 l_rec_acct_attrs.array_char_value(14) := p_source_119;
28321 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
28322 l_rec_acct_attrs.array_num_value(15) := p_source_116;
28323 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
28324 l_rec_acct_attrs.array_char_value(16) := p_source_79;
28325 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
28326 l_rec_acct_attrs.array_num_value(17) := p_source_109;
28330 l_rec_acct_attrs.array_char_value(19) := p_source_82;
28327 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
28328 l_rec_acct_attrs.array_num_value(18) := p_source_110;
28329 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
28331 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
28332 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
28333 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
28334 l_rec_acct_attrs.array_char_value(21) := p_source_54;
28335 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
28336 l_rec_acct_attrs.array_num_value(22) := p_source_85;
28337 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
28338 l_rec_acct_attrs.array_num_value(23) := p_source_86;
28339 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
28340 l_rec_acct_attrs.array_num_value(24) := p_source_87;
28341
28342 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28343 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28344
28345 ---------------------------------------------------------------------------------------------------------------
28346 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28347 ---------------------------------------------------------------------------------------------------------------
28348 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28349
28350 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28351 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28352
28353 IF xla_accounting_cache_pkg.GetValueChar
28354 (p_source_code => 'LEDGER_CATEGORY_CODE'
28355 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28356 AND l_bflow_method_code = 'PRIOR_ENTRY'
28357 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28358 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28359 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28360 )
28361 THEN
28362 xla_ae_lines_pkg.BflowUpgEntry
28363 (p_business_method_code => l_bflow_method_code
28364 ,p_business_class_code => l_bflow_class_code
28365 ,p_balance_type => l_balance_type_code);
28366 ELSE
28367 NULL;
28368 -- No business flow processing for business flow method of NONE.
28369 END IF;
28370
28371 --
28372 -- call analytical criteria
28373 --
28374
28375
28376 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
28377 xla_ae_lines_pkg.SetAnalyticalCriteria(
28378 p_analytical_criterion_name => 'Check Id'
28379 , p_analytical_criterion_owner => 'S'
28380 , p_analytical_criterion_code => 'CHECK_ID'
28381 , p_amb_context_code => 'DEFAULT'
28382 , p_balancing_flag => 'N'
28383
28384 , p_analytical_detail_char_1 => NULL
28385 , p_analytical_detail_num_1 => p_source_112
28386 , p_analytical_detail_date_1 => NULL
28387
28388 , p_ae_header_id => l_ae_header_id
28389 )
28390 ;
28391 --
28392
28393 --
28394 -- call description
28395 --
28396 -- No description or it is inherited.
28397 --
28398 -- call ADRs
28399 -- Bug 4922099
28400 --
28401 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28402 (NVL(l_actual_upg_option, 'N') = 'O') OR
28403 (NVL(l_enc_upg_option, 'N') = 'O')
28404 )
28405 THEN
28406 NULL;
28407 --
28408 --
28409
28410 l_ccid := AcctDerRule_35(
28411 p_application_id => p_application_id
28412 , p_ae_header_id => l_ae_header_id
28413 , p_source_35 => p_source_35
28414 , x_transaction_coa_id => l_adr_transaction_coa_id
28415 , x_accounting_coa_id => l_adr_accounting_coa_id
28416 , x_value_type_code => l_adr_value_type_code
28417 , p_side => 'NA'
28418 );
28419
28420 xla_ae_lines_pkg.set_ccid(
28421 p_code_combination_id => l_ccid
28422 , p_value_type_code => l_adr_value_type_code
28423 , p_transaction_coa_id => l_adr_transaction_coa_id
28424 , p_accounting_coa_id => l_adr_accounting_coa_id
28425 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28426 , p_adr_type_code => 'S'
28427 , p_component_type => l_component_type
28428 , p_component_code => l_component_code
28429 , p_component_type_code => l_component_type_code
28430 , p_component_appl_id => l_component_appl_id
28431 , p_amb_context_code => l_amb_context_code
28432 , p_side => 'NA'
28433 );
28434
28435
28436 --
28437 --
28438 END IF;
28439 --
28440 -- Bug 4922099
28441 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28442 (NVL(l_enc_upg_option, 'N') = 'O')
28443 ) AND
28444 (l_bflow_method_code = 'PRIOR_ENTRY')
28445 )
28446 THEN
28447 IF
28448 --
28452 xla_accounting_err_pkg.build_message
28449 1 = 2
28450 --
28451 THEN
28453 (p_appli_s_name => 'XLA'
28454 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28455 ,p_token_1 => 'LINE_NUMBER'
28456 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28457 ,p_token_2 => 'LINE_TYPE_NAME'
28458 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28459 l_component_type
28460 ,l_component_code
28461 ,l_component_type_code
28462 ,l_component_appl_id
28463 ,l_amb_context_code
28464 ,l_entity_code
28465 ,l_event_class_code
28466 )
28467 ,p_token_3 => 'OWNER'
28468 ,p_value_3 => xla_lookups_pkg.get_meaning(
28469 p_lookup_type => 'XLA_OWNER_TYPE'
28470 ,p_lookup_code => l_component_type_code
28471 )
28472 ,p_token_4 => 'PRODUCT_NAME'
28473 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28474 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28475 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28476 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28477 ,p_ae_header_id => NULL
28478 );
28479
28480 IF (C_LEVEL_ERROR>= g_log_level) THEN
28481 trace
28482 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28483 ,p_level => C_LEVEL_ERROR
28484 ,p_module => l_log_module);
28485 END IF;
28486 END IF;
28487 END IF;
28488 --
28489 --
28490 ------------------------------------------------------------------------------------------------
28491 -- 4219869 Business Flow
28492 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28493 -- Prior Entry. Currently, the following code is always generated.
28494 ------------------------------------------------------------------------------------------------
28495 XLA_AE_LINES_PKG.ValidateCurrentLine;
28496
28497 ------------------------------------------------------------------------------------
28498 -- 4219869 Business Flow
28499 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28500 ------------------------------------------------------------------------------------
28501 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28502
28503 ----------------------------------------------------------------------------------
28504 -- 4219869 Business Flow
28505 -- Update journal entry status -- Need to generate this within IF <condition>
28506 ----------------------------------------------------------------------------------
28507 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28508 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28509 ,p_balance_type_code => l_balance_type_code
28510 );
28511
28512 -------------------------------------------------------------------------------------------
28513 -- 4262811 - Generate the Accrual Reversal lines
28514 -------------------------------------------------------------------------------------------
28515 BEGIN
28516 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28517 (g_array_event(p_event_id).array_value_num('header_index'));
28518 IF l_acc_rev_flag IS NULL THEN
28519 l_acc_rev_flag := 'N';
28520 END IF;
28521 EXCEPTION
28522 WHEN OTHERS THEN
28523 l_acc_rev_flag := 'N';
28524 END;
28525 --
28526 IF (l_acc_rev_flag = 'Y') THEN
28527
28528 -- 4645092 ------------------------------------------------------------------------------
28529 -- To allow MPA report to determine if it should generate report process
28530 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28531 ------------------------------------------------------------------------------------------
28532
28533 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28534 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28535 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28536 -- call ADRs
28537 -- Bug 4922099
28538 --
28539 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28543 THEN
28540 (NVL(l_actual_upg_option, 'N') = 'O') OR
28541 (NVL(l_enc_upg_option, 'N') = 'O')
28542 )
28544 NULL;
28545 --
28546 --
28547
28548 l_ccid := AcctDerRule_35(
28549 p_application_id => p_application_id
28550 , p_ae_header_id => l_ae_header_id
28551 , p_source_35 => p_source_35
28552 , x_transaction_coa_id => l_adr_transaction_coa_id
28553 , x_accounting_coa_id => l_adr_accounting_coa_id
28554 , x_value_type_code => l_adr_value_type_code
28555 , p_side => 'NA'
28556 );
28557
28558 xla_ae_lines_pkg.set_ccid(
28559 p_code_combination_id => l_ccid
28560 , p_value_type_code => l_adr_value_type_code
28561 , p_transaction_coa_id => l_adr_transaction_coa_id
28562 , p_accounting_coa_id => l_adr_accounting_coa_id
28563 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28564 , p_adr_type_code => 'S'
28565 , p_component_type => l_component_type
28566 , p_component_code => l_component_code
28567 , p_component_type_code => l_component_type_code
28568 , p_component_appl_id => l_component_appl_id
28569 , p_amb_context_code => l_amb_context_code
28570 , p_side => 'NA'
28571 );
28572
28573
28574 --
28575 --
28576 END IF;
28577
28578 --
28579 -- Update the line information that should be overwritten
28580 --
28581 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28582 p_header_num => 1);
28583 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28584
28585 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28586
28587 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28588 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28589 END IF;
28590
28591 --
28592 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28593 --
28594 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28595 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28596 ELSE
28597 ---------------------------------------------------------------------------------------------------
28598 -- 4262811a Switch Sign
28599 ---------------------------------------------------------------------------------------------------
28600 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28602 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28604 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28605 -- 5132302
28606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28607 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28608
28609 END IF;
28610
28611 -- 4955764
28612 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28613 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28614
28615
28616 XLA_AE_LINES_PKG.ValidateCurrentLine;
28617 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28618
28619 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28620 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28621 ,p_balance_type_code => l_balance_type_code);
28622
28623 END IF;
28624
28625 -----------------------------------------------------------------------------------------
28626 -- 4262811 Multiperiod Accounting
28627 -----------------------------------------------------------------------------------------
28628 -- No MPA option is assigned.
28629
28630
28631 END IF;
28632 END IF;
28633 --
28634
28635 --
28636 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28637 trace
28638 (p_msg => 'END of AcctLineType_73'
28639 ,p_level => C_LEVEL_PROCEDURE
28640 ,p_module => l_log_module);
28641 END IF;
28642 --
28643 EXCEPTION
28644 WHEN xla_exceptions_pkg.application_exception THEN
28645 RAISE;
28646 WHEN OTHERS THEN
28647 xla_exceptions_pkg.raise_message
28648 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_73');
28649 END AcctLineType_73;
28650 --
28651
28652 ---------------------------------------
28653 --
28654 -- PRIVATE FUNCTION
28655 -- AcctLineType_74
28656 --
28657 ---------------------------------------
28658 PROCEDURE AcctLineType_74 (
28659 p_application_id IN NUMBER
28660 ,p_event_id IN NUMBER
28661 ,p_calculate_acctd_flag IN VARCHAR2
28662 ,p_calculate_g_l_flag IN VARCHAR2
28663 ,p_actual_flag IN OUT VARCHAR2
28667 --Payment Currency Code
28664 ,p_balance_type_code OUT VARCHAR2
28665 ,p_gain_or_loss_ref OUT VARCHAR2
28666
28668 , p_source_13 IN VARCHAR2
28669 --Bank Cash Clearing Account
28670 , p_source_35 IN NUMBER
28671 --Automatic Offsets Flag
28672 , p_source_47 IN VARCHAR2
28673 , p_source_47_meaning IN VARCHAR2
28674 --Accounting Reversal Indicator
28675 , p_source_52 IN VARCHAR2
28676 --Distribution Link Type
28677 , p_source_54 IN VARCHAR2
28678 --Override Accounted Amount Indicator
28679 , p_source_79 IN VARCHAR2
28680 , p_source_79_meaning IN VARCHAR2
28681 --Third Party Type
28682 , p_source_82 IN VARCHAR2
28683 --Business Flow Accounts Payable Application Identifier
28684 , p_source_90 IN NUMBER
28685 --When to Account for Payment Option
28686 , p_source_96 IN VARCHAR2
28687 --Payment Distribution Type
28688 , p_source_97 IN VARCHAR2
28689 , p_source_97_meaning IN VARCHAR2
28690 --Payment Distribution Amount
28691 , p_source_98 IN NUMBER
28692 --Business Flow Payment Distribution Type
28693 , p_source_99 IN VARCHAR2
28694 --Business Flow Payment Entity Code
28695 , p_source_100 IN VARCHAR2
28696 --Business Flow Payment Distribution Identifier
28697 , p_source_101 IN NUMBER
28698 --Business Flow Payment Identifier
28699 , p_source_102 IN NUMBER
28700 --Payment Distribution Identifier
28701 , p_source_103 IN NUMBER
28702 --Payment Supplier Identifier
28703 , p_source_109 IN NUMBER
28704 --Payment Supplier Site Identifier
28705 , p_source_110 IN NUMBER
28706 --Payment Distribution Reversed Identifier
28707 , p_source_111 IN NUMBER
28708 --Payment Identifier
28709 , p_source_112 IN NUMBER
28710 --Pooled Bank Account Option
28711 , p_source_113 IN VARCHAR2
28712 , p_source_113_meaning IN VARCHAR2
28713 --Payment Maturity Date
28714 , p_source_114 IN DATE
28715 --Payment Exchange Date
28716 , p_source_117 IN DATE
28717 --Payment Exchange Rate
28718 , p_source_118 IN NUMBER
28719 --Payment Exchange Rate Type
28720 , p_source_119 IN VARCHAR2
28721 --Payment Distribution (Matured Rate) Ledger Amount
28722 , p_source_121 IN NUMBER
28723 )
28724 IS
28725
28726 l_component_type VARCHAR2(80);
28727 l_component_code VARCHAR2(30);
28728 l_component_type_code VARCHAR2(1);
28729 l_component_appl_id INTEGER;
28730 l_amb_context_code VARCHAR2(30);
28731 l_entity_code VARCHAR2(30);
28732 l_event_class_code VARCHAR2(30);
28733 l_ae_header_id NUMBER;
28734 l_event_type_code VARCHAR2(30);
28735 l_line_definition_code VARCHAR2(30);
28736 l_line_definition_owner_code VARCHAR2(1);
28737 --
28738 -- adr variables
28739 l_segment VARCHAR2(30);
28740 l_ccid NUMBER;
28741 l_adr_transaction_coa_id NUMBER;
28742 l_adr_accounting_coa_id NUMBER;
28743 l_adr_flexfield_segment_code VARCHAR2(30);
28744 l_adr_flex_value_set_id NUMBER;
28745 l_adr_value_type_code VARCHAR2(30);
28746 l_adr_value_combination_id NUMBER;
28747 l_adr_value_segment_code VARCHAR2(30);
28748
28749 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28750 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28751 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28752 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28753
28754 -- 4262811 Variables ------------------------------------------------------------------------------------------
28755 l_entered_amt_idx NUMBER;
28756 l_accted_amt_idx NUMBER;
28757 l_acc_rev_flag VARCHAR2(1);
28758 l_accrual_line_num NUMBER;
28759 l_tmp_amt NUMBER;
28760 l_acc_rev_natural_side_code VARCHAR2(1);
28761
28762 l_num_entries NUMBER;
28763 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28764 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28765 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28766 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28767 l_recog_line_1 NUMBER;
28768 l_recog_line_2 NUMBER;
28769
28770 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28771 l_bflow_applied_to_amt NUMBER; -- 5132302
28772 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28773
28774 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28775
28776 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28777 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28778
28779 ---------------------------------------------------------------------------------------------------------------
28780
28781
28782 --
28783 -- bulk performance
28784 --
28785 l_balance_type_code VARCHAR2(1);
28786 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28787 l_log_module VARCHAR2(240);
28788
28789 --
28793 l_enc_upg_option VARCHAR2(1);
28790 -- Upgrade strategy
28791 --
28792 l_actual_upg_option VARCHAR2(1);
28794
28795 --
28796 BEGIN
28797 --
28798 IF g_log_enabled THEN
28799 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_74';
28800 END IF;
28801 --
28802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28803
28804 trace
28805 (p_msg => 'BEGIN of AcctLineType_74'
28806 ,p_level => C_LEVEL_PROCEDURE
28807 ,p_module => l_log_module);
28808
28809 END IF;
28810 --
28811 l_component_type := 'AMB_JLT';
28812 l_component_code := 'AP_CASH_CLEAR_PMT_MAT';
28813 l_component_type_code := 'S';
28814 l_component_appl_id := 200;
28815 l_amb_context_code := 'DEFAULT';
28816 l_entity_code := 'AP_PAYMENTS';
28817 l_event_class_code := 'FUTURE DATED PAYMENTS';
28818 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
28819 l_line_definition_owner_code := 'S';
28820 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
28821 --
28822 l_balance_type_code := 'A';
28823 l_segment := NULL;
28824 l_ccid := NULL;
28825 l_adr_transaction_coa_id := NULL;
28826 l_adr_accounting_coa_id := NULL;
28827 l_adr_flexfield_segment_code := NULL;
28828 l_adr_flex_value_set_id := NULL;
28829 l_adr_value_type_code := NULL;
28830 l_adr_value_combination_id := NULL;
28831 l_adr_value_segment_code := NULL;
28832
28833 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
28834 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28835 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28836 l_budgetary_control_flag := 'N';
28837
28838 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28839 l_bflow_applied_to_amt := NULL; -- 5132302
28840 l_entered_amt_idx := NULL; -- 4262811
28841 l_accted_amt_idx := NULL; -- 4262811
28842 l_acc_rev_flag := NULL; -- 4262811
28843 l_accrual_line_num := NULL; -- 4262811
28844 l_tmp_amt := NULL; -- 4262811
28845 --
28846
28847 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28848 l_balance_type_code <> 'B' THEN
28849 IF (NVL(p_source_96,'
28850 ') = 'ALWAYS_ALWAYS' OR
28851 NVL(p_source_96,'
28852 ') = 'ALWAYS_ISSUE') AND
28853 (NVL(p_source_47,'
28854 ') <> 'Y' OR
28855 NVL(p_source_47,'
28856 ') = 'Y' AND
28857 NVL(p_source_113,'
28858 ') <> 'Y') AND
28859 p_source_114 IS NOT NULL AND
28860 NVL(p_source_97,'
28861 ') = 'CASH'
28862 THEN
28863
28864 --
28865 XLA_AE_LINES_PKG.SetNewLine;
28866
28867 p_balance_type_code := l_balance_type_code;
28868 -- set the flag so later we will know whether the gain loss line needs to be created
28869
28870 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28871 p_actual_flag :='A';
28872 END IF;
28873
28874 --
28875 -- bulk performance
28876 --
28877 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28878 p_header_num => 0); -- 4262811
28879 --
28880 -- set accounting line options
28881 --
28882 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28883 p_natural_side_code => 'C'
28884 , p_gain_or_loss_flag => 'N'
28885 , p_gl_transfer_mode_code => 'S'
28886 , p_acct_entry_type_code => 'A'
28887 , p_switch_side_flag => 'Y'
28888 , p_merge_duplicate_code => 'A'
28889 );
28890 --
28891 l_acc_rev_natural_side_code := 'D'; -- 4262811
28892 --
28893 --
28894 -- set accounting line type info
28895 --
28896 xla_ae_lines_pkg.SetAcctLineType
28897 (p_component_type => l_component_type
28898 ,p_event_type_code => l_event_type_code
28899 ,p_line_definition_owner_code => l_line_definition_owner_code
28900 ,p_line_definition_code => l_line_definition_code
28901 ,p_accounting_line_code => l_component_code
28902 ,p_accounting_line_type_code => l_component_type_code
28903 ,p_accounting_line_appl_id => l_component_appl_id
28904 ,p_amb_context_code => l_amb_context_code
28905 ,p_entity_code => l_entity_code
28906 ,p_event_class_code => l_event_class_code);
28907 --
28908 -- set accounting class
28909 --
28910 xla_ae_lines_pkg.SetAcctClass(
28911 p_accounting_class_code => 'CASH_CLEARING'
28912 , p_ae_header_id => l_ae_header_id
28913 );
28914
28915 --
28916 -- set rounding class
28917 --
28918 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28919 'CASH_CLEARING';
28920
28921 --
28922 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28923 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28924 --
28925 -- bulk performance
28926 --
28930 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28927 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28928
28929 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28931
28932 -- 4955764
28933 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28934 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28935
28936 -- 4458381 Public Sector Enh
28937
28938 --
28939 -- set accounting attributes for the line type
28940 --
28941 l_entered_amt_idx := 9;
28942 l_accted_amt_idx := 14;
28943 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28944 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28945 l_rec_acct_attrs.array_char_value(1) := p_source_52;
28946 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
28947 l_rec_acct_attrs.array_num_value(2) := p_source_90;
28948 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28949 l_rec_acct_attrs.array_char_value(3) := p_source_99;
28950 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
28951 l_rec_acct_attrs.array_char_value(4) := p_source_100;
28952 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
28953 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
28954 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28955 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
28956 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
28957 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
28958 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
28959 l_rec_acct_attrs.array_char_value(8) := p_source_54;
28960 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
28961 l_rec_acct_attrs.array_num_value(9) := p_source_98;
28962 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
28963 l_rec_acct_attrs.array_char_value(10) := p_source_13;
28964 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
28965 l_rec_acct_attrs.array_date_value(11) := p_source_117;
28966 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
28967 l_rec_acct_attrs.array_num_value(12) := p_source_118;
28968 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
28969 l_rec_acct_attrs.array_char_value(13) := p_source_119;
28970 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
28971 l_rec_acct_attrs.array_num_value(14) := p_source_121;
28972 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
28973 l_rec_acct_attrs.array_char_value(15) := p_source_79;
28974 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
28975 l_rec_acct_attrs.array_num_value(16) := p_source_109;
28976 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
28977 l_rec_acct_attrs.array_num_value(17) := p_source_110;
28978 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
28979 l_rec_acct_attrs.array_char_value(18) := p_source_82;
28980 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
28981 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
28982 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
28983 l_rec_acct_attrs.array_char_value(20) := p_source_54;
28984
28985 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28986 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28987
28988 ---------------------------------------------------------------------------------------------------------------
28989 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28990 ---------------------------------------------------------------------------------------------------------------
28991 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28992
28993 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28994 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28995
28996 IF xla_accounting_cache_pkg.GetValueChar
28997 (p_source_code => 'LEDGER_CATEGORY_CODE'
28998 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28999 AND l_bflow_method_code = 'PRIOR_ENTRY'
29000 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29001 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29002 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29003 )
29004 THEN
29005 xla_ae_lines_pkg.BflowUpgEntry
29006 (p_business_method_code => l_bflow_method_code
29007 ,p_business_class_code => l_bflow_class_code
29008 ,p_balance_type => l_balance_type_code);
29009 ELSE
29010 NULL;
29011 -- No business flow processing for business flow method of NONE.
29012 END IF;
29013
29014 --
29015 -- call analytical criteria
29016 --
29017
29018
29019 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
29020 xla_ae_lines_pkg.SetAnalyticalCriteria(
29021 p_analytical_criterion_name => 'Check Id'
29022 , p_analytical_criterion_owner => 'S'
29026
29023 , p_analytical_criterion_code => 'CHECK_ID'
29024 , p_amb_context_code => 'DEFAULT'
29025 , p_balancing_flag => 'N'
29027 , p_analytical_detail_char_1 => NULL
29028 , p_analytical_detail_num_1 => p_source_112
29029 , p_analytical_detail_date_1 => NULL
29030
29031 , p_ae_header_id => l_ae_header_id
29032 )
29033 ;
29034 --
29035
29036 --
29037 -- call description
29038 --
29039 -- No description or it is inherited.
29040 --
29041 -- call ADRs
29042 -- Bug 4922099
29043 --
29044 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29045 (NVL(l_actual_upg_option, 'N') = 'O') OR
29046 (NVL(l_enc_upg_option, 'N') = 'O')
29047 )
29048 THEN
29049 NULL;
29050 --
29051 --
29052
29053 l_ccid := AcctDerRule_35(
29054 p_application_id => p_application_id
29055 , p_ae_header_id => l_ae_header_id
29056 , p_source_35 => p_source_35
29057 , x_transaction_coa_id => l_adr_transaction_coa_id
29058 , x_accounting_coa_id => l_adr_accounting_coa_id
29059 , x_value_type_code => l_adr_value_type_code
29060 , p_side => 'NA'
29061 );
29062
29063 xla_ae_lines_pkg.set_ccid(
29064 p_code_combination_id => l_ccid
29065 , p_value_type_code => l_adr_value_type_code
29066 , p_transaction_coa_id => l_adr_transaction_coa_id
29067 , p_accounting_coa_id => l_adr_accounting_coa_id
29068 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29069 , p_adr_type_code => 'S'
29070 , p_component_type => l_component_type
29071 , p_component_code => l_component_code
29072 , p_component_type_code => l_component_type_code
29073 , p_component_appl_id => l_component_appl_id
29074 , p_amb_context_code => l_amb_context_code
29075 , p_side => 'NA'
29076 );
29077
29078
29079 --
29080 --
29081 END IF;
29082 --
29083 -- Bug 4922099
29084 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29085 (NVL(l_enc_upg_option, 'N') = 'O')
29086 ) AND
29087 (l_bflow_method_code = 'PRIOR_ENTRY')
29088 )
29089 THEN
29090 IF
29091 --
29092 1 = 2
29093 --
29094 THEN
29095 xla_accounting_err_pkg.build_message
29096 (p_appli_s_name => 'XLA'
29097 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29098 ,p_token_1 => 'LINE_NUMBER'
29099 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29100 ,p_token_2 => 'LINE_TYPE_NAME'
29101 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29102 l_component_type
29103 ,l_component_code
29104 ,l_component_type_code
29105 ,l_component_appl_id
29106 ,l_amb_context_code
29107 ,l_entity_code
29108 ,l_event_class_code
29109 )
29110 ,p_token_3 => 'OWNER'
29111 ,p_value_3 => xla_lookups_pkg.get_meaning(
29112 p_lookup_type => 'XLA_OWNER_TYPE'
29113 ,p_lookup_code => l_component_type_code
29114 )
29115 ,p_token_4 => 'PRODUCT_NAME'
29116 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29117 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29118 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29119 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29120 ,p_ae_header_id => NULL
29121 );
29122
29123 IF (C_LEVEL_ERROR>= g_log_level) THEN
29124 trace
29125 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29126 ,p_level => C_LEVEL_ERROR
29127 ,p_module => l_log_module);
29128 END IF;
29129 END IF;
29130 END IF;
29131 --
29132 --
29133 ------------------------------------------------------------------------------------------------
29134 -- 4219869 Business Flow
29138 XLA_AE_LINES_PKG.ValidateCurrentLine;
29135 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29136 -- Prior Entry. Currently, the following code is always generated.
29137 ------------------------------------------------------------------------------------------------
29139
29140 ------------------------------------------------------------------------------------
29141 -- 4219869 Business Flow
29142 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29143 ------------------------------------------------------------------------------------
29144 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29145
29146 ----------------------------------------------------------------------------------
29147 -- 4219869 Business Flow
29148 -- Update journal entry status -- Need to generate this within IF <condition>
29149 ----------------------------------------------------------------------------------
29150 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29151 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29152 ,p_balance_type_code => l_balance_type_code
29153 );
29154
29155 -------------------------------------------------------------------------------------------
29156 -- 4262811 - Generate the Accrual Reversal lines
29157 -------------------------------------------------------------------------------------------
29158 BEGIN
29159 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29160 (g_array_event(p_event_id).array_value_num('header_index'));
29161 IF l_acc_rev_flag IS NULL THEN
29162 l_acc_rev_flag := 'N';
29163 END IF;
29164 EXCEPTION
29165 WHEN OTHERS THEN
29166 l_acc_rev_flag := 'N';
29167 END;
29168 --
29169 IF (l_acc_rev_flag = 'Y') THEN
29170
29171 -- 4645092 ------------------------------------------------------------------------------
29172 -- To allow MPA report to determine if it should generate report process
29173 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29174 ------------------------------------------------------------------------------------------
29175
29176 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29177 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29178 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29179 -- call ADRs
29180 -- Bug 4922099
29181 --
29182 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29183 (NVL(l_actual_upg_option, 'N') = 'O') OR
29184 (NVL(l_enc_upg_option, 'N') = 'O')
29185 )
29186 THEN
29187 NULL;
29188 --
29189 --
29190
29191 l_ccid := AcctDerRule_35(
29192 p_application_id => p_application_id
29193 , p_ae_header_id => l_ae_header_id
29194 , p_source_35 => p_source_35
29195 , x_transaction_coa_id => l_adr_transaction_coa_id
29196 , x_accounting_coa_id => l_adr_accounting_coa_id
29197 , x_value_type_code => l_adr_value_type_code
29198 , p_side => 'NA'
29199 );
29200
29201 xla_ae_lines_pkg.set_ccid(
29202 p_code_combination_id => l_ccid
29203 , p_value_type_code => l_adr_value_type_code
29204 , p_transaction_coa_id => l_adr_transaction_coa_id
29205 , p_accounting_coa_id => l_adr_accounting_coa_id
29206 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29207 , p_adr_type_code => 'S'
29208 , p_component_type => l_component_type
29209 , p_component_code => l_component_code
29210 , p_component_type_code => l_component_type_code
29211 , p_component_appl_id => l_component_appl_id
29212 , p_amb_context_code => l_amb_context_code
29213 , p_side => 'NA'
29214 );
29215
29216
29217 --
29218 --
29219 END IF;
29220
29221 --
29222 -- Update the line information that should be overwritten
29223 --
29224 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29225 p_header_num => 1);
29226 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29227
29228 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29229
29230 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29231 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29232 END IF;
29233
29234 --
29235 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29236 --
29237 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29238 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29239 ELSE
29240 ---------------------------------------------------------------------------------------------------
29241 -- 4262811a Switch Sign
29242 ---------------------------------------------------------------------------------------------------
29243 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29244 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29248 -- 5132302
29245 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29246 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29247 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29249 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29250 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29251
29252 END IF;
29253
29254 -- 4955764
29255 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29256 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29257
29258
29259 XLA_AE_LINES_PKG.ValidateCurrentLine;
29260 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29261
29262 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29263 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29264 ,p_balance_type_code => l_balance_type_code);
29265
29266 END IF;
29267
29268 -----------------------------------------------------------------------------------------
29269 -- 4262811 Multiperiod Accounting
29270 -----------------------------------------------------------------------------------------
29271 -- No MPA option is assigned.
29272
29273
29274 END IF;
29275 END IF;
29276 --
29277
29278 --
29279 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29280 trace
29281 (p_msg => 'END of AcctLineType_74'
29282 ,p_level => C_LEVEL_PROCEDURE
29283 ,p_module => l_log_module);
29284 END IF;
29285 --
29286 EXCEPTION
29287 WHEN xla_exceptions_pkg.application_exception THEN
29288 RAISE;
29289 WHEN OTHERS THEN
29290 xla_exceptions_pkg.raise_message
29291 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_74');
29292 END AcctLineType_74;
29293 --
29294
29295 ---------------------------------------
29296 --
29297 -- PRIVATE FUNCTION
29298 -- AcctLineType_75
29299 --
29300 ---------------------------------------
29301 PROCEDURE AcctLineType_75 (
29302 p_application_id IN NUMBER
29303 ,p_event_id IN NUMBER
29304 ,p_calculate_acctd_flag IN VARCHAR2
29305 ,p_calculate_g_l_flag IN VARCHAR2
29306 ,p_actual_flag IN OUT VARCHAR2
29307 ,p_balance_type_code OUT VARCHAR2
29308 ,p_gain_or_loss_ref OUT VARCHAR2
29309
29310 --Payment Currency Code
29311 , p_source_13 IN VARCHAR2
29312 --Automatic Offsets Value
29313 , p_source_15 IN VARCHAR2
29314 , p_source_15_meaning IN VARCHAR2
29315 --Bank Cash Clearing Account
29316 , p_source_35 IN NUMBER
29317 --Accounting Reversal Indicator
29318 , p_source_52 IN VARCHAR2
29319 --Distribution Link Type
29320 , p_source_54 IN VARCHAR2
29321 --Override Accounted Amount Indicator
29322 , p_source_79 IN VARCHAR2
29323 , p_source_79_meaning IN VARCHAR2
29324 --Third Party Type
29325 , p_source_82 IN VARCHAR2
29326 --Business Flow Accounts Payable Application Identifier
29327 , p_source_90 IN NUMBER
29328 --When to Account for Payment Option
29329 , p_source_96 IN VARCHAR2
29330 --Payment Distribution Type
29331 , p_source_97 IN VARCHAR2
29332 , p_source_97_meaning IN VARCHAR2
29333 --Payment Distribution Amount
29334 , p_source_98 IN NUMBER
29335 --Business Flow Payment Distribution Type
29336 , p_source_99 IN VARCHAR2
29337 --Business Flow Payment Entity Code
29338 , p_source_100 IN VARCHAR2
29339 --Business Flow Payment Distribution Identifier
29340 , p_source_101 IN NUMBER
29341 --Business Flow Payment Identifier
29342 , p_source_102 IN NUMBER
29343 --Payment Distribution Identifier
29344 , p_source_103 IN NUMBER
29345 --Payment Supplier Identifier
29346 , p_source_109 IN NUMBER
29347 --Payment Supplier Site Identifier
29348 , p_source_110 IN NUMBER
29349 --Payment Distribution Reversed Identifier
29350 , p_source_111 IN NUMBER
29351 --Payment Identifier
29352 , p_source_112 IN NUMBER
29353 --Pooled Bank Account Option
29354 , p_source_113 IN VARCHAR2
29355 , p_source_113_meaning IN VARCHAR2
29356 --Payment Maturity Date
29357 , p_source_114 IN DATE
29358 --Payment Exchange Date
29359 , p_source_117 IN DATE
29360 --Payment Exchange Rate
29361 , p_source_118 IN NUMBER
29362 --Payment Exchange Rate Type
29363 , p_source_119 IN VARCHAR2
29364 --Payment Distribution (Matured Rate) Ledger Amount
29365 , p_source_121 IN NUMBER
29366 )
29367 IS
29368
29369 l_component_type VARCHAR2(80);
29370 l_component_code VARCHAR2(30);
29371 l_component_type_code VARCHAR2(1);
29372 l_component_appl_id INTEGER;
29373 l_amb_context_code VARCHAR2(30);
29374 l_entity_code VARCHAR2(30);
29375 l_event_class_code VARCHAR2(30);
29376 l_ae_header_id NUMBER;
29377 l_event_type_code VARCHAR2(30);
29381 -- adr variables
29378 l_line_definition_code VARCHAR2(30);
29379 l_line_definition_owner_code VARCHAR2(1);
29380 --
29382 l_segment VARCHAR2(30);
29383 l_ccid NUMBER;
29384 l_adr_transaction_coa_id NUMBER;
29385 l_adr_accounting_coa_id NUMBER;
29386 l_adr_flexfield_segment_code VARCHAR2(30);
29387 l_adr_flex_value_set_id NUMBER;
29388 l_adr_value_type_code VARCHAR2(30);
29389 l_adr_value_combination_id NUMBER;
29390 l_adr_value_segment_code VARCHAR2(30);
29391
29392 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29393 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29394 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29395 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29396
29397 -- 4262811 Variables ------------------------------------------------------------------------------------------
29398 l_entered_amt_idx NUMBER;
29399 l_accted_amt_idx NUMBER;
29400 l_acc_rev_flag VARCHAR2(1);
29401 l_accrual_line_num NUMBER;
29402 l_tmp_amt NUMBER;
29403 l_acc_rev_natural_side_code VARCHAR2(1);
29404
29405 l_num_entries NUMBER;
29406 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29407 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29408 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29409 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29410 l_recog_line_1 NUMBER;
29411 l_recog_line_2 NUMBER;
29412
29413 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29414 l_bflow_applied_to_amt NUMBER; -- 5132302
29415 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29416
29417 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29418
29419 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29420 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29421
29422 ---------------------------------------------------------------------------------------------------------------
29423
29424
29425 --
29426 -- bulk performance
29427 --
29428 l_balance_type_code VARCHAR2(1);
29429 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29430 l_log_module VARCHAR2(240);
29431
29432 --
29433 -- Upgrade strategy
29434 --
29435 l_actual_upg_option VARCHAR2(1);
29436 l_enc_upg_option VARCHAR2(1);
29437
29438 --
29439 BEGIN
29440 --
29441 IF g_log_enabled THEN
29442 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_75';
29443 END IF;
29444 --
29445 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29446
29447 trace
29448 (p_msg => 'BEGIN of AcctLineType_75'
29449 ,p_level => C_LEVEL_PROCEDURE
29450 ,p_module => l_log_module);
29451
29452 END IF;
29453 --
29454 l_component_type := 'AMB_JLT';
29455 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_AS';
29456 l_component_type_code := 'S';
29457 l_component_appl_id := 200;
29458 l_amb_context_code := 'DEFAULT';
29459 l_entity_code := 'AP_PAYMENTS';
29460 l_event_class_code := 'FUTURE DATED PAYMENTS';
29461 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
29462 l_line_definition_owner_code := 'S';
29463 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
29464 --
29465 l_balance_type_code := 'A';
29466 l_segment := NULL;
29467 l_ccid := NULL;
29468 l_adr_transaction_coa_id := NULL;
29469 l_adr_accounting_coa_id := NULL;
29470 l_adr_flexfield_segment_code := NULL;
29471 l_adr_flex_value_set_id := NULL;
29472 l_adr_value_type_code := NULL;
29473 l_adr_value_combination_id := NULL;
29474 l_adr_value_segment_code := NULL;
29475
29476 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
29477 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
29478 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
29479 l_budgetary_control_flag := 'N';
29480
29481 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29482 l_bflow_applied_to_amt := NULL; -- 5132302
29483 l_entered_amt_idx := NULL; -- 4262811
29484 l_accted_amt_idx := NULL; -- 4262811
29485 l_acc_rev_flag := NULL; -- 4262811
29486 l_accrual_line_num := NULL; -- 4262811
29487 l_tmp_amt := NULL; -- 4262811
29488 --
29489
29490 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29491 l_balance_type_code <> 'B' THEN
29492 IF (NVL(p_source_96,'
29493 ') = 'ALWAYS_ALWAYS' OR
29494 NVL(p_source_96,'
29495 ') = 'ALWAYS_ISSUE') AND
29496 (NVL(p_source_113,'
29497 ') = 'Y' AND
29498 NVL(p_source_15,'
29499 ') = 'ACCOUNT_SEGMENT_VALUE') AND
29500 p_source_114 IS NOT NULL AND
29501 NVL(p_source_97,'
29502 ') = 'CASH'
29503 THEN
29504
29505 --
29506 XLA_AE_LINES_PKG.SetNewLine;
29507
29508 p_balance_type_code := l_balance_type_code;
29512 p_actual_flag :='A';
29509 -- set the flag so later we will know whether the gain loss line needs to be created
29510
29511 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29513 END IF;
29514
29515 --
29516 -- bulk performance
29517 --
29518 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29519 p_header_num => 0); -- 4262811
29520 --
29521 -- set accounting line options
29522 --
29523 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29524 p_natural_side_code => 'C'
29525 , p_gain_or_loss_flag => 'N'
29526 , p_gl_transfer_mode_code => 'S'
29527 , p_acct_entry_type_code => 'A'
29528 , p_switch_side_flag => 'Y'
29529 , p_merge_duplicate_code => 'A'
29530 );
29531 --
29532 l_acc_rev_natural_side_code := 'D'; -- 4262811
29533 --
29534 --
29535 -- set accounting line type info
29536 --
29537 xla_ae_lines_pkg.SetAcctLineType
29538 (p_component_type => l_component_type
29539 ,p_event_type_code => l_event_type_code
29540 ,p_line_definition_owner_code => l_line_definition_owner_code
29541 ,p_line_definition_code => l_line_definition_code
29542 ,p_accounting_line_code => l_component_code
29543 ,p_accounting_line_type_code => l_component_type_code
29544 ,p_accounting_line_appl_id => l_component_appl_id
29545 ,p_amb_context_code => l_amb_context_code
29546 ,p_entity_code => l_entity_code
29547 ,p_event_class_code => l_event_class_code);
29548 --
29549 -- set accounting class
29550 --
29551 xla_ae_lines_pkg.SetAcctClass(
29552 p_accounting_class_code => 'CASH_CLEARING'
29553 , p_ae_header_id => l_ae_header_id
29554 );
29555
29556 --
29557 -- set rounding class
29558 --
29559 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29560 'CASH_CLEARING';
29561
29562 --
29563 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29564 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29565 --
29566 -- bulk performance
29567 --
29568 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29569
29570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29571 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29572
29573 -- 4955764
29574 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29575 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29576
29577 -- 4458381 Public Sector Enh
29578
29579 --
29580 -- set accounting attributes for the line type
29581 --
29582 l_entered_amt_idx := 9;
29583 l_accted_amt_idx := 14;
29584 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29585 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29586 l_rec_acct_attrs.array_char_value(1) := p_source_52;
29587 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
29588 l_rec_acct_attrs.array_num_value(2) := p_source_90;
29589 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29590 l_rec_acct_attrs.array_char_value(3) := p_source_99;
29591 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
29592 l_rec_acct_attrs.array_char_value(4) := p_source_100;
29593 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
29594 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
29595 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29596 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
29597 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
29598 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
29599 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
29600 l_rec_acct_attrs.array_char_value(8) := p_source_54;
29601 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
29602 l_rec_acct_attrs.array_num_value(9) := p_source_98;
29603 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
29604 l_rec_acct_attrs.array_char_value(10) := p_source_13;
29605 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
29606 l_rec_acct_attrs.array_date_value(11) := p_source_117;
29607 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
29608 l_rec_acct_attrs.array_num_value(12) := p_source_118;
29609 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
29610 l_rec_acct_attrs.array_char_value(13) := p_source_119;
29611 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
29612 l_rec_acct_attrs.array_num_value(14) := p_source_121;
29613 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
29614 l_rec_acct_attrs.array_char_value(15) := p_source_79;
29615 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
29616 l_rec_acct_attrs.array_num_value(16) := p_source_109;
29620 l_rec_acct_attrs.array_char_value(18) := p_source_82;
29617 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
29618 l_rec_acct_attrs.array_num_value(17) := p_source_110;
29619 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
29621 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
29622 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
29623 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
29624 l_rec_acct_attrs.array_char_value(20) := p_source_54;
29625
29626 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29627 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29628
29629 ---------------------------------------------------------------------------------------------------------------
29630 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29631 ---------------------------------------------------------------------------------------------------------------
29632 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29633
29634 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29635 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29636
29637 IF xla_accounting_cache_pkg.GetValueChar
29638 (p_source_code => 'LEDGER_CATEGORY_CODE'
29639 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29640 AND l_bflow_method_code = 'PRIOR_ENTRY'
29641 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29642 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29643 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29644 )
29645 THEN
29646 xla_ae_lines_pkg.BflowUpgEntry
29647 (p_business_method_code => l_bflow_method_code
29648 ,p_business_class_code => l_bflow_class_code
29649 ,p_balance_type => l_balance_type_code);
29650 ELSE
29651 NULL;
29652 XLA_AE_LINES_PKG.business_flow_validation(
29653 p_business_method_code => l_bflow_method_code
29654 ,p_business_class_code => l_bflow_class_code
29655 ,p_inherit_description_flag => l_inherit_desc_flag);
29656 END IF;
29657
29658 --
29659 -- call analytical criteria
29660 --
29661
29662
29663 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
29664 xla_ae_lines_pkg.SetAnalyticalCriteria(
29665 p_analytical_criterion_name => 'Check Id'
29666 , p_analytical_criterion_owner => 'S'
29667 , p_analytical_criterion_code => 'CHECK_ID'
29668 , p_amb_context_code => 'DEFAULT'
29669 , p_balancing_flag => 'N'
29670
29671 , p_analytical_detail_char_1 => NULL
29672 , p_analytical_detail_num_1 => p_source_112
29673 , p_analytical_detail_date_1 => NULL
29674
29675 , p_ae_header_id => l_ae_header_id
29676 )
29677 ;
29678 --
29679
29680 --
29681 -- call description
29682 --
29683 -- No description or it is inherited.
29684 --
29685 -- call ADRs
29686 -- Bug 4922099
29687 --
29688 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29689 (NVL(l_actual_upg_option, 'N') = 'O') OR
29690 (NVL(l_enc_upg_option, 'N') = 'O')
29691 )
29692 THEN
29693 NULL;
29694 --
29695 --
29696
29697 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
29698 p_code_combination_id => TO_NUMBER(C_NUM)
29699 , p_value_type_code => NULL
29700 , p_transaction_coa_id => null
29701 , p_accounting_coa_id => null
29702 , p_adr_code => NULL
29703 , p_adr_type_code => NULL
29704 , p_component_type => l_component_type
29705 , p_component_code => l_component_code
29706 , p_component_type_code => l_component_type_code
29707 , p_component_appl_id => l_component_appl_id
29708 , p_amb_context_code => l_amb_context_code
29709 , p_side => NULL
29710 );
29711
29712
29713 -- initialise segments
29714 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29715 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29716 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29717 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29718 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29719 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29720 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29721 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29722 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29723 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29724 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29725 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29729 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29726 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29727 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29728 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29730 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29731 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29732 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29733 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29734 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29735 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29736 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29737 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29738 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29739 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29740 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29741 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29742 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29743 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29744 --
29745
29746 --
29747
29748
29749 l_segment := AcctDerRule_16(
29750 p_application_id => p_application_id
29751 , p_ae_header_id => l_ae_header_id
29752 , p_source_35 => p_source_35
29753 , x_transaction_coa_id => l_adr_transaction_coa_id
29754 , x_accounting_coa_id => l_adr_accounting_coa_id
29755 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29756 , x_flex_value_set_id => l_adr_flex_value_set_id
29757 , x_value_type_code => l_adr_value_type_code
29758 , x_value_combination_id => l_adr_value_combination_id
29759 , x_value_segment_code => l_adr_value_segment_code
29760 , p_side => 'NA'
29761 , p_override_seg_flag => 'Y'
29762 );
29763
29764 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29765
29766 xla_ae_lines_pkg.set_segment(
29767 p_to_segment_code => 'GL_ACCOUNT'
29768 , p_segment_value => l_segment
29769 , p_from_segment_code => l_adr_value_segment_code
29770 , p_from_combination_id => l_adr_value_combination_id
29771 , p_value_type_code => l_adr_value_type_code
29772 , p_transaction_coa_id => l_adr_transaction_coa_id
29773 , p_accounting_coa_id => l_adr_accounting_coa_id
29774 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29775 , p_flex_value_set_id => l_adr_flex_value_set_id
29776 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29777 , p_adr_type_code => 'S'
29778 , p_component_type => l_component_type
29779 , p_component_code => l_component_code
29780 , p_component_type_code => l_component_type_code
29781 , p_component_appl_id => l_component_appl_id
29782 , p_amb_context_code => l_amb_context_code
29783 , p_entity_code => 'AP_PAYMENTS'
29784 , p_event_class_code => 'FUTURE DATED PAYMENTS'
29785 , p_side => 'NA'
29786 );
29787
29788 END IF;
29789
29790 --
29791 --
29792 END IF;
29793 --
29794 -- Bug 4922099
29795 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29796 (NVL(l_enc_upg_option, 'N') = 'O')
29797 ) AND
29798 (l_bflow_method_code = 'PRIOR_ENTRY')
29799 )
29800 THEN
29801 IF
29802 --
29803 1 = 2
29804 --
29805 THEN
29806 xla_accounting_err_pkg.build_message
29807 (p_appli_s_name => 'XLA'
29808 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29809 ,p_token_1 => 'LINE_NUMBER'
29810 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29811 ,p_token_2 => 'LINE_TYPE_NAME'
29812 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29813 l_component_type
29814 ,l_component_code
29815 ,l_component_type_code
29816 ,l_component_appl_id
29817 ,l_amb_context_code
29818 ,l_entity_code
29819 ,l_event_class_code
29820 )
29821 ,p_token_3 => 'OWNER'
29825 )
29822 ,p_value_3 => xla_lookups_pkg.get_meaning(
29823 p_lookup_type => 'XLA_OWNER_TYPE'
29824 ,p_lookup_code => l_component_type_code
29826 ,p_token_4 => 'PRODUCT_NAME'
29827 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29828 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29829 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29830 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29831 ,p_ae_header_id => NULL
29832 );
29833
29834 IF (C_LEVEL_ERROR>= g_log_level) THEN
29835 trace
29836 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29837 ,p_level => C_LEVEL_ERROR
29838 ,p_module => l_log_module);
29839 END IF;
29840 END IF;
29841 END IF;
29842 --
29843 --
29844 ------------------------------------------------------------------------------------------------
29845 -- 4219869 Business Flow
29846 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29847 -- Prior Entry. Currently, the following code is always generated.
29848 ------------------------------------------------------------------------------------------------
29849 XLA_AE_LINES_PKG.ValidateCurrentLine;
29850
29851 ------------------------------------------------------------------------------------
29852 -- 4219869 Business Flow
29853 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29854 ------------------------------------------------------------------------------------
29855 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29856
29857 ----------------------------------------------------------------------------------
29858 -- 4219869 Business Flow
29859 -- Update journal entry status -- Need to generate this within IF <condition>
29860 ----------------------------------------------------------------------------------
29861 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29862 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29863 ,p_balance_type_code => l_balance_type_code
29864 );
29865
29866 -------------------------------------------------------------------------------------------
29867 -- 4262811 - Generate the Accrual Reversal lines
29868 -------------------------------------------------------------------------------------------
29869 BEGIN
29870 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29871 (g_array_event(p_event_id).array_value_num('header_index'));
29872 IF l_acc_rev_flag IS NULL THEN
29873 l_acc_rev_flag := 'N';
29874 END IF;
29875 EXCEPTION
29876 WHEN OTHERS THEN
29877 l_acc_rev_flag := 'N';
29878 END;
29879 --
29880 IF (l_acc_rev_flag = 'Y') THEN
29881
29882 -- 4645092 ------------------------------------------------------------------------------
29883 -- To allow MPA report to determine if it should generate report process
29884 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29885 ------------------------------------------------------------------------------------------
29886
29887 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29888 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29889 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29890 -- call ADRs
29891 -- Bug 4922099
29892 --
29893 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29894 (NVL(l_actual_upg_option, 'N') = 'O') OR
29895 (NVL(l_enc_upg_option, 'N') = 'O')
29896 )
29897 THEN
29898 NULL;
29899 --
29900 --
29901
29902 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
29903 p_code_combination_id => TO_NUMBER(C_NUM)
29904 , p_value_type_code => NULL
29905 , p_transaction_coa_id => null
29906 , p_accounting_coa_id => null
29907 , p_adr_code => NULL
29908 , p_adr_type_code => NULL
29909 , p_component_type => l_component_type
29910 , p_component_code => l_component_code
29911 , p_component_type_code => l_component_type_code
29912 , p_component_appl_id => l_component_appl_id
29913 , p_amb_context_code => l_amb_context_code
29914 , p_side => NULL
29915 );
29916
29917
29918 -- initialise segments
29919 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29920 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29921 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29922 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29923 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29927 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29924 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29925 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29926 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29928 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29929 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29930 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29931 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29932 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29933 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29934 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29935 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29936 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29937 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29938 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29939 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29940 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29941 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29942 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29943 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29944 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29945 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29946 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29947 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29948 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29949 --
29950
29951 --
29952
29953
29954 l_segment := AcctDerRule_16(
29955 p_application_id => p_application_id
29956 , p_ae_header_id => l_ae_header_id
29957 , p_source_35 => p_source_35
29958 , x_transaction_coa_id => l_adr_transaction_coa_id
29959 , x_accounting_coa_id => l_adr_accounting_coa_id
29960 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29961 , x_flex_value_set_id => l_adr_flex_value_set_id
29962 , x_value_type_code => l_adr_value_type_code
29963 , x_value_combination_id => l_adr_value_combination_id
29964 , x_value_segment_code => l_adr_value_segment_code
29965 , p_side => 'NA'
29966 , p_override_seg_flag => 'Y'
29967 );
29968
29969 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29970
29971 xla_ae_lines_pkg.set_segment(
29972 p_to_segment_code => 'GL_ACCOUNT'
29973 , p_segment_value => l_segment
29974 , p_from_segment_code => l_adr_value_segment_code
29975 , p_from_combination_id => l_adr_value_combination_id
29976 , p_value_type_code => l_adr_value_type_code
29977 , p_transaction_coa_id => l_adr_transaction_coa_id
29978 , p_accounting_coa_id => l_adr_accounting_coa_id
29979 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29980 , p_flex_value_set_id => l_adr_flex_value_set_id
29981 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29982 , p_adr_type_code => 'S'
29983 , p_component_type => l_component_type
29984 , p_component_code => l_component_code
29985 , p_component_type_code => l_component_type_code
29986 , p_component_appl_id => l_component_appl_id
29987 , p_amb_context_code => l_amb_context_code
29988 , p_entity_code => 'AP_PAYMENTS'
29989 , p_event_class_code => 'FUTURE DATED PAYMENTS'
29990 , p_side => 'NA'
29991 );
29992
29993 END IF;
29994
29995 --
29996 --
29997 END IF;
29998
29999 --
30000 -- Update the line information that should be overwritten
30001 --
30002 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30003 p_header_num => 1);
30004 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30005
30006 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30007
30008 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30009 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30010 END IF;
30011
30012 --
30013 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30014 --
30015 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30016 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30017 ELSE
30018 ---------------------------------------------------------------------------------------------------
30019 -- 4262811a Switch Sign
30023 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30020 ---------------------------------------------------------------------------------------------------
30021 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30022 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30024 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30025 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30026 -- 5132302
30027 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30028 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30029
30030 END IF;
30031
30032 -- 4955764
30033 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30034 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30035
30036
30037 XLA_AE_LINES_PKG.ValidateCurrentLine;
30038 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30039
30040 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30041 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30042 ,p_balance_type_code => l_balance_type_code);
30043
30044 END IF;
30045
30046 -----------------------------------------------------------------------------------------
30047 -- 4262811 Multiperiod Accounting
30048 -----------------------------------------------------------------------------------------
30049 -- No MPA option is assigned.
30050
30051
30052 END IF;
30053 END IF;
30054 --
30055
30056 --
30057 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30058 trace
30059 (p_msg => 'END of AcctLineType_75'
30060 ,p_level => C_LEVEL_PROCEDURE
30061 ,p_module => l_log_module);
30062 END IF;
30063 --
30064 EXCEPTION
30065 WHEN xla_exceptions_pkg.application_exception THEN
30066 RAISE;
30067 WHEN OTHERS THEN
30068 xla_exceptions_pkg.raise_message
30069 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_75');
30070 END AcctLineType_75;
30071 --
30072
30073 ---------------------------------------
30074 --
30075 -- PRIVATE FUNCTION
30076 -- AcctLineType_76
30077 --
30078 ---------------------------------------
30079 PROCEDURE AcctLineType_76 (
30080 p_application_id IN NUMBER
30081 ,p_event_id IN NUMBER
30082 ,p_calculate_acctd_flag IN VARCHAR2
30083 ,p_calculate_g_l_flag IN VARCHAR2
30084 ,p_actual_flag IN OUT VARCHAR2
30085 ,p_balance_type_code OUT VARCHAR2
30086 ,p_gain_or_loss_ref OUT VARCHAR2
30087
30088 --Payment Currency Code
30089 , p_source_13 IN VARCHAR2
30090 --Automatic Offsets Value
30091 , p_source_15 IN VARCHAR2
30092 , p_source_15_meaning IN VARCHAR2
30093 --Bank Cash Clearing Account
30094 , p_source_35 IN NUMBER
30095 --Accounting Reversal Indicator
30096 , p_source_52 IN VARCHAR2
30097 --Distribution Link Type
30098 , p_source_54 IN VARCHAR2
30099 --Override Accounted Amount Indicator
30100 , p_source_79 IN VARCHAR2
30101 , p_source_79_meaning IN VARCHAR2
30102 --Third Party Type
30103 , p_source_82 IN VARCHAR2
30104 --Business Flow Accounts Payable Application Identifier
30105 , p_source_90 IN NUMBER
30106 --When to Account for Payment Option
30107 , p_source_96 IN VARCHAR2
30108 --Payment Distribution Type
30109 , p_source_97 IN VARCHAR2
30110 , p_source_97_meaning IN VARCHAR2
30111 --Payment Distribution Amount
30112 , p_source_98 IN NUMBER
30113 --Business Flow Payment Distribution Type
30114 , p_source_99 IN VARCHAR2
30115 --Business Flow Payment Entity Code
30116 , p_source_100 IN VARCHAR2
30117 --Business Flow Payment Distribution Identifier
30118 , p_source_101 IN NUMBER
30119 --Business Flow Payment Identifier
30120 , p_source_102 IN NUMBER
30121 --Payment Distribution Identifier
30122 , p_source_103 IN NUMBER
30123 --Payment Supplier Identifier
30124 , p_source_109 IN NUMBER
30125 --Payment Supplier Site Identifier
30126 , p_source_110 IN NUMBER
30127 --Payment Distribution Reversed Identifier
30128 , p_source_111 IN NUMBER
30129 --Payment Identifier
30130 , p_source_112 IN NUMBER
30131 --Pooled Bank Account Option
30132 , p_source_113 IN VARCHAR2
30133 , p_source_113_meaning IN VARCHAR2
30134 --Payment Maturity Date
30135 , p_source_114 IN DATE
30136 --Payment Exchange Date
30137 , p_source_117 IN DATE
30138 --Payment Exchange Rate
30139 , p_source_118 IN NUMBER
30140 --Payment Exchange Rate Type
30141 , p_source_119 IN VARCHAR2
30142 --Payment Distribution (Matured Rate) Ledger Amount
30143 , p_source_121 IN NUMBER
30144 )
30145 IS
30146
30147 l_component_type VARCHAR2(80);
30148 l_component_code VARCHAR2(30);
30149 l_component_type_code VARCHAR2(1);
30153 l_event_class_code VARCHAR2(30);
30150 l_component_appl_id INTEGER;
30151 l_amb_context_code VARCHAR2(30);
30152 l_entity_code VARCHAR2(30);
30154 l_ae_header_id NUMBER;
30155 l_event_type_code VARCHAR2(30);
30156 l_line_definition_code VARCHAR2(30);
30157 l_line_definition_owner_code VARCHAR2(1);
30158 --
30159 -- adr variables
30160 l_segment VARCHAR2(30);
30161 l_ccid NUMBER;
30162 l_adr_transaction_coa_id NUMBER;
30163 l_adr_accounting_coa_id NUMBER;
30164 l_adr_flexfield_segment_code VARCHAR2(30);
30165 l_adr_flex_value_set_id NUMBER;
30166 l_adr_value_type_code VARCHAR2(30);
30167 l_adr_value_combination_id NUMBER;
30168 l_adr_value_segment_code VARCHAR2(30);
30169
30170 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30171 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30172 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30173 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30174
30175 -- 4262811 Variables ------------------------------------------------------------------------------------------
30176 l_entered_amt_idx NUMBER;
30177 l_accted_amt_idx NUMBER;
30178 l_acc_rev_flag VARCHAR2(1);
30179 l_accrual_line_num NUMBER;
30180 l_tmp_amt NUMBER;
30181 l_acc_rev_natural_side_code VARCHAR2(1);
30182
30183 l_num_entries NUMBER;
30184 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30185 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30186 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30187 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30188 l_recog_line_1 NUMBER;
30189 l_recog_line_2 NUMBER;
30190
30191 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30192 l_bflow_applied_to_amt NUMBER; -- 5132302
30193 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30194
30195 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30196
30197 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30198 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30199
30200 ---------------------------------------------------------------------------------------------------------------
30201
30202
30203 --
30204 -- bulk performance
30205 --
30206 l_balance_type_code VARCHAR2(1);
30207 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30208 l_log_module VARCHAR2(240);
30209
30210 --
30211 -- Upgrade strategy
30212 --
30213 l_actual_upg_option VARCHAR2(1);
30214 l_enc_upg_option VARCHAR2(1);
30215
30216 --
30217 BEGIN
30218 --
30219 IF g_log_enabled THEN
30220 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_76';
30221 END IF;
30222 --
30223 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30224
30225 trace
30226 (p_msg => 'BEGIN of AcctLineType_76'
30227 ,p_level => C_LEVEL_PROCEDURE
30228 ,p_module => l_log_module);
30229
30230 END IF;
30231 --
30232 l_component_type := 'AMB_JLT';
30233 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_BS';
30234 l_component_type_code := 'S';
30235 l_component_appl_id := 200;
30236 l_amb_context_code := 'DEFAULT';
30237 l_entity_code := 'AP_PAYMENTS';
30238 l_event_class_code := 'FUTURE DATED PAYMENTS';
30239 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30240 l_line_definition_owner_code := 'S';
30241 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
30242 --
30243 l_balance_type_code := 'A';
30244 l_segment := NULL;
30245 l_ccid := NULL;
30246 l_adr_transaction_coa_id := NULL;
30247 l_adr_accounting_coa_id := NULL;
30248 l_adr_flexfield_segment_code := NULL;
30249 l_adr_flex_value_set_id := NULL;
30250 l_adr_value_type_code := NULL;
30251 l_adr_value_combination_id := NULL;
30252 l_adr_value_segment_code := NULL;
30253
30254 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
30255 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30256 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30257 l_budgetary_control_flag := 'N';
30258
30259 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30260 l_bflow_applied_to_amt := NULL; -- 5132302
30261 l_entered_amt_idx := NULL; -- 4262811
30262 l_accted_amt_idx := NULL; -- 4262811
30263 l_acc_rev_flag := NULL; -- 4262811
30264 l_accrual_line_num := NULL; -- 4262811
30265 l_tmp_amt := NULL; -- 4262811
30266 --
30267
30268 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30269 l_balance_type_code <> 'B' THEN
30270 IF (NVL(p_source_96,'
30271 ') = 'ALWAYS_ALWAYS' OR
30272 NVL(p_source_96,'
30273 ') = 'ALWAYS_CLEAR' OR
30277 ') = 'Y' AND
30274 NVL(p_source_96,'
30275 ') = 'ALWAYS_ISSUE') AND
30276 (NVL(p_source_113,'
30278 NVL(p_source_15,'
30279 ') = 'BALANCING_SEGMENT') AND
30280 p_source_114 IS NOT NULL AND
30281 NVL(p_source_97,'
30282 ') = 'CASH'
30283 THEN
30284
30285 --
30286 XLA_AE_LINES_PKG.SetNewLine;
30287
30288 p_balance_type_code := l_balance_type_code;
30289 -- set the flag so later we will know whether the gain loss line needs to be created
30290
30291 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30292 p_actual_flag :='A';
30293 END IF;
30294
30295 --
30296 -- bulk performance
30297 --
30298 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30299 p_header_num => 0); -- 4262811
30300 --
30301 -- set accounting line options
30302 --
30303 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30304 p_natural_side_code => 'C'
30305 , p_gain_or_loss_flag => 'N'
30306 , p_gl_transfer_mode_code => 'S'
30307 , p_acct_entry_type_code => 'A'
30308 , p_switch_side_flag => 'Y'
30309 , p_merge_duplicate_code => 'A'
30310 );
30311 --
30312 l_acc_rev_natural_side_code := 'D'; -- 4262811
30313 --
30314 --
30315 -- set accounting line type info
30316 --
30317 xla_ae_lines_pkg.SetAcctLineType
30318 (p_component_type => l_component_type
30319 ,p_event_type_code => l_event_type_code
30320 ,p_line_definition_owner_code => l_line_definition_owner_code
30321 ,p_line_definition_code => l_line_definition_code
30322 ,p_accounting_line_code => l_component_code
30323 ,p_accounting_line_type_code => l_component_type_code
30324 ,p_accounting_line_appl_id => l_component_appl_id
30325 ,p_amb_context_code => l_amb_context_code
30326 ,p_entity_code => l_entity_code
30327 ,p_event_class_code => l_event_class_code);
30328 --
30329 -- set accounting class
30330 --
30331 xla_ae_lines_pkg.SetAcctClass(
30332 p_accounting_class_code => 'CASH_CLEARING'
30333 , p_ae_header_id => l_ae_header_id
30334 );
30335
30336 --
30337 -- set rounding class
30338 --
30339 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30340 'CASH_CLEARING';
30341
30342 --
30343 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30344 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30345 --
30346 -- bulk performance
30347 --
30348 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30349
30350 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30351 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30352
30353 -- 4955764
30354 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30355 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30356
30357 -- 4458381 Public Sector Enh
30358
30359 --
30360 -- set accounting attributes for the line type
30361 --
30362 l_entered_amt_idx := 9;
30363 l_accted_amt_idx := 14;
30364 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30365 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30366 l_rec_acct_attrs.array_char_value(1) := p_source_52;
30367 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
30368 l_rec_acct_attrs.array_num_value(2) := p_source_90;
30369 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30370 l_rec_acct_attrs.array_char_value(3) := p_source_99;
30371 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
30372 l_rec_acct_attrs.array_char_value(4) := p_source_100;
30373 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
30374 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
30375 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30376 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
30377 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
30378 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
30379 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
30380 l_rec_acct_attrs.array_char_value(8) := p_source_54;
30381 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
30382 l_rec_acct_attrs.array_num_value(9) := p_source_98;
30383 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
30384 l_rec_acct_attrs.array_char_value(10) := p_source_13;
30385 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
30386 l_rec_acct_attrs.array_date_value(11) := p_source_117;
30387 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
30388 l_rec_acct_attrs.array_num_value(12) := p_source_118;
30389 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
30390 l_rec_acct_attrs.array_char_value(13) := p_source_119;
30394 l_rec_acct_attrs.array_char_value(15) := p_source_79;
30391 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
30392 l_rec_acct_attrs.array_num_value(14) := p_source_121;
30393 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
30395 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
30396 l_rec_acct_attrs.array_num_value(16) := p_source_109;
30397 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
30398 l_rec_acct_attrs.array_num_value(17) := p_source_110;
30399 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
30400 l_rec_acct_attrs.array_char_value(18) := p_source_82;
30401 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
30402 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
30403 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
30404 l_rec_acct_attrs.array_char_value(20) := p_source_54;
30405
30406 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30407 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30408
30409 ---------------------------------------------------------------------------------------------------------------
30410 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30411 ---------------------------------------------------------------------------------------------------------------
30412 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30413
30414 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30415 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30416
30417 IF xla_accounting_cache_pkg.GetValueChar
30418 (p_source_code => 'LEDGER_CATEGORY_CODE'
30419 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30420 AND l_bflow_method_code = 'PRIOR_ENTRY'
30421 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30422 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30423 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30424 )
30425 THEN
30426 xla_ae_lines_pkg.BflowUpgEntry
30427 (p_business_method_code => l_bflow_method_code
30428 ,p_business_class_code => l_bflow_class_code
30429 ,p_balance_type => l_balance_type_code);
30430 ELSE
30431 NULL;
30432 XLA_AE_LINES_PKG.business_flow_validation(
30433 p_business_method_code => l_bflow_method_code
30434 ,p_business_class_code => l_bflow_class_code
30435 ,p_inherit_description_flag => l_inherit_desc_flag);
30436 END IF;
30437
30438 --
30439 -- call analytical criteria
30440 --
30441
30442
30443 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
30444 xla_ae_lines_pkg.SetAnalyticalCriteria(
30445 p_analytical_criterion_name => 'Check Id'
30446 , p_analytical_criterion_owner => 'S'
30447 , p_analytical_criterion_code => 'CHECK_ID'
30448 , p_amb_context_code => 'DEFAULT'
30449 , p_balancing_flag => 'N'
30450
30451 , p_analytical_detail_char_1 => NULL
30452 , p_analytical_detail_num_1 => p_source_112
30453 , p_analytical_detail_date_1 => NULL
30454
30455 , p_ae_header_id => l_ae_header_id
30456 )
30457 ;
30458 --
30459
30460 --
30461 -- call description
30462 --
30463 -- No description or it is inherited.
30464 --
30465 -- call ADRs
30466 -- Bug 4922099
30467 --
30468 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30469 (NVL(l_actual_upg_option, 'N') = 'O') OR
30470 (NVL(l_enc_upg_option, 'N') = 'O')
30471 )
30472 THEN
30473 NULL;
30474 --
30475 --
30476
30477 l_ccid := AcctDerRule_35(
30478 p_application_id => p_application_id
30479 , p_ae_header_id => l_ae_header_id
30480 , p_source_35 => p_source_35
30481 , x_transaction_coa_id => l_adr_transaction_coa_id
30482 , x_accounting_coa_id => l_adr_accounting_coa_id
30483 , x_value_type_code => l_adr_value_type_code
30484 , p_side => 'NA'
30485 );
30486
30487 xla_ae_lines_pkg.set_ccid(
30488 p_code_combination_id => l_ccid
30489 , p_value_type_code => l_adr_value_type_code
30490 , p_transaction_coa_id => l_adr_transaction_coa_id
30491 , p_accounting_coa_id => l_adr_accounting_coa_id
30492 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30493 , p_adr_type_code => 'S'
30494 , p_component_type => l_component_type
30495 , p_component_code => l_component_code
30496 , p_component_type_code => l_component_type_code
30497 , p_component_appl_id => l_component_appl_id
30498 , p_amb_context_code => l_amb_context_code
30499 , p_side => 'NA'
30500 );
30501
30502
30503 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
30504 p_to_segment_code => 'GL_BALANCING'
30505 , p_segment_value => C_CHAR
30506 , p_from_segment_code => NULL
30507 , p_from_combination_id => NULL
30511 , p_flexfield_segment_code => NULL
30508 , p_value_type_code => NULL
30509 , p_transaction_coa_id => null
30510 , p_accounting_coa_id => null
30512 , p_flex_value_set_id => NULL
30513 , p_adr_code => NULL
30514 , p_adr_type_code => NULL
30515 , p_component_type => l_component_type
30516 , p_component_code => l_component_code
30517 , p_component_type_code => l_component_type_code
30518 , p_component_appl_id => l_component_appl_id
30519 , p_amb_context_code => l_amb_context_code
30520 , p_entity_code => 'AP_PAYMENTS'
30521 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30522 , p_side => 'NA'
30523 );
30524 --
30525
30526
30527 --
30528 --
30529 END IF;
30530 --
30531 -- Bug 4922099
30532 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30533 (NVL(l_enc_upg_option, 'N') = 'O')
30534 ) AND
30535 (l_bflow_method_code = 'PRIOR_ENTRY')
30536 )
30537 THEN
30538 IF
30539 --
30540 1 = 2
30541 --
30542 THEN
30543 xla_accounting_err_pkg.build_message
30544 (p_appli_s_name => 'XLA'
30545 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30546 ,p_token_1 => 'LINE_NUMBER'
30547 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30548 ,p_token_2 => 'LINE_TYPE_NAME'
30549 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30550 l_component_type
30551 ,l_component_code
30552 ,l_component_type_code
30553 ,l_component_appl_id
30554 ,l_amb_context_code
30555 ,l_entity_code
30556 ,l_event_class_code
30557 )
30558 ,p_token_3 => 'OWNER'
30559 ,p_value_3 => xla_lookups_pkg.get_meaning(
30560 p_lookup_type => 'XLA_OWNER_TYPE'
30561 ,p_lookup_code => l_component_type_code
30562 )
30563 ,p_token_4 => 'PRODUCT_NAME'
30564 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30565 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30566 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30567 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30568 ,p_ae_header_id => NULL
30569 );
30570
30571 IF (C_LEVEL_ERROR>= g_log_level) THEN
30572 trace
30573 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30574 ,p_level => C_LEVEL_ERROR
30575 ,p_module => l_log_module);
30576 END IF;
30577 END IF;
30578 END IF;
30579 --
30580 --
30581 ------------------------------------------------------------------------------------------------
30582 -- 4219869 Business Flow
30583 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30584 -- Prior Entry. Currently, the following code is always generated.
30585 ------------------------------------------------------------------------------------------------
30586 XLA_AE_LINES_PKG.ValidateCurrentLine;
30587
30588 ------------------------------------------------------------------------------------
30589 -- 4219869 Business Flow
30590 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30591 ------------------------------------------------------------------------------------
30592 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30593
30594 ----------------------------------------------------------------------------------
30595 -- 4219869 Business Flow
30596 -- Update journal entry status -- Need to generate this within IF <condition>
30597 ----------------------------------------------------------------------------------
30598 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30599 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30600 ,p_balance_type_code => l_balance_type_code
30601 );
30602
30603 -------------------------------------------------------------------------------------------
30604 -- 4262811 - Generate the Accrual Reversal lines
30608 (g_array_event(p_event_id).array_value_num('header_index'));
30605 -------------------------------------------------------------------------------------------
30606 BEGIN
30607 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30609 IF l_acc_rev_flag IS NULL THEN
30610 l_acc_rev_flag := 'N';
30611 END IF;
30612 EXCEPTION
30613 WHEN OTHERS THEN
30614 l_acc_rev_flag := 'N';
30615 END;
30616 --
30617 IF (l_acc_rev_flag = 'Y') THEN
30618
30619 -- 4645092 ------------------------------------------------------------------------------
30620 -- To allow MPA report to determine if it should generate report process
30621 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30622 ------------------------------------------------------------------------------------------
30623
30624 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30625 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30626 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30627 -- call ADRs
30628 -- Bug 4922099
30629 --
30630 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30631 (NVL(l_actual_upg_option, 'N') = 'O') OR
30632 (NVL(l_enc_upg_option, 'N') = 'O')
30633 )
30634 THEN
30635 NULL;
30636 --
30637 --
30638
30639 l_ccid := AcctDerRule_35(
30640 p_application_id => p_application_id
30641 , p_ae_header_id => l_ae_header_id
30642 , p_source_35 => p_source_35
30643 , x_transaction_coa_id => l_adr_transaction_coa_id
30644 , x_accounting_coa_id => l_adr_accounting_coa_id
30645 , x_value_type_code => l_adr_value_type_code
30646 , p_side => 'NA'
30647 );
30648
30649 xla_ae_lines_pkg.set_ccid(
30650 p_code_combination_id => l_ccid
30651 , p_value_type_code => l_adr_value_type_code
30652 , p_transaction_coa_id => l_adr_transaction_coa_id
30653 , p_accounting_coa_id => l_adr_accounting_coa_id
30654 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30655 , p_adr_type_code => 'S'
30656 , p_component_type => l_component_type
30657 , p_component_code => l_component_code
30658 , p_component_type_code => l_component_type_code
30659 , p_component_appl_id => l_component_appl_id
30660 , p_amb_context_code => l_amb_context_code
30661 , p_side => 'NA'
30662 );
30663
30664
30665 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
30666 p_to_segment_code => 'GL_BALANCING'
30667 , p_segment_value => C_CHAR
30668 , p_from_segment_code => NULL
30669 , p_from_combination_id => NULL
30670 , p_value_type_code => NULL
30671 , p_transaction_coa_id => null
30672 , p_accounting_coa_id => null
30673 , p_flexfield_segment_code => NULL
30674 , p_flex_value_set_id => NULL
30675 , p_adr_code => NULL
30676 , p_adr_type_code => NULL
30677 , p_component_type => l_component_type
30678 , p_component_code => l_component_code
30679 , p_component_type_code => l_component_type_code
30680 , p_component_appl_id => l_component_appl_id
30681 , p_amb_context_code => l_amb_context_code
30682 , p_entity_code => 'AP_PAYMENTS'
30683 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30684 , p_side => 'NA'
30685 );
30686 --
30687
30688
30689 --
30690 --
30691 END IF;
30692
30693 --
30694 -- Update the line information that should be overwritten
30695 --
30696 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30697 p_header_num => 1);
30698 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30699
30700 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30701
30702 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30703 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30704 END IF;
30705
30706 --
30707 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30708 --
30709 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30710 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30711 ELSE
30712 ---------------------------------------------------------------------------------------------------
30713 -- 4262811a Switch Sign
30714 ---------------------------------------------------------------------------------------------------
30715 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30716 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30717 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30718 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30722 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30719 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30720 -- 5132302
30721 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30723
30724 END IF;
30725
30726 -- 4955764
30727 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30728 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30729
30730
30731 XLA_AE_LINES_PKG.ValidateCurrentLine;
30732 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30733
30734 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30735 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30736 ,p_balance_type_code => l_balance_type_code);
30737
30738 END IF;
30739
30740 -----------------------------------------------------------------------------------------
30741 -- 4262811 Multiperiod Accounting
30742 -----------------------------------------------------------------------------------------
30743 -- No MPA option is assigned.
30744
30745
30746 END IF;
30747 END IF;
30748 --
30749
30750 --
30751 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30752 trace
30753 (p_msg => 'END of AcctLineType_76'
30754 ,p_level => C_LEVEL_PROCEDURE
30755 ,p_module => l_log_module);
30756 END IF;
30757 --
30758 EXCEPTION
30759 WHEN xla_exceptions_pkg.application_exception THEN
30760 RAISE;
30761 WHEN OTHERS THEN
30762 xla_exceptions_pkg.raise_message
30763 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_76');
30764 END AcctLineType_76;
30765 --
30766
30767 ---------------------------------------
30768 --
30769 -- PRIVATE FUNCTION
30770 -- AcctLineType_77
30771 --
30772 ---------------------------------------
30773 PROCEDURE AcctLineType_77 (
30774 p_application_id IN NUMBER
30775 ,p_event_id IN NUMBER
30776 ,p_calculate_acctd_flag IN VARCHAR2
30777 ,p_calculate_g_l_flag IN VARCHAR2
30778 ,p_actual_flag IN OUT VARCHAR2
30779 ,p_balance_type_code OUT VARCHAR2
30780 ,p_gain_or_loss_ref OUT VARCHAR2
30781
30782 --Payment Currency Code
30783 , p_source_13 IN VARCHAR2
30784 --Bank Cash Clearing Account
30785 , p_source_35 IN NUMBER
30786 --Automatic Offsets Flag
30787 , p_source_47 IN VARCHAR2
30788 , p_source_47_meaning IN VARCHAR2
30789 --Accounting Reversal Indicator
30790 , p_source_52 IN VARCHAR2
30791 --Distribution Link Type
30792 , p_source_54 IN VARCHAR2
30793 --Override Accounted Amount Indicator
30794 , p_source_79 IN VARCHAR2
30795 , p_source_79_meaning IN VARCHAR2
30796 --Third Party Type
30797 , p_source_82 IN VARCHAR2
30798 --Business Flow Accounts Payable Application Identifier
30799 , p_source_90 IN NUMBER
30800 --When to Account for Payment Option
30801 , p_source_96 IN VARCHAR2
30802 --Payment Distribution Type
30803 , p_source_97 IN VARCHAR2
30804 , p_source_97_meaning IN VARCHAR2
30805 --Payment Distribution Amount
30806 , p_source_98 IN NUMBER
30807 --Business Flow Payment Distribution Type
30808 , p_source_99 IN VARCHAR2
30809 --Business Flow Payment Entity Code
30810 , p_source_100 IN VARCHAR2
30811 --Business Flow Payment Distribution Identifier
30812 , p_source_101 IN NUMBER
30813 --Business Flow Payment Identifier
30814 , p_source_102 IN NUMBER
30815 --Payment Distribution Identifier
30816 , p_source_103 IN NUMBER
30817 --Payment Supplier Identifier
30818 , p_source_109 IN NUMBER
30819 --Payment Supplier Site Identifier
30820 , p_source_110 IN NUMBER
30821 --Payment Distribution Reversed Identifier
30822 , p_source_111 IN NUMBER
30823 --Payment Identifier
30824 , p_source_112 IN NUMBER
30825 --Pooled Bank Account Option
30826 , p_source_113 IN VARCHAR2
30827 , p_source_113_meaning IN VARCHAR2
30828 --Payment Maturity Date
30829 , p_source_114 IN DATE
30830 --Payment Distribution (Invoice Rate) Ledger Amount
30831 , p_source_116 IN NUMBER
30832 --Payment Exchange Date
30833 , p_source_117 IN DATE
30834 --Payment Exchange Rate
30835 , p_source_118 IN NUMBER
30836 --Payment Exchange Rate Type
30837 , p_source_119 IN VARCHAR2
30838 )
30839 IS
30840
30841 l_component_type VARCHAR2(80);
30842 l_component_code VARCHAR2(30);
30843 l_component_type_code VARCHAR2(1);
30844 l_component_appl_id INTEGER;
30845 l_amb_context_code VARCHAR2(30);
30846 l_entity_code VARCHAR2(30);
30847 l_event_class_code VARCHAR2(30);
30848 l_ae_header_id NUMBER;
30849 l_event_type_code VARCHAR2(30);
30850 l_line_definition_code VARCHAR2(30);
30851 l_line_definition_owner_code VARCHAR2(1);
30852 --
30853 -- adr variables
30854 l_segment VARCHAR2(30);
30858 l_adr_flexfield_segment_code VARCHAR2(30);
30855 l_ccid NUMBER;
30856 l_adr_transaction_coa_id NUMBER;
30857 l_adr_accounting_coa_id NUMBER;
30859 l_adr_flex_value_set_id NUMBER;
30860 l_adr_value_type_code VARCHAR2(30);
30861 l_adr_value_combination_id NUMBER;
30862 l_adr_value_segment_code VARCHAR2(30);
30863
30864 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30865 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30866 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30867 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30868
30869 -- 4262811 Variables ------------------------------------------------------------------------------------------
30870 l_entered_amt_idx NUMBER;
30871 l_accted_amt_idx NUMBER;
30872 l_acc_rev_flag VARCHAR2(1);
30873 l_accrual_line_num NUMBER;
30874 l_tmp_amt NUMBER;
30875 l_acc_rev_natural_side_code VARCHAR2(1);
30876
30877 l_num_entries NUMBER;
30878 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30879 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30880 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30881 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30882 l_recog_line_1 NUMBER;
30883 l_recog_line_2 NUMBER;
30884
30885 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30886 l_bflow_applied_to_amt NUMBER; -- 5132302
30887 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30888
30889 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30890
30891 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30892 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30893
30894 ---------------------------------------------------------------------------------------------------------------
30895
30896
30897 --
30898 -- bulk performance
30899 --
30900 l_balance_type_code VARCHAR2(1);
30901 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30902 l_log_module VARCHAR2(240);
30903
30904 --
30905 -- Upgrade strategy
30906 --
30907 l_actual_upg_option VARCHAR2(1);
30908 l_enc_upg_option VARCHAR2(1);
30909
30910 --
30911 BEGIN
30912 --
30913 IF g_log_enabled THEN
30914 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_77';
30915 END IF;
30916 --
30917 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30918
30919 trace
30920 (p_msg => 'BEGIN of AcctLineType_77'
30921 ,p_level => C_LEVEL_PROCEDURE
30922 ,p_module => l_log_module);
30923
30924 END IF;
30925 --
30926 l_component_type := 'AMB_JLT';
30927 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_INVXRATE';
30928 l_component_type_code := 'S';
30929 l_component_appl_id := 200;
30930 l_amb_context_code := 'DEFAULT';
30931 l_entity_code := 'AP_PAYMENTS';
30932 l_event_class_code := 'FUTURE DATED PAYMENTS';
30933 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30934 l_line_definition_owner_code := 'S';
30935 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
30936 --
30937 l_balance_type_code := 'A';
30938 l_segment := NULL;
30939 l_ccid := NULL;
30940 l_adr_transaction_coa_id := NULL;
30941 l_adr_accounting_coa_id := NULL;
30942 l_adr_flexfield_segment_code := NULL;
30943 l_adr_flex_value_set_id := NULL;
30944 l_adr_value_type_code := NULL;
30945 l_adr_value_combination_id := NULL;
30946 l_adr_value_segment_code := NULL;
30947
30948 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30949 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30950 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30951 l_budgetary_control_flag := 'N';
30952
30953 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30954 l_bflow_applied_to_amt := NULL; -- 5132302
30955 l_entered_amt_idx := NULL; -- 4262811
30956 l_accted_amt_idx := NULL; -- 4262811
30957 l_acc_rev_flag := NULL; -- 4262811
30958 l_accrual_line_num := NULL; -- 4262811
30959 l_tmp_amt := NULL; -- 4262811
30960 --
30961
30962 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30963 l_balance_type_code <> 'B' THEN
30964 IF NVL(p_source_96,'
30965 ') = 'ALWAYS_CLEAR' AND
30966 (NVL(p_source_47,'
30967 ') <> 'Y' OR
30968 NVL(p_source_47,'
30969 ') = 'Y' AND
30970 NVL(p_source_113,'
30971 ') <> 'Y') AND
30972 p_source_114 IS NOT NULL AND
30973 NVL(p_source_97,'
30974 ') = 'CASH'
30975 THEN
30976
30977 --
30978 XLA_AE_LINES_PKG.SetNewLine;
30979
30980 p_balance_type_code := l_balance_type_code;
30981 -- set the flag so later we will know whether the gain loss line needs to be created
30985 END IF;
30982
30983 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30984 p_actual_flag :='A';
30986
30987 --
30988 -- bulk performance
30989 --
30990 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30991 p_header_num => 0); -- 4262811
30992 --
30993 -- set accounting line options
30994 --
30995 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30996 p_natural_side_code => 'C'
30997 , p_gain_or_loss_flag => 'N'
30998 , p_gl_transfer_mode_code => 'S'
30999 , p_acct_entry_type_code => 'A'
31000 , p_switch_side_flag => 'Y'
31001 , p_merge_duplicate_code => 'A'
31002 );
31003 --
31004 l_acc_rev_natural_side_code := 'D'; -- 4262811
31005 --
31006 --
31007 -- set accounting line type info
31008 --
31009 xla_ae_lines_pkg.SetAcctLineType
31010 (p_component_type => l_component_type
31011 ,p_event_type_code => l_event_type_code
31012 ,p_line_definition_owner_code => l_line_definition_owner_code
31013 ,p_line_definition_code => l_line_definition_code
31014 ,p_accounting_line_code => l_component_code
31015 ,p_accounting_line_type_code => l_component_type_code
31016 ,p_accounting_line_appl_id => l_component_appl_id
31017 ,p_amb_context_code => l_amb_context_code
31018 ,p_entity_code => l_entity_code
31019 ,p_event_class_code => l_event_class_code);
31020 --
31021 -- set accounting class
31022 --
31023 xla_ae_lines_pkg.SetAcctClass(
31024 p_accounting_class_code => 'CASH_CLEARING'
31025 , p_ae_header_id => l_ae_header_id
31026 );
31027
31028 --
31029 -- set rounding class
31030 --
31031 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31032 'CASH_CLEARING';
31033
31034 --
31035 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31036 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31037 --
31038 -- bulk performance
31039 --
31040 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31041
31042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31043 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31044
31045 -- 4955764
31046 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31047 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31048
31049 -- 4458381 Public Sector Enh
31050
31051 --
31052 -- set accounting attributes for the line type
31053 --
31054 l_entered_amt_idx := 9;
31055 l_accted_amt_idx := 14;
31056 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31057 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31058 l_rec_acct_attrs.array_char_value(1) := p_source_52;
31059 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31060 l_rec_acct_attrs.array_num_value(2) := p_source_90;
31061 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31062 l_rec_acct_attrs.array_char_value(3) := p_source_99;
31063 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31064 l_rec_acct_attrs.array_char_value(4) := p_source_100;
31065 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31066 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
31067 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31068 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
31069 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31070 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
31071 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31072 l_rec_acct_attrs.array_char_value(8) := p_source_54;
31073 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31074 l_rec_acct_attrs.array_num_value(9) := p_source_98;
31075 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31076 l_rec_acct_attrs.array_char_value(10) := p_source_13;
31077 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31078 l_rec_acct_attrs.array_date_value(11) := p_source_117;
31079 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31080 l_rec_acct_attrs.array_num_value(12) := p_source_118;
31081 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31082 l_rec_acct_attrs.array_char_value(13) := p_source_119;
31083 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31084 l_rec_acct_attrs.array_num_value(14) := p_source_116;
31085 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31086 l_rec_acct_attrs.array_char_value(15) := p_source_79;
31087 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31088 l_rec_acct_attrs.array_num_value(16) := p_source_109;
31089 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31090 l_rec_acct_attrs.array_num_value(17) := p_source_110;
31091 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31092 l_rec_acct_attrs.array_char_value(18) := p_source_82;
31096 l_rec_acct_attrs.array_char_value(20) := p_source_54;
31093 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31094 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
31095 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31097
31098 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31099 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31100
31101 ---------------------------------------------------------------------------------------------------------------
31102 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31103 ---------------------------------------------------------------------------------------------------------------
31104 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31105
31106 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31107 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31108
31109 IF xla_accounting_cache_pkg.GetValueChar
31110 (p_source_code => 'LEDGER_CATEGORY_CODE'
31111 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31112 AND l_bflow_method_code = 'PRIOR_ENTRY'
31113 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31114 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31115 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31116 )
31117 THEN
31118 xla_ae_lines_pkg.BflowUpgEntry
31119 (p_business_method_code => l_bflow_method_code
31120 ,p_business_class_code => l_bflow_class_code
31121 ,p_balance_type => l_balance_type_code);
31122 ELSE
31123 NULL;
31124 -- No business flow processing for business flow method of NONE.
31125 END IF;
31126
31127 --
31128 -- call analytical criteria
31129 --
31130
31131
31132 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
31133 xla_ae_lines_pkg.SetAnalyticalCriteria(
31134 p_analytical_criterion_name => 'Check Id'
31135 , p_analytical_criterion_owner => 'S'
31136 , p_analytical_criterion_code => 'CHECK_ID'
31137 , p_amb_context_code => 'DEFAULT'
31138 , p_balancing_flag => 'N'
31139
31140 , p_analytical_detail_char_1 => NULL
31141 , p_analytical_detail_num_1 => p_source_112
31142 , p_analytical_detail_date_1 => NULL
31143
31144 , p_ae_header_id => l_ae_header_id
31145 )
31146 ;
31147 --
31148
31149 --
31150 -- call description
31151 --
31152 -- No description or it is inherited.
31153 --
31154 -- call ADRs
31155 -- Bug 4922099
31156 --
31157 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31158 (NVL(l_actual_upg_option, 'N') = 'O') OR
31159 (NVL(l_enc_upg_option, 'N') = 'O')
31160 )
31161 THEN
31162 NULL;
31163 --
31164 --
31165
31166 l_ccid := AcctDerRule_35(
31167 p_application_id => p_application_id
31168 , p_ae_header_id => l_ae_header_id
31169 , p_source_35 => p_source_35
31170 , x_transaction_coa_id => l_adr_transaction_coa_id
31171 , x_accounting_coa_id => l_adr_accounting_coa_id
31172 , x_value_type_code => l_adr_value_type_code
31173 , p_side => 'NA'
31174 );
31175
31176 xla_ae_lines_pkg.set_ccid(
31177 p_code_combination_id => l_ccid
31178 , p_value_type_code => l_adr_value_type_code
31179 , p_transaction_coa_id => l_adr_transaction_coa_id
31180 , p_accounting_coa_id => l_adr_accounting_coa_id
31181 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31182 , p_adr_type_code => 'S'
31183 , p_component_type => l_component_type
31184 , p_component_code => l_component_code
31185 , p_component_type_code => l_component_type_code
31186 , p_component_appl_id => l_component_appl_id
31187 , p_amb_context_code => l_amb_context_code
31188 , p_side => 'NA'
31189 );
31190
31191
31192 --
31193 --
31194 END IF;
31195 --
31196 -- Bug 4922099
31197 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31198 (NVL(l_enc_upg_option, 'N') = 'O')
31199 ) AND
31200 (l_bflow_method_code = 'PRIOR_ENTRY')
31201 )
31202 THEN
31203 IF
31204 --
31205 1 = 2
31206 --
31207 THEN
31208 xla_accounting_err_pkg.build_message
31209 (p_appli_s_name => 'XLA'
31210 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31211 ,p_token_1 => 'LINE_NUMBER'
31212 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31213 ,p_token_2 => 'LINE_TYPE_NAME'
31214 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31215 l_component_type
31219 ,l_amb_context_code
31216 ,l_component_code
31217 ,l_component_type_code
31218 ,l_component_appl_id
31220 ,l_entity_code
31221 ,l_event_class_code
31222 )
31223 ,p_token_3 => 'OWNER'
31224 ,p_value_3 => xla_lookups_pkg.get_meaning(
31225 p_lookup_type => 'XLA_OWNER_TYPE'
31226 ,p_lookup_code => l_component_type_code
31227 )
31228 ,p_token_4 => 'PRODUCT_NAME'
31229 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31230 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31231 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31232 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31233 ,p_ae_header_id => NULL
31234 );
31235
31236 IF (C_LEVEL_ERROR>= g_log_level) THEN
31237 trace
31238 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31239 ,p_level => C_LEVEL_ERROR
31240 ,p_module => l_log_module);
31241 END IF;
31242 END IF;
31243 END IF;
31244 --
31245 --
31246 ------------------------------------------------------------------------------------------------
31247 -- 4219869 Business Flow
31248 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31249 -- Prior Entry. Currently, the following code is always generated.
31250 ------------------------------------------------------------------------------------------------
31251 XLA_AE_LINES_PKG.ValidateCurrentLine;
31252
31253 ------------------------------------------------------------------------------------
31254 -- 4219869 Business Flow
31255 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31256 ------------------------------------------------------------------------------------
31257 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31258
31259 ----------------------------------------------------------------------------------
31260 -- 4219869 Business Flow
31261 -- Update journal entry status -- Need to generate this within IF <condition>
31262 ----------------------------------------------------------------------------------
31263 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31264 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31265 ,p_balance_type_code => l_balance_type_code
31266 );
31267
31268 -------------------------------------------------------------------------------------------
31269 -- 4262811 - Generate the Accrual Reversal lines
31270 -------------------------------------------------------------------------------------------
31271 BEGIN
31272 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31273 (g_array_event(p_event_id).array_value_num('header_index'));
31274 IF l_acc_rev_flag IS NULL THEN
31275 l_acc_rev_flag := 'N';
31276 END IF;
31277 EXCEPTION
31278 WHEN OTHERS THEN
31279 l_acc_rev_flag := 'N';
31280 END;
31281 --
31282 IF (l_acc_rev_flag = 'Y') THEN
31283
31284 -- 4645092 ------------------------------------------------------------------------------
31285 -- To allow MPA report to determine if it should generate report process
31286 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31287 ------------------------------------------------------------------------------------------
31288
31289 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31290 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31291 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31292 -- call ADRs
31293 -- Bug 4922099
31294 --
31295 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31296 (NVL(l_actual_upg_option, 'N') = 'O') OR
31297 (NVL(l_enc_upg_option, 'N') = 'O')
31298 )
31299 THEN
31300 NULL;
31301 --
31302 --
31303
31304 l_ccid := AcctDerRule_35(
31305 p_application_id => p_application_id
31306 , p_ae_header_id => l_ae_header_id
31307 , p_source_35 => p_source_35
31308 , x_transaction_coa_id => l_adr_transaction_coa_id
31309 , x_accounting_coa_id => l_adr_accounting_coa_id
31310 , x_value_type_code => l_adr_value_type_code
31311 , p_side => 'NA'
31312 );
31313
31314 xla_ae_lines_pkg.set_ccid(
31315 p_code_combination_id => l_ccid
31316 , p_value_type_code => l_adr_value_type_code
31320 , p_adr_type_code => 'S'
31317 , p_transaction_coa_id => l_adr_transaction_coa_id
31318 , p_accounting_coa_id => l_adr_accounting_coa_id
31319 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31321 , p_component_type => l_component_type
31322 , p_component_code => l_component_code
31323 , p_component_type_code => l_component_type_code
31324 , p_component_appl_id => l_component_appl_id
31325 , p_amb_context_code => l_amb_context_code
31326 , p_side => 'NA'
31327 );
31328
31329
31330 --
31331 --
31332 END IF;
31333
31334 --
31335 -- Update the line information that should be overwritten
31336 --
31337 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31338 p_header_num => 1);
31339 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31340
31341 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31342
31343 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31344 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31345 END IF;
31346
31347 --
31348 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31349 --
31350 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31351 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31352 ELSE
31353 ---------------------------------------------------------------------------------------------------
31354 -- 4262811a Switch Sign
31355 ---------------------------------------------------------------------------------------------------
31356 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31357 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31358 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31359 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31360 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31361 -- 5132302
31362 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31363 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31364
31365 END IF;
31366
31367 -- 4955764
31368 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31369 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31370
31371
31372 XLA_AE_LINES_PKG.ValidateCurrentLine;
31373 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31374
31375 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31376 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31377 ,p_balance_type_code => l_balance_type_code);
31378
31379 END IF;
31380
31381 -----------------------------------------------------------------------------------------
31382 -- 4262811 Multiperiod Accounting
31383 -----------------------------------------------------------------------------------------
31384 -- No MPA option is assigned.
31385
31386
31387 END IF;
31388 END IF;
31389 --
31390
31391 --
31392 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31393 trace
31394 (p_msg => 'END of AcctLineType_77'
31395 ,p_level => C_LEVEL_PROCEDURE
31396 ,p_module => l_log_module);
31397 END IF;
31398 --
31399 EXCEPTION
31400 WHEN xla_exceptions_pkg.application_exception THEN
31401 RAISE;
31402 WHEN OTHERS THEN
31403 xla_exceptions_pkg.raise_message
31404 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_77');
31405 END AcctLineType_77;
31406 --
31407
31408 ---------------------------------------
31409 --
31410 -- PRIVATE FUNCTION
31411 -- AcctLineType_78
31412 --
31413 ---------------------------------------
31414 PROCEDURE AcctLineType_78 (
31415 p_application_id IN NUMBER
31416 ,p_event_id IN NUMBER
31417 ,p_calculate_acctd_flag IN VARCHAR2
31418 ,p_calculate_g_l_flag IN VARCHAR2
31419 ,p_actual_flag IN OUT VARCHAR2
31420 ,p_balance_type_code OUT VARCHAR2
31421 ,p_gain_or_loss_ref OUT VARCHAR2
31422
31423 --Payment Currency Code
31424 , p_source_13 IN VARCHAR2
31425 --Bank Cash Clearing Account
31426 , p_source_35 IN NUMBER
31427 --Automatic Offsets Flag
31428 , p_source_47 IN VARCHAR2
31429 , p_source_47_meaning IN VARCHAR2
31430 --Accounting Reversal Indicator
31431 , p_source_52 IN VARCHAR2
31432 --Distribution Link Type
31433 , p_source_54 IN VARCHAR2
31434 --Override Accounted Amount Indicator
31435 , p_source_79 IN VARCHAR2
31436 , p_source_79_meaning IN VARCHAR2
31437 --Third Party Type
31441 --Invoice Distribution Tax Distribution Identifier from Tax
31438 , p_source_82 IN VARCHAR2
31439 --Invoice Distribution Tax Line Identifier
31440 , p_source_85 IN NUMBER
31442 , p_source_86 IN NUMBER
31443 --Invoice Distribution Summary Tax Line Identifier
31444 , p_source_87 IN NUMBER
31445 --Business Flow Accounts Payable Application Identifier
31446 , p_source_90 IN NUMBER
31447 --Business Flow Invoice Distribution Type
31448 , p_source_91 IN VARCHAR2
31449 --Business Flow Invoice Entity Code
31450 , p_source_92 IN VARCHAR2
31451 --Business Flow Invoice Distribution Identifier
31452 , p_source_93 IN NUMBER
31453 --Business Flow Invoice Identifier
31454 , p_source_94 IN NUMBER
31455 --When to Account for Payment Option
31456 , p_source_96 IN VARCHAR2
31457 --Payment Distribution Type
31458 , p_source_97 IN VARCHAR2
31459 , p_source_97_meaning IN VARCHAR2
31460 --Payment Distribution Amount
31461 , p_source_98 IN NUMBER
31462 --Payment Distribution Identifier
31463 , p_source_103 IN NUMBER
31464 --Payment Supplier Identifier
31465 , p_source_109 IN NUMBER
31466 --Payment Supplier Site Identifier
31467 , p_source_110 IN NUMBER
31468 --Payment Distribution Reversed Identifier
31469 , p_source_111 IN NUMBER
31470 --Payment Identifier
31471 , p_source_112 IN NUMBER
31472 --Pooled Bank Account Option
31473 , p_source_113 IN VARCHAR2
31474 , p_source_113_meaning IN VARCHAR2
31475 --Payment Maturity Date
31476 , p_source_114 IN DATE
31477 --Payment Distribution (Payment Rate) Ledger Amount
31478 , p_source_115 IN NUMBER
31479 --Payment Exchange Date
31480 , p_source_117 IN DATE
31481 --Payment Exchange Rate
31482 , p_source_118 IN NUMBER
31483 --Payment Exchange Rate Type
31484 , p_source_119 IN VARCHAR2
31485 --Payment Type
31486 , p_source_122 IN VARCHAR2
31487 , p_source_122_meaning IN VARCHAR2
31488 )
31489 IS
31490
31491 l_component_type VARCHAR2(80);
31492 l_component_code VARCHAR2(30);
31493 l_component_type_code VARCHAR2(1);
31494 l_component_appl_id INTEGER;
31495 l_amb_context_code VARCHAR2(30);
31496 l_entity_code VARCHAR2(30);
31497 l_event_class_code VARCHAR2(30);
31498 l_ae_header_id NUMBER;
31499 l_event_type_code VARCHAR2(30);
31500 l_line_definition_code VARCHAR2(30);
31501 l_line_definition_owner_code VARCHAR2(1);
31502 --
31503 -- adr variables
31504 l_segment VARCHAR2(30);
31505 l_ccid NUMBER;
31506 l_adr_transaction_coa_id NUMBER;
31507 l_adr_accounting_coa_id NUMBER;
31508 l_adr_flexfield_segment_code VARCHAR2(30);
31509 l_adr_flex_value_set_id NUMBER;
31510 l_adr_value_type_code VARCHAR2(30);
31511 l_adr_value_combination_id NUMBER;
31512 l_adr_value_segment_code VARCHAR2(30);
31513
31514 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31515 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31516 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31517 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31518
31519 -- 4262811 Variables ------------------------------------------------------------------------------------------
31520 l_entered_amt_idx NUMBER;
31521 l_accted_amt_idx NUMBER;
31522 l_acc_rev_flag VARCHAR2(1);
31523 l_accrual_line_num NUMBER;
31524 l_tmp_amt NUMBER;
31525 l_acc_rev_natural_side_code VARCHAR2(1);
31526
31527 l_num_entries NUMBER;
31528 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31529 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31530 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31531 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31532 l_recog_line_1 NUMBER;
31533 l_recog_line_2 NUMBER;
31534
31535 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31536 l_bflow_applied_to_amt NUMBER; -- 5132302
31537 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31538
31539 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31540
31541 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31542 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31543
31544 ---------------------------------------------------------------------------------------------------------------
31545
31546
31547 --
31548 -- bulk performance
31549 --
31550 l_balance_type_code VARCHAR2(1);
31551 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31552 l_log_module VARCHAR2(240);
31553
31554 --
31555 -- Upgrade strategy
31556 --
31557 l_actual_upg_option VARCHAR2(1);
31558 l_enc_upg_option VARCHAR2(1);
31559
31560 --
31561 BEGIN
31562 --
31563 IF g_log_enabled THEN
31567 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31564 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_78';
31565 END IF;
31566 --
31568
31569 trace
31570 (p_msg => 'BEGIN of AcctLineType_78'
31571 ,p_level => C_LEVEL_PROCEDURE
31572 ,p_module => l_log_module);
31573
31574 END IF;
31575 --
31576 l_component_type := 'AMB_JLT';
31577 l_component_code := 'AP_CASH_CLEAR_REF';
31578 l_component_type_code := 'S';
31579 l_component_appl_id := 200;
31580 l_amb_context_code := 'DEFAULT';
31581 l_entity_code := 'AP_PAYMENTS';
31582 l_event_class_code := 'REFUNDS';
31583 l_event_type_code := 'REFUNDS_ALL';
31584 l_line_definition_owner_code := 'S';
31585 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
31586 --
31587 l_balance_type_code := 'A';
31588 l_segment := NULL;
31589 l_ccid := NULL;
31590 l_adr_transaction_coa_id := NULL;
31591 l_adr_accounting_coa_id := NULL;
31592 l_adr_flexfield_segment_code := NULL;
31593 l_adr_flex_value_set_id := NULL;
31594 l_adr_value_type_code := NULL;
31595 l_adr_value_combination_id := NULL;
31596 l_adr_value_segment_code := NULL;
31597
31598 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
31599 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
31600 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31601 l_budgetary_control_flag := 'N';
31602
31603 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31604 l_bflow_applied_to_amt := NULL; -- 5132302
31605 l_entered_amt_idx := NULL; -- 4262811
31606 l_accted_amt_idx := NULL; -- 4262811
31607 l_acc_rev_flag := NULL; -- 4262811
31608 l_accrual_line_num := NULL; -- 4262811
31609 l_tmp_amt := NULL; -- 4262811
31610 --
31611
31612 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31613 l_balance_type_code <> 'B' THEN
31614 IF NVL(p_source_96,'
31615 ') = 'ALWAYS_ALWAYS' AND
31616 (NVL(p_source_47,'
31617 ') <> 'Y' OR
31618 NVL(p_source_47,'
31619 ') = 'Y' AND
31620 NVL(p_source_113,'
31621 ') <> 'Y') AND
31622 p_source_114 IS NULL AND
31623 NVL(p_source_97,'
31624 ') = 'CASH' AND
31625 NVL(p_source_122,'
31626 ') = 'R'
31627 THEN
31628
31629 --
31630 XLA_AE_LINES_PKG.SetNewLine;
31631
31632 p_balance_type_code := l_balance_type_code;
31633 -- set the flag so later we will know whether the gain loss line needs to be created
31634
31635 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31636 p_actual_flag :='A';
31637 END IF;
31638
31639 --
31640 -- bulk performance
31641 --
31642 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31643 p_header_num => 0); -- 4262811
31644 --
31645 -- set accounting line options
31646 --
31647 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31648 p_natural_side_code => 'C'
31649 , p_gain_or_loss_flag => 'N'
31650 , p_gl_transfer_mode_code => 'S'
31651 , p_acct_entry_type_code => 'A'
31652 , p_switch_side_flag => 'Y'
31653 , p_merge_duplicate_code => 'A'
31654 );
31655 --
31656 l_acc_rev_natural_side_code := 'D'; -- 4262811
31657 --
31658 --
31659 -- set accounting line type info
31660 --
31661 xla_ae_lines_pkg.SetAcctLineType
31662 (p_component_type => l_component_type
31663 ,p_event_type_code => l_event_type_code
31664 ,p_line_definition_owner_code => l_line_definition_owner_code
31665 ,p_line_definition_code => l_line_definition_code
31666 ,p_accounting_line_code => l_component_code
31667 ,p_accounting_line_type_code => l_component_type_code
31668 ,p_accounting_line_appl_id => l_component_appl_id
31669 ,p_amb_context_code => l_amb_context_code
31670 ,p_entity_code => l_entity_code
31671 ,p_event_class_code => l_event_class_code);
31672 --
31673 -- set accounting class
31674 --
31675 xla_ae_lines_pkg.SetAcctClass(
31676 p_accounting_class_code => 'CASH_CLEARING'
31677 , p_ae_header_id => l_ae_header_id
31678 );
31679
31680 --
31681 -- set rounding class
31682 --
31683 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31684 'CASH_CLEARING';
31685
31686 --
31687 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31688 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31689 --
31690 -- bulk performance
31691 --
31692 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31693
31694 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31695 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31696
31700
31697 -- 4955764
31698 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31699 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31701 -- 4458381 Public Sector Enh
31702
31703 --
31704 -- set accounting attributes for the line type
31705 --
31706 l_entered_amt_idx := 9;
31707 l_accted_amt_idx := 14;
31708 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31709 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31710 l_rec_acct_attrs.array_char_value(1) := p_source_52;
31711 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31712 l_rec_acct_attrs.array_num_value(2) := p_source_90;
31713 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31714 l_rec_acct_attrs.array_char_value(3) := p_source_91;
31715 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31716 l_rec_acct_attrs.array_char_value(4) := p_source_92;
31717 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31718 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
31719 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31720 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
31721 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31722 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
31723 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31724 l_rec_acct_attrs.array_char_value(8) := p_source_54;
31725 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31726 l_rec_acct_attrs.array_num_value(9) := p_source_98;
31727 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31728 l_rec_acct_attrs.array_char_value(10) := p_source_13;
31729 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31730 l_rec_acct_attrs.array_date_value(11) := p_source_117;
31731 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31732 l_rec_acct_attrs.array_num_value(12) := p_source_118;
31733 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31734 l_rec_acct_attrs.array_char_value(13) := p_source_119;
31735 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31736 l_rec_acct_attrs.array_num_value(14) := p_source_115;
31737 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31738 l_rec_acct_attrs.array_char_value(15) := p_source_79;
31739 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31740 l_rec_acct_attrs.array_num_value(16) := p_source_109;
31741 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31742 l_rec_acct_attrs.array_num_value(17) := p_source_110;
31743 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31744 l_rec_acct_attrs.array_char_value(18) := p_source_82;
31745 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31746 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
31747 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31748 l_rec_acct_attrs.array_char_value(20) := p_source_54;
31749 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
31750 l_rec_acct_attrs.array_num_value(21) := p_source_85;
31751 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
31752 l_rec_acct_attrs.array_num_value(22) := p_source_86;
31753 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
31754 l_rec_acct_attrs.array_num_value(23) := p_source_87;
31755
31756 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31757 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31758
31759 ---------------------------------------------------------------------------------------------------------------
31760 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31761 ---------------------------------------------------------------------------------------------------------------
31762 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31763
31764 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31765 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31766
31767 IF xla_accounting_cache_pkg.GetValueChar
31768 (p_source_code => 'LEDGER_CATEGORY_CODE'
31769 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31770 AND l_bflow_method_code = 'PRIOR_ENTRY'
31771 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31772 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31773 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31774 )
31775 THEN
31776 xla_ae_lines_pkg.BflowUpgEntry
31777 (p_business_method_code => l_bflow_method_code
31778 ,p_business_class_code => l_bflow_class_code
31779 ,p_balance_type => l_balance_type_code);
31780 ELSE
31781 NULL;
31782 -- No business flow processing for business flow method of NONE.
31783 END IF;
31784
31785 --
31786 -- call analytical criteria
31787 --
31788
31789
31790 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
31791 xla_ae_lines_pkg.SetAnalyticalCriteria(
31792 p_analytical_criterion_name => 'Check Id'
31793 , p_analytical_criterion_owner => 'S'
31797
31794 , p_analytical_criterion_code => 'CHECK_ID'
31795 , p_amb_context_code => 'DEFAULT'
31796 , p_balancing_flag => 'N'
31798 , p_analytical_detail_char_1 => NULL
31799 , p_analytical_detail_num_1 => p_source_112
31800 , p_analytical_detail_date_1 => NULL
31801
31802 , p_ae_header_id => l_ae_header_id
31803 )
31804 ;
31805 --
31806
31807 --
31808 -- call description
31809 --
31810 -- No description or it is inherited.
31811 --
31812 -- call ADRs
31813 -- Bug 4922099
31814 --
31815 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31816 (NVL(l_actual_upg_option, 'N') = 'O') OR
31817 (NVL(l_enc_upg_option, 'N') = 'O')
31818 )
31819 THEN
31820 NULL;
31821 --
31822 --
31823
31824 l_ccid := AcctDerRule_35(
31825 p_application_id => p_application_id
31826 , p_ae_header_id => l_ae_header_id
31827 , p_source_35 => p_source_35
31828 , x_transaction_coa_id => l_adr_transaction_coa_id
31829 , x_accounting_coa_id => l_adr_accounting_coa_id
31830 , x_value_type_code => l_adr_value_type_code
31831 , p_side => 'NA'
31832 );
31833
31834 xla_ae_lines_pkg.set_ccid(
31835 p_code_combination_id => l_ccid
31836 , p_value_type_code => l_adr_value_type_code
31837 , p_transaction_coa_id => l_adr_transaction_coa_id
31838 , p_accounting_coa_id => l_adr_accounting_coa_id
31839 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31840 , p_adr_type_code => 'S'
31841 , p_component_type => l_component_type
31842 , p_component_code => l_component_code
31843 , p_component_type_code => l_component_type_code
31844 , p_component_appl_id => l_component_appl_id
31845 , p_amb_context_code => l_amb_context_code
31846 , p_side => 'NA'
31847 );
31848
31849
31850 --
31851 --
31852 END IF;
31853 --
31854 -- Bug 4922099
31855 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31856 (NVL(l_enc_upg_option, 'N') = 'O')
31857 ) AND
31858 (l_bflow_method_code = 'PRIOR_ENTRY')
31859 )
31860 THEN
31861 IF
31862 --
31863 1 = 2
31864 --
31865 THEN
31866 xla_accounting_err_pkg.build_message
31867 (p_appli_s_name => 'XLA'
31868 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31869 ,p_token_1 => 'LINE_NUMBER'
31870 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31871 ,p_token_2 => 'LINE_TYPE_NAME'
31872 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31873 l_component_type
31874 ,l_component_code
31875 ,l_component_type_code
31876 ,l_component_appl_id
31877 ,l_amb_context_code
31878 ,l_entity_code
31879 ,l_event_class_code
31880 )
31881 ,p_token_3 => 'OWNER'
31882 ,p_value_3 => xla_lookups_pkg.get_meaning(
31883 p_lookup_type => 'XLA_OWNER_TYPE'
31884 ,p_lookup_code => l_component_type_code
31885 )
31886 ,p_token_4 => 'PRODUCT_NAME'
31887 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31888 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31889 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31890 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31891 ,p_ae_header_id => NULL
31892 );
31893
31894 IF (C_LEVEL_ERROR>= g_log_level) THEN
31895 trace
31896 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31897 ,p_level => C_LEVEL_ERROR
31898 ,p_module => l_log_module);
31899 END IF;
31900 END IF;
31901 END IF;
31902 --
31903 --
31904 ------------------------------------------------------------------------------------------------
31905 -- 4219869 Business Flow
31906 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31910
31907 -- Prior Entry. Currently, the following code is always generated.
31908 ------------------------------------------------------------------------------------------------
31909 XLA_AE_LINES_PKG.ValidateCurrentLine;
31911 ------------------------------------------------------------------------------------
31912 -- 4219869 Business Flow
31913 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31914 ------------------------------------------------------------------------------------
31915 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31916
31917 ----------------------------------------------------------------------------------
31918 -- 4219869 Business Flow
31919 -- Update journal entry status -- Need to generate this within IF <condition>
31920 ----------------------------------------------------------------------------------
31921 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31922 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31923 ,p_balance_type_code => l_balance_type_code
31924 );
31925
31926 -------------------------------------------------------------------------------------------
31927 -- 4262811 - Generate the Accrual Reversal lines
31928 -------------------------------------------------------------------------------------------
31929 BEGIN
31930 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31931 (g_array_event(p_event_id).array_value_num('header_index'));
31932 IF l_acc_rev_flag IS NULL THEN
31933 l_acc_rev_flag := 'N';
31934 END IF;
31935 EXCEPTION
31936 WHEN OTHERS THEN
31937 l_acc_rev_flag := 'N';
31938 END;
31939 --
31940 IF (l_acc_rev_flag = 'Y') THEN
31941
31942 -- 4645092 ------------------------------------------------------------------------------
31943 -- To allow MPA report to determine if it should generate report process
31944 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31945 ------------------------------------------------------------------------------------------
31946
31947 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31948 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31949 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31950 -- call ADRs
31951 -- Bug 4922099
31952 --
31953 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31954 (NVL(l_actual_upg_option, 'N') = 'O') OR
31955 (NVL(l_enc_upg_option, 'N') = 'O')
31956 )
31957 THEN
31958 NULL;
31959 --
31960 --
31961
31962 l_ccid := AcctDerRule_35(
31963 p_application_id => p_application_id
31964 , p_ae_header_id => l_ae_header_id
31965 , p_source_35 => p_source_35
31966 , x_transaction_coa_id => l_adr_transaction_coa_id
31967 , x_accounting_coa_id => l_adr_accounting_coa_id
31968 , x_value_type_code => l_adr_value_type_code
31969 , p_side => 'NA'
31970 );
31971
31972 xla_ae_lines_pkg.set_ccid(
31973 p_code_combination_id => l_ccid
31974 , p_value_type_code => l_adr_value_type_code
31975 , p_transaction_coa_id => l_adr_transaction_coa_id
31976 , p_accounting_coa_id => l_adr_accounting_coa_id
31977 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31978 , p_adr_type_code => 'S'
31979 , p_component_type => l_component_type
31980 , p_component_code => l_component_code
31981 , p_component_type_code => l_component_type_code
31982 , p_component_appl_id => l_component_appl_id
31983 , p_amb_context_code => l_amb_context_code
31984 , p_side => 'NA'
31985 );
31986
31987
31988 --
31989 --
31990 END IF;
31991
31992 --
31993 -- Update the line information that should be overwritten
31994 --
31995 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31996 p_header_num => 1);
31997 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31998
31999 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32000
32001 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32002 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32003 END IF;
32004
32005 --
32006 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32007 --
32008 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32009 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32010 ELSE
32011 ---------------------------------------------------------------------------------------------------
32012 -- 4262811a Switch Sign
32013 ---------------------------------------------------------------------------------------------------
32014 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32019 -- 5132302
32016 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32017 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32018 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32020 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32021 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32022
32023 END IF;
32024
32025 -- 4955764
32026 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32027 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32028
32029
32030 XLA_AE_LINES_PKG.ValidateCurrentLine;
32031 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32032
32033 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32034 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32035 ,p_balance_type_code => l_balance_type_code);
32036
32037 END IF;
32038
32039 -----------------------------------------------------------------------------------------
32040 -- 4262811 Multiperiod Accounting
32041 -----------------------------------------------------------------------------------------
32042 -- No MPA option is assigned.
32043
32044
32045 END IF;
32046 END IF;
32047 --
32048
32049 --
32050 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32051 trace
32052 (p_msg => 'END of AcctLineType_78'
32053 ,p_level => C_LEVEL_PROCEDURE
32054 ,p_module => l_log_module);
32055 END IF;
32056 --
32057 EXCEPTION
32058 WHEN xla_exceptions_pkg.application_exception THEN
32059 RAISE;
32060 WHEN OTHERS THEN
32061 xla_exceptions_pkg.raise_message
32062 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_78');
32063 END AcctLineType_78;
32064 --
32065
32066 ---------------------------------------
32067 --
32068 -- PRIVATE FUNCTION
32069 -- AcctLineType_79
32070 --
32071 ---------------------------------------
32072 PROCEDURE AcctLineType_79 (
32073 p_application_id IN NUMBER
32074 ,p_event_id IN NUMBER
32075 ,p_calculate_acctd_flag IN VARCHAR2
32076 ,p_calculate_g_l_flag IN VARCHAR2
32077 ,p_actual_flag IN OUT VARCHAR2
32078 ,p_balance_type_code OUT VARCHAR2
32079 ,p_gain_or_loss_ref OUT VARCHAR2
32080
32081 --Payment Currency Code
32082 , p_source_13 IN VARCHAR2
32083 --Automatic Offsets Value
32084 , p_source_15 IN VARCHAR2
32085 , p_source_15_meaning IN VARCHAR2
32086 --Bank Cash Clearing Account
32087 , p_source_35 IN NUMBER
32088 --Accounting Reversal Indicator
32089 , p_source_52 IN VARCHAR2
32090 --Distribution Link Type
32091 , p_source_54 IN VARCHAR2
32092 --Override Accounted Amount Indicator
32093 , p_source_79 IN VARCHAR2
32094 , p_source_79_meaning IN VARCHAR2
32095 --Third Party Type
32096 , p_source_82 IN VARCHAR2
32097 --Invoice Distribution Tax Line Identifier
32098 , p_source_85 IN NUMBER
32099 --Invoice Distribution Tax Distribution Identifier from Tax
32100 , p_source_86 IN NUMBER
32101 --Invoice Distribution Summary Tax Line Identifier
32102 , p_source_87 IN NUMBER
32103 --Business Flow Accounts Payable Application Identifier
32104 , p_source_90 IN NUMBER
32105 --Business Flow Invoice Distribution Type
32106 , p_source_91 IN VARCHAR2
32107 --Business Flow Invoice Entity Code
32108 , p_source_92 IN VARCHAR2
32109 --Business Flow Invoice Distribution Identifier
32110 , p_source_93 IN NUMBER
32111 --Business Flow Invoice Identifier
32112 , p_source_94 IN NUMBER
32113 --When to Account for Payment Option
32114 , p_source_96 IN VARCHAR2
32115 --Payment Distribution Type
32116 , p_source_97 IN VARCHAR2
32117 , p_source_97_meaning IN VARCHAR2
32118 --Payment Distribution Amount
32119 , p_source_98 IN NUMBER
32120 --Payment Distribution Identifier
32121 , p_source_103 IN NUMBER
32122 --Payment Supplier Identifier
32123 , p_source_109 IN NUMBER
32124 --Payment Supplier Site Identifier
32125 , p_source_110 IN NUMBER
32126 --Payment Distribution Reversed Identifier
32127 , p_source_111 IN NUMBER
32128 --Payment Identifier
32129 , p_source_112 IN NUMBER
32130 --Pooled Bank Account Option
32131 , p_source_113 IN VARCHAR2
32132 , p_source_113_meaning IN VARCHAR2
32133 --Payment Maturity Date
32134 , p_source_114 IN DATE
32135 --Payment Distribution (Payment Rate) Ledger Amount
32136 , p_source_115 IN NUMBER
32137 --Payment Exchange Date
32138 , p_source_117 IN DATE
32139 --Payment Exchange Rate
32140 , p_source_118 IN NUMBER
32141 --Payment Exchange Rate Type
32142 , p_source_119 IN VARCHAR2
32143 --Payment Type
32144 , p_source_122 IN VARCHAR2
32145 , p_source_122_meaning IN VARCHAR2
32146 )
32147 IS
32148
32152 l_component_appl_id INTEGER;
32149 l_component_type VARCHAR2(80);
32150 l_component_code VARCHAR2(30);
32151 l_component_type_code VARCHAR2(1);
32153 l_amb_context_code VARCHAR2(30);
32154 l_entity_code VARCHAR2(30);
32155 l_event_class_code VARCHAR2(30);
32156 l_ae_header_id NUMBER;
32157 l_event_type_code VARCHAR2(30);
32158 l_line_definition_code VARCHAR2(30);
32159 l_line_definition_owner_code VARCHAR2(1);
32160 --
32161 -- adr variables
32162 l_segment VARCHAR2(30);
32163 l_ccid NUMBER;
32164 l_adr_transaction_coa_id NUMBER;
32165 l_adr_accounting_coa_id NUMBER;
32166 l_adr_flexfield_segment_code VARCHAR2(30);
32167 l_adr_flex_value_set_id NUMBER;
32168 l_adr_value_type_code VARCHAR2(30);
32169 l_adr_value_combination_id NUMBER;
32170 l_adr_value_segment_code VARCHAR2(30);
32171
32172 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32173 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32174 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32175 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32176
32177 -- 4262811 Variables ------------------------------------------------------------------------------------------
32178 l_entered_amt_idx NUMBER;
32179 l_accted_amt_idx NUMBER;
32180 l_acc_rev_flag VARCHAR2(1);
32181 l_accrual_line_num NUMBER;
32182 l_tmp_amt NUMBER;
32183 l_acc_rev_natural_side_code VARCHAR2(1);
32184
32185 l_num_entries NUMBER;
32186 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32187 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32188 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32189 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32190 l_recog_line_1 NUMBER;
32191 l_recog_line_2 NUMBER;
32192
32193 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32194 l_bflow_applied_to_amt NUMBER; -- 5132302
32195 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32196
32197 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32198
32199 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32200 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32201
32202 ---------------------------------------------------------------------------------------------------------------
32203
32204
32205 --
32206 -- bulk performance
32207 --
32208 l_balance_type_code VARCHAR2(1);
32209 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32210 l_log_module VARCHAR2(240);
32211
32212 --
32213 -- Upgrade strategy
32214 --
32215 l_actual_upg_option VARCHAR2(1);
32216 l_enc_upg_option VARCHAR2(1);
32217
32218 --
32219 BEGIN
32220 --
32221 IF g_log_enabled THEN
32222 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_79';
32223 END IF;
32224 --
32225 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32226
32227 trace
32228 (p_msg => 'BEGIN of AcctLineType_79'
32229 ,p_level => C_LEVEL_PROCEDURE
32230 ,p_module => l_log_module);
32231
32232 END IF;
32233 --
32234 l_component_type := 'AMB_JLT';
32235 l_component_code := 'AP_CASH_CLEAR_REF_AOS_AS';
32236 l_component_type_code := 'S';
32237 l_component_appl_id := 200;
32238 l_amb_context_code := 'DEFAULT';
32239 l_entity_code := 'AP_PAYMENTS';
32240 l_event_class_code := 'REFUNDS';
32241 l_event_type_code := 'REFUNDS_ALL';
32242 l_line_definition_owner_code := 'S';
32243 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
32244 --
32245 l_balance_type_code := 'A';
32246 l_segment := NULL;
32247 l_ccid := NULL;
32248 l_adr_transaction_coa_id := NULL;
32249 l_adr_accounting_coa_id := NULL;
32250 l_adr_flexfield_segment_code := NULL;
32251 l_adr_flex_value_set_id := NULL;
32252 l_adr_value_type_code := NULL;
32253 l_adr_value_combination_id := NULL;
32254 l_adr_value_segment_code := NULL;
32255
32256 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
32257 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32258 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32259 l_budgetary_control_flag := 'N';
32260
32261 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32262 l_bflow_applied_to_amt := NULL; -- 5132302
32263 l_entered_amt_idx := NULL; -- 4262811
32264 l_accted_amt_idx := NULL; -- 4262811
32265 l_acc_rev_flag := NULL; -- 4262811
32266 l_accrual_line_num := NULL; -- 4262811
32267 l_tmp_amt := NULL; -- 4262811
32268 --
32269
32270 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32274 (NVL(p_source_113,'
32271 l_balance_type_code <> 'B' THEN
32272 IF NVL(p_source_96,'
32273 ') = 'ALWAYS_ALWAYS' AND
32275 ') = 'Y' AND
32276 NVL(p_source_15,'
32277 ') = 'ACCOUNT_SEGMENT_VALUE') AND
32278 p_source_114 IS NULL AND
32279 NVL(p_source_97,'
32280 ') = 'CASH' AND
32281 NVL(p_source_122,'
32282 ') = 'R'
32283 THEN
32284
32285 --
32286 XLA_AE_LINES_PKG.SetNewLine;
32287
32288 p_balance_type_code := l_balance_type_code;
32289 -- set the flag so later we will know whether the gain loss line needs to be created
32290
32291 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32292 p_actual_flag :='A';
32293 END IF;
32294
32295 --
32296 -- bulk performance
32297 --
32298 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32299 p_header_num => 0); -- 4262811
32300 --
32301 -- set accounting line options
32302 --
32303 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32304 p_natural_side_code => 'C'
32305 , p_gain_or_loss_flag => 'N'
32306 , p_gl_transfer_mode_code => 'S'
32307 , p_acct_entry_type_code => 'A'
32308 , p_switch_side_flag => 'Y'
32309 , p_merge_duplicate_code => 'A'
32310 );
32311 --
32312 l_acc_rev_natural_side_code := 'D'; -- 4262811
32313 --
32314 --
32315 -- set accounting line type info
32316 --
32317 xla_ae_lines_pkg.SetAcctLineType
32318 (p_component_type => l_component_type
32319 ,p_event_type_code => l_event_type_code
32320 ,p_line_definition_owner_code => l_line_definition_owner_code
32321 ,p_line_definition_code => l_line_definition_code
32322 ,p_accounting_line_code => l_component_code
32323 ,p_accounting_line_type_code => l_component_type_code
32324 ,p_accounting_line_appl_id => l_component_appl_id
32325 ,p_amb_context_code => l_amb_context_code
32326 ,p_entity_code => l_entity_code
32327 ,p_event_class_code => l_event_class_code);
32328 --
32329 -- set accounting class
32330 --
32331 xla_ae_lines_pkg.SetAcctClass(
32332 p_accounting_class_code => 'CASH_CLEARING'
32333 , p_ae_header_id => l_ae_header_id
32334 );
32335
32336 --
32337 -- set rounding class
32338 --
32339 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32340 'CASH_CLEARING';
32341
32342 --
32343 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32344 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32345 --
32346 -- bulk performance
32347 --
32348 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32349
32350 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32351 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32352
32353 -- 4955764
32354 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32355 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32356
32357 -- 4458381 Public Sector Enh
32358
32359 --
32360 -- set accounting attributes for the line type
32361 --
32362 l_entered_amt_idx := 9;
32363 l_accted_amt_idx := 14;
32364 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32365 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32366 l_rec_acct_attrs.array_char_value(1) := p_source_52;
32367 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
32368 l_rec_acct_attrs.array_num_value(2) := p_source_90;
32369 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32370 l_rec_acct_attrs.array_char_value(3) := p_source_91;
32371 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
32372 l_rec_acct_attrs.array_char_value(4) := p_source_92;
32373 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
32374 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
32375 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32376 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
32377 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
32378 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
32379 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
32380 l_rec_acct_attrs.array_char_value(8) := p_source_54;
32381 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
32382 l_rec_acct_attrs.array_num_value(9) := p_source_98;
32383 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
32384 l_rec_acct_attrs.array_char_value(10) := p_source_13;
32385 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
32386 l_rec_acct_attrs.array_date_value(11) := p_source_117;
32387 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
32388 l_rec_acct_attrs.array_num_value(12) := p_source_118;
32389 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
32390 l_rec_acct_attrs.array_char_value(13) := p_source_119;
32394 l_rec_acct_attrs.array_char_value(15) := p_source_79;
32391 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
32392 l_rec_acct_attrs.array_num_value(14) := p_source_115;
32393 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
32395 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
32396 l_rec_acct_attrs.array_num_value(16) := p_source_109;
32397 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
32398 l_rec_acct_attrs.array_num_value(17) := p_source_110;
32399 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
32400 l_rec_acct_attrs.array_char_value(18) := p_source_82;
32401 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
32402 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
32403 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
32404 l_rec_acct_attrs.array_char_value(20) := p_source_54;
32405 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
32406 l_rec_acct_attrs.array_num_value(21) := p_source_85;
32407 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
32408 l_rec_acct_attrs.array_num_value(22) := p_source_86;
32409 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
32410 l_rec_acct_attrs.array_num_value(23) := p_source_87;
32411
32412 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32413 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32414
32415 ---------------------------------------------------------------------------------------------------------------
32416 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32417 ---------------------------------------------------------------------------------------------------------------
32418 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32419
32420 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32421 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32422
32423 IF xla_accounting_cache_pkg.GetValueChar
32424 (p_source_code => 'LEDGER_CATEGORY_CODE'
32425 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32426 AND l_bflow_method_code = 'PRIOR_ENTRY'
32427 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32428 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32429 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32430 )
32431 THEN
32432 xla_ae_lines_pkg.BflowUpgEntry
32433 (p_business_method_code => l_bflow_method_code
32434 ,p_business_class_code => l_bflow_class_code
32435 ,p_balance_type => l_balance_type_code);
32436 ELSE
32437 NULL;
32438 XLA_AE_LINES_PKG.business_flow_validation(
32439 p_business_method_code => l_bflow_method_code
32440 ,p_business_class_code => l_bflow_class_code
32441 ,p_inherit_description_flag => l_inherit_desc_flag);
32442 END IF;
32443
32444 --
32445 -- call analytical criteria
32446 --
32447
32448
32449 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
32450 xla_ae_lines_pkg.SetAnalyticalCriteria(
32451 p_analytical_criterion_name => 'Check Id'
32452 , p_analytical_criterion_owner => 'S'
32453 , p_analytical_criterion_code => 'CHECK_ID'
32454 , p_amb_context_code => 'DEFAULT'
32455 , p_balancing_flag => 'N'
32456
32457 , p_analytical_detail_char_1 => NULL
32458 , p_analytical_detail_num_1 => p_source_112
32459 , p_analytical_detail_date_1 => NULL
32460
32461 , p_ae_header_id => l_ae_header_id
32462 )
32463 ;
32464 --
32465
32466 --
32467 -- call description
32468 --
32469 -- No description or it is inherited.
32470 --
32471 -- call ADRs
32472 -- Bug 4922099
32473 --
32474 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32475 (NVL(l_actual_upg_option, 'N') = 'O') OR
32476 (NVL(l_enc_upg_option, 'N') = 'O')
32477 )
32478 THEN
32479 NULL;
32480 --
32481 --
32482
32483 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
32484 p_code_combination_id => TO_NUMBER(C_NUM)
32485 , p_value_type_code => NULL
32486 , p_transaction_coa_id => null
32487 , p_accounting_coa_id => null
32488 , p_adr_code => NULL
32489 , p_adr_type_code => NULL
32490 , p_component_type => l_component_type
32491 , p_component_code => l_component_code
32492 , p_component_type_code => l_component_type_code
32493 , p_component_appl_id => l_component_appl_id
32494 , p_amb_context_code => l_amb_context_code
32495 , p_side => NULL
32496 );
32497
32498
32499 -- initialise segments
32500 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32501 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32502 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32506 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32503 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32504 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32505 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32507 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32508 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32509 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32510 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32511 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32512 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32513 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32514 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32515 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32516 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32517 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32518 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32519 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32520 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32521 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32522 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32523 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32524 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32525 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32526 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32527 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32528 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32529 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32530 --
32531
32532 --
32533
32534
32535 l_segment := AcctDerRule_16(
32536 p_application_id => p_application_id
32537 , p_ae_header_id => l_ae_header_id
32538 , p_source_35 => p_source_35
32539 , x_transaction_coa_id => l_adr_transaction_coa_id
32540 , x_accounting_coa_id => l_adr_accounting_coa_id
32541 , x_flexfield_segment_code => l_adr_flexfield_segment_code
32542 , x_flex_value_set_id => l_adr_flex_value_set_id
32543 , x_value_type_code => l_adr_value_type_code
32544 , x_value_combination_id => l_adr_value_combination_id
32545 , x_value_segment_code => l_adr_value_segment_code
32546 , p_side => 'NA'
32547 , p_override_seg_flag => 'Y'
32548 );
32549
32550 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32551
32552 xla_ae_lines_pkg.set_segment(
32553 p_to_segment_code => 'GL_ACCOUNT'
32554 , p_segment_value => l_segment
32555 , p_from_segment_code => l_adr_value_segment_code
32556 , p_from_combination_id => l_adr_value_combination_id
32557 , p_value_type_code => l_adr_value_type_code
32558 , p_transaction_coa_id => l_adr_transaction_coa_id
32559 , p_accounting_coa_id => l_adr_accounting_coa_id
32560 , p_flexfield_segment_code => l_adr_flexfield_segment_code
32561 , p_flex_value_set_id => l_adr_flex_value_set_id
32562 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
32563 , p_adr_type_code => 'S'
32564 , p_component_type => l_component_type
32565 , p_component_code => l_component_code
32566 , p_component_type_code => l_component_type_code
32567 , p_component_appl_id => l_component_appl_id
32568 , p_amb_context_code => l_amb_context_code
32569 , p_entity_code => 'AP_PAYMENTS'
32570 , p_event_class_code => 'REFUNDS'
32571 , p_side => 'NA'
32572 );
32573
32574 END IF;
32575
32576 --
32577 --
32578 END IF;
32579 --
32580 -- Bug 4922099
32581 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32582 (NVL(l_enc_upg_option, 'N') = 'O')
32583 ) AND
32584 (l_bflow_method_code = 'PRIOR_ENTRY')
32585 )
32586 THEN
32587 IF
32588 --
32589 1 = 2
32590 --
32591 THEN
32592 xla_accounting_err_pkg.build_message
32593 (p_appli_s_name => 'XLA'
32594 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32595 ,p_token_1 => 'LINE_NUMBER'
32596 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32597 ,p_token_2 => 'LINE_TYPE_NAME'
32598 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32599 l_component_type
32603 ,l_amb_context_code
32600 ,l_component_code
32601 ,l_component_type_code
32602 ,l_component_appl_id
32604 ,l_entity_code
32605 ,l_event_class_code
32606 )
32607 ,p_token_3 => 'OWNER'
32608 ,p_value_3 => xla_lookups_pkg.get_meaning(
32609 p_lookup_type => 'XLA_OWNER_TYPE'
32610 ,p_lookup_code => l_component_type_code
32611 )
32612 ,p_token_4 => 'PRODUCT_NAME'
32613 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32614 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32615 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32616 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32617 ,p_ae_header_id => NULL
32618 );
32619
32620 IF (C_LEVEL_ERROR>= g_log_level) THEN
32621 trace
32622 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32623 ,p_level => C_LEVEL_ERROR
32624 ,p_module => l_log_module);
32625 END IF;
32626 END IF;
32627 END IF;
32628 --
32629 --
32630 ------------------------------------------------------------------------------------------------
32631 -- 4219869 Business Flow
32632 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32633 -- Prior Entry. Currently, the following code is always generated.
32634 ------------------------------------------------------------------------------------------------
32635 XLA_AE_LINES_PKG.ValidateCurrentLine;
32636
32637 ------------------------------------------------------------------------------------
32638 -- 4219869 Business Flow
32639 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32640 ------------------------------------------------------------------------------------
32641 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32642
32643 ----------------------------------------------------------------------------------
32644 -- 4219869 Business Flow
32645 -- Update journal entry status -- Need to generate this within IF <condition>
32646 ----------------------------------------------------------------------------------
32647 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32648 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32649 ,p_balance_type_code => l_balance_type_code
32650 );
32651
32652 -------------------------------------------------------------------------------------------
32653 -- 4262811 - Generate the Accrual Reversal lines
32654 -------------------------------------------------------------------------------------------
32655 BEGIN
32656 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32657 (g_array_event(p_event_id).array_value_num('header_index'));
32658 IF l_acc_rev_flag IS NULL THEN
32659 l_acc_rev_flag := 'N';
32660 END IF;
32661 EXCEPTION
32662 WHEN OTHERS THEN
32663 l_acc_rev_flag := 'N';
32664 END;
32665 --
32666 IF (l_acc_rev_flag = 'Y') THEN
32667
32668 -- 4645092 ------------------------------------------------------------------------------
32669 -- To allow MPA report to determine if it should generate report process
32670 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32671 ------------------------------------------------------------------------------------------
32672
32673 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32674 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32675 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32676 -- call ADRs
32677 -- Bug 4922099
32678 --
32679 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32680 (NVL(l_actual_upg_option, 'N') = 'O') OR
32681 (NVL(l_enc_upg_option, 'N') = 'O')
32682 )
32683 THEN
32684 NULL;
32685 --
32686 --
32687
32688 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
32689 p_code_combination_id => TO_NUMBER(C_NUM)
32690 , p_value_type_code => NULL
32691 , p_transaction_coa_id => null
32692 , p_accounting_coa_id => null
32693 , p_adr_code => NULL
32694 , p_adr_type_code => NULL
32695 , p_component_type => l_component_type
32699 , p_amb_context_code => l_amb_context_code
32696 , p_component_code => l_component_code
32697 , p_component_type_code => l_component_type_code
32698 , p_component_appl_id => l_component_appl_id
32700 , p_side => NULL
32701 );
32702
32703
32704 -- initialise segments
32705 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32706 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32707 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32708 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32709 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32710 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32711 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32712 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32713 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32714 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32715 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32716 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32717 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32718 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32719 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32720 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32721 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32722 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32723 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32724 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32725 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32726 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32727 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32728 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32729 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32730 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32731 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32732 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32733 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32734 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32735 --
32736
32737 --
32738
32739
32740 l_segment := AcctDerRule_16(
32741 p_application_id => p_application_id
32742 , p_ae_header_id => l_ae_header_id
32743 , p_source_35 => p_source_35
32744 , x_transaction_coa_id => l_adr_transaction_coa_id
32745 , x_accounting_coa_id => l_adr_accounting_coa_id
32746 , x_flexfield_segment_code => l_adr_flexfield_segment_code
32747 , x_flex_value_set_id => l_adr_flex_value_set_id
32748 , x_value_type_code => l_adr_value_type_code
32749 , x_value_combination_id => l_adr_value_combination_id
32750 , x_value_segment_code => l_adr_value_segment_code
32751 , p_side => 'NA'
32752 , p_override_seg_flag => 'Y'
32753 );
32754
32755 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32756
32757 xla_ae_lines_pkg.set_segment(
32758 p_to_segment_code => 'GL_ACCOUNT'
32759 , p_segment_value => l_segment
32760 , p_from_segment_code => l_adr_value_segment_code
32761 , p_from_combination_id => l_adr_value_combination_id
32762 , p_value_type_code => l_adr_value_type_code
32763 , p_transaction_coa_id => l_adr_transaction_coa_id
32764 , p_accounting_coa_id => l_adr_accounting_coa_id
32765 , p_flexfield_segment_code => l_adr_flexfield_segment_code
32766 , p_flex_value_set_id => l_adr_flex_value_set_id
32767 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
32768 , p_adr_type_code => 'S'
32769 , p_component_type => l_component_type
32770 , p_component_code => l_component_code
32771 , p_component_type_code => l_component_type_code
32772 , p_component_appl_id => l_component_appl_id
32773 , p_amb_context_code => l_amb_context_code
32774 , p_entity_code => 'AP_PAYMENTS'
32775 , p_event_class_code => 'REFUNDS'
32776 , p_side => 'NA'
32777 );
32778
32779 END IF;
32780
32781 --
32782 --
32783 END IF;
32784
32785 --
32786 -- Update the line information that should be overwritten
32787 --
32788 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32789 p_header_num => 1);
32793
32790 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32791
32792 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32794 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32795 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32796 END IF;
32797
32798 --
32799 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32800 --
32801 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32802 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32803 ELSE
32804 ---------------------------------------------------------------------------------------------------
32805 -- 4262811a Switch Sign
32806 ---------------------------------------------------------------------------------------------------
32807 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32808 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32809 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32810 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32811 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32812 -- 5132302
32813 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32814 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32815
32816 END IF;
32817
32818 -- 4955764
32819 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32820 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32821
32822
32823 XLA_AE_LINES_PKG.ValidateCurrentLine;
32824 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32825
32826 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32827 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32828 ,p_balance_type_code => l_balance_type_code);
32829
32830 END IF;
32831
32832 -----------------------------------------------------------------------------------------
32833 -- 4262811 Multiperiod Accounting
32834 -----------------------------------------------------------------------------------------
32835 -- No MPA option is assigned.
32836
32837
32838 END IF;
32839 END IF;
32840 --
32841
32842 --
32843 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32844 trace
32845 (p_msg => 'END of AcctLineType_79'
32846 ,p_level => C_LEVEL_PROCEDURE
32847 ,p_module => l_log_module);
32848 END IF;
32849 --
32850 EXCEPTION
32851 WHEN xla_exceptions_pkg.application_exception THEN
32852 RAISE;
32853 WHEN OTHERS THEN
32854 xla_exceptions_pkg.raise_message
32855 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_79');
32856 END AcctLineType_79;
32857 --
32858
32859 ---------------------------------------
32860 --
32861 -- PRIVATE FUNCTION
32862 -- AcctLineType_80
32863 --
32864 ---------------------------------------
32865 PROCEDURE AcctLineType_80 (
32866 p_application_id IN NUMBER
32867 ,p_event_id IN NUMBER
32868 ,p_calculate_acctd_flag IN VARCHAR2
32869 ,p_calculate_g_l_flag IN VARCHAR2
32870 ,p_actual_flag IN OUT VARCHAR2
32871 ,p_balance_type_code OUT VARCHAR2
32872 ,p_gain_or_loss_ref OUT VARCHAR2
32873
32874 --Payment Currency Code
32875 , p_source_13 IN VARCHAR2
32876 --Automatic Offsets Value
32877 , p_source_15 IN VARCHAR2
32878 , p_source_15_meaning IN VARCHAR2
32879 --Bank Cash Clearing Account
32880 , p_source_35 IN NUMBER
32881 --Accounting Reversal Indicator
32882 , p_source_52 IN VARCHAR2
32883 --Distribution Link Type
32884 , p_source_54 IN VARCHAR2
32885 --Override Accounted Amount Indicator
32886 , p_source_79 IN VARCHAR2
32887 , p_source_79_meaning IN VARCHAR2
32888 --Third Party Type
32889 , p_source_82 IN VARCHAR2
32890 --Invoice Distribution Tax Line Identifier
32891 , p_source_85 IN NUMBER
32892 --Invoice Distribution Tax Distribution Identifier from Tax
32893 , p_source_86 IN NUMBER
32894 --Invoice Distribution Summary Tax Line Identifier
32895 , p_source_87 IN NUMBER
32896 --Business Flow Accounts Payable Application Identifier
32897 , p_source_90 IN NUMBER
32898 --Business Flow Invoice Distribution Type
32899 , p_source_91 IN VARCHAR2
32900 --Business Flow Invoice Entity Code
32901 , p_source_92 IN VARCHAR2
32902 --Business Flow Invoice Distribution Identifier
32903 , p_source_93 IN NUMBER
32904 --Business Flow Invoice Identifier
32905 , p_source_94 IN NUMBER
32906 --When to Account for Payment Option
32907 , p_source_96 IN VARCHAR2
32908 --Payment Distribution Type
32909 , p_source_97 IN VARCHAR2
32910 , p_source_97_meaning IN VARCHAR2
32914 , p_source_103 IN NUMBER
32911 --Payment Distribution Amount
32912 , p_source_98 IN NUMBER
32913 --Payment Distribution Identifier
32915 --Payment Supplier Identifier
32916 , p_source_109 IN NUMBER
32917 --Payment Supplier Site Identifier
32918 , p_source_110 IN NUMBER
32919 --Payment Distribution Reversed Identifier
32920 , p_source_111 IN NUMBER
32921 --Payment Identifier
32922 , p_source_112 IN NUMBER
32923 --Pooled Bank Account Option
32924 , p_source_113 IN VARCHAR2
32925 , p_source_113_meaning IN VARCHAR2
32926 --Payment Maturity Date
32927 , p_source_114 IN DATE
32928 --Payment Distribution (Payment Rate) Ledger Amount
32929 , p_source_115 IN NUMBER
32930 --Payment Exchange Date
32931 , p_source_117 IN DATE
32932 --Payment Exchange Rate
32933 , p_source_118 IN NUMBER
32934 --Payment Exchange Rate Type
32935 , p_source_119 IN VARCHAR2
32936 --Payment Type
32937 , p_source_122 IN VARCHAR2
32938 , p_source_122_meaning IN VARCHAR2
32939 )
32940 IS
32941
32942 l_component_type VARCHAR2(80);
32943 l_component_code VARCHAR2(30);
32944 l_component_type_code VARCHAR2(1);
32945 l_component_appl_id INTEGER;
32946 l_amb_context_code VARCHAR2(30);
32947 l_entity_code VARCHAR2(30);
32948 l_event_class_code VARCHAR2(30);
32949 l_ae_header_id NUMBER;
32950 l_event_type_code VARCHAR2(30);
32951 l_line_definition_code VARCHAR2(30);
32952 l_line_definition_owner_code VARCHAR2(1);
32953 --
32954 -- adr variables
32955 l_segment VARCHAR2(30);
32956 l_ccid NUMBER;
32957 l_adr_transaction_coa_id NUMBER;
32958 l_adr_accounting_coa_id NUMBER;
32959 l_adr_flexfield_segment_code VARCHAR2(30);
32960 l_adr_flex_value_set_id NUMBER;
32961 l_adr_value_type_code VARCHAR2(30);
32962 l_adr_value_combination_id NUMBER;
32963 l_adr_value_segment_code VARCHAR2(30);
32964
32965 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32966 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32967 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32968 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32969
32970 -- 4262811 Variables ------------------------------------------------------------------------------------------
32971 l_entered_amt_idx NUMBER;
32972 l_accted_amt_idx NUMBER;
32973 l_acc_rev_flag VARCHAR2(1);
32974 l_accrual_line_num NUMBER;
32975 l_tmp_amt NUMBER;
32976 l_acc_rev_natural_side_code VARCHAR2(1);
32977
32978 l_num_entries NUMBER;
32979 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32980 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32981 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32982 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32983 l_recog_line_1 NUMBER;
32984 l_recog_line_2 NUMBER;
32985
32986 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32987 l_bflow_applied_to_amt NUMBER; -- 5132302
32988 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32989
32990 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32991
32992 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32993 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32994
32995 ---------------------------------------------------------------------------------------------------------------
32996
32997
32998 --
32999 -- bulk performance
33000 --
33001 l_balance_type_code VARCHAR2(1);
33002 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33003 l_log_module VARCHAR2(240);
33004
33005 --
33006 -- Upgrade strategy
33007 --
33008 l_actual_upg_option VARCHAR2(1);
33009 l_enc_upg_option VARCHAR2(1);
33010
33011 --
33012 BEGIN
33013 --
33014 IF g_log_enabled THEN
33015 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_80';
33016 END IF;
33017 --
33018 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33019
33020 trace
33021 (p_msg => 'BEGIN of AcctLineType_80'
33022 ,p_level => C_LEVEL_PROCEDURE
33023 ,p_module => l_log_module);
33024
33025 END IF;
33026 --
33027 l_component_type := 'AMB_JLT';
33028 l_component_code := 'AP_CASH_CLEAR_REF_AOS_BS';
33029 l_component_type_code := 'S';
33030 l_component_appl_id := 200;
33031 l_amb_context_code := 'DEFAULT';
33032 l_entity_code := 'AP_PAYMENTS';
33033 l_event_class_code := 'REFUNDS';
33034 l_event_type_code := 'REFUNDS_ALL';
33035 l_line_definition_owner_code := 'S';
33036 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
33037 --
33038 l_balance_type_code := 'A';
33039 l_segment := NULL;
33040 l_ccid := NULL;
33041 l_adr_transaction_coa_id := NULL;
33042 l_adr_accounting_coa_id := NULL;
33046 l_adr_value_combination_id := NULL;
33043 l_adr_flexfield_segment_code := NULL;
33044 l_adr_flex_value_set_id := NULL;
33045 l_adr_value_type_code := NULL;
33047 l_adr_value_segment_code := NULL;
33048
33049 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
33050 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33051 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33052 l_budgetary_control_flag := 'N';
33053
33054 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33055 l_bflow_applied_to_amt := NULL; -- 5132302
33056 l_entered_amt_idx := NULL; -- 4262811
33057 l_accted_amt_idx := NULL; -- 4262811
33058 l_acc_rev_flag := NULL; -- 4262811
33059 l_accrual_line_num := NULL; -- 4262811
33060 l_tmp_amt := NULL; -- 4262811
33061 --
33062
33063 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33064 l_balance_type_code <> 'B' THEN
33065 IF NVL(p_source_96,'
33066 ') = 'ALWAYS_ALWAYS' AND
33067 (NVL(p_source_113,'
33068 ') = 'Y' AND
33069 NVL(p_source_15,'
33070 ') = 'BALANCING_SEGMENT') AND
33071 p_source_114 IS NULL AND
33072 NVL(p_source_97,'
33073 ') = 'CASH' AND
33074 NVL(p_source_122,'
33075 ') = 'R'
33076 THEN
33077
33078 --
33079 XLA_AE_LINES_PKG.SetNewLine;
33080
33081 p_balance_type_code := l_balance_type_code;
33082 -- set the flag so later we will know whether the gain loss line needs to be created
33083
33084 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33085 p_actual_flag :='A';
33086 END IF;
33087
33088 --
33089 -- bulk performance
33090 --
33091 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33092 p_header_num => 0); -- 4262811
33093 --
33094 -- set accounting line options
33095 --
33096 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33097 p_natural_side_code => 'C'
33098 , p_gain_or_loss_flag => 'N'
33099 , p_gl_transfer_mode_code => 'S'
33100 , p_acct_entry_type_code => 'A'
33101 , p_switch_side_flag => 'Y'
33102 , p_merge_duplicate_code => 'A'
33103 );
33104 --
33105 l_acc_rev_natural_side_code := 'D'; -- 4262811
33106 --
33107 --
33108 -- set accounting line type info
33109 --
33110 xla_ae_lines_pkg.SetAcctLineType
33111 (p_component_type => l_component_type
33112 ,p_event_type_code => l_event_type_code
33113 ,p_line_definition_owner_code => l_line_definition_owner_code
33114 ,p_line_definition_code => l_line_definition_code
33115 ,p_accounting_line_code => l_component_code
33116 ,p_accounting_line_type_code => l_component_type_code
33117 ,p_accounting_line_appl_id => l_component_appl_id
33118 ,p_amb_context_code => l_amb_context_code
33119 ,p_entity_code => l_entity_code
33120 ,p_event_class_code => l_event_class_code);
33121 --
33122 -- set accounting class
33123 --
33124 xla_ae_lines_pkg.SetAcctClass(
33125 p_accounting_class_code => 'CASH_CLEARING'
33126 , p_ae_header_id => l_ae_header_id
33127 );
33128
33129 --
33130 -- set rounding class
33131 --
33132 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33133 'CASH_CLEARING';
33134
33135 --
33136 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33137 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33138 --
33139 -- bulk performance
33140 --
33141 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33142
33143 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33144 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33145
33146 -- 4955764
33147 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33148 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33149
33150 -- 4458381 Public Sector Enh
33151
33152 --
33153 -- set accounting attributes for the line type
33154 --
33155 l_entered_amt_idx := 9;
33156 l_accted_amt_idx := 14;
33157 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33158 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33159 l_rec_acct_attrs.array_char_value(1) := p_source_52;
33160 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33161 l_rec_acct_attrs.array_num_value(2) := p_source_90;
33162 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33163 l_rec_acct_attrs.array_char_value(3) := p_source_91;
33164 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33165 l_rec_acct_attrs.array_char_value(4) := p_source_92;
33166 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33167 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
33171 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
33168 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33169 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
33170 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33172 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33173 l_rec_acct_attrs.array_char_value(8) := p_source_54;
33174 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33175 l_rec_acct_attrs.array_num_value(9) := p_source_98;
33176 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33177 l_rec_acct_attrs.array_char_value(10) := p_source_13;
33178 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33179 l_rec_acct_attrs.array_date_value(11) := p_source_117;
33180 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33181 l_rec_acct_attrs.array_num_value(12) := p_source_118;
33182 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33183 l_rec_acct_attrs.array_char_value(13) := p_source_119;
33184 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33185 l_rec_acct_attrs.array_num_value(14) := p_source_115;
33186 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33187 l_rec_acct_attrs.array_char_value(15) := p_source_79;
33188 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33189 l_rec_acct_attrs.array_num_value(16) := p_source_109;
33190 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33191 l_rec_acct_attrs.array_num_value(17) := p_source_110;
33192 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33193 l_rec_acct_attrs.array_char_value(18) := p_source_82;
33194 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33195 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
33196 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33197 l_rec_acct_attrs.array_char_value(20) := p_source_54;
33198 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
33199 l_rec_acct_attrs.array_num_value(21) := p_source_85;
33200 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
33201 l_rec_acct_attrs.array_num_value(22) := p_source_86;
33202 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
33203 l_rec_acct_attrs.array_num_value(23) := p_source_87;
33204
33205 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33206 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33207
33208 ---------------------------------------------------------------------------------------------------------------
33209 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33210 ---------------------------------------------------------------------------------------------------------------
33211 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33212
33213 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33214 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33215
33216 IF xla_accounting_cache_pkg.GetValueChar
33217 (p_source_code => 'LEDGER_CATEGORY_CODE'
33218 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33219 AND l_bflow_method_code = 'PRIOR_ENTRY'
33220 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33221 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33222 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33223 )
33224 THEN
33225 xla_ae_lines_pkg.BflowUpgEntry
33226 (p_business_method_code => l_bflow_method_code
33227 ,p_business_class_code => l_bflow_class_code
33228 ,p_balance_type => l_balance_type_code);
33229 ELSE
33230 NULL;
33231 XLA_AE_LINES_PKG.business_flow_validation(
33232 p_business_method_code => l_bflow_method_code
33233 ,p_business_class_code => l_bflow_class_code
33234 ,p_inherit_description_flag => l_inherit_desc_flag);
33235 END IF;
33236
33237 --
33238 -- call analytical criteria
33239 --
33240
33241
33242 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
33243 xla_ae_lines_pkg.SetAnalyticalCriteria(
33244 p_analytical_criterion_name => 'Check Id'
33245 , p_analytical_criterion_owner => 'S'
33246 , p_analytical_criterion_code => 'CHECK_ID'
33247 , p_amb_context_code => 'DEFAULT'
33248 , p_balancing_flag => 'N'
33249
33250 , p_analytical_detail_char_1 => NULL
33251 , p_analytical_detail_num_1 => p_source_112
33252 , p_analytical_detail_date_1 => NULL
33253
33254 , p_ae_header_id => l_ae_header_id
33255 )
33256 ;
33257 --
33258
33259 --
33260 -- call description
33261 --
33262 -- No description or it is inherited.
33263 --
33264 -- call ADRs
33265 -- Bug 4922099
33266 --
33267 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33268 (NVL(l_actual_upg_option, 'N') = 'O') OR
33269 (NVL(l_enc_upg_option, 'N') = 'O')
33270 )
33271 THEN
33272 NULL;
33273 --
33274 --
33278 , p_ae_header_id => l_ae_header_id
33275
33276 l_ccid := AcctDerRule_35(
33277 p_application_id => p_application_id
33279 , p_source_35 => p_source_35
33280 , x_transaction_coa_id => l_adr_transaction_coa_id
33281 , x_accounting_coa_id => l_adr_accounting_coa_id
33282 , x_value_type_code => l_adr_value_type_code
33283 , p_side => 'NA'
33284 );
33285
33286 xla_ae_lines_pkg.set_ccid(
33287 p_code_combination_id => l_ccid
33288 , p_value_type_code => l_adr_value_type_code
33289 , p_transaction_coa_id => l_adr_transaction_coa_id
33290 , p_accounting_coa_id => l_adr_accounting_coa_id
33291 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33292 , p_adr_type_code => 'S'
33293 , p_component_type => l_component_type
33294 , p_component_code => l_component_code
33295 , p_component_type_code => l_component_type_code
33296 , p_component_appl_id => l_component_appl_id
33297 , p_amb_context_code => l_amb_context_code
33298 , p_side => 'NA'
33299 );
33300
33301
33302 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
33303 p_to_segment_code => 'GL_BALANCING'
33304 , p_segment_value => C_CHAR
33305 , p_from_segment_code => NULL
33306 , p_from_combination_id => NULL
33307 , p_value_type_code => NULL
33308 , p_transaction_coa_id => null
33309 , p_accounting_coa_id => null
33310 , p_flexfield_segment_code => NULL
33311 , p_flex_value_set_id => NULL
33312 , p_adr_code => NULL
33313 , p_adr_type_code => NULL
33314 , p_component_type => l_component_type
33315 , p_component_code => l_component_code
33316 , p_component_type_code => l_component_type_code
33317 , p_component_appl_id => l_component_appl_id
33318 , p_amb_context_code => l_amb_context_code
33319 , p_entity_code => 'AP_PAYMENTS'
33320 , p_event_class_code => 'REFUNDS'
33321 , p_side => 'NA'
33322 );
33323 --
33324
33325
33326 --
33327 --
33328 END IF;
33329 --
33330 -- Bug 4922099
33331 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33332 (NVL(l_enc_upg_option, 'N') = 'O')
33333 ) AND
33334 (l_bflow_method_code = 'PRIOR_ENTRY')
33335 )
33336 THEN
33337 IF
33338 --
33339 1 = 2
33340 --
33341 THEN
33342 xla_accounting_err_pkg.build_message
33343 (p_appli_s_name => 'XLA'
33344 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33345 ,p_token_1 => 'LINE_NUMBER'
33346 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33347 ,p_token_2 => 'LINE_TYPE_NAME'
33348 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33349 l_component_type
33350 ,l_component_code
33351 ,l_component_type_code
33352 ,l_component_appl_id
33353 ,l_amb_context_code
33354 ,l_entity_code
33355 ,l_event_class_code
33356 )
33357 ,p_token_3 => 'OWNER'
33358 ,p_value_3 => xla_lookups_pkg.get_meaning(
33359 p_lookup_type => 'XLA_OWNER_TYPE'
33360 ,p_lookup_code => l_component_type_code
33361 )
33362 ,p_token_4 => 'PRODUCT_NAME'
33363 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33364 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33365 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33366 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33367 ,p_ae_header_id => NULL
33368 );
33369
33370 IF (C_LEVEL_ERROR>= g_log_level) THEN
33371 trace
33372 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33373 ,p_level => C_LEVEL_ERROR
33374 ,p_module => l_log_module);
33375 END IF;
33376 END IF;
33377 END IF;
33378 --
33382 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33379 --
33380 ------------------------------------------------------------------------------------------------
33381 -- 4219869 Business Flow
33383 -- Prior Entry. Currently, the following code is always generated.
33384 ------------------------------------------------------------------------------------------------
33385 XLA_AE_LINES_PKG.ValidateCurrentLine;
33386
33387 ------------------------------------------------------------------------------------
33388 -- 4219869 Business Flow
33389 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33390 ------------------------------------------------------------------------------------
33391 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33392
33393 ----------------------------------------------------------------------------------
33394 -- 4219869 Business Flow
33395 -- Update journal entry status -- Need to generate this within IF <condition>
33396 ----------------------------------------------------------------------------------
33397 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33398 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33399 ,p_balance_type_code => l_balance_type_code
33400 );
33401
33402 -------------------------------------------------------------------------------------------
33403 -- 4262811 - Generate the Accrual Reversal lines
33404 -------------------------------------------------------------------------------------------
33405 BEGIN
33406 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33407 (g_array_event(p_event_id).array_value_num('header_index'));
33408 IF l_acc_rev_flag IS NULL THEN
33409 l_acc_rev_flag := 'N';
33410 END IF;
33411 EXCEPTION
33412 WHEN OTHERS THEN
33413 l_acc_rev_flag := 'N';
33414 END;
33415 --
33416 IF (l_acc_rev_flag = 'Y') THEN
33417
33418 -- 4645092 ------------------------------------------------------------------------------
33419 -- To allow MPA report to determine if it should generate report process
33420 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33421 ------------------------------------------------------------------------------------------
33422
33423 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33424 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33425 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33426 -- call ADRs
33427 -- Bug 4922099
33428 --
33429 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33430 (NVL(l_actual_upg_option, 'N') = 'O') OR
33431 (NVL(l_enc_upg_option, 'N') = 'O')
33432 )
33433 THEN
33434 NULL;
33435 --
33436 --
33437
33438 l_ccid := AcctDerRule_35(
33439 p_application_id => p_application_id
33440 , p_ae_header_id => l_ae_header_id
33441 , p_source_35 => p_source_35
33442 , x_transaction_coa_id => l_adr_transaction_coa_id
33443 , x_accounting_coa_id => l_adr_accounting_coa_id
33444 , x_value_type_code => l_adr_value_type_code
33445 , p_side => 'NA'
33446 );
33447
33448 xla_ae_lines_pkg.set_ccid(
33449 p_code_combination_id => l_ccid
33450 , p_value_type_code => l_adr_value_type_code
33451 , p_transaction_coa_id => l_adr_transaction_coa_id
33452 , p_accounting_coa_id => l_adr_accounting_coa_id
33453 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33454 , p_adr_type_code => 'S'
33455 , p_component_type => l_component_type
33456 , p_component_code => l_component_code
33457 , p_component_type_code => l_component_type_code
33458 , p_component_appl_id => l_component_appl_id
33459 , p_amb_context_code => l_amb_context_code
33460 , p_side => 'NA'
33461 );
33462
33463
33464 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
33465 p_to_segment_code => 'GL_BALANCING'
33466 , p_segment_value => C_CHAR
33467 , p_from_segment_code => NULL
33468 , p_from_combination_id => NULL
33469 , p_value_type_code => NULL
33470 , p_transaction_coa_id => null
33471 , p_accounting_coa_id => null
33472 , p_flexfield_segment_code => NULL
33473 , p_flex_value_set_id => NULL
33474 , p_adr_code => NULL
33475 , p_adr_type_code => NULL
33476 , p_component_type => l_component_type
33477 , p_component_code => l_component_code
33478 , p_component_type_code => l_component_type_code
33479 , p_component_appl_id => l_component_appl_id
33480 , p_amb_context_code => l_amb_context_code
33481 , p_entity_code => 'AP_PAYMENTS'
33482 , p_event_class_code => 'REFUNDS'
33483 , p_side => 'NA'
33484 );
33485 --
33486
33487
33488 --
33489 --
33490 END IF;
33491
33492 --
33493 -- Update the line information that should be overwritten
33494 --
33498
33495 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33496 p_header_num => 1);
33497 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33499 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33500
33501 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33502 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33503 END IF;
33504
33505 --
33506 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33507 --
33508 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33509 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33510 ELSE
33511 ---------------------------------------------------------------------------------------------------
33512 -- 4262811a Switch Sign
33513 ---------------------------------------------------------------------------------------------------
33514 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33515 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33516 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33517 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33518 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33519 -- 5132302
33520 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33521 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33522
33523 END IF;
33524
33525 -- 4955764
33526 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33527 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33528
33529
33530 XLA_AE_LINES_PKG.ValidateCurrentLine;
33531 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33532
33533 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33534 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33535 ,p_balance_type_code => l_balance_type_code);
33536
33537 END IF;
33538
33539 -----------------------------------------------------------------------------------------
33540 -- 4262811 Multiperiod Accounting
33541 -----------------------------------------------------------------------------------------
33542 -- No MPA option is assigned.
33543
33544
33545 END IF;
33546 END IF;
33547 --
33548
33549 --
33550 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33551 trace
33552 (p_msg => 'END of AcctLineType_80'
33553 ,p_level => C_LEVEL_PROCEDURE
33554 ,p_module => l_log_module);
33555 END IF;
33556 --
33557 EXCEPTION
33558 WHEN xla_exceptions_pkg.application_exception THEN
33559 RAISE;
33560 WHEN OTHERS THEN
33561 xla_exceptions_pkg.raise_message
33562 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_80');
33563 END AcctLineType_80;
33564 --
33565
33566 ---------------------------------------
33567 --
33568 -- PRIVATE FUNCTION
33569 -- AcctLineType_81
33570 --
33571 ---------------------------------------
33572 PROCEDURE AcctLineType_81 (
33573 p_application_id IN NUMBER
33574 ,p_event_id IN NUMBER
33575 ,p_calculate_acctd_flag IN VARCHAR2
33576 ,p_calculate_g_l_flag IN VARCHAR2
33577 ,p_actual_flag IN OUT VARCHAR2
33578 ,p_balance_type_code OUT VARCHAR2
33579 ,p_gain_or_loss_ref OUT VARCHAR2
33580
33581 --Payment Currency Code
33582 , p_source_13 IN VARCHAR2
33583 --Automatic Offsets Value
33584 , p_source_15 IN VARCHAR2
33585 , p_source_15_meaning IN VARCHAR2
33586 --Bank Cash Clearing Account
33587 , p_source_35 IN NUMBER
33588 --Accounting Reversal Indicator
33589 , p_source_52 IN VARCHAR2
33590 --Distribution Link Type
33591 , p_source_54 IN VARCHAR2
33592 --Override Accounted Amount Indicator
33593 , p_source_79 IN VARCHAR2
33594 , p_source_79_meaning IN VARCHAR2
33595 --Third Party Type
33596 , p_source_82 IN VARCHAR2
33597 --Invoice Distribution Tax Line Identifier
33598 , p_source_85 IN NUMBER
33599 --Invoice Distribution Tax Distribution Identifier from Tax
33600 , p_source_86 IN NUMBER
33601 --Invoice Distribution Summary Tax Line Identifier
33602 , p_source_87 IN NUMBER
33603 --Business Flow Accounts Payable Application Identifier
33604 , p_source_90 IN NUMBER
33605 --Business Flow Invoice Distribution Type
33606 , p_source_91 IN VARCHAR2
33607 --Business Flow Invoice Entity Code
33608 , p_source_92 IN VARCHAR2
33609 --Business Flow Invoice Distribution Identifier
33610 , p_source_93 IN NUMBER
33611 --Business Flow Invoice Identifier
33612 , p_source_94 IN NUMBER
33613 --When to Account for Payment Option
33614 , p_source_96 IN VARCHAR2
33615 --Payment Distribution Type
33616 , p_source_97 IN VARCHAR2
33620 --Payment Distribution Identifier
33617 , p_source_97_meaning IN VARCHAR2
33618 --Payment Distribution Amount
33619 , p_source_98 IN NUMBER
33621 , p_source_103 IN NUMBER
33622 --Payment Supplier Identifier
33623 , p_source_109 IN NUMBER
33624 --Payment Supplier Site Identifier
33625 , p_source_110 IN NUMBER
33626 --Payment Distribution Reversed Identifier
33627 , p_source_111 IN NUMBER
33628 --Payment Identifier
33629 , p_source_112 IN NUMBER
33630 --Pooled Bank Account Option
33631 , p_source_113 IN VARCHAR2
33632 , p_source_113_meaning IN VARCHAR2
33633 --Payment Maturity Date
33634 , p_source_114 IN DATE
33635 --Payment Distribution (Invoice Rate) Ledger Amount
33636 , p_source_116 IN NUMBER
33637 --Payment Exchange Date
33638 , p_source_117 IN DATE
33639 --Payment Exchange Rate
33640 , p_source_118 IN NUMBER
33641 --Payment Exchange Rate Type
33642 , p_source_119 IN VARCHAR2
33643 --Payment Type
33644 , p_source_122 IN VARCHAR2
33645 , p_source_122_meaning IN VARCHAR2
33646 )
33647 IS
33648
33649 l_component_type VARCHAR2(80);
33650 l_component_code VARCHAR2(30);
33651 l_component_type_code VARCHAR2(1);
33652 l_component_appl_id INTEGER;
33653 l_amb_context_code VARCHAR2(30);
33654 l_entity_code VARCHAR2(30);
33655 l_event_class_code VARCHAR2(30);
33656 l_ae_header_id NUMBER;
33657 l_event_type_code VARCHAR2(30);
33658 l_line_definition_code VARCHAR2(30);
33659 l_line_definition_owner_code VARCHAR2(1);
33660 --
33661 -- adr variables
33662 l_segment VARCHAR2(30);
33663 l_ccid NUMBER;
33664 l_adr_transaction_coa_id NUMBER;
33665 l_adr_accounting_coa_id NUMBER;
33666 l_adr_flexfield_segment_code VARCHAR2(30);
33667 l_adr_flex_value_set_id NUMBER;
33668 l_adr_value_type_code VARCHAR2(30);
33669 l_adr_value_combination_id NUMBER;
33670 l_adr_value_segment_code VARCHAR2(30);
33671
33672 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33673 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33674 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33675 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33676
33677 -- 4262811 Variables ------------------------------------------------------------------------------------------
33678 l_entered_amt_idx NUMBER;
33679 l_accted_amt_idx NUMBER;
33680 l_acc_rev_flag VARCHAR2(1);
33681 l_accrual_line_num NUMBER;
33682 l_tmp_amt NUMBER;
33683 l_acc_rev_natural_side_code VARCHAR2(1);
33684
33685 l_num_entries NUMBER;
33686 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33687 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33688 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33689 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33690 l_recog_line_1 NUMBER;
33691 l_recog_line_2 NUMBER;
33692
33693 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33694 l_bflow_applied_to_amt NUMBER; -- 5132302
33695 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33696
33697 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33698
33699 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33700 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33701
33702 ---------------------------------------------------------------------------------------------------------------
33703
33704
33705 --
33706 -- bulk performance
33707 --
33708 l_balance_type_code VARCHAR2(1);
33709 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33710 l_log_module VARCHAR2(240);
33711
33712 --
33713 -- Upgrade strategy
33714 --
33715 l_actual_upg_option VARCHAR2(1);
33716 l_enc_upg_option VARCHAR2(1);
33717
33718 --
33719 BEGIN
33720 --
33721 IF g_log_enabled THEN
33722 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_81';
33723 END IF;
33724 --
33725 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33726
33727 trace
33728 (p_msg => 'BEGIN of AcctLineType_81'
33729 ,p_level => C_LEVEL_PROCEDURE
33730 ,p_module => l_log_module);
33731
33732 END IF;
33733 --
33734 l_component_type := 'AMB_JLT';
33735 l_component_code := 'AP_CASH_CLEAR_REF_AS_INVXRATE';
33736 l_component_type_code := 'S';
33737 l_component_appl_id := 200;
33738 l_amb_context_code := 'DEFAULT';
33739 l_entity_code := 'AP_PAYMENTS';
33740 l_event_class_code := 'REFUNDS';
33741 l_event_type_code := 'REFUNDS_ALL';
33742 l_line_definition_owner_code := 'S';
33743 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
33744 --
33745 l_balance_type_code := 'A';
33746 l_segment := NULL;
33747 l_ccid := NULL;
33751 l_adr_flex_value_set_id := NULL;
33748 l_adr_transaction_coa_id := NULL;
33749 l_adr_accounting_coa_id := NULL;
33750 l_adr_flexfield_segment_code := NULL;
33752 l_adr_value_type_code := NULL;
33753 l_adr_value_combination_id := NULL;
33754 l_adr_value_segment_code := NULL;
33755
33756 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
33757 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33758 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33759 l_budgetary_control_flag := 'N';
33760
33761 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33762 l_bflow_applied_to_amt := NULL; -- 5132302
33763 l_entered_amt_idx := NULL; -- 4262811
33764 l_accted_amt_idx := NULL; -- 4262811
33765 l_acc_rev_flag := NULL; -- 4262811
33766 l_accrual_line_num := NULL; -- 4262811
33767 l_tmp_amt := NULL; -- 4262811
33768 --
33769
33770 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33771 l_balance_type_code <> 'B' THEN
33772 IF NVL(p_source_96,'
33773 ') = 'ALWAYS_CLEAR' AND
33774 (NVL(p_source_113,'
33775 ') = 'Y' AND
33776 NVL(p_source_15,'
33777 ') = 'ACCOUNT_SEGMENT_VALUE') AND
33778 p_source_114 IS NULL AND
33779 NVL(p_source_97,'
33780 ') = 'CASH' AND
33781 NVL(p_source_122,'
33782 ') = 'R'
33783 THEN
33784
33785 --
33786 XLA_AE_LINES_PKG.SetNewLine;
33787
33788 p_balance_type_code := l_balance_type_code;
33789 -- set the flag so later we will know whether the gain loss line needs to be created
33790
33791 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33792 p_actual_flag :='A';
33793 END IF;
33794
33795 --
33796 -- bulk performance
33797 --
33798 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33799 p_header_num => 0); -- 4262811
33800 --
33801 -- set accounting line options
33802 --
33803 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33804 p_natural_side_code => 'C'
33805 , p_gain_or_loss_flag => 'N'
33806 , p_gl_transfer_mode_code => 'S'
33807 , p_acct_entry_type_code => 'A'
33808 , p_switch_side_flag => 'Y'
33809 , p_merge_duplicate_code => 'A'
33810 );
33811 --
33812 l_acc_rev_natural_side_code := 'D'; -- 4262811
33813 --
33814 --
33815 -- set accounting line type info
33816 --
33817 xla_ae_lines_pkg.SetAcctLineType
33818 (p_component_type => l_component_type
33819 ,p_event_type_code => l_event_type_code
33820 ,p_line_definition_owner_code => l_line_definition_owner_code
33821 ,p_line_definition_code => l_line_definition_code
33822 ,p_accounting_line_code => l_component_code
33823 ,p_accounting_line_type_code => l_component_type_code
33824 ,p_accounting_line_appl_id => l_component_appl_id
33825 ,p_amb_context_code => l_amb_context_code
33826 ,p_entity_code => l_entity_code
33827 ,p_event_class_code => l_event_class_code);
33828 --
33829 -- set accounting class
33830 --
33831 xla_ae_lines_pkg.SetAcctClass(
33832 p_accounting_class_code => 'CASH_CLEARING'
33833 , p_ae_header_id => l_ae_header_id
33834 );
33835
33836 --
33837 -- set rounding class
33838 --
33839 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33840 'CASH_CLEARING';
33841
33842 --
33843 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33844 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33845 --
33846 -- bulk performance
33847 --
33848 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33849
33850 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33851 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33852
33853 -- 4955764
33854 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33855 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33856
33857 -- 4458381 Public Sector Enh
33858
33859 --
33860 -- set accounting attributes for the line type
33861 --
33862 l_entered_amt_idx := 9;
33863 l_accted_amt_idx := 14;
33864 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33865 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33866 l_rec_acct_attrs.array_char_value(1) := p_source_52;
33867 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33868 l_rec_acct_attrs.array_num_value(2) := p_source_90;
33869 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33870 l_rec_acct_attrs.array_char_value(3) := p_source_91;
33871 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33872 l_rec_acct_attrs.array_char_value(4) := p_source_92;
33873 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33877 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33874 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
33875 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33876 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
33878 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
33879 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33880 l_rec_acct_attrs.array_char_value(8) := p_source_54;
33881 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33882 l_rec_acct_attrs.array_num_value(9) := p_source_98;
33883 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33884 l_rec_acct_attrs.array_char_value(10) := p_source_13;
33885 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33886 l_rec_acct_attrs.array_date_value(11) := p_source_117;
33887 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33888 l_rec_acct_attrs.array_num_value(12) := p_source_118;
33889 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33890 l_rec_acct_attrs.array_char_value(13) := p_source_119;
33891 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33892 l_rec_acct_attrs.array_num_value(14) := p_source_116;
33893 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33894 l_rec_acct_attrs.array_char_value(15) := p_source_79;
33895 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33896 l_rec_acct_attrs.array_num_value(16) := p_source_109;
33897 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33898 l_rec_acct_attrs.array_num_value(17) := p_source_110;
33899 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33900 l_rec_acct_attrs.array_char_value(18) := p_source_82;
33901 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33902 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
33903 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33904 l_rec_acct_attrs.array_char_value(20) := p_source_54;
33905 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
33906 l_rec_acct_attrs.array_num_value(21) := p_source_85;
33907 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
33908 l_rec_acct_attrs.array_num_value(22) := p_source_86;
33909 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
33910 l_rec_acct_attrs.array_num_value(23) := p_source_87;
33911
33912 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33913 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33914
33915 ---------------------------------------------------------------------------------------------------------------
33916 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33917 ---------------------------------------------------------------------------------------------------------------
33918 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33919
33920 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33921 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33922
33923 IF xla_accounting_cache_pkg.GetValueChar
33924 (p_source_code => 'LEDGER_CATEGORY_CODE'
33925 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33926 AND l_bflow_method_code = 'PRIOR_ENTRY'
33927 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33928 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33929 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33930 )
33931 THEN
33932 xla_ae_lines_pkg.BflowUpgEntry
33933 (p_business_method_code => l_bflow_method_code
33934 ,p_business_class_code => l_bflow_class_code
33935 ,p_balance_type => l_balance_type_code);
33936 ELSE
33937 NULL;
33938 XLA_AE_LINES_PKG.business_flow_validation(
33939 p_business_method_code => l_bflow_method_code
33940 ,p_business_class_code => l_bflow_class_code
33941 ,p_inherit_description_flag => l_inherit_desc_flag);
33942 END IF;
33943
33944 --
33945 -- call analytical criteria
33946 --
33947
33948
33949 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
33950 xla_ae_lines_pkg.SetAnalyticalCriteria(
33951 p_analytical_criterion_name => 'Check Id'
33952 , p_analytical_criterion_owner => 'S'
33953 , p_analytical_criterion_code => 'CHECK_ID'
33954 , p_amb_context_code => 'DEFAULT'
33955 , p_balancing_flag => 'N'
33956
33957 , p_analytical_detail_char_1 => NULL
33958 , p_analytical_detail_num_1 => p_source_112
33959 , p_analytical_detail_date_1 => NULL
33960
33961 , p_ae_header_id => l_ae_header_id
33962 )
33963 ;
33964 --
33965
33966 --
33967 -- call description
33968 --
33969 -- No description or it is inherited.
33970 --
33971 -- call ADRs
33972 -- Bug 4922099
33973 --
33974 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33975 (NVL(l_actual_upg_option, 'N') = 'O') OR
33979 NULL;
33976 (NVL(l_enc_upg_option, 'N') = 'O')
33977 )
33978 THEN
33980 --
33981 --
33982
33983 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
33984 p_code_combination_id => TO_NUMBER(C_NUM)
33985 , p_value_type_code => NULL
33986 , p_transaction_coa_id => null
33987 , p_accounting_coa_id => null
33988 , p_adr_code => NULL
33989 , p_adr_type_code => NULL
33990 , p_component_type => l_component_type
33991 , p_component_code => l_component_code
33992 , p_component_type_code => l_component_type_code
33993 , p_component_appl_id => l_component_appl_id
33994 , p_amb_context_code => l_amb_context_code
33995 , p_side => NULL
33996 );
33997
33998
33999 -- initialise segments
34000 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34001 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34002 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34003 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34004 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34005 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34006 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34007 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34008 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34009 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34010 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34011 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34012 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34013 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34014 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34015 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34016 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34017 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34018 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34019 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34020 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34021 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34022 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34023 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34024 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34025 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34026 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34027 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34028 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34029 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34030 --
34031
34032 --
34033
34034
34035 l_segment := AcctDerRule_16(
34036 p_application_id => p_application_id
34037 , p_ae_header_id => l_ae_header_id
34038 , p_source_35 => p_source_35
34039 , x_transaction_coa_id => l_adr_transaction_coa_id
34040 , x_accounting_coa_id => l_adr_accounting_coa_id
34041 , x_flexfield_segment_code => l_adr_flexfield_segment_code
34042 , x_flex_value_set_id => l_adr_flex_value_set_id
34043 , x_value_type_code => l_adr_value_type_code
34044 , x_value_combination_id => l_adr_value_combination_id
34045 , x_value_segment_code => l_adr_value_segment_code
34046 , p_side => 'NA'
34047 , p_override_seg_flag => 'Y'
34048 );
34049
34050 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34051
34052 xla_ae_lines_pkg.set_segment(
34053 p_to_segment_code => 'GL_ACCOUNT'
34054 , p_segment_value => l_segment
34055 , p_from_segment_code => l_adr_value_segment_code
34056 , p_from_combination_id => l_adr_value_combination_id
34057 , p_value_type_code => l_adr_value_type_code
34058 , p_transaction_coa_id => l_adr_transaction_coa_id
34059 , p_accounting_coa_id => l_adr_accounting_coa_id
34060 , p_flexfield_segment_code => l_adr_flexfield_segment_code
34061 , p_flex_value_set_id => l_adr_flex_value_set_id
34062 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
34063 , p_adr_type_code => 'S'
34064 , p_component_type => l_component_type
34065 , p_component_code => l_component_code
34066 , p_component_type_code => l_component_type_code
34067 , p_component_appl_id => l_component_appl_id
34068 , p_amb_context_code => l_amb_context_code
34072 );
34069 , p_entity_code => 'AP_PAYMENTS'
34070 , p_event_class_code => 'REFUNDS'
34071 , p_side => 'NA'
34073
34074 END IF;
34075
34076 --
34077 --
34078 END IF;
34079 --
34080 -- Bug 4922099
34081 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34082 (NVL(l_enc_upg_option, 'N') = 'O')
34083 ) AND
34084 (l_bflow_method_code = 'PRIOR_ENTRY')
34085 )
34086 THEN
34087 IF
34088 --
34089 1 = 2
34090 --
34091 THEN
34092 xla_accounting_err_pkg.build_message
34093 (p_appli_s_name => 'XLA'
34094 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34095 ,p_token_1 => 'LINE_NUMBER'
34096 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34097 ,p_token_2 => 'LINE_TYPE_NAME'
34098 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34099 l_component_type
34100 ,l_component_code
34101 ,l_component_type_code
34102 ,l_component_appl_id
34103 ,l_amb_context_code
34104 ,l_entity_code
34105 ,l_event_class_code
34106 )
34107 ,p_token_3 => 'OWNER'
34108 ,p_value_3 => xla_lookups_pkg.get_meaning(
34109 p_lookup_type => 'XLA_OWNER_TYPE'
34110 ,p_lookup_code => l_component_type_code
34111 )
34112 ,p_token_4 => 'PRODUCT_NAME'
34113 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34114 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34115 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34116 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34117 ,p_ae_header_id => NULL
34118 );
34119
34120 IF (C_LEVEL_ERROR>= g_log_level) THEN
34121 trace
34122 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34123 ,p_level => C_LEVEL_ERROR
34124 ,p_module => l_log_module);
34125 END IF;
34126 END IF;
34127 END IF;
34128 --
34129 --
34130 ------------------------------------------------------------------------------------------------
34131 -- 4219869 Business Flow
34132 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34133 -- Prior Entry. Currently, the following code is always generated.
34134 ------------------------------------------------------------------------------------------------
34135 XLA_AE_LINES_PKG.ValidateCurrentLine;
34136
34137 ------------------------------------------------------------------------------------
34138 -- 4219869 Business Flow
34139 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34140 ------------------------------------------------------------------------------------
34141 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34142
34143 ----------------------------------------------------------------------------------
34144 -- 4219869 Business Flow
34145 -- Update journal entry status -- Need to generate this within IF <condition>
34146 ----------------------------------------------------------------------------------
34147 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34148 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34149 ,p_balance_type_code => l_balance_type_code
34150 );
34151
34152 -------------------------------------------------------------------------------------------
34153 -- 4262811 - Generate the Accrual Reversal lines
34154 -------------------------------------------------------------------------------------------
34155 BEGIN
34156 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34157 (g_array_event(p_event_id).array_value_num('header_index'));
34158 IF l_acc_rev_flag IS NULL THEN
34159 l_acc_rev_flag := 'N';
34160 END IF;
34161 EXCEPTION
34162 WHEN OTHERS THEN
34163 l_acc_rev_flag := 'N';
34164 END;
34165 --
34166 IF (l_acc_rev_flag = 'Y') THEN
34167
34168 -- 4645092 ------------------------------------------------------------------------------
34172
34169 -- To allow MPA report to determine if it should generate report process
34170 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34171 ------------------------------------------------------------------------------------------
34173 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34174 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34175 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34176 -- call ADRs
34177 -- Bug 4922099
34178 --
34179 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34180 (NVL(l_actual_upg_option, 'N') = 'O') OR
34181 (NVL(l_enc_upg_option, 'N') = 'O')
34182 )
34183 THEN
34184 NULL;
34185 --
34186 --
34187
34188 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
34189 p_code_combination_id => TO_NUMBER(C_NUM)
34190 , p_value_type_code => NULL
34191 , p_transaction_coa_id => null
34192 , p_accounting_coa_id => null
34193 , p_adr_code => NULL
34194 , p_adr_type_code => NULL
34195 , p_component_type => l_component_type
34196 , p_component_code => l_component_code
34197 , p_component_type_code => l_component_type_code
34198 , p_component_appl_id => l_component_appl_id
34199 , p_amb_context_code => l_amb_context_code
34200 , p_side => NULL
34201 );
34202
34203
34204 -- initialise segments
34205 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34206 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34207 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34208 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34209 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34210 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34211 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34212 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34213 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34214 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34215 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34216 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34217 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34218 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34219 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34220 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34221 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34222 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34223 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34224 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34225 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34226 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34227 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34228 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34229 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34230 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34231 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34232 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34233 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34234 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34235 --
34236
34237 --
34238
34239
34240 l_segment := AcctDerRule_16(
34241 p_application_id => p_application_id
34242 , p_ae_header_id => l_ae_header_id
34243 , p_source_35 => p_source_35
34244 , x_transaction_coa_id => l_adr_transaction_coa_id
34245 , x_accounting_coa_id => l_adr_accounting_coa_id
34246 , x_flexfield_segment_code => l_adr_flexfield_segment_code
34247 , x_flex_value_set_id => l_adr_flex_value_set_id
34248 , x_value_type_code => l_adr_value_type_code
34249 , x_value_combination_id => l_adr_value_combination_id
34250 , x_value_segment_code => l_adr_value_segment_code
34251 , p_side => 'NA'
34252 , p_override_seg_flag => 'Y'
34253 );
34254
34255 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34256
34257 xla_ae_lines_pkg.set_segment(
34258 p_to_segment_code => 'GL_ACCOUNT'
34259 , p_segment_value => l_segment
34260 , p_from_segment_code => l_adr_value_segment_code
34261 , p_from_combination_id => l_adr_value_combination_id
34262 , p_value_type_code => l_adr_value_type_code
34263 , p_transaction_coa_id => l_adr_transaction_coa_id
34264 , p_accounting_coa_id => l_adr_accounting_coa_id
34268 , p_adr_type_code => 'S'
34265 , p_flexfield_segment_code => l_adr_flexfield_segment_code
34266 , p_flex_value_set_id => l_adr_flex_value_set_id
34267 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
34269 , p_component_type => l_component_type
34270 , p_component_code => l_component_code
34271 , p_component_type_code => l_component_type_code
34272 , p_component_appl_id => l_component_appl_id
34273 , p_amb_context_code => l_amb_context_code
34274 , p_entity_code => 'AP_PAYMENTS'
34275 , p_event_class_code => 'REFUNDS'
34276 , p_side => 'NA'
34277 );
34278
34279 END IF;
34280
34281 --
34282 --
34283 END IF;
34284
34285 --
34286 -- Update the line information that should be overwritten
34287 --
34288 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34289 p_header_num => 1);
34290 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34291
34292 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34293
34294 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34295 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34296 END IF;
34297
34298 --
34299 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34300 --
34301 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34302 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34303 ELSE
34304 ---------------------------------------------------------------------------------------------------
34305 -- 4262811a Switch Sign
34306 ---------------------------------------------------------------------------------------------------
34307 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34308 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34309 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34310 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34311 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34312 -- 5132302
34313 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34314 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34315
34316 END IF;
34317
34318 -- 4955764
34319 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34320 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34321
34322
34323 XLA_AE_LINES_PKG.ValidateCurrentLine;
34324 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34325
34326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34327 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34328 ,p_balance_type_code => l_balance_type_code);
34329
34330 END IF;
34331
34332 -----------------------------------------------------------------------------------------
34333 -- 4262811 Multiperiod Accounting
34334 -----------------------------------------------------------------------------------------
34335 -- No MPA option is assigned.
34336
34337
34338 END IF;
34339 END IF;
34340 --
34341
34342 --
34343 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34344 trace
34345 (p_msg => 'END of AcctLineType_81'
34346 ,p_level => C_LEVEL_PROCEDURE
34347 ,p_module => l_log_module);
34348 END IF;
34349 --
34350 EXCEPTION
34351 WHEN xla_exceptions_pkg.application_exception THEN
34352 RAISE;
34353 WHEN OTHERS THEN
34354 xla_exceptions_pkg.raise_message
34355 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_81');
34356 END AcctLineType_81;
34357 --
34358
34359 ---------------------------------------
34360 --
34361 -- PRIVATE FUNCTION
34362 -- AcctLineType_82
34363 --
34364 ---------------------------------------
34365 PROCEDURE AcctLineType_82 (
34366 p_application_id IN NUMBER
34367 ,p_event_id IN NUMBER
34368 ,p_calculate_acctd_flag IN VARCHAR2
34369 ,p_calculate_g_l_flag IN VARCHAR2
34370 ,p_actual_flag IN OUT VARCHAR2
34371 ,p_balance_type_code OUT VARCHAR2
34372 ,p_gain_or_loss_ref OUT VARCHAR2
34373
34374 --Payment Currency Code
34375 , p_source_13 IN VARCHAR2
34376 --Automatic Offsets Value
34377 , p_source_15 IN VARCHAR2
34378 , p_source_15_meaning IN VARCHAR2
34379 --Bank Cash Clearing Account
34380 , p_source_35 IN NUMBER
34381 --Accounting Reversal Indicator
34382 , p_source_52 IN VARCHAR2
34383 --Distribution Link Type
34384 , p_source_54 IN VARCHAR2
34385 --Override Accounted Amount Indicator
34389 , p_source_82 IN VARCHAR2
34386 , p_source_79 IN VARCHAR2
34387 , p_source_79_meaning IN VARCHAR2
34388 --Third Party Type
34390 --Invoice Distribution Tax Line Identifier
34391 , p_source_85 IN NUMBER
34392 --Invoice Distribution Tax Distribution Identifier from Tax
34393 , p_source_86 IN NUMBER
34394 --Invoice Distribution Summary Tax Line Identifier
34395 , p_source_87 IN NUMBER
34396 --Business Flow Accounts Payable Application Identifier
34397 , p_source_90 IN NUMBER
34398 --Business Flow Invoice Distribution Type
34399 , p_source_91 IN VARCHAR2
34400 --Business Flow Invoice Entity Code
34401 , p_source_92 IN VARCHAR2
34402 --Business Flow Invoice Distribution Identifier
34403 , p_source_93 IN NUMBER
34404 --Business Flow Invoice Identifier
34405 , p_source_94 IN NUMBER
34406 --When to Account for Payment Option
34407 , p_source_96 IN VARCHAR2
34408 --Payment Distribution Type
34409 , p_source_97 IN VARCHAR2
34410 , p_source_97_meaning IN VARCHAR2
34411 --Payment Distribution Amount
34412 , p_source_98 IN NUMBER
34413 --Payment Distribution Identifier
34414 , p_source_103 IN NUMBER
34415 --Payment Supplier Identifier
34416 , p_source_109 IN NUMBER
34417 --Payment Supplier Site Identifier
34418 , p_source_110 IN NUMBER
34419 --Payment Distribution Reversed Identifier
34420 , p_source_111 IN NUMBER
34421 --Payment Identifier
34422 , p_source_112 IN NUMBER
34423 --Pooled Bank Account Option
34424 , p_source_113 IN VARCHAR2
34425 , p_source_113_meaning IN VARCHAR2
34426 --Payment Maturity Date
34427 , p_source_114 IN DATE
34428 --Payment Distribution (Invoice Rate) Ledger Amount
34429 , p_source_116 IN NUMBER
34430 --Payment Exchange Date
34431 , p_source_117 IN DATE
34432 --Payment Exchange Rate
34433 , p_source_118 IN NUMBER
34434 --Payment Exchange Rate Type
34435 , p_source_119 IN VARCHAR2
34436 --Payment Type
34437 , p_source_122 IN VARCHAR2
34438 , p_source_122_meaning IN VARCHAR2
34439 )
34440 IS
34441
34442 l_component_type VARCHAR2(80);
34443 l_component_code VARCHAR2(30);
34444 l_component_type_code VARCHAR2(1);
34445 l_component_appl_id INTEGER;
34446 l_amb_context_code VARCHAR2(30);
34447 l_entity_code VARCHAR2(30);
34448 l_event_class_code VARCHAR2(30);
34449 l_ae_header_id NUMBER;
34450 l_event_type_code VARCHAR2(30);
34451 l_line_definition_code VARCHAR2(30);
34452 l_line_definition_owner_code VARCHAR2(1);
34453 --
34454 -- adr variables
34455 l_segment VARCHAR2(30);
34456 l_ccid NUMBER;
34457 l_adr_transaction_coa_id NUMBER;
34458 l_adr_accounting_coa_id NUMBER;
34459 l_adr_flexfield_segment_code VARCHAR2(30);
34460 l_adr_flex_value_set_id NUMBER;
34461 l_adr_value_type_code VARCHAR2(30);
34462 l_adr_value_combination_id NUMBER;
34463 l_adr_value_segment_code VARCHAR2(30);
34464
34465 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34466 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34467 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34468 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34469
34470 -- 4262811 Variables ------------------------------------------------------------------------------------------
34471 l_entered_amt_idx NUMBER;
34472 l_accted_amt_idx NUMBER;
34473 l_acc_rev_flag VARCHAR2(1);
34474 l_accrual_line_num NUMBER;
34475 l_tmp_amt NUMBER;
34476 l_acc_rev_natural_side_code VARCHAR2(1);
34477
34478 l_num_entries NUMBER;
34479 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34480 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34481 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34482 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34483 l_recog_line_1 NUMBER;
34484 l_recog_line_2 NUMBER;
34485
34486 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34487 l_bflow_applied_to_amt NUMBER; -- 5132302
34488 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34489
34490 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34491
34492 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34493 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34494
34495 ---------------------------------------------------------------------------------------------------------------
34496
34497
34498 --
34499 -- bulk performance
34500 --
34501 l_balance_type_code VARCHAR2(1);
34502 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34503 l_log_module VARCHAR2(240);
34504
34505 --
34506 -- Upgrade strategy
34507 --
34508 l_actual_upg_option VARCHAR2(1);
34509 l_enc_upg_option VARCHAR2(1);
34510
34511 --
34512 BEGIN
34513 --
34514 IF g_log_enabled THEN
34515 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_82';
34519
34516 END IF;
34517 --
34518 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34520 trace
34521 (p_msg => 'BEGIN of AcctLineType_82'
34522 ,p_level => C_LEVEL_PROCEDURE
34523 ,p_module => l_log_module);
34524
34525 END IF;
34526 --
34527 l_component_type := 'AMB_JLT';
34528 l_component_code := 'AP_CASH_CLEAR_REF_BS_INVXRATE';
34529 l_component_type_code := 'S';
34530 l_component_appl_id := 200;
34531 l_amb_context_code := 'DEFAULT';
34532 l_entity_code := 'AP_PAYMENTS';
34533 l_event_class_code := 'REFUNDS';
34534 l_event_type_code := 'REFUNDS_ALL';
34535 l_line_definition_owner_code := 'S';
34536 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
34537 --
34538 l_balance_type_code := 'A';
34539 l_segment := NULL;
34540 l_ccid := NULL;
34541 l_adr_transaction_coa_id := NULL;
34542 l_adr_accounting_coa_id := NULL;
34543 l_adr_flexfield_segment_code := NULL;
34544 l_adr_flex_value_set_id := NULL;
34545 l_adr_value_type_code := NULL;
34546 l_adr_value_combination_id := NULL;
34547 l_adr_value_segment_code := NULL;
34548
34549 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
34550 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34551 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34552 l_budgetary_control_flag := 'N';
34553
34554 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34555 l_bflow_applied_to_amt := NULL; -- 5132302
34556 l_entered_amt_idx := NULL; -- 4262811
34557 l_accted_amt_idx := NULL; -- 4262811
34558 l_acc_rev_flag := NULL; -- 4262811
34559 l_accrual_line_num := NULL; -- 4262811
34560 l_tmp_amt := NULL; -- 4262811
34561 --
34562
34563 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34564 l_balance_type_code <> 'B' THEN
34565 IF NVL(p_source_96,'
34566 ') = 'ALWAYS_CLEAR' AND
34567 (NVL(p_source_113,'
34568 ') = 'Y' AND
34569 NVL(p_source_15,'
34570 ') = 'BALANCING_SEGMENT') AND
34571 p_source_114 IS NULL AND
34572 NVL(p_source_97,'
34573 ') = 'CASH' AND
34574 NVL(p_source_122,'
34575 ') = 'R'
34576 THEN
34577
34578 --
34579 XLA_AE_LINES_PKG.SetNewLine;
34580
34581 p_balance_type_code := l_balance_type_code;
34582 -- set the flag so later we will know whether the gain loss line needs to be created
34583
34584 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34585 p_actual_flag :='A';
34586 END IF;
34587
34588 --
34589 -- bulk performance
34590 --
34591 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34592 p_header_num => 0); -- 4262811
34593 --
34594 -- set accounting line options
34595 --
34596 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34597 p_natural_side_code => 'C'
34598 , p_gain_or_loss_flag => 'N'
34599 , p_gl_transfer_mode_code => 'S'
34600 , p_acct_entry_type_code => 'A'
34601 , p_switch_side_flag => 'Y'
34602 , p_merge_duplicate_code => 'A'
34603 );
34604 --
34605 l_acc_rev_natural_side_code := 'D'; -- 4262811
34606 --
34607 --
34608 -- set accounting line type info
34609 --
34610 xla_ae_lines_pkg.SetAcctLineType
34611 (p_component_type => l_component_type
34612 ,p_event_type_code => l_event_type_code
34613 ,p_line_definition_owner_code => l_line_definition_owner_code
34614 ,p_line_definition_code => l_line_definition_code
34615 ,p_accounting_line_code => l_component_code
34616 ,p_accounting_line_type_code => l_component_type_code
34617 ,p_accounting_line_appl_id => l_component_appl_id
34618 ,p_amb_context_code => l_amb_context_code
34619 ,p_entity_code => l_entity_code
34620 ,p_event_class_code => l_event_class_code);
34621 --
34622 -- set accounting class
34623 --
34624 xla_ae_lines_pkg.SetAcctClass(
34625 p_accounting_class_code => 'CASH_CLEARING'
34626 , p_ae_header_id => l_ae_header_id
34627 );
34628
34629 --
34630 -- set rounding class
34631 --
34632 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34633 'CASH_CLEARING';
34634
34635 --
34636 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34637 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34638 --
34639 -- bulk performance
34640 --
34641 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34642
34643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34644 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34645
34646 -- 4955764
34650 -- 4458381 Public Sector Enh
34647 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34648 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34649
34651
34652 --
34653 -- set accounting attributes for the line type
34654 --
34655 l_entered_amt_idx := 9;
34656 l_accted_amt_idx := 14;
34657 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34658 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34659 l_rec_acct_attrs.array_char_value(1) := p_source_52;
34660 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
34661 l_rec_acct_attrs.array_num_value(2) := p_source_90;
34662 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34663 l_rec_acct_attrs.array_char_value(3) := p_source_91;
34664 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
34665 l_rec_acct_attrs.array_char_value(4) := p_source_92;
34666 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
34667 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
34668 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34669 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
34670 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
34671 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
34672 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
34673 l_rec_acct_attrs.array_char_value(8) := p_source_54;
34674 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
34675 l_rec_acct_attrs.array_num_value(9) := p_source_98;
34676 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
34677 l_rec_acct_attrs.array_char_value(10) := p_source_13;
34678 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
34679 l_rec_acct_attrs.array_date_value(11) := p_source_117;
34680 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
34681 l_rec_acct_attrs.array_num_value(12) := p_source_118;
34682 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
34683 l_rec_acct_attrs.array_char_value(13) := p_source_119;
34684 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
34685 l_rec_acct_attrs.array_num_value(14) := p_source_116;
34686 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
34687 l_rec_acct_attrs.array_char_value(15) := p_source_79;
34688 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
34689 l_rec_acct_attrs.array_num_value(16) := p_source_109;
34690 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
34691 l_rec_acct_attrs.array_num_value(17) := p_source_110;
34692 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
34693 l_rec_acct_attrs.array_char_value(18) := p_source_82;
34694 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
34695 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
34696 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
34697 l_rec_acct_attrs.array_char_value(20) := p_source_54;
34698 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
34699 l_rec_acct_attrs.array_num_value(21) := p_source_85;
34700 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
34701 l_rec_acct_attrs.array_num_value(22) := p_source_86;
34702 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
34703 l_rec_acct_attrs.array_num_value(23) := p_source_87;
34704
34705 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34706 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34707
34708 ---------------------------------------------------------------------------------------------------------------
34709 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34710 ---------------------------------------------------------------------------------------------------------------
34711 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34712
34713 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34714 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34715
34716 IF xla_accounting_cache_pkg.GetValueChar
34717 (p_source_code => 'LEDGER_CATEGORY_CODE'
34718 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34719 AND l_bflow_method_code = 'PRIOR_ENTRY'
34720 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34721 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34722 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34723 )
34724 THEN
34725 xla_ae_lines_pkg.BflowUpgEntry
34726 (p_business_method_code => l_bflow_method_code
34727 ,p_business_class_code => l_bflow_class_code
34728 ,p_balance_type => l_balance_type_code);
34729 ELSE
34730 NULL;
34731 XLA_AE_LINES_PKG.business_flow_validation(
34732 p_business_method_code => l_bflow_method_code
34733 ,p_business_class_code => l_bflow_class_code
34734 ,p_inherit_description_flag => l_inherit_desc_flag);
34735 END IF;
34736
34737 --
34741
34738 -- call analytical criteria
34739 --
34740
34742 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
34743 xla_ae_lines_pkg.SetAnalyticalCriteria(
34744 p_analytical_criterion_name => 'Check Id'
34745 , p_analytical_criterion_owner => 'S'
34746 , p_analytical_criterion_code => 'CHECK_ID'
34747 , p_amb_context_code => 'DEFAULT'
34748 , p_balancing_flag => 'N'
34749
34750 , p_analytical_detail_char_1 => NULL
34751 , p_analytical_detail_num_1 => p_source_112
34752 , p_analytical_detail_date_1 => NULL
34753
34754 , p_ae_header_id => l_ae_header_id
34755 )
34756 ;
34757 --
34758
34759 --
34760 -- call description
34761 --
34762 -- No description or it is inherited.
34763 --
34764 -- call ADRs
34765 -- Bug 4922099
34766 --
34767 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34768 (NVL(l_actual_upg_option, 'N') = 'O') OR
34769 (NVL(l_enc_upg_option, 'N') = 'O')
34770 )
34771 THEN
34772 NULL;
34773 --
34774 --
34775
34776 l_ccid := AcctDerRule_35(
34777 p_application_id => p_application_id
34778 , p_ae_header_id => l_ae_header_id
34779 , p_source_35 => p_source_35
34780 , x_transaction_coa_id => l_adr_transaction_coa_id
34781 , x_accounting_coa_id => l_adr_accounting_coa_id
34782 , x_value_type_code => l_adr_value_type_code
34783 , p_side => 'NA'
34784 );
34785
34786 xla_ae_lines_pkg.set_ccid(
34787 p_code_combination_id => l_ccid
34788 , p_value_type_code => l_adr_value_type_code
34789 , p_transaction_coa_id => l_adr_transaction_coa_id
34790 , p_accounting_coa_id => l_adr_accounting_coa_id
34791 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34792 , p_adr_type_code => 'S'
34793 , p_component_type => l_component_type
34794 , p_component_code => l_component_code
34795 , p_component_type_code => l_component_type_code
34796 , p_component_appl_id => l_component_appl_id
34797 , p_amb_context_code => l_amb_context_code
34798 , p_side => 'NA'
34799 );
34800
34801
34802 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34803 p_to_segment_code => 'GL_BALANCING'
34804 , p_segment_value => C_CHAR
34805 , p_from_segment_code => NULL
34806 , p_from_combination_id => NULL
34807 , p_value_type_code => NULL
34808 , p_transaction_coa_id => null
34809 , p_accounting_coa_id => null
34810 , p_flexfield_segment_code => NULL
34811 , p_flex_value_set_id => NULL
34812 , p_adr_code => NULL
34813 , p_adr_type_code => NULL
34814 , p_component_type => l_component_type
34815 , p_component_code => l_component_code
34816 , p_component_type_code => l_component_type_code
34817 , p_component_appl_id => l_component_appl_id
34818 , p_amb_context_code => l_amb_context_code
34819 , p_entity_code => 'AP_PAYMENTS'
34820 , p_event_class_code => 'REFUNDS'
34821 , p_side => 'NA'
34822 );
34823 --
34824
34825
34826 --
34827 --
34828 END IF;
34829 --
34830 -- Bug 4922099
34831 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34832 (NVL(l_enc_upg_option, 'N') = 'O')
34833 ) AND
34834 (l_bflow_method_code = 'PRIOR_ENTRY')
34835 )
34836 THEN
34837 IF
34838 --
34839 1 = 2
34840 --
34841 THEN
34842 xla_accounting_err_pkg.build_message
34843 (p_appli_s_name => 'XLA'
34844 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34845 ,p_token_1 => 'LINE_NUMBER'
34846 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34847 ,p_token_2 => 'LINE_TYPE_NAME'
34848 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34849 l_component_type
34850 ,l_component_code
34851 ,l_component_type_code
34852 ,l_component_appl_id
34853 ,l_amb_context_code
34854 ,l_entity_code
34855 ,l_event_class_code
34856 )
34857 ,p_token_3 => 'OWNER'
34858 ,p_value_3 => xla_lookups_pkg.get_meaning(
34859 p_lookup_type => 'XLA_OWNER_TYPE'
34863 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34860 ,p_lookup_code => l_component_type_code
34861 )
34862 ,p_token_4 => 'PRODUCT_NAME'
34864 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34865 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34866 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34867 ,p_ae_header_id => NULL
34868 );
34869
34870 IF (C_LEVEL_ERROR>= g_log_level) THEN
34871 trace
34872 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34873 ,p_level => C_LEVEL_ERROR
34874 ,p_module => l_log_module);
34875 END IF;
34876 END IF;
34877 END IF;
34878 --
34879 --
34880 ------------------------------------------------------------------------------------------------
34881 -- 4219869 Business Flow
34882 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34883 -- Prior Entry. Currently, the following code is always generated.
34884 ------------------------------------------------------------------------------------------------
34885 XLA_AE_LINES_PKG.ValidateCurrentLine;
34886
34887 ------------------------------------------------------------------------------------
34888 -- 4219869 Business Flow
34889 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34890 ------------------------------------------------------------------------------------
34891 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34892
34893 ----------------------------------------------------------------------------------
34894 -- 4219869 Business Flow
34895 -- Update journal entry status -- Need to generate this within IF <condition>
34896 ----------------------------------------------------------------------------------
34897 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34898 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34899 ,p_balance_type_code => l_balance_type_code
34900 );
34901
34902 -------------------------------------------------------------------------------------------
34903 -- 4262811 - Generate the Accrual Reversal lines
34904 -------------------------------------------------------------------------------------------
34905 BEGIN
34906 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34907 (g_array_event(p_event_id).array_value_num('header_index'));
34908 IF l_acc_rev_flag IS NULL THEN
34909 l_acc_rev_flag := 'N';
34910 END IF;
34911 EXCEPTION
34912 WHEN OTHERS THEN
34913 l_acc_rev_flag := 'N';
34914 END;
34915 --
34916 IF (l_acc_rev_flag = 'Y') THEN
34917
34918 -- 4645092 ------------------------------------------------------------------------------
34919 -- To allow MPA report to determine if it should generate report process
34920 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34921 ------------------------------------------------------------------------------------------
34922
34923 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34924 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34925 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34926 -- call ADRs
34927 -- Bug 4922099
34928 --
34929 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34930 (NVL(l_actual_upg_option, 'N') = 'O') OR
34931 (NVL(l_enc_upg_option, 'N') = 'O')
34932 )
34933 THEN
34934 NULL;
34935 --
34936 --
34937
34938 l_ccid := AcctDerRule_35(
34939 p_application_id => p_application_id
34940 , p_ae_header_id => l_ae_header_id
34941 , p_source_35 => p_source_35
34942 , x_transaction_coa_id => l_adr_transaction_coa_id
34943 , x_accounting_coa_id => l_adr_accounting_coa_id
34944 , x_value_type_code => l_adr_value_type_code
34945 , p_side => 'NA'
34946 );
34947
34948 xla_ae_lines_pkg.set_ccid(
34949 p_code_combination_id => l_ccid
34950 , p_value_type_code => l_adr_value_type_code
34951 , p_transaction_coa_id => l_adr_transaction_coa_id
34952 , p_accounting_coa_id => l_adr_accounting_coa_id
34953 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34954 , p_adr_type_code => 'S'
34955 , p_component_type => l_component_type
34956 , p_component_code => l_component_code
34957 , p_component_type_code => l_component_type_code
34958 , p_component_appl_id => l_component_appl_id
34959 , p_amb_context_code => l_amb_context_code
34960 , p_side => 'NA'
34961 );
34962
34963
34964 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34965 p_to_segment_code => 'GL_BALANCING'
34966 , p_segment_value => C_CHAR
34967 , p_from_segment_code => NULL
34971 , p_accounting_coa_id => null
34968 , p_from_combination_id => NULL
34969 , p_value_type_code => NULL
34970 , p_transaction_coa_id => null
34972 , p_flexfield_segment_code => NULL
34973 , p_flex_value_set_id => NULL
34974 , p_adr_code => NULL
34975 , p_adr_type_code => NULL
34976 , p_component_type => l_component_type
34977 , p_component_code => l_component_code
34978 , p_component_type_code => l_component_type_code
34979 , p_component_appl_id => l_component_appl_id
34980 , p_amb_context_code => l_amb_context_code
34981 , p_entity_code => 'AP_PAYMENTS'
34982 , p_event_class_code => 'REFUNDS'
34983 , p_side => 'NA'
34984 );
34985 --
34986
34987
34988 --
34989 --
34990 END IF;
34991
34992 --
34993 -- Update the line information that should be overwritten
34994 --
34995 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34996 p_header_num => 1);
34997 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34998
34999 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35000
35001 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35002 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35003 END IF;
35004
35005 --
35006 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35007 --
35008 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35009 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35010 ELSE
35011 ---------------------------------------------------------------------------------------------------
35012 -- 4262811a Switch Sign
35013 ---------------------------------------------------------------------------------------------------
35014 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35016 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35017 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35018 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35019 -- 5132302
35020 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35021 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35022
35023 END IF;
35024
35025 -- 4955764
35026 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35027 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35028
35029
35030 XLA_AE_LINES_PKG.ValidateCurrentLine;
35031 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35032
35033 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35034 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35035 ,p_balance_type_code => l_balance_type_code);
35036
35037 END IF;
35038
35039 -----------------------------------------------------------------------------------------
35040 -- 4262811 Multiperiod Accounting
35041 -----------------------------------------------------------------------------------------
35042 -- No MPA option is assigned.
35043
35044
35045 END IF;
35046 END IF;
35047 --
35048
35049 --
35050 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35051 trace
35052 (p_msg => 'END of AcctLineType_82'
35053 ,p_level => C_LEVEL_PROCEDURE
35054 ,p_module => l_log_module);
35055 END IF;
35056 --
35057 EXCEPTION
35058 WHEN xla_exceptions_pkg.application_exception THEN
35059 RAISE;
35060 WHEN OTHERS THEN
35061 xla_exceptions_pkg.raise_message
35062 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_82');
35063 END AcctLineType_82;
35064 --
35065
35066 ---------------------------------------
35067 --
35068 -- PRIVATE FUNCTION
35069 -- AcctLineType_83
35070 --
35071 ---------------------------------------
35072 PROCEDURE AcctLineType_83 (
35073 p_application_id IN NUMBER
35074 ,p_event_id IN NUMBER
35075 ,p_calculate_acctd_flag IN VARCHAR2
35076 ,p_calculate_g_l_flag IN VARCHAR2
35077 ,p_actual_flag IN OUT VARCHAR2
35078 ,p_balance_type_code OUT VARCHAR2
35079 ,p_gain_or_loss_ref OUT VARCHAR2
35080
35081 --Payment Currency Code
35082 , p_source_13 IN VARCHAR2
35083 --Bank Cash Clearing Account
35084 , p_source_35 IN NUMBER
35085 --Automatic Offsets Flag
35086 , p_source_47 IN VARCHAR2
35087 , p_source_47_meaning IN VARCHAR2
35088 --Accounting Reversal Indicator
35089 , p_source_52 IN VARCHAR2
35090 --Distribution Link Type
35091 , p_source_54 IN VARCHAR2
35095 --Third Party Type
35092 --Override Accounted Amount Indicator
35093 , p_source_79 IN VARCHAR2
35094 , p_source_79_meaning IN VARCHAR2
35096 , p_source_82 IN VARCHAR2
35097 --Invoice Distribution Tax Line Identifier
35098 , p_source_85 IN NUMBER
35099 --Invoice Distribution Tax Distribution Identifier from Tax
35100 , p_source_86 IN NUMBER
35101 --Invoice Distribution Summary Tax Line Identifier
35102 , p_source_87 IN NUMBER
35103 --Business Flow Accounts Payable Application Identifier
35104 , p_source_90 IN NUMBER
35105 --Business Flow Invoice Distribution Type
35106 , p_source_91 IN VARCHAR2
35107 --Business Flow Invoice Entity Code
35108 , p_source_92 IN VARCHAR2
35109 --Business Flow Invoice Distribution Identifier
35110 , p_source_93 IN NUMBER
35111 --Business Flow Invoice Identifier
35112 , p_source_94 IN NUMBER
35113 --When to Account for Payment Option
35114 , p_source_96 IN VARCHAR2
35115 --Payment Distribution Type
35116 , p_source_97 IN VARCHAR2
35117 , p_source_97_meaning IN VARCHAR2
35118 --Payment Distribution Amount
35119 , p_source_98 IN NUMBER
35120 --Payment Distribution Identifier
35121 , p_source_103 IN NUMBER
35122 --Payment Supplier Identifier
35123 , p_source_109 IN NUMBER
35124 --Payment Supplier Site Identifier
35125 , p_source_110 IN NUMBER
35126 --Payment Distribution Reversed Identifier
35127 , p_source_111 IN NUMBER
35128 --Payment Identifier
35129 , p_source_112 IN NUMBER
35130 --Pooled Bank Account Option
35131 , p_source_113 IN VARCHAR2
35132 , p_source_113_meaning IN VARCHAR2
35133 --Payment Maturity Date
35134 , p_source_114 IN DATE
35135 --Payment Distribution (Invoice Rate) Ledger Amount
35136 , p_source_116 IN NUMBER
35137 --Payment Exchange Date
35138 , p_source_117 IN DATE
35139 --Payment Exchange Rate
35140 , p_source_118 IN NUMBER
35141 --Payment Exchange Rate Type
35142 , p_source_119 IN VARCHAR2
35143 --Payment Type
35144 , p_source_122 IN VARCHAR2
35145 , p_source_122_meaning IN VARCHAR2
35146 )
35147 IS
35148
35149 l_component_type VARCHAR2(80);
35150 l_component_code VARCHAR2(30);
35151 l_component_type_code VARCHAR2(1);
35152 l_component_appl_id INTEGER;
35153 l_amb_context_code VARCHAR2(30);
35154 l_entity_code VARCHAR2(30);
35155 l_event_class_code VARCHAR2(30);
35156 l_ae_header_id NUMBER;
35157 l_event_type_code VARCHAR2(30);
35158 l_line_definition_code VARCHAR2(30);
35159 l_line_definition_owner_code VARCHAR2(1);
35160 --
35161 -- adr variables
35162 l_segment VARCHAR2(30);
35163 l_ccid NUMBER;
35164 l_adr_transaction_coa_id NUMBER;
35165 l_adr_accounting_coa_id NUMBER;
35166 l_adr_flexfield_segment_code VARCHAR2(30);
35167 l_adr_flex_value_set_id NUMBER;
35168 l_adr_value_type_code VARCHAR2(30);
35169 l_adr_value_combination_id NUMBER;
35170 l_adr_value_segment_code VARCHAR2(30);
35171
35172 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35173 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35174 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35175 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35176
35177 -- 4262811 Variables ------------------------------------------------------------------------------------------
35178 l_entered_amt_idx NUMBER;
35179 l_accted_amt_idx NUMBER;
35180 l_acc_rev_flag VARCHAR2(1);
35181 l_accrual_line_num NUMBER;
35182 l_tmp_amt NUMBER;
35183 l_acc_rev_natural_side_code VARCHAR2(1);
35184
35185 l_num_entries NUMBER;
35186 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35187 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35188 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35189 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35190 l_recog_line_1 NUMBER;
35191 l_recog_line_2 NUMBER;
35192
35193 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35194 l_bflow_applied_to_amt NUMBER; -- 5132302
35195 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35196
35197 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35198
35199 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35200 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35201
35202 ---------------------------------------------------------------------------------------------------------------
35203
35204
35205 --
35206 -- bulk performance
35207 --
35208 l_balance_type_code VARCHAR2(1);
35209 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35210 l_log_module VARCHAR2(240);
35211
35212 --
35213 -- Upgrade strategy
35214 --
35215 l_actual_upg_option VARCHAR2(1);
35216 l_enc_upg_option VARCHAR2(1);
35217
35218 --
35222 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_83';
35219 BEGIN
35220 --
35221 IF g_log_enabled THEN
35223 END IF;
35224 --
35225 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35226
35227 trace
35228 (p_msg => 'BEGIN of AcctLineType_83'
35229 ,p_level => C_LEVEL_PROCEDURE
35230 ,p_module => l_log_module);
35231
35232 END IF;
35233 --
35234 l_component_type := 'AMB_JLT';
35235 l_component_code := 'AP_CASH_CLEAR_REF_INVXRATE';
35236 l_component_type_code := 'S';
35237 l_component_appl_id := 200;
35238 l_amb_context_code := 'DEFAULT';
35239 l_entity_code := 'AP_PAYMENTS';
35240 l_event_class_code := 'REFUNDS';
35241 l_event_type_code := 'REFUNDS_ALL';
35242 l_line_definition_owner_code := 'S';
35243 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
35244 --
35245 l_balance_type_code := 'A';
35246 l_segment := NULL;
35247 l_ccid := NULL;
35248 l_adr_transaction_coa_id := NULL;
35249 l_adr_accounting_coa_id := NULL;
35250 l_adr_flexfield_segment_code := NULL;
35251 l_adr_flex_value_set_id := NULL;
35252 l_adr_value_type_code := NULL;
35253 l_adr_value_combination_id := NULL;
35254 l_adr_value_segment_code := NULL;
35255
35256 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
35257 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
35258 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35259 l_budgetary_control_flag := 'N';
35260
35261 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35262 l_bflow_applied_to_amt := NULL; -- 5132302
35263 l_entered_amt_idx := NULL; -- 4262811
35264 l_accted_amt_idx := NULL; -- 4262811
35265 l_acc_rev_flag := NULL; -- 4262811
35266 l_accrual_line_num := NULL; -- 4262811
35267 l_tmp_amt := NULL; -- 4262811
35268 --
35269
35270 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35271 l_balance_type_code <> 'B' THEN
35272 IF NVL(p_source_96,'
35273 ') = 'ALWAYS_CLEAR' AND
35274 (NVL(p_source_47,'
35275 ') <> 'Y' OR
35276 NVL(p_source_47,'
35277 ') = 'Y' AND
35278 NVL(p_source_113,'
35279 ') <> 'Y') AND
35280 p_source_114 IS NULL AND
35281 NVL(p_source_97,'
35282 ') = 'CASH' AND
35283 NVL(p_source_122,'
35284 ') = 'R'
35285 THEN
35286
35287 --
35288 XLA_AE_LINES_PKG.SetNewLine;
35289
35290 p_balance_type_code := l_balance_type_code;
35291 -- set the flag so later we will know whether the gain loss line needs to be created
35292
35293 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35294 p_actual_flag :='A';
35295 END IF;
35296
35297 --
35298 -- bulk performance
35299 --
35300 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35301 p_header_num => 0); -- 4262811
35302 --
35303 -- set accounting line options
35304 --
35305 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35306 p_natural_side_code => 'C'
35307 , p_gain_or_loss_flag => 'N'
35308 , p_gl_transfer_mode_code => 'S'
35309 , p_acct_entry_type_code => 'A'
35310 , p_switch_side_flag => 'Y'
35311 , p_merge_duplicate_code => 'A'
35312 );
35313 --
35314 l_acc_rev_natural_side_code := 'D'; -- 4262811
35315 --
35316 --
35317 -- set accounting line type info
35318 --
35319 xla_ae_lines_pkg.SetAcctLineType
35320 (p_component_type => l_component_type
35321 ,p_event_type_code => l_event_type_code
35322 ,p_line_definition_owner_code => l_line_definition_owner_code
35323 ,p_line_definition_code => l_line_definition_code
35324 ,p_accounting_line_code => l_component_code
35325 ,p_accounting_line_type_code => l_component_type_code
35326 ,p_accounting_line_appl_id => l_component_appl_id
35327 ,p_amb_context_code => l_amb_context_code
35328 ,p_entity_code => l_entity_code
35329 ,p_event_class_code => l_event_class_code);
35330 --
35331 -- set accounting class
35332 --
35333 xla_ae_lines_pkg.SetAcctClass(
35334 p_accounting_class_code => 'CASH_CLEARING'
35335 , p_ae_header_id => l_ae_header_id
35336 );
35337
35338 --
35339 -- set rounding class
35340 --
35341 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35342 'CASH_CLEARING';
35343
35344 --
35345 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35346 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35347 --
35348 -- bulk performance
35349 --
35350 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35351
35352 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35353 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35357 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35354
35355 -- 4955764
35356 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35358
35359 -- 4458381 Public Sector Enh
35360
35361 --
35362 -- set accounting attributes for the line type
35363 --
35364 l_entered_amt_idx := 9;
35365 l_accted_amt_idx := 14;
35366 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35367 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35368 l_rec_acct_attrs.array_char_value(1) := p_source_52;
35369 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
35370 l_rec_acct_attrs.array_num_value(2) := p_source_90;
35371 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35372 l_rec_acct_attrs.array_char_value(3) := p_source_91;
35373 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
35374 l_rec_acct_attrs.array_char_value(4) := p_source_92;
35375 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
35376 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
35377 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35378 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
35379 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
35380 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
35381 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
35382 l_rec_acct_attrs.array_char_value(8) := p_source_54;
35383 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
35384 l_rec_acct_attrs.array_num_value(9) := p_source_98;
35385 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
35386 l_rec_acct_attrs.array_char_value(10) := p_source_13;
35387 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
35388 l_rec_acct_attrs.array_date_value(11) := p_source_117;
35389 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
35390 l_rec_acct_attrs.array_num_value(12) := p_source_118;
35391 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
35392 l_rec_acct_attrs.array_char_value(13) := p_source_119;
35393 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
35394 l_rec_acct_attrs.array_num_value(14) := p_source_116;
35395 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
35396 l_rec_acct_attrs.array_char_value(15) := p_source_79;
35397 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
35398 l_rec_acct_attrs.array_num_value(16) := p_source_109;
35399 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
35400 l_rec_acct_attrs.array_num_value(17) := p_source_110;
35401 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
35402 l_rec_acct_attrs.array_char_value(18) := p_source_82;
35403 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
35404 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
35405 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
35406 l_rec_acct_attrs.array_char_value(20) := p_source_54;
35407 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
35408 l_rec_acct_attrs.array_num_value(21) := p_source_85;
35409 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
35410 l_rec_acct_attrs.array_num_value(22) := p_source_86;
35411 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
35412 l_rec_acct_attrs.array_num_value(23) := p_source_87;
35413
35414 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35415 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35416
35417 ---------------------------------------------------------------------------------------------------------------
35418 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35419 ---------------------------------------------------------------------------------------------------------------
35420 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35421
35422 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35423 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35424
35425 IF xla_accounting_cache_pkg.GetValueChar
35426 (p_source_code => 'LEDGER_CATEGORY_CODE'
35427 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35428 AND l_bflow_method_code = 'PRIOR_ENTRY'
35429 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35430 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35431 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35432 )
35433 THEN
35434 xla_ae_lines_pkg.BflowUpgEntry
35435 (p_business_method_code => l_bflow_method_code
35436 ,p_business_class_code => l_bflow_class_code
35437 ,p_balance_type => l_balance_type_code);
35438 ELSE
35439 NULL;
35440 -- No business flow processing for business flow method of NONE.
35441 END IF;
35442
35443 --
35444 -- call analytical criteria
35445 --
35446
35447
35448 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
35449 xla_ae_lines_pkg.SetAnalyticalCriteria(
35453 , p_amb_context_code => 'DEFAULT'
35450 p_analytical_criterion_name => 'Check Id'
35451 , p_analytical_criterion_owner => 'S'
35452 , p_analytical_criterion_code => 'CHECK_ID'
35454 , p_balancing_flag => 'N'
35455
35456 , p_analytical_detail_char_1 => NULL
35457 , p_analytical_detail_num_1 => p_source_112
35458 , p_analytical_detail_date_1 => NULL
35459
35460 , p_ae_header_id => l_ae_header_id
35461 )
35462 ;
35463 --
35464
35465 --
35466 -- call description
35467 --
35468 -- No description or it is inherited.
35469 --
35470 -- call ADRs
35471 -- Bug 4922099
35472 --
35473 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35474 (NVL(l_actual_upg_option, 'N') = 'O') OR
35475 (NVL(l_enc_upg_option, 'N') = 'O')
35476 )
35477 THEN
35478 NULL;
35479 --
35480 --
35481
35482 l_ccid := AcctDerRule_35(
35483 p_application_id => p_application_id
35484 , p_ae_header_id => l_ae_header_id
35485 , p_source_35 => p_source_35
35486 , x_transaction_coa_id => l_adr_transaction_coa_id
35487 , x_accounting_coa_id => l_adr_accounting_coa_id
35488 , x_value_type_code => l_adr_value_type_code
35489 , p_side => 'NA'
35490 );
35491
35492 xla_ae_lines_pkg.set_ccid(
35493 p_code_combination_id => l_ccid
35494 , p_value_type_code => l_adr_value_type_code
35495 , p_transaction_coa_id => l_adr_transaction_coa_id
35496 , p_accounting_coa_id => l_adr_accounting_coa_id
35497 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35498 , p_adr_type_code => 'S'
35499 , p_component_type => l_component_type
35500 , p_component_code => l_component_code
35501 , p_component_type_code => l_component_type_code
35502 , p_component_appl_id => l_component_appl_id
35503 , p_amb_context_code => l_amb_context_code
35504 , p_side => 'NA'
35505 );
35506
35507
35508 --
35509 --
35510 END IF;
35511 --
35512 -- Bug 4922099
35513 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35514 (NVL(l_enc_upg_option, 'N') = 'O')
35515 ) AND
35516 (l_bflow_method_code = 'PRIOR_ENTRY')
35517 )
35518 THEN
35519 IF
35520 --
35521 1 = 2
35522 --
35523 THEN
35524 xla_accounting_err_pkg.build_message
35525 (p_appli_s_name => 'XLA'
35526 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35527 ,p_token_1 => 'LINE_NUMBER'
35528 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35529 ,p_token_2 => 'LINE_TYPE_NAME'
35530 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35531 l_component_type
35532 ,l_component_code
35533 ,l_component_type_code
35534 ,l_component_appl_id
35535 ,l_amb_context_code
35536 ,l_entity_code
35537 ,l_event_class_code
35538 )
35539 ,p_token_3 => 'OWNER'
35540 ,p_value_3 => xla_lookups_pkg.get_meaning(
35541 p_lookup_type => 'XLA_OWNER_TYPE'
35542 ,p_lookup_code => l_component_type_code
35543 )
35544 ,p_token_4 => 'PRODUCT_NAME'
35545 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35546 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35547 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35548 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35549 ,p_ae_header_id => NULL
35550 );
35551
35552 IF (C_LEVEL_ERROR>= g_log_level) THEN
35553 trace
35554 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35555 ,p_level => C_LEVEL_ERROR
35556 ,p_module => l_log_module);
35557 END IF;
35558 END IF;
35559 END IF;
35560 --
35561 --
35565 -- Prior Entry. Currently, the following code is always generated.
35562 ------------------------------------------------------------------------------------------------
35563 -- 4219869 Business Flow
35564 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35566 ------------------------------------------------------------------------------------------------
35567 XLA_AE_LINES_PKG.ValidateCurrentLine;
35568
35569 ------------------------------------------------------------------------------------
35570 -- 4219869 Business Flow
35571 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35572 ------------------------------------------------------------------------------------
35573 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35574
35575 ----------------------------------------------------------------------------------
35576 -- 4219869 Business Flow
35577 -- Update journal entry status -- Need to generate this within IF <condition>
35578 ----------------------------------------------------------------------------------
35579 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35580 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35581 ,p_balance_type_code => l_balance_type_code
35582 );
35583
35584 -------------------------------------------------------------------------------------------
35585 -- 4262811 - Generate the Accrual Reversal lines
35586 -------------------------------------------------------------------------------------------
35587 BEGIN
35588 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35589 (g_array_event(p_event_id).array_value_num('header_index'));
35590 IF l_acc_rev_flag IS NULL THEN
35591 l_acc_rev_flag := 'N';
35592 END IF;
35593 EXCEPTION
35594 WHEN OTHERS THEN
35595 l_acc_rev_flag := 'N';
35596 END;
35597 --
35598 IF (l_acc_rev_flag = 'Y') THEN
35599
35600 -- 4645092 ------------------------------------------------------------------------------
35601 -- To allow MPA report to determine if it should generate report process
35602 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35603 ------------------------------------------------------------------------------------------
35604
35605 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35606 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35607 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35608 -- call ADRs
35609 -- Bug 4922099
35610 --
35611 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35612 (NVL(l_actual_upg_option, 'N') = 'O') OR
35613 (NVL(l_enc_upg_option, 'N') = 'O')
35614 )
35615 THEN
35616 NULL;
35617 --
35618 --
35619
35620 l_ccid := AcctDerRule_35(
35621 p_application_id => p_application_id
35622 , p_ae_header_id => l_ae_header_id
35623 , p_source_35 => p_source_35
35624 , x_transaction_coa_id => l_adr_transaction_coa_id
35625 , x_accounting_coa_id => l_adr_accounting_coa_id
35626 , x_value_type_code => l_adr_value_type_code
35627 , p_side => 'NA'
35628 );
35629
35630 xla_ae_lines_pkg.set_ccid(
35631 p_code_combination_id => l_ccid
35632 , p_value_type_code => l_adr_value_type_code
35633 , p_transaction_coa_id => l_adr_transaction_coa_id
35634 , p_accounting_coa_id => l_adr_accounting_coa_id
35635 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35636 , p_adr_type_code => 'S'
35637 , p_component_type => l_component_type
35638 , p_component_code => l_component_code
35639 , p_component_type_code => l_component_type_code
35640 , p_component_appl_id => l_component_appl_id
35641 , p_amb_context_code => l_amb_context_code
35642 , p_side => 'NA'
35643 );
35644
35645
35646 --
35647 --
35648 END IF;
35649
35650 --
35651 -- Update the line information that should be overwritten
35652 --
35653 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35654 p_header_num => 1);
35655 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35656
35657 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35658
35659 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35660 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35661 END IF;
35662
35663 --
35664 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35665 --
35666 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35667 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35668 ELSE
35669 ---------------------------------------------------------------------------------------------------
35670 -- 4262811a Switch Sign
35671 ---------------------------------------------------------------------------------------------------
35675 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35672 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35673 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35674 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35676 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35677 -- 5132302
35678 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35679 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35680
35681 END IF;
35682
35683 -- 4955764
35684 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35685 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35686
35687
35688 XLA_AE_LINES_PKG.ValidateCurrentLine;
35689 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35690
35691 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35692 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35693 ,p_balance_type_code => l_balance_type_code);
35694
35695 END IF;
35696
35697 -----------------------------------------------------------------------------------------
35698 -- 4262811 Multiperiod Accounting
35699 -----------------------------------------------------------------------------------------
35700 -- No MPA option is assigned.
35701
35702
35703 END IF;
35704 END IF;
35705 --
35706
35707 --
35708 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35709 trace
35710 (p_msg => 'END of AcctLineType_83'
35711 ,p_level => C_LEVEL_PROCEDURE
35712 ,p_module => l_log_module);
35713 END IF;
35714 --
35715 EXCEPTION
35716 WHEN xla_exceptions_pkg.application_exception THEN
35717 RAISE;
35718 WHEN OTHERS THEN
35719 xla_exceptions_pkg.raise_message
35720 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_83');
35721 END AcctLineType_83;
35722 --
35723
35724 ---------------------------------------
35725 --
35726 -- PRIVATE FUNCTION
35727 -- AcctLineType_84
35728 --
35729 ---------------------------------------
35730 PROCEDURE AcctLineType_84 (
35731 p_application_id IN NUMBER
35732 ,p_event_id IN NUMBER
35733 ,p_calculate_acctd_flag IN VARCHAR2
35734 ,p_calculate_g_l_flag IN VARCHAR2
35735 ,p_actual_flag IN OUT VARCHAR2
35736 ,p_balance_type_code OUT VARCHAR2
35737 ,p_gain_or_loss_ref OUT VARCHAR2
35738
35739 --Payment Currency Code
35740 , p_source_13 IN VARCHAR2
35741 --Bank Cash Account
35742 , p_source_17 IN NUMBER
35743 --Automatic Offsets Flag
35744 , p_source_47 IN VARCHAR2
35745 , p_source_47_meaning IN VARCHAR2
35746 --Accounting Reversal Indicator
35747 , p_source_52 IN VARCHAR2
35748 --Distribution Link Type
35749 , p_source_54 IN VARCHAR2
35750 --Override Accounted Amount Indicator
35751 , p_source_79 IN VARCHAR2
35752 , p_source_79_meaning IN VARCHAR2
35753 --Third Party Type
35754 , p_source_82 IN VARCHAR2
35755 --Invoice Distribution Tax Line Identifier
35756 , p_source_85 IN NUMBER
35757 --Invoice Distribution Tax Distribution Identifier from Tax
35758 , p_source_86 IN NUMBER
35759 --Invoice Distribution Summary Tax Line Identifier
35760 , p_source_87 IN NUMBER
35761 --Business Flow Accounts Payable Application Identifier
35762 , p_source_90 IN NUMBER
35763 --Business Flow Invoice Distribution Type
35764 , p_source_91 IN VARCHAR2
35765 --Business Flow Invoice Entity Code
35766 , p_source_92 IN VARCHAR2
35767 --Business Flow Invoice Distribution Identifier
35768 , p_source_93 IN NUMBER
35769 --Business Flow Invoice Identifier
35770 , p_source_94 IN NUMBER
35771 --When to Account for Payment Option
35772 , p_source_96 IN VARCHAR2
35773 --Payment Distribution Type
35774 , p_source_97 IN VARCHAR2
35775 , p_source_97_meaning IN VARCHAR2
35776 --Payment Distribution Amount
35777 , p_source_98 IN NUMBER
35778 --Payment Distribution Identifier
35779 , p_source_103 IN NUMBER
35780 --Payment Supplier Identifier
35781 , p_source_109 IN NUMBER
35782 --Payment Supplier Site Identifier
35783 , p_source_110 IN NUMBER
35784 --Payment Distribution Reversed Identifier
35785 , p_source_111 IN NUMBER
35786 --Payment Identifier
35787 , p_source_112 IN NUMBER
35788 --Pooled Bank Account Option
35789 , p_source_113 IN VARCHAR2
35790 , p_source_113_meaning IN VARCHAR2
35791 --Payment Maturity Date
35792 , p_source_114 IN DATE
35793 --Payment Distribution (Payment Rate) Ledger Amount
35794 , p_source_115 IN NUMBER
35795 --Payment Exchange Date
35796 , p_source_117 IN DATE
35797 --Payment Exchange Rate
35798 , p_source_118 IN NUMBER
35799 --Payment Exchange Rate Type
35800 , p_source_119 IN VARCHAR2
35801 --Payment Type
35802 , p_source_122 IN VARCHAR2
35806 --Invoice Distribution Amount of the Payment Distribution
35803 , p_source_122_meaning IN VARCHAR2
35804 --Payment Processing Type
35805 , p_source_123 IN VARCHAR2
35807 , p_source_124 IN NUMBER
35808 )
35809 IS
35810
35811 l_component_type VARCHAR2(80);
35812 l_component_code VARCHAR2(30);
35813 l_component_type_code VARCHAR2(1);
35814 l_component_appl_id INTEGER;
35815 l_amb_context_code VARCHAR2(30);
35816 l_entity_code VARCHAR2(30);
35817 l_event_class_code VARCHAR2(30);
35818 l_ae_header_id NUMBER;
35819 l_event_type_code VARCHAR2(30);
35820 l_line_definition_code VARCHAR2(30);
35821 l_line_definition_owner_code VARCHAR2(1);
35822 --
35823 -- adr variables
35824 l_segment VARCHAR2(30);
35825 l_ccid NUMBER;
35826 l_adr_transaction_coa_id NUMBER;
35827 l_adr_accounting_coa_id NUMBER;
35828 l_adr_flexfield_segment_code VARCHAR2(30);
35829 l_adr_flex_value_set_id NUMBER;
35830 l_adr_value_type_code VARCHAR2(30);
35831 l_adr_value_combination_id NUMBER;
35832 l_adr_value_segment_code VARCHAR2(30);
35833
35834 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35835 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35836 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35837 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35838
35839 -- 4262811 Variables ------------------------------------------------------------------------------------------
35840 l_entered_amt_idx NUMBER;
35841 l_accted_amt_idx NUMBER;
35842 l_acc_rev_flag VARCHAR2(1);
35843 l_accrual_line_num NUMBER;
35844 l_tmp_amt NUMBER;
35845 l_acc_rev_natural_side_code VARCHAR2(1);
35846
35847 l_num_entries NUMBER;
35848 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35849 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35850 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35851 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35852 l_recog_line_1 NUMBER;
35853 l_recog_line_2 NUMBER;
35854
35855 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35856 l_bflow_applied_to_amt NUMBER; -- 5132302
35857 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35858
35859 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35860
35861 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35862 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35863
35864 ---------------------------------------------------------------------------------------------------------------
35865
35866
35867 --
35868 -- bulk performance
35869 --
35870 l_balance_type_code VARCHAR2(1);
35871 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35872 l_log_module VARCHAR2(240);
35873
35874 --
35875 -- Upgrade strategy
35876 --
35877 l_actual_upg_option VARCHAR2(1);
35878 l_enc_upg_option VARCHAR2(1);
35879
35880 --
35881 BEGIN
35882 --
35883 IF g_log_enabled THEN
35884 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_84';
35885 END IF;
35886 --
35887 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35888
35889 trace
35890 (p_msg => 'BEGIN of AcctLineType_84'
35891 ,p_level => C_LEVEL_PROCEDURE
35892 ,p_module => l_log_module);
35893
35894 END IF;
35895 --
35896 l_component_type := 'AMB_JLT';
35897 l_component_code := 'AP_CASH_PMT';
35898 l_component_type_code := 'S';
35899 l_component_appl_id := 200;
35900 l_amb_context_code := 'DEFAULT';
35901 l_entity_code := 'AP_PAYMENTS';
35902 l_event_class_code := 'PAYMENTS';
35903 l_event_type_code := 'PAYMENTS_ALL';
35904 l_line_definition_owner_code := 'S';
35905 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
35906 --
35907 l_balance_type_code := 'A';
35908 l_segment := NULL;
35909 l_ccid := NULL;
35910 l_adr_transaction_coa_id := NULL;
35911 l_adr_accounting_coa_id := NULL;
35912 l_adr_flexfield_segment_code := NULL;
35913 l_adr_flex_value_set_id := NULL;
35914 l_adr_value_type_code := NULL;
35915 l_adr_value_combination_id := NULL;
35916 l_adr_value_segment_code := NULL;
35917
35918 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
35919 l_bflow_class_code := ''; -- 4219869 Business Flow
35920 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35921 l_budgetary_control_flag := 'N';
35922
35923 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35924 l_bflow_applied_to_amt := NULL; -- 5132302
35925 l_entered_amt_idx := NULL; -- 4262811
35926 l_accted_amt_idx := NULL; -- 4262811
35927 l_acc_rev_flag := NULL; -- 4262811
35928 l_accrual_line_num := NULL; -- 4262811
35932 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35929 l_tmp_amt := NULL; -- 4262811
35930 --
35931
35933 l_balance_type_code <> 'B' THEN
35934 IF NVL(p_source_96,'
35935 ') = 'ISSUE_ISSUE' AND
35936 (NVL(p_source_47,'
35937 ') <> 'Y' OR
35938 NVL(p_source_47,'
35939 ') = 'Y' AND
35940 NVL(p_source_113,'
35941 ') <> 'Y') AND
35942 p_source_114 IS NULL AND
35943 NVL(p_source_97,'
35944 ') = 'CASH' AND
35945 NVL(p_source_122,'
35946 ') <> 'R' AND
35947 NVL(p_source_123,'
35948 ') <> 'PAYMENTCARD'
35949 THEN
35950
35951 --
35952 XLA_AE_LINES_PKG.SetNewLine;
35953
35954 p_balance_type_code := l_balance_type_code;
35955 -- set the flag so later we will know whether the gain loss line needs to be created
35956
35957 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35958 p_actual_flag :='A';
35959 END IF;
35960
35961 --
35962 -- bulk performance
35963 --
35964 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35965 p_header_num => 0); -- 4262811
35966 --
35967 -- set accounting line options
35968 --
35969 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35970 p_natural_side_code => 'C'
35971 , p_gain_or_loss_flag => 'N'
35972 , p_gl_transfer_mode_code => 'S'
35973 , p_acct_entry_type_code => 'A'
35974 , p_switch_side_flag => 'Y'
35975 , p_merge_duplicate_code => 'A'
35976 );
35977 --
35978 l_acc_rev_natural_side_code := 'D'; -- 4262811
35979 --
35980 --
35981 -- set accounting line type info
35982 --
35983 xla_ae_lines_pkg.SetAcctLineType
35984 (p_component_type => l_component_type
35985 ,p_event_type_code => l_event_type_code
35986 ,p_line_definition_owner_code => l_line_definition_owner_code
35987 ,p_line_definition_code => l_line_definition_code
35988 ,p_accounting_line_code => l_component_code
35989 ,p_accounting_line_type_code => l_component_type_code
35990 ,p_accounting_line_appl_id => l_component_appl_id
35991 ,p_amb_context_code => l_amb_context_code
35992 ,p_entity_code => l_entity_code
35993 ,p_event_class_code => l_event_class_code);
35994 --
35995 -- set accounting class
35996 --
35997 xla_ae_lines_pkg.SetAcctClass(
35998 p_accounting_class_code => 'CASH'
35999 , p_ae_header_id => l_ae_header_id
36000 );
36001
36002 --
36003 -- set rounding class
36004 --
36005 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36006 'CASH';
36007
36008 --
36009 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36010 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36011 --
36012 -- bulk performance
36013 --
36014 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36015
36016 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36017 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36018
36019 -- 4955764
36020 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36021 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36022
36023 -- 4458381 Public Sector Enh
36024
36025 --
36026 -- set accounting attributes for the line type
36027 --
36028 l_entered_amt_idx := 10;
36029 l_accted_amt_idx := 15;
36030 l_bflow_applied_to_amt_idx := 2; -- 5132302
36031 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36032 l_rec_acct_attrs.array_char_value(1) := p_source_52;
36033 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
36034 l_rec_acct_attrs.array_num_value(2) := p_source_124;
36035 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
36036 l_rec_acct_attrs.array_num_value(3) := p_source_90;
36037 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36038 l_rec_acct_attrs.array_char_value(4) := p_source_91;
36039 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
36040 l_rec_acct_attrs.array_char_value(5) := p_source_92;
36041 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
36042 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
36043 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36044 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
36045 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
36046 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
36047 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
36048 l_rec_acct_attrs.array_char_value(9) := p_source_54;
36049 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
36050 l_rec_acct_attrs.array_num_value(10) := p_source_98;
36051 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
36052 l_rec_acct_attrs.array_char_value(11) := p_source_13;
36056 l_rec_acct_attrs.array_num_value(13) := p_source_118;
36053 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
36054 l_rec_acct_attrs.array_date_value(12) := p_source_117;
36055 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
36057 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
36058 l_rec_acct_attrs.array_char_value(14) := p_source_119;
36059 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
36060 l_rec_acct_attrs.array_num_value(15) := p_source_115;
36061 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
36062 l_rec_acct_attrs.array_char_value(16) := p_source_79;
36063 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
36064 l_rec_acct_attrs.array_num_value(17) := p_source_109;
36065 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
36066 l_rec_acct_attrs.array_num_value(18) := p_source_110;
36067 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
36068 l_rec_acct_attrs.array_char_value(19) := p_source_82;
36069 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
36070 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
36071 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
36072 l_rec_acct_attrs.array_char_value(21) := p_source_54;
36073 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
36074 l_rec_acct_attrs.array_num_value(22) := p_source_85;
36075 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
36076 l_rec_acct_attrs.array_num_value(23) := p_source_86;
36077 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
36078 l_rec_acct_attrs.array_num_value(24) := p_source_87;
36079
36080 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36081 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36082
36083 ---------------------------------------------------------------------------------------------------------------
36084 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36085 ---------------------------------------------------------------------------------------------------------------
36086 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36087
36088 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36089 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36090
36091 IF xla_accounting_cache_pkg.GetValueChar
36092 (p_source_code => 'LEDGER_CATEGORY_CODE'
36093 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36094 AND l_bflow_method_code = 'PRIOR_ENTRY'
36095 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36096 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36097 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36098 )
36099 THEN
36100 xla_ae_lines_pkg.BflowUpgEntry
36101 (p_business_method_code => l_bflow_method_code
36102 ,p_business_class_code => l_bflow_class_code
36103 ,p_balance_type => l_balance_type_code);
36104 ELSE
36105 NULL;
36106 -- No business flow processing for business flow method of NONE.
36107 END IF;
36108
36109 --
36110 -- call analytical criteria
36111 --
36112
36113
36114 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
36115 xla_ae_lines_pkg.SetAnalyticalCriteria(
36116 p_analytical_criterion_name => 'Check Id'
36117 , p_analytical_criterion_owner => 'S'
36118 , p_analytical_criterion_code => 'CHECK_ID'
36119 , p_amb_context_code => 'DEFAULT'
36120 , p_balancing_flag => 'N'
36121
36122 , p_analytical_detail_char_1 => NULL
36123 , p_analytical_detail_num_1 => p_source_112
36124 , p_analytical_detail_date_1 => NULL
36125
36126 , p_ae_header_id => l_ae_header_id
36127 )
36128 ;
36129 --
36130
36131 --
36132 -- call description
36133 --
36134 -- No description or it is inherited.
36135 --
36136 -- call ADRs
36137 -- Bug 4922099
36138 --
36139 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36140 (NVL(l_actual_upg_option, 'N') = 'O') OR
36141 (NVL(l_enc_upg_option, 'N') = 'O')
36142 )
36143 THEN
36144 NULL;
36145 --
36146 --
36147
36148 l_ccid := AcctDerRule_28(
36149 p_application_id => p_application_id
36150 , p_ae_header_id => l_ae_header_id
36151 , p_source_17 => p_source_17
36152 , x_transaction_coa_id => l_adr_transaction_coa_id
36153 , x_accounting_coa_id => l_adr_accounting_coa_id
36154 , x_value_type_code => l_adr_value_type_code
36155 , p_side => 'NA'
36156 );
36157
36158 xla_ae_lines_pkg.set_ccid(
36159 p_code_combination_id => l_ccid
36160 , p_value_type_code => l_adr_value_type_code
36161 , p_transaction_coa_id => l_adr_transaction_coa_id
36162 , p_accounting_coa_id => l_adr_accounting_coa_id
36163 , p_adr_code => 'AP_CASH'
36164 , p_adr_type_code => 'S'
36168 , p_component_appl_id => l_component_appl_id
36165 , p_component_type => l_component_type
36166 , p_component_code => l_component_code
36167 , p_component_type_code => l_component_type_code
36169 , p_amb_context_code => l_amb_context_code
36170 , p_side => 'NA'
36171 );
36172
36173
36174 --
36175 --
36176 END IF;
36177 --
36178 -- Bug 4922099
36179 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36180 (NVL(l_enc_upg_option, 'N') = 'O')
36181 ) AND
36182 (l_bflow_method_code = 'PRIOR_ENTRY')
36183 )
36184 THEN
36185 IF
36186 --
36187 1 = 2
36188 --
36189 THEN
36190 xla_accounting_err_pkg.build_message
36191 (p_appli_s_name => 'XLA'
36192 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36193 ,p_token_1 => 'LINE_NUMBER'
36194 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36195 ,p_token_2 => 'LINE_TYPE_NAME'
36196 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36197 l_component_type
36198 ,l_component_code
36199 ,l_component_type_code
36200 ,l_component_appl_id
36201 ,l_amb_context_code
36202 ,l_entity_code
36203 ,l_event_class_code
36204 )
36205 ,p_token_3 => 'OWNER'
36206 ,p_value_3 => xla_lookups_pkg.get_meaning(
36207 p_lookup_type => 'XLA_OWNER_TYPE'
36208 ,p_lookup_code => l_component_type_code
36209 )
36210 ,p_token_4 => 'PRODUCT_NAME'
36211 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36212 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36213 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36214 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36215 ,p_ae_header_id => NULL
36216 );
36217
36218 IF (C_LEVEL_ERROR>= g_log_level) THEN
36219 trace
36220 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36221 ,p_level => C_LEVEL_ERROR
36222 ,p_module => l_log_module);
36223 END IF;
36224 END IF;
36225 END IF;
36226 --
36227 --
36228 ------------------------------------------------------------------------------------------------
36229 -- 4219869 Business Flow
36230 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36231 -- Prior Entry. Currently, the following code is always generated.
36232 ------------------------------------------------------------------------------------------------
36233 XLA_AE_LINES_PKG.ValidateCurrentLine;
36234
36235 ------------------------------------------------------------------------------------
36236 -- 4219869 Business Flow
36237 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36238 ------------------------------------------------------------------------------------
36239 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36240
36241 ----------------------------------------------------------------------------------
36242 -- 4219869 Business Flow
36243 -- Update journal entry status -- Need to generate this within IF <condition>
36244 ----------------------------------------------------------------------------------
36245 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36246 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36247 ,p_balance_type_code => l_balance_type_code
36248 );
36249
36250 -------------------------------------------------------------------------------------------
36251 -- 4262811 - Generate the Accrual Reversal lines
36252 -------------------------------------------------------------------------------------------
36253 BEGIN
36254 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36255 (g_array_event(p_event_id).array_value_num('header_index'));
36256 IF l_acc_rev_flag IS NULL THEN
36257 l_acc_rev_flag := 'N';
36258 END IF;
36259 EXCEPTION
36260 WHEN OTHERS THEN
36264 IF (l_acc_rev_flag = 'Y') THEN
36261 l_acc_rev_flag := 'N';
36262 END;
36263 --
36265
36266 -- 4645092 ------------------------------------------------------------------------------
36267 -- To allow MPA report to determine if it should generate report process
36268 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36269 ------------------------------------------------------------------------------------------
36270
36271 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36272 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36273 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36274 -- call ADRs
36275 -- Bug 4922099
36276 --
36277 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36278 (NVL(l_actual_upg_option, 'N') = 'O') OR
36279 (NVL(l_enc_upg_option, 'N') = 'O')
36280 )
36281 THEN
36282 NULL;
36283 --
36284 --
36285
36286 l_ccid := AcctDerRule_28(
36287 p_application_id => p_application_id
36288 , p_ae_header_id => l_ae_header_id
36289 , p_source_17 => p_source_17
36290 , x_transaction_coa_id => l_adr_transaction_coa_id
36291 , x_accounting_coa_id => l_adr_accounting_coa_id
36292 , x_value_type_code => l_adr_value_type_code
36293 , p_side => 'NA'
36294 );
36295
36296 xla_ae_lines_pkg.set_ccid(
36297 p_code_combination_id => l_ccid
36298 , p_value_type_code => l_adr_value_type_code
36299 , p_transaction_coa_id => l_adr_transaction_coa_id
36300 , p_accounting_coa_id => l_adr_accounting_coa_id
36301 , p_adr_code => 'AP_CASH'
36302 , p_adr_type_code => 'S'
36303 , p_component_type => l_component_type
36304 , p_component_code => l_component_code
36305 , p_component_type_code => l_component_type_code
36306 , p_component_appl_id => l_component_appl_id
36307 , p_amb_context_code => l_amb_context_code
36308 , p_side => 'NA'
36309 );
36310
36311
36312 --
36313 --
36314 END IF;
36315
36316 --
36317 -- Update the line information that should be overwritten
36318 --
36319 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36320 p_header_num => 1);
36321 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36322
36323 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36324
36325 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36326 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36327 END IF;
36328
36329 --
36330 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36331 --
36332 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36333 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36334 ELSE
36335 ---------------------------------------------------------------------------------------------------
36336 -- 4262811a Switch Sign
36337 ---------------------------------------------------------------------------------------------------
36338 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36339 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36340 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36341 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36342 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36343 -- 5132302
36344 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36345 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36346
36347 END IF;
36348
36349 -- 4955764
36350 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36351 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36352
36353
36354 XLA_AE_LINES_PKG.ValidateCurrentLine;
36355 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36356
36357 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36358 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36359 ,p_balance_type_code => l_balance_type_code);
36360
36361 END IF;
36362
36363 -----------------------------------------------------------------------------------------
36364 -- 4262811 Multiperiod Accounting
36365 -----------------------------------------------------------------------------------------
36366 -- No MPA option is assigned.
36367
36368
36369 END IF;
36370 END IF;
36371 --
36372
36373 --
36374 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36375 trace
36376 (p_msg => 'END of AcctLineType_84'
36380 --
36377 ,p_level => C_LEVEL_PROCEDURE
36378 ,p_module => l_log_module);
36379 END IF;
36381 EXCEPTION
36382 WHEN xla_exceptions_pkg.application_exception THEN
36383 RAISE;
36384 WHEN OTHERS THEN
36385 xla_exceptions_pkg.raise_message
36386 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_84');
36387 END AcctLineType_84;
36388 --
36389
36390 ---------------------------------------
36391 --
36392 -- PRIVATE FUNCTION
36393 -- AcctLineType_85
36394 --
36395 ---------------------------------------
36396 PROCEDURE AcctLineType_85 (
36397 p_application_id IN NUMBER
36398 ,p_event_id IN NUMBER
36399 ,p_calculate_acctd_flag IN VARCHAR2
36400 ,p_calculate_g_l_flag IN VARCHAR2
36401 ,p_actual_flag IN OUT VARCHAR2
36402 ,p_balance_type_code OUT VARCHAR2
36403 ,p_gain_or_loss_ref OUT VARCHAR2
36404
36405 --Payment Currency Code
36406 , p_source_13 IN VARCHAR2
36407 --Automatic Offsets Value
36408 , p_source_15 IN VARCHAR2
36409 , p_source_15_meaning IN VARCHAR2
36410 --Bank Cash Account
36411 , p_source_17 IN NUMBER
36412 --Accounting Reversal Indicator
36413 , p_source_52 IN VARCHAR2
36414 --Distribution Link Type
36415 , p_source_54 IN VARCHAR2
36416 --Override Accounted Amount Indicator
36417 , p_source_79 IN VARCHAR2
36418 , p_source_79_meaning IN VARCHAR2
36419 --Third Party Type
36420 , p_source_82 IN VARCHAR2
36421 --Invoice Distribution Tax Line Identifier
36422 , p_source_85 IN NUMBER
36423 --Invoice Distribution Tax Distribution Identifier from Tax
36424 , p_source_86 IN NUMBER
36425 --Invoice Distribution Summary Tax Line Identifier
36426 , p_source_87 IN NUMBER
36427 --Business Flow Accounts Payable Application Identifier
36428 , p_source_90 IN NUMBER
36429 --Business Flow Invoice Distribution Type
36430 , p_source_91 IN VARCHAR2
36431 --Business Flow Invoice Entity Code
36432 , p_source_92 IN VARCHAR2
36433 --Business Flow Invoice Distribution Identifier
36434 , p_source_93 IN NUMBER
36435 --Business Flow Invoice Identifier
36436 , p_source_94 IN NUMBER
36437 --When to Account for Payment Option
36438 , p_source_96 IN VARCHAR2
36439 --Payment Distribution Type
36440 , p_source_97 IN VARCHAR2
36441 , p_source_97_meaning IN VARCHAR2
36442 --Payment Distribution Amount
36443 , p_source_98 IN NUMBER
36444 --Payment Distribution Identifier
36445 , p_source_103 IN NUMBER
36446 --Payment Supplier Identifier
36447 , p_source_109 IN NUMBER
36448 --Payment Supplier Site Identifier
36449 , p_source_110 IN NUMBER
36450 --Payment Distribution Reversed Identifier
36451 , p_source_111 IN NUMBER
36452 --Payment Identifier
36453 , p_source_112 IN NUMBER
36454 --Pooled Bank Account Option
36455 , p_source_113 IN VARCHAR2
36456 , p_source_113_meaning IN VARCHAR2
36457 --Payment Maturity Date
36458 , p_source_114 IN DATE
36459 --Payment Distribution (Payment Rate) Ledger Amount
36460 , p_source_115 IN NUMBER
36461 --Payment Exchange Date
36462 , p_source_117 IN DATE
36463 --Payment Exchange Rate
36464 , p_source_118 IN NUMBER
36465 --Payment Exchange Rate Type
36466 , p_source_119 IN VARCHAR2
36467 --Payment Type
36468 , p_source_122 IN VARCHAR2
36469 , p_source_122_meaning IN VARCHAR2
36470 --Payment Processing Type
36471 , p_source_123 IN VARCHAR2
36472 --Invoice Distribution Amount of the Payment Distribution
36473 , p_source_124 IN NUMBER
36474 )
36475 IS
36476
36477 l_component_type VARCHAR2(80);
36478 l_component_code VARCHAR2(30);
36479 l_component_type_code VARCHAR2(1);
36480 l_component_appl_id INTEGER;
36481 l_amb_context_code VARCHAR2(30);
36482 l_entity_code VARCHAR2(30);
36483 l_event_class_code VARCHAR2(30);
36484 l_ae_header_id NUMBER;
36485 l_event_type_code VARCHAR2(30);
36486 l_line_definition_code VARCHAR2(30);
36487 l_line_definition_owner_code VARCHAR2(1);
36488 --
36489 -- adr variables
36490 l_segment VARCHAR2(30);
36491 l_ccid NUMBER;
36492 l_adr_transaction_coa_id NUMBER;
36493 l_adr_accounting_coa_id NUMBER;
36494 l_adr_flexfield_segment_code VARCHAR2(30);
36495 l_adr_flex_value_set_id NUMBER;
36496 l_adr_value_type_code VARCHAR2(30);
36497 l_adr_value_combination_id NUMBER;
36498 l_adr_value_segment_code VARCHAR2(30);
36499
36500 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36501 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36502 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36503 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36504
36505 -- 4262811 Variables ------------------------------------------------------------------------------------------
36506 l_entered_amt_idx NUMBER;
36507 l_accted_amt_idx NUMBER;
36508 l_acc_rev_flag VARCHAR2(1);
36509 l_accrual_line_num NUMBER;
36510 l_tmp_amt NUMBER;
36514 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36511 l_acc_rev_natural_side_code VARCHAR2(1);
36512
36513 l_num_entries NUMBER;
36515 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36516 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36517 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36518 l_recog_line_1 NUMBER;
36519 l_recog_line_2 NUMBER;
36520
36521 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36522 l_bflow_applied_to_amt NUMBER; -- 5132302
36523 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36524
36525 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36526
36527 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36528 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36529
36530 ---------------------------------------------------------------------------------------------------------------
36531
36532
36533 --
36534 -- bulk performance
36535 --
36536 l_balance_type_code VARCHAR2(1);
36537 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36538 l_log_module VARCHAR2(240);
36539
36540 --
36541 -- Upgrade strategy
36542 --
36543 l_actual_upg_option VARCHAR2(1);
36544 l_enc_upg_option VARCHAR2(1);
36545
36546 --
36547 BEGIN
36548 --
36549 IF g_log_enabled THEN
36550 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_85';
36551 END IF;
36552 --
36553 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36554
36555 trace
36556 (p_msg => 'BEGIN of AcctLineType_85'
36557 ,p_level => C_LEVEL_PROCEDURE
36558 ,p_module => l_log_module);
36559
36560 END IF;
36561 --
36562 l_component_type := 'AMB_JLT';
36563 l_component_code := 'AP_CASH_PMT_AOS_AS';
36564 l_component_type_code := 'S';
36565 l_component_appl_id := 200;
36566 l_amb_context_code := 'DEFAULT';
36567 l_entity_code := 'AP_PAYMENTS';
36568 l_event_class_code := 'PAYMENTS';
36569 l_event_type_code := 'PAYMENTS_ALL';
36570 l_line_definition_owner_code := 'S';
36571 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
36572 --
36573 l_balance_type_code := 'A';
36574 l_segment := NULL;
36575 l_ccid := NULL;
36576 l_adr_transaction_coa_id := NULL;
36577 l_adr_accounting_coa_id := NULL;
36578 l_adr_flexfield_segment_code := NULL;
36579 l_adr_flex_value_set_id := NULL;
36580 l_adr_value_type_code := NULL;
36581 l_adr_value_combination_id := NULL;
36582 l_adr_value_segment_code := NULL;
36583
36584 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
36585 l_bflow_class_code := ''; -- 4219869 Business Flow
36586 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36587 l_budgetary_control_flag := 'N';
36588
36589 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36590 l_bflow_applied_to_amt := NULL; -- 5132302
36591 l_entered_amt_idx := NULL; -- 4262811
36592 l_accted_amt_idx := NULL; -- 4262811
36593 l_acc_rev_flag := NULL; -- 4262811
36594 l_accrual_line_num := NULL; -- 4262811
36595 l_tmp_amt := NULL; -- 4262811
36596 --
36597
36598 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36599 l_balance_type_code <> 'B' THEN
36600 IF NVL(p_source_96,'
36601 ') = 'ISSUE_ISSUE' AND
36602 (NVL(p_source_113,'
36603 ') = 'Y' AND
36604 NVL(p_source_15,'
36605 ') = 'ACCOUNT_SEGMENT_VALUE') AND
36606 p_source_114 IS NULL AND
36607 NVL(p_source_97,'
36608 ') = 'CASH' AND
36609 NVL(p_source_122,'
36610 ') <> 'R' AND
36611 NVL(p_source_123,'
36612 ') <> 'PAYMENTCARD'
36613 THEN
36614
36615 --
36616 XLA_AE_LINES_PKG.SetNewLine;
36617
36618 p_balance_type_code := l_balance_type_code;
36619 -- set the flag so later we will know whether the gain loss line needs to be created
36620
36621 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36622 p_actual_flag :='A';
36623 END IF;
36624
36625 --
36626 -- bulk performance
36627 --
36628 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36629 p_header_num => 0); -- 4262811
36630 --
36631 -- set accounting line options
36632 --
36633 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36634 p_natural_side_code => 'C'
36635 , p_gain_or_loss_flag => 'N'
36636 , p_gl_transfer_mode_code => 'S'
36637 , p_acct_entry_type_code => 'A'
36638 , p_switch_side_flag => 'Y'
36639 , p_merge_duplicate_code => 'A'
36640 );
36641 --
36642 l_acc_rev_natural_side_code := 'D'; -- 4262811
36643 --
36644 --
36645 -- set accounting line type info
36646 --
36647 xla_ae_lines_pkg.SetAcctLineType
36651 ,p_line_definition_code => l_line_definition_code
36648 (p_component_type => l_component_type
36649 ,p_event_type_code => l_event_type_code
36650 ,p_line_definition_owner_code => l_line_definition_owner_code
36652 ,p_accounting_line_code => l_component_code
36653 ,p_accounting_line_type_code => l_component_type_code
36654 ,p_accounting_line_appl_id => l_component_appl_id
36655 ,p_amb_context_code => l_amb_context_code
36656 ,p_entity_code => l_entity_code
36657 ,p_event_class_code => l_event_class_code);
36658 --
36659 -- set accounting class
36660 --
36661 xla_ae_lines_pkg.SetAcctClass(
36662 p_accounting_class_code => 'CASH'
36663 , p_ae_header_id => l_ae_header_id
36664 );
36665
36666 --
36667 -- set rounding class
36668 --
36669 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36670 'CASH';
36671
36672 --
36673 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36674 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36675 --
36676 -- bulk performance
36677 --
36678 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36679
36680 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36681 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36682
36683 -- 4955764
36684 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36685 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36686
36687 -- 4458381 Public Sector Enh
36688
36689 --
36690 -- set accounting attributes for the line type
36691 --
36692 l_entered_amt_idx := 10;
36693 l_accted_amt_idx := 15;
36694 l_bflow_applied_to_amt_idx := 2; -- 5132302
36695 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36696 l_rec_acct_attrs.array_char_value(1) := p_source_52;
36697 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
36698 l_rec_acct_attrs.array_num_value(2) := p_source_124;
36699 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
36700 l_rec_acct_attrs.array_num_value(3) := p_source_90;
36701 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36702 l_rec_acct_attrs.array_char_value(4) := p_source_91;
36703 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
36704 l_rec_acct_attrs.array_char_value(5) := p_source_92;
36705 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
36706 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
36707 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36708 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
36709 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
36710 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
36711 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
36712 l_rec_acct_attrs.array_char_value(9) := p_source_54;
36713 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
36714 l_rec_acct_attrs.array_num_value(10) := p_source_98;
36715 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
36716 l_rec_acct_attrs.array_char_value(11) := p_source_13;
36717 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
36718 l_rec_acct_attrs.array_date_value(12) := p_source_117;
36719 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
36720 l_rec_acct_attrs.array_num_value(13) := p_source_118;
36721 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
36722 l_rec_acct_attrs.array_char_value(14) := p_source_119;
36723 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
36724 l_rec_acct_attrs.array_num_value(15) := p_source_115;
36725 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
36726 l_rec_acct_attrs.array_char_value(16) := p_source_79;
36727 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
36728 l_rec_acct_attrs.array_num_value(17) := p_source_109;
36729 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
36730 l_rec_acct_attrs.array_num_value(18) := p_source_110;
36731 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
36732 l_rec_acct_attrs.array_char_value(19) := p_source_82;
36733 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
36734 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
36735 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
36736 l_rec_acct_attrs.array_char_value(21) := p_source_54;
36737 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
36738 l_rec_acct_attrs.array_num_value(22) := p_source_85;
36739 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
36740 l_rec_acct_attrs.array_num_value(23) := p_source_86;
36741 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
36742 l_rec_acct_attrs.array_num_value(24) := p_source_87;
36743
36744 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36745 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36746
36750 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36747 ---------------------------------------------------------------------------------------------------------------
36748 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36749 ---------------------------------------------------------------------------------------------------------------
36751
36752 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36753 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36754
36755 IF xla_accounting_cache_pkg.GetValueChar
36756 (p_source_code => 'LEDGER_CATEGORY_CODE'
36757 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36758 AND l_bflow_method_code = 'PRIOR_ENTRY'
36759 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36760 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36761 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36762 )
36763 THEN
36764 xla_ae_lines_pkg.BflowUpgEntry
36765 (p_business_method_code => l_bflow_method_code
36766 ,p_business_class_code => l_bflow_class_code
36767 ,p_balance_type => l_balance_type_code);
36768 ELSE
36769 NULL;
36770 XLA_AE_LINES_PKG.business_flow_validation(
36771 p_business_method_code => l_bflow_method_code
36772 ,p_business_class_code => l_bflow_class_code
36773 ,p_inherit_description_flag => l_inherit_desc_flag);
36774 END IF;
36775
36776 --
36777 -- call analytical criteria
36778 --
36779
36780
36781 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
36782 xla_ae_lines_pkg.SetAnalyticalCriteria(
36783 p_analytical_criterion_name => 'Check Id'
36784 , p_analytical_criterion_owner => 'S'
36785 , p_analytical_criterion_code => 'CHECK_ID'
36786 , p_amb_context_code => 'DEFAULT'
36787 , p_balancing_flag => 'N'
36788
36789 , p_analytical_detail_char_1 => NULL
36790 , p_analytical_detail_num_1 => p_source_112
36791 , p_analytical_detail_date_1 => NULL
36792
36793 , p_ae_header_id => l_ae_header_id
36794 )
36795 ;
36796 --
36797
36798 --
36799 -- call description
36800 --
36801 -- No description or it is inherited.
36802 --
36803 -- call ADRs
36804 -- Bug 4922099
36805 --
36806 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36807 (NVL(l_actual_upg_option, 'N') = 'O') OR
36808 (NVL(l_enc_upg_option, 'N') = 'O')
36809 )
36810 THEN
36811 NULL;
36812 --
36813 --
36814
36815 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
36816 p_code_combination_id => TO_NUMBER(C_NUM)
36817 , p_value_type_code => NULL
36818 , p_transaction_coa_id => null
36819 , p_accounting_coa_id => null
36820 , p_adr_code => NULL
36821 , p_adr_type_code => NULL
36822 , p_component_type => l_component_type
36823 , p_component_code => l_component_code
36824 , p_component_type_code => l_component_type_code
36825 , p_component_appl_id => l_component_appl_id
36826 , p_amb_context_code => l_amb_context_code
36827 , p_side => NULL
36828 );
36829
36830
36831 -- initialise segments
36832 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36833 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36834 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36835 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36836 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36837 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36838 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36839 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36840 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36841 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36842 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36843 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36844 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36845 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36846 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36847 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36848 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36849 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36850 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36851 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36855 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36852 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36853 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36854 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36856 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36857 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36858 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36859 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36860 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36861 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36862 --
36863
36864 --
36865
36866
36867 l_segment := AcctDerRule_6(
36868 p_application_id => p_application_id
36869 , p_ae_header_id => l_ae_header_id
36870 , p_source_17 => p_source_17
36871 , x_transaction_coa_id => l_adr_transaction_coa_id
36872 , x_accounting_coa_id => l_adr_accounting_coa_id
36873 , x_flexfield_segment_code => l_adr_flexfield_segment_code
36874 , x_flex_value_set_id => l_adr_flex_value_set_id
36875 , x_value_type_code => l_adr_value_type_code
36876 , x_value_combination_id => l_adr_value_combination_id
36877 , x_value_segment_code => l_adr_value_segment_code
36878 , p_side => 'NA'
36879 , p_override_seg_flag => 'Y'
36880 );
36881
36882 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36883
36884 xla_ae_lines_pkg.set_segment(
36885 p_to_segment_code => 'GL_ACCOUNT'
36886 , p_segment_value => l_segment
36887 , p_from_segment_code => l_adr_value_segment_code
36888 , p_from_combination_id => l_adr_value_combination_id
36889 , p_value_type_code => l_adr_value_type_code
36890 , p_transaction_coa_id => l_adr_transaction_coa_id
36891 , p_accounting_coa_id => l_adr_accounting_coa_id
36892 , p_flexfield_segment_code => l_adr_flexfield_segment_code
36893 , p_flex_value_set_id => l_adr_flex_value_set_id
36894 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
36895 , p_adr_type_code => 'S'
36896 , p_component_type => l_component_type
36897 , p_component_code => l_component_code
36898 , p_component_type_code => l_component_type_code
36899 , p_component_appl_id => l_component_appl_id
36900 , p_amb_context_code => l_amb_context_code
36901 , p_entity_code => 'AP_PAYMENTS'
36902 , p_event_class_code => 'PAYMENTS'
36903 , p_side => 'NA'
36904 );
36905
36906 END IF;
36907
36908 --
36909 --
36910 END IF;
36911 --
36912 -- Bug 4922099
36913 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36914 (NVL(l_enc_upg_option, 'N') = 'O')
36915 ) AND
36916 (l_bflow_method_code = 'PRIOR_ENTRY')
36917 )
36918 THEN
36919 IF
36920 --
36921 1 = 2
36922 --
36923 THEN
36924 xla_accounting_err_pkg.build_message
36925 (p_appli_s_name => 'XLA'
36926 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36927 ,p_token_1 => 'LINE_NUMBER'
36928 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36929 ,p_token_2 => 'LINE_TYPE_NAME'
36930 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36931 l_component_type
36932 ,l_component_code
36933 ,l_component_type_code
36934 ,l_component_appl_id
36935 ,l_amb_context_code
36936 ,l_entity_code
36937 ,l_event_class_code
36938 )
36939 ,p_token_3 => 'OWNER'
36940 ,p_value_3 => xla_lookups_pkg.get_meaning(
36941 p_lookup_type => 'XLA_OWNER_TYPE'
36942 ,p_lookup_code => l_component_type_code
36943 )
36944 ,p_token_4 => 'PRODUCT_NAME'
36945 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36946 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36950 );
36947 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36948 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36949 ,p_ae_header_id => NULL
36951
36952 IF (C_LEVEL_ERROR>= g_log_level) THEN
36953 trace
36954 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36955 ,p_level => C_LEVEL_ERROR
36956 ,p_module => l_log_module);
36957 END IF;
36958 END IF;
36959 END IF;
36960 --
36961 --
36962 ------------------------------------------------------------------------------------------------
36963 -- 4219869 Business Flow
36964 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36965 -- Prior Entry. Currently, the following code is always generated.
36966 ------------------------------------------------------------------------------------------------
36967 XLA_AE_LINES_PKG.ValidateCurrentLine;
36968
36969 ------------------------------------------------------------------------------------
36970 -- 4219869 Business Flow
36971 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36972 ------------------------------------------------------------------------------------
36973 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36974
36975 ----------------------------------------------------------------------------------
36976 -- 4219869 Business Flow
36977 -- Update journal entry status -- Need to generate this within IF <condition>
36978 ----------------------------------------------------------------------------------
36979 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36980 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36981 ,p_balance_type_code => l_balance_type_code
36982 );
36983
36984 -------------------------------------------------------------------------------------------
36985 -- 4262811 - Generate the Accrual Reversal lines
36986 -------------------------------------------------------------------------------------------
36987 BEGIN
36988 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36989 (g_array_event(p_event_id).array_value_num('header_index'));
36990 IF l_acc_rev_flag IS NULL THEN
36991 l_acc_rev_flag := 'N';
36992 END IF;
36993 EXCEPTION
36994 WHEN OTHERS THEN
36995 l_acc_rev_flag := 'N';
36996 END;
36997 --
36998 IF (l_acc_rev_flag = 'Y') THEN
36999
37000 -- 4645092 ------------------------------------------------------------------------------
37001 -- To allow MPA report to determine if it should generate report process
37002 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37003 ------------------------------------------------------------------------------------------
37004
37005 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37006 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37007 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37008 -- call ADRs
37009 -- Bug 4922099
37010 --
37011 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37012 (NVL(l_actual_upg_option, 'N') = 'O') OR
37013 (NVL(l_enc_upg_option, 'N') = 'O')
37014 )
37015 THEN
37016 NULL;
37017 --
37018 --
37019
37020 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
37021 p_code_combination_id => TO_NUMBER(C_NUM)
37022 , p_value_type_code => NULL
37023 , p_transaction_coa_id => null
37024 , p_accounting_coa_id => null
37025 , p_adr_code => NULL
37026 , p_adr_type_code => NULL
37027 , p_component_type => l_component_type
37028 , p_component_code => l_component_code
37029 , p_component_type_code => l_component_type_code
37030 , p_component_appl_id => l_component_appl_id
37031 , p_amb_context_code => l_amb_context_code
37032 , p_side => NULL
37033 );
37034
37035
37036 -- initialise segments
37037 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37038 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37039 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37040 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37041 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37042 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37043 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37044 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37045 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37046 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37047 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37048 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37052 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37049 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37050 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37051 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37053 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37054 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37055 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37056 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37057 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37058 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37059 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37060 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37061 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37062 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37063 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37064 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37065 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37066 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37067 --
37068
37069 --
37070
37071
37072 l_segment := AcctDerRule_6(
37073 p_application_id => p_application_id
37074 , p_ae_header_id => l_ae_header_id
37075 , p_source_17 => p_source_17
37076 , x_transaction_coa_id => l_adr_transaction_coa_id
37077 , x_accounting_coa_id => l_adr_accounting_coa_id
37078 , x_flexfield_segment_code => l_adr_flexfield_segment_code
37079 , x_flex_value_set_id => l_adr_flex_value_set_id
37080 , x_value_type_code => l_adr_value_type_code
37081 , x_value_combination_id => l_adr_value_combination_id
37082 , x_value_segment_code => l_adr_value_segment_code
37083 , p_side => 'NA'
37084 , p_override_seg_flag => 'Y'
37085 );
37086
37087 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
37088
37089 xla_ae_lines_pkg.set_segment(
37090 p_to_segment_code => 'GL_ACCOUNT'
37091 , p_segment_value => l_segment
37092 , p_from_segment_code => l_adr_value_segment_code
37093 , p_from_combination_id => l_adr_value_combination_id
37094 , p_value_type_code => l_adr_value_type_code
37095 , p_transaction_coa_id => l_adr_transaction_coa_id
37096 , p_accounting_coa_id => l_adr_accounting_coa_id
37097 , p_flexfield_segment_code => l_adr_flexfield_segment_code
37098 , p_flex_value_set_id => l_adr_flex_value_set_id
37099 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
37100 , p_adr_type_code => 'S'
37101 , p_component_type => l_component_type
37102 , p_component_code => l_component_code
37103 , p_component_type_code => l_component_type_code
37104 , p_component_appl_id => l_component_appl_id
37105 , p_amb_context_code => l_amb_context_code
37106 , p_entity_code => 'AP_PAYMENTS'
37107 , p_event_class_code => 'PAYMENTS'
37108 , p_side => 'NA'
37109 );
37110
37111 END IF;
37112
37113 --
37114 --
37115 END IF;
37116
37117 --
37118 -- Update the line information that should be overwritten
37119 --
37120 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37121 p_header_num => 1);
37122 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37123
37124 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37125
37126 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37127 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37128 END IF;
37129
37130 --
37131 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37132 --
37133 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37134 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37135 ELSE
37136 ---------------------------------------------------------------------------------------------------
37137 -- 4262811a Switch Sign
37138 ---------------------------------------------------------------------------------------------------
37139 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37141 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37143 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37147
37144 -- 5132302
37145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37146 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37148 END IF;
37149
37150 -- 4955764
37151 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37152 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37153
37154
37155 XLA_AE_LINES_PKG.ValidateCurrentLine;
37156 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37157
37158 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37159 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37160 ,p_balance_type_code => l_balance_type_code);
37161
37162 END IF;
37163
37164 -----------------------------------------------------------------------------------------
37165 -- 4262811 Multiperiod Accounting
37166 -----------------------------------------------------------------------------------------
37167 -- No MPA option is assigned.
37168
37169
37170 END IF;
37171 END IF;
37172 --
37173
37174 --
37175 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37176 trace
37177 (p_msg => 'END of AcctLineType_85'
37178 ,p_level => C_LEVEL_PROCEDURE
37179 ,p_module => l_log_module);
37180 END IF;
37181 --
37182 EXCEPTION
37183 WHEN xla_exceptions_pkg.application_exception THEN
37184 RAISE;
37185 WHEN OTHERS THEN
37186 xla_exceptions_pkg.raise_message
37187 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_85');
37188 END AcctLineType_85;
37189 --
37190
37191 ---------------------------------------
37192 --
37193 -- PRIVATE FUNCTION
37194 -- AcctLineType_86
37195 --
37196 ---------------------------------------
37197 PROCEDURE AcctLineType_86 (
37198 p_application_id IN NUMBER
37199 ,p_event_id IN NUMBER
37200 ,p_calculate_acctd_flag IN VARCHAR2
37201 ,p_calculate_g_l_flag IN VARCHAR2
37202 ,p_actual_flag IN OUT VARCHAR2
37203 ,p_balance_type_code OUT VARCHAR2
37204 ,p_gain_or_loss_ref OUT VARCHAR2
37205
37206 --Payment Currency Code
37207 , p_source_13 IN VARCHAR2
37208 --Automatic Offsets Value
37209 , p_source_15 IN VARCHAR2
37210 , p_source_15_meaning IN VARCHAR2
37211 --Bank Cash Account
37212 , p_source_17 IN NUMBER
37213 --Accounting Reversal Indicator
37214 , p_source_52 IN VARCHAR2
37215 --Distribution Link Type
37216 , p_source_54 IN VARCHAR2
37217 --Override Accounted Amount Indicator
37218 , p_source_79 IN VARCHAR2
37219 , p_source_79_meaning IN VARCHAR2
37220 --Third Party Type
37221 , p_source_82 IN VARCHAR2
37222 --Invoice Distribution Tax Line Identifier
37223 , p_source_85 IN NUMBER
37224 --Invoice Distribution Tax Distribution Identifier from Tax
37225 , p_source_86 IN NUMBER
37226 --Invoice Distribution Summary Tax Line Identifier
37227 , p_source_87 IN NUMBER
37228 --Business Flow Accounts Payable Application Identifier
37229 , p_source_90 IN NUMBER
37230 --Business Flow Invoice Distribution Type
37231 , p_source_91 IN VARCHAR2
37232 --Business Flow Invoice Entity Code
37233 , p_source_92 IN VARCHAR2
37234 --Business Flow Invoice Distribution Identifier
37235 , p_source_93 IN NUMBER
37236 --Business Flow Invoice Identifier
37237 , p_source_94 IN NUMBER
37238 --When to Account for Payment Option
37239 , p_source_96 IN VARCHAR2
37240 --Payment Distribution Type
37241 , p_source_97 IN VARCHAR2
37242 , p_source_97_meaning IN VARCHAR2
37243 --Payment Distribution Amount
37244 , p_source_98 IN NUMBER
37245 --Payment Distribution Identifier
37246 , p_source_103 IN NUMBER
37247 --Payment Supplier Identifier
37248 , p_source_109 IN NUMBER
37249 --Payment Supplier Site Identifier
37250 , p_source_110 IN NUMBER
37251 --Payment Distribution Reversed Identifier
37252 , p_source_111 IN NUMBER
37253 --Payment Identifier
37254 , p_source_112 IN NUMBER
37255 --Pooled Bank Account Option
37256 , p_source_113 IN VARCHAR2
37257 , p_source_113_meaning IN VARCHAR2
37258 --Payment Maturity Date
37259 , p_source_114 IN DATE
37260 --Payment Distribution (Payment Rate) Ledger Amount
37261 , p_source_115 IN NUMBER
37262 --Payment Exchange Date
37263 , p_source_117 IN DATE
37264 --Payment Exchange Rate
37265 , p_source_118 IN NUMBER
37266 --Payment Exchange Rate Type
37267 , p_source_119 IN VARCHAR2
37268 --Payment Type
37269 , p_source_122 IN VARCHAR2
37270 , p_source_122_meaning IN VARCHAR2
37271 --Payment Processing Type
37272 , p_source_123 IN VARCHAR2
37273 --Invoice Distribution Amount of the Payment Distribution
37274 , p_source_124 IN NUMBER
37275 )
37276 IS
37277
37278 l_component_type VARCHAR2(80);
37279 l_component_code VARCHAR2(30);
37280 l_component_type_code VARCHAR2(1);
37281 l_component_appl_id INTEGER;
37285 l_ae_header_id NUMBER;
37282 l_amb_context_code VARCHAR2(30);
37283 l_entity_code VARCHAR2(30);
37284 l_event_class_code VARCHAR2(30);
37286 l_event_type_code VARCHAR2(30);
37287 l_line_definition_code VARCHAR2(30);
37288 l_line_definition_owner_code VARCHAR2(1);
37289 --
37290 -- adr variables
37291 l_segment VARCHAR2(30);
37292 l_ccid NUMBER;
37293 l_adr_transaction_coa_id NUMBER;
37294 l_adr_accounting_coa_id NUMBER;
37295 l_adr_flexfield_segment_code VARCHAR2(30);
37296 l_adr_flex_value_set_id NUMBER;
37297 l_adr_value_type_code VARCHAR2(30);
37298 l_adr_value_combination_id NUMBER;
37299 l_adr_value_segment_code VARCHAR2(30);
37300
37301 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37302 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37303 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37304 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37305
37306 -- 4262811 Variables ------------------------------------------------------------------------------------------
37307 l_entered_amt_idx NUMBER;
37308 l_accted_amt_idx NUMBER;
37309 l_acc_rev_flag VARCHAR2(1);
37310 l_accrual_line_num NUMBER;
37311 l_tmp_amt NUMBER;
37312 l_acc_rev_natural_side_code VARCHAR2(1);
37313
37314 l_num_entries NUMBER;
37315 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37316 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37317 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37318 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37319 l_recog_line_1 NUMBER;
37320 l_recog_line_2 NUMBER;
37321
37322 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37323 l_bflow_applied_to_amt NUMBER; -- 5132302
37324 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37325
37326 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37327
37328 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37329 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37330
37331 ---------------------------------------------------------------------------------------------------------------
37332
37333
37334 --
37335 -- bulk performance
37336 --
37337 l_balance_type_code VARCHAR2(1);
37338 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37339 l_log_module VARCHAR2(240);
37340
37341 --
37342 -- Upgrade strategy
37343 --
37344 l_actual_upg_option VARCHAR2(1);
37345 l_enc_upg_option VARCHAR2(1);
37346
37347 --
37348 BEGIN
37349 --
37350 IF g_log_enabled THEN
37351 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_86';
37352 END IF;
37353 --
37354 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37355
37356 trace
37357 (p_msg => 'BEGIN of AcctLineType_86'
37358 ,p_level => C_LEVEL_PROCEDURE
37359 ,p_module => l_log_module);
37360
37361 END IF;
37362 --
37363 l_component_type := 'AMB_JLT';
37364 l_component_code := 'AP_CASH_PMT_AOS_BS';
37365 l_component_type_code := 'S';
37366 l_component_appl_id := 200;
37367 l_amb_context_code := 'DEFAULT';
37368 l_entity_code := 'AP_PAYMENTS';
37369 l_event_class_code := 'PAYMENTS';
37370 l_event_type_code := 'PAYMENTS_ALL';
37371 l_line_definition_owner_code := 'S';
37372 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
37373 --
37374 l_balance_type_code := 'A';
37375 l_segment := NULL;
37376 l_ccid := NULL;
37377 l_adr_transaction_coa_id := NULL;
37378 l_adr_accounting_coa_id := NULL;
37379 l_adr_flexfield_segment_code := NULL;
37380 l_adr_flex_value_set_id := NULL;
37381 l_adr_value_type_code := NULL;
37382 l_adr_value_combination_id := NULL;
37383 l_adr_value_segment_code := NULL;
37384
37385 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
37386 l_bflow_class_code := ''; -- 4219869 Business Flow
37387 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37388 l_budgetary_control_flag := 'N';
37389
37390 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37391 l_bflow_applied_to_amt := NULL; -- 5132302
37392 l_entered_amt_idx := NULL; -- 4262811
37393 l_accted_amt_idx := NULL; -- 4262811
37394 l_acc_rev_flag := NULL; -- 4262811
37395 l_accrual_line_num := NULL; -- 4262811
37396 l_tmp_amt := NULL; -- 4262811
37397 --
37398
37399 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37400 l_balance_type_code <> 'B' THEN
37401 IF NVL(p_source_96,'
37402 ') = 'ISSUE_ISSUE' AND
37403 (NVL(p_source_113,'
37404 ') = 'Y' AND
37405 NVL(p_source_15,'
37406 ') = 'BALANCING_SEGMENT') AND
37407 p_source_114 IS NULL AND
37408 NVL(p_source_97,'
37409 ') = 'CASH' AND
37413 ') <> 'PAYMENTCARD'
37410 NVL(p_source_122,'
37411 ') <> 'R' AND
37412 NVL(p_source_123,'
37414 THEN
37415
37416 --
37417 XLA_AE_LINES_PKG.SetNewLine;
37418
37419 p_balance_type_code := l_balance_type_code;
37420 -- set the flag so later we will know whether the gain loss line needs to be created
37421
37422 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37423 p_actual_flag :='A';
37424 END IF;
37425
37426 --
37427 -- bulk performance
37428 --
37429 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37430 p_header_num => 0); -- 4262811
37431 --
37432 -- set accounting line options
37433 --
37434 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37435 p_natural_side_code => 'C'
37436 , p_gain_or_loss_flag => 'N'
37437 , p_gl_transfer_mode_code => 'S'
37438 , p_acct_entry_type_code => 'A'
37439 , p_switch_side_flag => 'Y'
37440 , p_merge_duplicate_code => 'A'
37441 );
37442 --
37443 l_acc_rev_natural_side_code := 'D'; -- 4262811
37444 --
37445 --
37446 -- set accounting line type info
37447 --
37448 xla_ae_lines_pkg.SetAcctLineType
37449 (p_component_type => l_component_type
37450 ,p_event_type_code => l_event_type_code
37451 ,p_line_definition_owner_code => l_line_definition_owner_code
37452 ,p_line_definition_code => l_line_definition_code
37453 ,p_accounting_line_code => l_component_code
37454 ,p_accounting_line_type_code => l_component_type_code
37455 ,p_accounting_line_appl_id => l_component_appl_id
37456 ,p_amb_context_code => l_amb_context_code
37457 ,p_entity_code => l_entity_code
37458 ,p_event_class_code => l_event_class_code);
37459 --
37460 -- set accounting class
37461 --
37462 xla_ae_lines_pkg.SetAcctClass(
37463 p_accounting_class_code => 'CASH'
37464 , p_ae_header_id => l_ae_header_id
37465 );
37466
37467 --
37468 -- set rounding class
37469 --
37470 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37471 'CASH';
37472
37473 --
37474 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37475 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37476 --
37477 -- bulk performance
37478 --
37479 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37480
37481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37482 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37483
37484 -- 4955764
37485 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37486 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37487
37488 -- 4458381 Public Sector Enh
37489
37490 --
37491 -- set accounting attributes for the line type
37492 --
37493 l_entered_amt_idx := 10;
37494 l_accted_amt_idx := 15;
37495 l_bflow_applied_to_amt_idx := 2; -- 5132302
37496 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37497 l_rec_acct_attrs.array_char_value(1) := p_source_52;
37498 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
37499 l_rec_acct_attrs.array_num_value(2) := p_source_124;
37500 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
37501 l_rec_acct_attrs.array_num_value(3) := p_source_90;
37502 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37503 l_rec_acct_attrs.array_char_value(4) := p_source_91;
37504 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
37505 l_rec_acct_attrs.array_char_value(5) := p_source_92;
37506 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
37507 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
37508 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37509 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
37510 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
37511 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
37512 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
37513 l_rec_acct_attrs.array_char_value(9) := p_source_54;
37514 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
37515 l_rec_acct_attrs.array_num_value(10) := p_source_98;
37516 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
37517 l_rec_acct_attrs.array_char_value(11) := p_source_13;
37518 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
37519 l_rec_acct_attrs.array_date_value(12) := p_source_117;
37520 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
37521 l_rec_acct_attrs.array_num_value(13) := p_source_118;
37522 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
37523 l_rec_acct_attrs.array_char_value(14) := p_source_119;
37524 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
37525 l_rec_acct_attrs.array_num_value(15) := p_source_115;
37529 l_rec_acct_attrs.array_num_value(17) := p_source_109;
37526 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
37527 l_rec_acct_attrs.array_char_value(16) := p_source_79;
37528 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
37530 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
37531 l_rec_acct_attrs.array_num_value(18) := p_source_110;
37532 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
37533 l_rec_acct_attrs.array_char_value(19) := p_source_82;
37534 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
37535 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
37536 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
37537 l_rec_acct_attrs.array_char_value(21) := p_source_54;
37538 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
37539 l_rec_acct_attrs.array_num_value(22) := p_source_85;
37540 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
37541 l_rec_acct_attrs.array_num_value(23) := p_source_86;
37542 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
37543 l_rec_acct_attrs.array_num_value(24) := p_source_87;
37544
37545 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37546 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37547
37548 ---------------------------------------------------------------------------------------------------------------
37549 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37550 ---------------------------------------------------------------------------------------------------------------
37551 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37552
37553 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37554 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37555
37556 IF xla_accounting_cache_pkg.GetValueChar
37557 (p_source_code => 'LEDGER_CATEGORY_CODE'
37558 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37559 AND l_bflow_method_code = 'PRIOR_ENTRY'
37560 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37561 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37562 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37563 )
37564 THEN
37565 xla_ae_lines_pkg.BflowUpgEntry
37566 (p_business_method_code => l_bflow_method_code
37567 ,p_business_class_code => l_bflow_class_code
37568 ,p_balance_type => l_balance_type_code);
37569 ELSE
37570 NULL;
37571 XLA_AE_LINES_PKG.business_flow_validation(
37572 p_business_method_code => l_bflow_method_code
37573 ,p_business_class_code => l_bflow_class_code
37574 ,p_inherit_description_flag => l_inherit_desc_flag);
37575 END IF;
37576
37577 --
37578 -- call analytical criteria
37579 --
37580
37581
37582 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
37583 xla_ae_lines_pkg.SetAnalyticalCriteria(
37584 p_analytical_criterion_name => 'Check Id'
37585 , p_analytical_criterion_owner => 'S'
37586 , p_analytical_criterion_code => 'CHECK_ID'
37587 , p_amb_context_code => 'DEFAULT'
37588 , p_balancing_flag => 'N'
37589
37590 , p_analytical_detail_char_1 => NULL
37591 , p_analytical_detail_num_1 => p_source_112
37592 , p_analytical_detail_date_1 => NULL
37593
37594 , p_ae_header_id => l_ae_header_id
37595 )
37596 ;
37597 --
37598
37599 --
37600 -- call description
37601 --
37602 -- No description or it is inherited.
37603 --
37604 -- call ADRs
37605 -- Bug 4922099
37606 --
37607 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37608 (NVL(l_actual_upg_option, 'N') = 'O') OR
37609 (NVL(l_enc_upg_option, 'N') = 'O')
37610 )
37611 THEN
37612 NULL;
37613 --
37614 --
37615
37616 l_ccid := AcctDerRule_28(
37617 p_application_id => p_application_id
37618 , p_ae_header_id => l_ae_header_id
37619 , p_source_17 => p_source_17
37620 , x_transaction_coa_id => l_adr_transaction_coa_id
37621 , x_accounting_coa_id => l_adr_accounting_coa_id
37622 , x_value_type_code => l_adr_value_type_code
37623 , p_side => 'NA'
37624 );
37625
37626 xla_ae_lines_pkg.set_ccid(
37627 p_code_combination_id => l_ccid
37628 , p_value_type_code => l_adr_value_type_code
37629 , p_transaction_coa_id => l_adr_transaction_coa_id
37630 , p_accounting_coa_id => l_adr_accounting_coa_id
37631 , p_adr_code => 'AP_CASH'
37632 , p_adr_type_code => 'S'
37633 , p_component_type => l_component_type
37634 , p_component_code => l_component_code
37635 , p_component_type_code => l_component_type_code
37636 , p_component_appl_id => l_component_appl_id
37640
37637 , p_amb_context_code => l_amb_context_code
37638 , p_side => 'NA'
37639 );
37641
37642 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
37643 p_to_segment_code => 'GL_BALANCING'
37644 , p_segment_value => C_CHAR
37645 , p_from_segment_code => NULL
37646 , p_from_combination_id => NULL
37647 , p_value_type_code => NULL
37648 , p_transaction_coa_id => null
37649 , p_accounting_coa_id => null
37650 , p_flexfield_segment_code => NULL
37651 , p_flex_value_set_id => NULL
37652 , p_adr_code => NULL
37653 , p_adr_type_code => NULL
37654 , p_component_type => l_component_type
37655 , p_component_code => l_component_code
37656 , p_component_type_code => l_component_type_code
37657 , p_component_appl_id => l_component_appl_id
37658 , p_amb_context_code => l_amb_context_code
37659 , p_entity_code => 'AP_PAYMENTS'
37660 , p_event_class_code => 'PAYMENTS'
37661 , p_side => 'NA'
37662 );
37663 --
37664
37665
37666 --
37667 --
37668 END IF;
37669 --
37670 -- Bug 4922099
37671 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37672 (NVL(l_enc_upg_option, 'N') = 'O')
37673 ) AND
37674 (l_bflow_method_code = 'PRIOR_ENTRY')
37675 )
37676 THEN
37677 IF
37678 --
37679 1 = 2
37680 --
37681 THEN
37682 xla_accounting_err_pkg.build_message
37683 (p_appli_s_name => 'XLA'
37684 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37685 ,p_token_1 => 'LINE_NUMBER'
37686 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37687 ,p_token_2 => 'LINE_TYPE_NAME'
37688 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37689 l_component_type
37690 ,l_component_code
37691 ,l_component_type_code
37692 ,l_component_appl_id
37693 ,l_amb_context_code
37694 ,l_entity_code
37695 ,l_event_class_code
37696 )
37697 ,p_token_3 => 'OWNER'
37698 ,p_value_3 => xla_lookups_pkg.get_meaning(
37699 p_lookup_type => 'XLA_OWNER_TYPE'
37700 ,p_lookup_code => l_component_type_code
37701 )
37702 ,p_token_4 => 'PRODUCT_NAME'
37703 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37704 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37705 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37706 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37707 ,p_ae_header_id => NULL
37708 );
37709
37710 IF (C_LEVEL_ERROR>= g_log_level) THEN
37711 trace
37712 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37713 ,p_level => C_LEVEL_ERROR
37714 ,p_module => l_log_module);
37715 END IF;
37716 END IF;
37717 END IF;
37718 --
37719 --
37720 ------------------------------------------------------------------------------------------------
37721 -- 4219869 Business Flow
37722 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37723 -- Prior Entry. Currently, the following code is always generated.
37724 ------------------------------------------------------------------------------------------------
37725 XLA_AE_LINES_PKG.ValidateCurrentLine;
37726
37727 ------------------------------------------------------------------------------------
37728 -- 4219869 Business Flow
37729 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37730 ------------------------------------------------------------------------------------
37731 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37732
37733 ----------------------------------------------------------------------------------
37734 -- 4219869 Business Flow
37735 -- Update journal entry status -- Need to generate this within IF <condition>
37736 ----------------------------------------------------------------------------------
37740 );
37737 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37738 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37739 ,p_balance_type_code => l_balance_type_code
37741
37742 -------------------------------------------------------------------------------------------
37743 -- 4262811 - Generate the Accrual Reversal lines
37744 -------------------------------------------------------------------------------------------
37745 BEGIN
37746 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37747 (g_array_event(p_event_id).array_value_num('header_index'));
37748 IF l_acc_rev_flag IS NULL THEN
37749 l_acc_rev_flag := 'N';
37750 END IF;
37751 EXCEPTION
37752 WHEN OTHERS THEN
37753 l_acc_rev_flag := 'N';
37754 END;
37755 --
37756 IF (l_acc_rev_flag = 'Y') THEN
37757
37758 -- 4645092 ------------------------------------------------------------------------------
37759 -- To allow MPA report to determine if it should generate report process
37760 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37761 ------------------------------------------------------------------------------------------
37762
37763 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37764 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37765 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37766 -- call ADRs
37767 -- Bug 4922099
37768 --
37769 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37770 (NVL(l_actual_upg_option, 'N') = 'O') OR
37771 (NVL(l_enc_upg_option, 'N') = 'O')
37772 )
37773 THEN
37774 NULL;
37775 --
37776 --
37777
37778 l_ccid := AcctDerRule_28(
37779 p_application_id => p_application_id
37780 , p_ae_header_id => l_ae_header_id
37781 , p_source_17 => p_source_17
37782 , x_transaction_coa_id => l_adr_transaction_coa_id
37783 , x_accounting_coa_id => l_adr_accounting_coa_id
37784 , x_value_type_code => l_adr_value_type_code
37785 , p_side => 'NA'
37786 );
37787
37788 xla_ae_lines_pkg.set_ccid(
37789 p_code_combination_id => l_ccid
37790 , p_value_type_code => l_adr_value_type_code
37791 , p_transaction_coa_id => l_adr_transaction_coa_id
37792 , p_accounting_coa_id => l_adr_accounting_coa_id
37793 , p_adr_code => 'AP_CASH'
37794 , p_adr_type_code => 'S'
37795 , p_component_type => l_component_type
37796 , p_component_code => l_component_code
37797 , p_component_type_code => l_component_type_code
37798 , p_component_appl_id => l_component_appl_id
37799 , p_amb_context_code => l_amb_context_code
37800 , p_side => 'NA'
37801 );
37802
37803
37804 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
37805 p_to_segment_code => 'GL_BALANCING'
37806 , p_segment_value => C_CHAR
37807 , p_from_segment_code => NULL
37808 , p_from_combination_id => NULL
37809 , p_value_type_code => NULL
37810 , p_transaction_coa_id => null
37811 , p_accounting_coa_id => null
37812 , p_flexfield_segment_code => NULL
37813 , p_flex_value_set_id => NULL
37814 , p_adr_code => NULL
37815 , p_adr_type_code => NULL
37816 , p_component_type => l_component_type
37817 , p_component_code => l_component_code
37818 , p_component_type_code => l_component_type_code
37819 , p_component_appl_id => l_component_appl_id
37820 , p_amb_context_code => l_amb_context_code
37821 , p_entity_code => 'AP_PAYMENTS'
37822 , p_event_class_code => 'PAYMENTS'
37823 , p_side => 'NA'
37824 );
37825 --
37826
37827
37828 --
37829 --
37830 END IF;
37831
37832 --
37833 -- Update the line information that should be overwritten
37834 --
37835 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37836 p_header_num => 1);
37837 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37838
37839 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37840
37841 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37842 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37843 END IF;
37844
37845 --
37846 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37847 --
37848 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37849 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37850 ELSE
37851 ---------------------------------------------------------------------------------------------------
37852 -- 4262811a Switch Sign
37853 ---------------------------------------------------------------------------------------------------
37857 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37854 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37855 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37858 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37859 -- 5132302
37860 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37861 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37862
37863 END IF;
37864
37865 -- 4955764
37866 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37867 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37868
37869
37870 XLA_AE_LINES_PKG.ValidateCurrentLine;
37871 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37872
37873 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37874 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37875 ,p_balance_type_code => l_balance_type_code);
37876
37877 END IF;
37878
37879 -----------------------------------------------------------------------------------------
37880 -- 4262811 Multiperiod Accounting
37881 -----------------------------------------------------------------------------------------
37882 -- No MPA option is assigned.
37883
37884
37885 END IF;
37886 END IF;
37887 --
37888
37889 --
37890 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37891 trace
37892 (p_msg => 'END of AcctLineType_86'
37893 ,p_level => C_LEVEL_PROCEDURE
37894 ,p_module => l_log_module);
37895 END IF;
37896 --
37897 EXCEPTION
37898 WHEN xla_exceptions_pkg.application_exception THEN
37899 RAISE;
37900 WHEN OTHERS THEN
37901 xla_exceptions_pkg.raise_message
37902 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_86');
37903 END AcctLineType_86;
37904 --
37905
37906 ---------------------------------------
37907 --
37908 -- PRIVATE FUNCTION
37909 -- AcctLineType_87
37910 --
37911 ---------------------------------------
37912 PROCEDURE AcctLineType_87 (
37913 p_application_id IN NUMBER
37914 ,p_event_id IN NUMBER
37915 ,p_calculate_acctd_flag IN VARCHAR2
37916 ,p_calculate_g_l_flag IN VARCHAR2
37917 ,p_actual_flag IN OUT VARCHAR2
37918 ,p_balance_type_code OUT VARCHAR2
37919 ,p_gain_or_loss_ref OUT VARCHAR2
37920
37921 --Payment Currency Code
37922 , p_source_13 IN VARCHAR2
37923 --Bank Cash Account
37924 , p_source_17 IN NUMBER
37925 --Automatic Offsets Flag
37926 , p_source_47 IN VARCHAR2
37927 , p_source_47_meaning IN VARCHAR2
37928 --Accounting Reversal Indicator
37929 , p_source_52 IN VARCHAR2
37930 --Distribution Link Type
37931 , p_source_54 IN VARCHAR2
37932 --Override Accounted Amount Indicator
37933 , p_source_79 IN VARCHAR2
37934 , p_source_79_meaning IN VARCHAR2
37935 --Third Party Type
37936 , p_source_82 IN VARCHAR2
37937 --Business Flow Accounts Payable Application Identifier
37938 , p_source_90 IN NUMBER
37939 --When to Account for Payment Option
37940 , p_source_96 IN VARCHAR2
37941 --Payment Distribution Type
37942 , p_source_97 IN VARCHAR2
37943 , p_source_97_meaning IN VARCHAR2
37944 --Payment Distribution Amount
37945 , p_source_98 IN NUMBER
37946 --Business Flow Payment Distribution Type
37947 , p_source_99 IN VARCHAR2
37948 --Business Flow Payment Entity Code
37949 , p_source_100 IN VARCHAR2
37950 --Business Flow Payment Distribution Identifier
37951 , p_source_101 IN NUMBER
37952 --Business Flow Payment Identifier
37953 , p_source_102 IN NUMBER
37954 --Payment Distribution Identifier
37955 , p_source_103 IN NUMBER
37956 --Payment Supplier Identifier
37957 , p_source_109 IN NUMBER
37958 --Payment Supplier Site Identifier
37959 , p_source_110 IN NUMBER
37960 --Payment Distribution Reversed Identifier
37961 , p_source_111 IN NUMBER
37962 --Payment Identifier
37963 , p_source_112 IN NUMBER
37964 --Pooled Bank Account Option
37965 , p_source_113 IN VARCHAR2
37966 , p_source_113_meaning IN VARCHAR2
37967 --Payment Maturity Date
37968 , p_source_114 IN DATE
37969 --Payment Exchange Date
37970 , p_source_117 IN DATE
37971 --Payment Exchange Rate
37972 , p_source_118 IN NUMBER
37973 --Payment Exchange Rate Type
37974 , p_source_119 IN VARCHAR2
37975 --Payment Distribution (Matured Rate) Ledger Amount
37976 , p_source_121 IN NUMBER
37977 )
37978 IS
37979
37980 l_component_type VARCHAR2(80);
37981 l_component_code VARCHAR2(30);
37982 l_component_type_code VARCHAR2(1);
37983 l_component_appl_id INTEGER;
37984 l_amb_context_code VARCHAR2(30);
37985 l_entity_code VARCHAR2(30);
37989 l_line_definition_code VARCHAR2(30);
37986 l_event_class_code VARCHAR2(30);
37987 l_ae_header_id NUMBER;
37988 l_event_type_code VARCHAR2(30);
37990 l_line_definition_owner_code VARCHAR2(1);
37991 --
37992 -- adr variables
37993 l_segment VARCHAR2(30);
37994 l_ccid NUMBER;
37995 l_adr_transaction_coa_id NUMBER;
37996 l_adr_accounting_coa_id NUMBER;
37997 l_adr_flexfield_segment_code VARCHAR2(30);
37998 l_adr_flex_value_set_id NUMBER;
37999 l_adr_value_type_code VARCHAR2(30);
38000 l_adr_value_combination_id NUMBER;
38001 l_adr_value_segment_code VARCHAR2(30);
38002
38003 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38004 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38005 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38006 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38007
38008 -- 4262811 Variables ------------------------------------------------------------------------------------------
38009 l_entered_amt_idx NUMBER;
38010 l_accted_amt_idx NUMBER;
38011 l_acc_rev_flag VARCHAR2(1);
38012 l_accrual_line_num NUMBER;
38013 l_tmp_amt NUMBER;
38014 l_acc_rev_natural_side_code VARCHAR2(1);
38015
38016 l_num_entries NUMBER;
38017 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38018 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38019 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38020 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38021 l_recog_line_1 NUMBER;
38022 l_recog_line_2 NUMBER;
38023
38024 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38025 l_bflow_applied_to_amt NUMBER; -- 5132302
38026 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38027
38028 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38029
38030 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38031 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38032
38033 ---------------------------------------------------------------------------------------------------------------
38034
38035
38036 --
38037 -- bulk performance
38038 --
38039 l_balance_type_code VARCHAR2(1);
38040 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38041 l_log_module VARCHAR2(240);
38042
38043 --
38044 -- Upgrade strategy
38045 --
38046 l_actual_upg_option VARCHAR2(1);
38047 l_enc_upg_option VARCHAR2(1);
38048
38049 --
38050 BEGIN
38051 --
38052 IF g_log_enabled THEN
38053 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_87';
38054 END IF;
38055 --
38056 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38057
38058 trace
38059 (p_msg => 'BEGIN of AcctLineType_87'
38060 ,p_level => C_LEVEL_PROCEDURE
38061 ,p_module => l_log_module);
38062
38063 END IF;
38064 --
38065 l_component_type := 'AMB_JLT';
38066 l_component_code := 'AP_CASH_PMT_MAT';
38067 l_component_type_code := 'S';
38068 l_component_appl_id := 200;
38069 l_amb_context_code := 'DEFAULT';
38070 l_entity_code := 'AP_PAYMENTS';
38071 l_event_class_code := 'FUTURE DATED PAYMENTS';
38072 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
38073 l_line_definition_owner_code := 'S';
38074 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
38075 --
38076 l_balance_type_code := 'A';
38077 l_segment := NULL;
38078 l_ccid := NULL;
38079 l_adr_transaction_coa_id := NULL;
38080 l_adr_accounting_coa_id := NULL;
38081 l_adr_flexfield_segment_code := NULL;
38082 l_adr_flex_value_set_id := NULL;
38083 l_adr_value_type_code := NULL;
38084 l_adr_value_combination_id := NULL;
38085 l_adr_value_segment_code := NULL;
38086
38087 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
38088 l_bflow_class_code := ''; -- 4219869 Business Flow
38089 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38090 l_budgetary_control_flag := 'N';
38091
38092 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38093 l_bflow_applied_to_amt := NULL; -- 5132302
38094 l_entered_amt_idx := NULL; -- 4262811
38095 l_accted_amt_idx := NULL; -- 4262811
38096 l_acc_rev_flag := NULL; -- 4262811
38097 l_accrual_line_num := NULL; -- 4262811
38098 l_tmp_amt := NULL; -- 4262811
38099 --
38100
38101 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38102 l_balance_type_code <> 'B' THEN
38103 IF NVL(p_source_96,'
38104 ') = 'ISSUE_ISSUE' AND
38105 (NVL(p_source_47,'
38106 ') <> 'Y' OR
38107 NVL(p_source_47,'
38108 ') = 'Y' AND
38109 NVL(p_source_113,'
38110 ') <> 'Y') AND
38111 p_source_114 IS NOT NULL AND
38112 NVL(p_source_97,'
38113 ') = 'CASH'
38114 THEN
38115
38116 --
38117 XLA_AE_LINES_PKG.SetNewLine;
38118
38122 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38119 p_balance_type_code := l_balance_type_code;
38120 -- set the flag so later we will know whether the gain loss line needs to be created
38121
38123 p_actual_flag :='A';
38124 END IF;
38125
38126 --
38127 -- bulk performance
38128 --
38129 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38130 p_header_num => 0); -- 4262811
38131 --
38132 -- set accounting line options
38133 --
38134 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38135 p_natural_side_code => 'C'
38136 , p_gain_or_loss_flag => 'N'
38137 , p_gl_transfer_mode_code => 'S'
38138 , p_acct_entry_type_code => 'A'
38139 , p_switch_side_flag => 'Y'
38140 , p_merge_duplicate_code => 'A'
38141 );
38142 --
38143 l_acc_rev_natural_side_code := 'D'; -- 4262811
38144 --
38145 --
38146 -- set accounting line type info
38147 --
38148 xla_ae_lines_pkg.SetAcctLineType
38149 (p_component_type => l_component_type
38150 ,p_event_type_code => l_event_type_code
38151 ,p_line_definition_owner_code => l_line_definition_owner_code
38152 ,p_line_definition_code => l_line_definition_code
38153 ,p_accounting_line_code => l_component_code
38154 ,p_accounting_line_type_code => l_component_type_code
38155 ,p_accounting_line_appl_id => l_component_appl_id
38156 ,p_amb_context_code => l_amb_context_code
38157 ,p_entity_code => l_entity_code
38158 ,p_event_class_code => l_event_class_code);
38159 --
38160 -- set accounting class
38161 --
38162 xla_ae_lines_pkg.SetAcctClass(
38163 p_accounting_class_code => 'CASH'
38164 , p_ae_header_id => l_ae_header_id
38165 );
38166
38167 --
38168 -- set rounding class
38169 --
38170 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38171 'CASH';
38172
38173 --
38174 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38175 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38176 --
38177 -- bulk performance
38178 --
38179 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38180
38181 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38182 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38183
38184 -- 4955764
38185 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38186 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38187
38188 -- 4458381 Public Sector Enh
38189
38190 --
38191 -- set accounting attributes for the line type
38192 --
38193 l_entered_amt_idx := 9;
38194 l_accted_amt_idx := 14;
38195 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38196 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38197 l_rec_acct_attrs.array_char_value(1) := p_source_52;
38198 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
38199 l_rec_acct_attrs.array_num_value(2) := p_source_90;
38200 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38201 l_rec_acct_attrs.array_char_value(3) := p_source_99;
38202 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
38203 l_rec_acct_attrs.array_char_value(4) := p_source_100;
38204 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
38205 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
38206 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38207 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
38208 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
38209 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
38210 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
38211 l_rec_acct_attrs.array_char_value(8) := p_source_54;
38212 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
38213 l_rec_acct_attrs.array_num_value(9) := p_source_98;
38214 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
38215 l_rec_acct_attrs.array_char_value(10) := p_source_13;
38216 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
38217 l_rec_acct_attrs.array_date_value(11) := p_source_117;
38218 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
38219 l_rec_acct_attrs.array_num_value(12) := p_source_118;
38220 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
38221 l_rec_acct_attrs.array_char_value(13) := p_source_119;
38222 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
38223 l_rec_acct_attrs.array_num_value(14) := p_source_121;
38224 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
38225 l_rec_acct_attrs.array_char_value(15) := p_source_79;
38226 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
38227 l_rec_acct_attrs.array_num_value(16) := p_source_109;
38231 l_rec_acct_attrs.array_char_value(18) := p_source_82;
38228 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
38229 l_rec_acct_attrs.array_num_value(17) := p_source_110;
38230 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
38232 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
38233 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
38234 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
38235 l_rec_acct_attrs.array_char_value(20) := p_source_54;
38236
38237 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38238 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38239
38240 ---------------------------------------------------------------------------------------------------------------
38241 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38242 ---------------------------------------------------------------------------------------------------------------
38243 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38244
38245 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38246 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38247
38248 IF xla_accounting_cache_pkg.GetValueChar
38249 (p_source_code => 'LEDGER_CATEGORY_CODE'
38250 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38251 AND l_bflow_method_code = 'PRIOR_ENTRY'
38252 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38253 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38254 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38255 )
38256 THEN
38257 xla_ae_lines_pkg.BflowUpgEntry
38258 (p_business_method_code => l_bflow_method_code
38259 ,p_business_class_code => l_bflow_class_code
38260 ,p_balance_type => l_balance_type_code);
38261 ELSE
38262 NULL;
38263 -- No business flow processing for business flow method of NONE.
38264 END IF;
38265
38266 --
38267 -- call analytical criteria
38268 --
38269
38270
38271 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
38272 xla_ae_lines_pkg.SetAnalyticalCriteria(
38273 p_analytical_criterion_name => 'Check Id'
38274 , p_analytical_criterion_owner => 'S'
38275 , p_analytical_criterion_code => 'CHECK_ID'
38276 , p_amb_context_code => 'DEFAULT'
38277 , p_balancing_flag => 'N'
38278
38279 , p_analytical_detail_char_1 => NULL
38280 , p_analytical_detail_num_1 => p_source_112
38281 , p_analytical_detail_date_1 => NULL
38282
38283 , p_ae_header_id => l_ae_header_id
38284 )
38285 ;
38286 --
38287
38288 --
38289 -- call description
38290 --
38291 -- No description or it is inherited.
38292 --
38293 -- call ADRs
38294 -- Bug 4922099
38295 --
38296 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38297 (NVL(l_actual_upg_option, 'N') = 'O') OR
38298 (NVL(l_enc_upg_option, 'N') = 'O')
38299 )
38300 THEN
38301 NULL;
38302 --
38303 --
38304
38305 l_ccid := AcctDerRule_28(
38306 p_application_id => p_application_id
38307 , p_ae_header_id => l_ae_header_id
38308 , p_source_17 => p_source_17
38309 , x_transaction_coa_id => l_adr_transaction_coa_id
38310 , x_accounting_coa_id => l_adr_accounting_coa_id
38311 , x_value_type_code => l_adr_value_type_code
38312 , p_side => 'NA'
38313 );
38314
38315 xla_ae_lines_pkg.set_ccid(
38316 p_code_combination_id => l_ccid
38317 , p_value_type_code => l_adr_value_type_code
38318 , p_transaction_coa_id => l_adr_transaction_coa_id
38319 , p_accounting_coa_id => l_adr_accounting_coa_id
38320 , p_adr_code => 'AP_CASH'
38321 , p_adr_type_code => 'S'
38322 , p_component_type => l_component_type
38323 , p_component_code => l_component_code
38324 , p_component_type_code => l_component_type_code
38325 , p_component_appl_id => l_component_appl_id
38326 , p_amb_context_code => l_amb_context_code
38327 , p_side => 'NA'
38328 );
38329
38330
38331 --
38332 --
38333 END IF;
38334 --
38335 -- Bug 4922099
38336 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
38337 (NVL(l_enc_upg_option, 'N') = 'O')
38338 ) AND
38339 (l_bflow_method_code = 'PRIOR_ENTRY')
38340 )
38341 THEN
38342 IF
38343 --
38344 1 = 2
38345 --
38346 THEN
38347 xla_accounting_err_pkg.build_message
38348 (p_appli_s_name => 'XLA'
38349 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38350 ,p_token_1 => 'LINE_NUMBER'
38354 l_component_type
38351 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38352 ,p_token_2 => 'LINE_TYPE_NAME'
38353 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38355 ,l_component_code
38356 ,l_component_type_code
38357 ,l_component_appl_id
38358 ,l_amb_context_code
38359 ,l_entity_code
38360 ,l_event_class_code
38361 )
38362 ,p_token_3 => 'OWNER'
38363 ,p_value_3 => xla_lookups_pkg.get_meaning(
38364 p_lookup_type => 'XLA_OWNER_TYPE'
38365 ,p_lookup_code => l_component_type_code
38366 )
38367 ,p_token_4 => 'PRODUCT_NAME'
38368 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38369 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38370 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38371 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38372 ,p_ae_header_id => NULL
38373 );
38374
38375 IF (C_LEVEL_ERROR>= g_log_level) THEN
38376 trace
38377 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38378 ,p_level => C_LEVEL_ERROR
38379 ,p_module => l_log_module);
38380 END IF;
38381 END IF;
38382 END IF;
38383 --
38384 --
38385 ------------------------------------------------------------------------------------------------
38386 -- 4219869 Business Flow
38387 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38388 -- Prior Entry. Currently, the following code is always generated.
38389 ------------------------------------------------------------------------------------------------
38390 XLA_AE_LINES_PKG.ValidateCurrentLine;
38391
38392 ------------------------------------------------------------------------------------
38393 -- 4219869 Business Flow
38394 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38395 ------------------------------------------------------------------------------------
38396 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38397
38398 ----------------------------------------------------------------------------------
38399 -- 4219869 Business Flow
38400 -- Update journal entry status -- Need to generate this within IF <condition>
38401 ----------------------------------------------------------------------------------
38402 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38403 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38404 ,p_balance_type_code => l_balance_type_code
38405 );
38406
38407 -------------------------------------------------------------------------------------------
38408 -- 4262811 - Generate the Accrual Reversal lines
38409 -------------------------------------------------------------------------------------------
38410 BEGIN
38411 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38412 (g_array_event(p_event_id).array_value_num('header_index'));
38413 IF l_acc_rev_flag IS NULL THEN
38414 l_acc_rev_flag := 'N';
38415 END IF;
38416 EXCEPTION
38417 WHEN OTHERS THEN
38418 l_acc_rev_flag := 'N';
38419 END;
38420 --
38421 IF (l_acc_rev_flag = 'Y') THEN
38422
38423 -- 4645092 ------------------------------------------------------------------------------
38424 -- To allow MPA report to determine if it should generate report process
38425 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38426 ------------------------------------------------------------------------------------------
38427
38428 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38429 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38430 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38431 -- call ADRs
38432 -- Bug 4922099
38433 --
38434 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38435 (NVL(l_actual_upg_option, 'N') = 'O') OR
38436 (NVL(l_enc_upg_option, 'N') = 'O')
38437 )
38438 THEN
38439 NULL;
38440 --
38441 --
38442
38443 l_ccid := AcctDerRule_28(
38444 p_application_id => p_application_id
38448 , x_accounting_coa_id => l_adr_accounting_coa_id
38445 , p_ae_header_id => l_ae_header_id
38446 , p_source_17 => p_source_17
38447 , x_transaction_coa_id => l_adr_transaction_coa_id
38449 , x_value_type_code => l_adr_value_type_code
38450 , p_side => 'NA'
38451 );
38452
38453 xla_ae_lines_pkg.set_ccid(
38454 p_code_combination_id => l_ccid
38455 , p_value_type_code => l_adr_value_type_code
38456 , p_transaction_coa_id => l_adr_transaction_coa_id
38457 , p_accounting_coa_id => l_adr_accounting_coa_id
38458 , p_adr_code => 'AP_CASH'
38459 , p_adr_type_code => 'S'
38460 , p_component_type => l_component_type
38461 , p_component_code => l_component_code
38462 , p_component_type_code => l_component_type_code
38463 , p_component_appl_id => l_component_appl_id
38464 , p_amb_context_code => l_amb_context_code
38465 , p_side => 'NA'
38466 );
38467
38468
38469 --
38470 --
38471 END IF;
38472
38473 --
38474 -- Update the line information that should be overwritten
38475 --
38476 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38477 p_header_num => 1);
38478 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38479
38480 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38481
38482 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38483 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38484 END IF;
38485
38486 --
38487 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38488 --
38489 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38490 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38491 ELSE
38492 ---------------------------------------------------------------------------------------------------
38493 -- 4262811a Switch Sign
38494 ---------------------------------------------------------------------------------------------------
38495 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38496 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38498 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38500 -- 5132302
38501 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38503
38504 END IF;
38505
38506 -- 4955764
38507 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38508 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38509
38510
38511 XLA_AE_LINES_PKG.ValidateCurrentLine;
38512 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38513
38514 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38515 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38516 ,p_balance_type_code => l_balance_type_code);
38517
38518 END IF;
38519
38520 -----------------------------------------------------------------------------------------
38521 -- 4262811 Multiperiod Accounting
38522 -----------------------------------------------------------------------------------------
38523 -- No MPA option is assigned.
38524
38525
38526 END IF;
38527 END IF;
38528 --
38529
38530 --
38531 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38532 trace
38533 (p_msg => 'END of AcctLineType_87'
38534 ,p_level => C_LEVEL_PROCEDURE
38535 ,p_module => l_log_module);
38536 END IF;
38537 --
38538 EXCEPTION
38539 WHEN xla_exceptions_pkg.application_exception THEN
38540 RAISE;
38541 WHEN OTHERS THEN
38542 xla_exceptions_pkg.raise_message
38543 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_87');
38544 END AcctLineType_87;
38545 --
38546
38547 ---------------------------------------
38548 --
38549 -- PRIVATE FUNCTION
38550 -- AcctLineType_88
38551 --
38552 ---------------------------------------
38553 PROCEDURE AcctLineType_88 (
38554 p_application_id IN NUMBER
38555 ,p_event_id IN NUMBER
38556 ,p_calculate_acctd_flag IN VARCHAR2
38557 ,p_calculate_g_l_flag IN VARCHAR2
38558 ,p_actual_flag IN OUT VARCHAR2
38559 ,p_balance_type_code OUT VARCHAR2
38560 ,p_gain_or_loss_ref OUT VARCHAR2
38561
38562 --Payment Currency Code
38563 , p_source_13 IN VARCHAR2
38564 --Automatic Offsets Value
38565 , p_source_15 IN VARCHAR2
38566 , p_source_15_meaning IN VARCHAR2
38570 , p_source_52 IN VARCHAR2
38567 --Bank Cash Account
38568 , p_source_17 IN NUMBER
38569 --Accounting Reversal Indicator
38571 --Distribution Link Type
38572 , p_source_54 IN VARCHAR2
38573 --Override Accounted Amount Indicator
38574 , p_source_79 IN VARCHAR2
38575 , p_source_79_meaning IN VARCHAR2
38576 --Third Party Type
38577 , p_source_82 IN VARCHAR2
38578 --Business Flow Accounts Payable Application Identifier
38579 , p_source_90 IN NUMBER
38580 --When to Account for Payment Option
38581 , p_source_96 IN VARCHAR2
38582 --Payment Distribution Type
38583 , p_source_97 IN VARCHAR2
38584 , p_source_97_meaning IN VARCHAR2
38585 --Payment Distribution Amount
38586 , p_source_98 IN NUMBER
38587 --Business Flow Payment Distribution Type
38588 , p_source_99 IN VARCHAR2
38589 --Business Flow Payment Entity Code
38590 , p_source_100 IN VARCHAR2
38591 --Business Flow Payment Distribution Identifier
38592 , p_source_101 IN NUMBER
38593 --Business Flow Payment Identifier
38594 , p_source_102 IN NUMBER
38595 --Payment Distribution Identifier
38596 , p_source_103 IN NUMBER
38597 --Payment Supplier Identifier
38598 , p_source_109 IN NUMBER
38599 --Payment Supplier Site Identifier
38600 , p_source_110 IN NUMBER
38601 --Payment Distribution Reversed Identifier
38602 , p_source_111 IN NUMBER
38603 --Payment Identifier
38604 , p_source_112 IN NUMBER
38605 --Pooled Bank Account Option
38606 , p_source_113 IN VARCHAR2
38607 , p_source_113_meaning IN VARCHAR2
38608 --Payment Maturity Date
38609 , p_source_114 IN DATE
38610 --Payment Exchange Date
38611 , p_source_117 IN DATE
38612 --Payment Exchange Rate
38613 , p_source_118 IN NUMBER
38614 --Payment Exchange Rate Type
38615 , p_source_119 IN VARCHAR2
38616 --Payment Distribution (Matured Rate) Ledger Amount
38617 , p_source_121 IN NUMBER
38618 )
38619 IS
38620
38621 l_component_type VARCHAR2(80);
38622 l_component_code VARCHAR2(30);
38623 l_component_type_code VARCHAR2(1);
38624 l_component_appl_id INTEGER;
38625 l_amb_context_code VARCHAR2(30);
38626 l_entity_code VARCHAR2(30);
38627 l_event_class_code VARCHAR2(30);
38628 l_ae_header_id NUMBER;
38629 l_event_type_code VARCHAR2(30);
38630 l_line_definition_code VARCHAR2(30);
38631 l_line_definition_owner_code VARCHAR2(1);
38632 --
38633 -- adr variables
38634 l_segment VARCHAR2(30);
38635 l_ccid NUMBER;
38636 l_adr_transaction_coa_id NUMBER;
38637 l_adr_accounting_coa_id NUMBER;
38638 l_adr_flexfield_segment_code VARCHAR2(30);
38639 l_adr_flex_value_set_id NUMBER;
38640 l_adr_value_type_code VARCHAR2(30);
38641 l_adr_value_combination_id NUMBER;
38642 l_adr_value_segment_code VARCHAR2(30);
38643
38644 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38645 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38646 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38647 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38648
38649 -- 4262811 Variables ------------------------------------------------------------------------------------------
38650 l_entered_amt_idx NUMBER;
38651 l_accted_amt_idx NUMBER;
38652 l_acc_rev_flag VARCHAR2(1);
38653 l_accrual_line_num NUMBER;
38654 l_tmp_amt NUMBER;
38655 l_acc_rev_natural_side_code VARCHAR2(1);
38656
38657 l_num_entries NUMBER;
38658 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38659 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38660 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38661 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38662 l_recog_line_1 NUMBER;
38663 l_recog_line_2 NUMBER;
38664
38665 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38666 l_bflow_applied_to_amt NUMBER; -- 5132302
38667 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38668
38669 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38670
38671 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38672 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38673
38674 ---------------------------------------------------------------------------------------------------------------
38675
38676
38677 --
38678 -- bulk performance
38679 --
38680 l_balance_type_code VARCHAR2(1);
38681 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38682 l_log_module VARCHAR2(240);
38683
38684 --
38685 -- Upgrade strategy
38686 --
38687 l_actual_upg_option VARCHAR2(1);
38688 l_enc_upg_option VARCHAR2(1);
38689
38690 --
38691 BEGIN
38692 --
38693 IF g_log_enabled THEN
38694 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_88';
38695 END IF;
38696 --
38700 (p_msg => 'BEGIN of AcctLineType_88'
38697 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38698
38699 trace
38701 ,p_level => C_LEVEL_PROCEDURE
38702 ,p_module => l_log_module);
38703
38704 END IF;
38705 --
38706 l_component_type := 'AMB_JLT';
38707 l_component_code := 'AP_CASH_PMT_MAT_AOS_AS';
38708 l_component_type_code := 'S';
38709 l_component_appl_id := 200;
38710 l_amb_context_code := 'DEFAULT';
38711 l_entity_code := 'AP_PAYMENTS';
38712 l_event_class_code := 'FUTURE DATED PAYMENTS';
38713 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
38714 l_line_definition_owner_code := 'S';
38715 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
38716 --
38717 l_balance_type_code := 'A';
38718 l_segment := NULL;
38719 l_ccid := NULL;
38720 l_adr_transaction_coa_id := NULL;
38721 l_adr_accounting_coa_id := NULL;
38722 l_adr_flexfield_segment_code := NULL;
38723 l_adr_flex_value_set_id := NULL;
38724 l_adr_value_type_code := NULL;
38725 l_adr_value_combination_id := NULL;
38726 l_adr_value_segment_code := NULL;
38727
38728 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
38729 l_bflow_class_code := ''; -- 4219869 Business Flow
38730 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38731 l_budgetary_control_flag := 'N';
38732
38733 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38734 l_bflow_applied_to_amt := NULL; -- 5132302
38735 l_entered_amt_idx := NULL; -- 4262811
38736 l_accted_amt_idx := NULL; -- 4262811
38737 l_acc_rev_flag := NULL; -- 4262811
38738 l_accrual_line_num := NULL; -- 4262811
38739 l_tmp_amt := NULL; -- 4262811
38740 --
38741
38742 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38743 l_balance_type_code <> 'B' THEN
38744 IF NVL(p_source_96,'
38745 ') = 'ISSUE_ISSUE' AND
38746 (NVL(p_source_113,'
38747 ') = 'Y' AND
38748 NVL(p_source_15,'
38749 ') = 'ACCOUNT_SEGMENT_VALUE') AND
38750 p_source_114 IS NOT NULL AND
38751 NVL(p_source_97,'
38752 ') = 'CASH'
38753 THEN
38754
38755 --
38756 XLA_AE_LINES_PKG.SetNewLine;
38757
38758 p_balance_type_code := l_balance_type_code;
38759 -- set the flag so later we will know whether the gain loss line needs to be created
38760
38761 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38762 p_actual_flag :='A';
38763 END IF;
38764
38765 --
38766 -- bulk performance
38767 --
38768 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38769 p_header_num => 0); -- 4262811
38770 --
38771 -- set accounting line options
38772 --
38773 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38774 p_natural_side_code => 'C'
38775 , p_gain_or_loss_flag => 'N'
38776 , p_gl_transfer_mode_code => 'S'
38777 , p_acct_entry_type_code => 'A'
38778 , p_switch_side_flag => 'Y'
38779 , p_merge_duplicate_code => 'A'
38780 );
38781 --
38782 l_acc_rev_natural_side_code := 'D'; -- 4262811
38783 --
38784 --
38785 -- set accounting line type info
38786 --
38787 xla_ae_lines_pkg.SetAcctLineType
38788 (p_component_type => l_component_type
38789 ,p_event_type_code => l_event_type_code
38790 ,p_line_definition_owner_code => l_line_definition_owner_code
38791 ,p_line_definition_code => l_line_definition_code
38792 ,p_accounting_line_code => l_component_code
38793 ,p_accounting_line_type_code => l_component_type_code
38794 ,p_accounting_line_appl_id => l_component_appl_id
38795 ,p_amb_context_code => l_amb_context_code
38796 ,p_entity_code => l_entity_code
38797 ,p_event_class_code => l_event_class_code);
38798 --
38799 -- set accounting class
38800 --
38801 xla_ae_lines_pkg.SetAcctClass(
38802 p_accounting_class_code => 'CASH'
38803 , p_ae_header_id => l_ae_header_id
38804 );
38805
38806 --
38807 -- set rounding class
38808 --
38809 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38810 'CASH';
38811
38812 --
38813 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38814 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38815 --
38816 -- bulk performance
38817 --
38818 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38819
38820 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38821 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38822
38823 -- 4955764
38824 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38825 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38826
38830 -- set accounting attributes for the line type
38827 -- 4458381 Public Sector Enh
38828
38829 --
38831 --
38832 l_entered_amt_idx := 9;
38833 l_accted_amt_idx := 14;
38834 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38835 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38836 l_rec_acct_attrs.array_char_value(1) := p_source_52;
38837 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
38838 l_rec_acct_attrs.array_num_value(2) := p_source_90;
38839 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38840 l_rec_acct_attrs.array_char_value(3) := p_source_99;
38841 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
38842 l_rec_acct_attrs.array_char_value(4) := p_source_100;
38843 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
38844 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
38845 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38846 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
38847 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
38848 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
38849 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
38850 l_rec_acct_attrs.array_char_value(8) := p_source_54;
38851 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
38852 l_rec_acct_attrs.array_num_value(9) := p_source_98;
38853 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
38854 l_rec_acct_attrs.array_char_value(10) := p_source_13;
38855 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
38856 l_rec_acct_attrs.array_date_value(11) := p_source_117;
38857 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
38858 l_rec_acct_attrs.array_num_value(12) := p_source_118;
38859 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
38860 l_rec_acct_attrs.array_char_value(13) := p_source_119;
38861 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
38862 l_rec_acct_attrs.array_num_value(14) := p_source_121;
38863 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
38864 l_rec_acct_attrs.array_char_value(15) := p_source_79;
38865 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
38866 l_rec_acct_attrs.array_num_value(16) := p_source_109;
38867 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
38868 l_rec_acct_attrs.array_num_value(17) := p_source_110;
38869 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
38870 l_rec_acct_attrs.array_char_value(18) := p_source_82;
38871 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
38872 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
38873 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
38874 l_rec_acct_attrs.array_char_value(20) := p_source_54;
38875
38876 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38877 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38878
38879 ---------------------------------------------------------------------------------------------------------------
38880 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38881 ---------------------------------------------------------------------------------------------------------------
38882 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38883
38884 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38885 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38886
38887 IF xla_accounting_cache_pkg.GetValueChar
38888 (p_source_code => 'LEDGER_CATEGORY_CODE'
38889 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38890 AND l_bflow_method_code = 'PRIOR_ENTRY'
38891 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38892 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38893 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38894 )
38895 THEN
38896 xla_ae_lines_pkg.BflowUpgEntry
38897 (p_business_method_code => l_bflow_method_code
38898 ,p_business_class_code => l_bflow_class_code
38899 ,p_balance_type => l_balance_type_code);
38900 ELSE
38901 NULL;
38902 XLA_AE_LINES_PKG.business_flow_validation(
38903 p_business_method_code => l_bflow_method_code
38904 ,p_business_class_code => l_bflow_class_code
38905 ,p_inherit_description_flag => l_inherit_desc_flag);
38906 END IF;
38907
38908 --
38909 -- call analytical criteria
38910 --
38911
38912
38913 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
38914 xla_ae_lines_pkg.SetAnalyticalCriteria(
38915 p_analytical_criterion_name => 'Check Id'
38916 , p_analytical_criterion_owner => 'S'
38917 , p_analytical_criterion_code => 'CHECK_ID'
38918 , p_amb_context_code => 'DEFAULT'
38919 , p_balancing_flag => 'N'
38920
38921 , p_analytical_detail_char_1 => NULL
38922 , p_analytical_detail_num_1 => p_source_112
38926 )
38923 , p_analytical_detail_date_1 => NULL
38924
38925 , p_ae_header_id => l_ae_header_id
38927 ;
38928 --
38929
38930 --
38931 -- call description
38932 --
38933 -- No description or it is inherited.
38934 --
38935 -- call ADRs
38936 -- Bug 4922099
38937 --
38938 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38939 (NVL(l_actual_upg_option, 'N') = 'O') OR
38940 (NVL(l_enc_upg_option, 'N') = 'O')
38941 )
38942 THEN
38943 NULL;
38944 --
38945 --
38946
38947 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
38948 p_code_combination_id => TO_NUMBER(C_NUM)
38949 , p_value_type_code => NULL
38950 , p_transaction_coa_id => null
38951 , p_accounting_coa_id => null
38952 , p_adr_code => NULL
38953 , p_adr_type_code => NULL
38954 , p_component_type => l_component_type
38955 , p_component_code => l_component_code
38956 , p_component_type_code => l_component_type_code
38957 , p_component_appl_id => l_component_appl_id
38958 , p_amb_context_code => l_amb_context_code
38959 , p_side => NULL
38960 );
38961
38962
38963 -- initialise segments
38964 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38965 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38966 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38967 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38968 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38969 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38970 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38971 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38972 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38973 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38974 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38975 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38976 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38977 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38978 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38979 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38980 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38981 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38982 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38983 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38984 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38985 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38986 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38987 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38988 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38989 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38990 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38991 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38992 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38993 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38994 --
38995
38996 --
38997
38998
38999 l_segment := AcctDerRule_6(
39000 p_application_id => p_application_id
39001 , p_ae_header_id => l_ae_header_id
39002 , p_source_17 => p_source_17
39003 , x_transaction_coa_id => l_adr_transaction_coa_id
39004 , x_accounting_coa_id => l_adr_accounting_coa_id
39005 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39006 , x_flex_value_set_id => l_adr_flex_value_set_id
39007 , x_value_type_code => l_adr_value_type_code
39008 , x_value_combination_id => l_adr_value_combination_id
39009 , x_value_segment_code => l_adr_value_segment_code
39010 , p_side => 'NA'
39011 , p_override_seg_flag => 'Y'
39012 );
39013
39014 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39015
39016 xla_ae_lines_pkg.set_segment(
39017 p_to_segment_code => 'GL_ACCOUNT'
39018 , p_segment_value => l_segment
39019 , p_from_segment_code => l_adr_value_segment_code
39020 , p_from_combination_id => l_adr_value_combination_id
39021 , p_value_type_code => l_adr_value_type_code
39022 , p_transaction_coa_id => l_adr_transaction_coa_id
39023 , p_accounting_coa_id => l_adr_accounting_coa_id
39027 , p_adr_type_code => 'S'
39024 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39025 , p_flex_value_set_id => l_adr_flex_value_set_id
39026 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
39028 , p_component_type => l_component_type
39029 , p_component_code => l_component_code
39030 , p_component_type_code => l_component_type_code
39031 , p_component_appl_id => l_component_appl_id
39032 , p_amb_context_code => l_amb_context_code
39033 , p_entity_code => 'AP_PAYMENTS'
39034 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39035 , p_side => 'NA'
39036 );
39037
39038 END IF;
39039
39040 --
39041 --
39042 END IF;
39043 --
39044 -- Bug 4922099
39045 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39046 (NVL(l_enc_upg_option, 'N') = 'O')
39047 ) AND
39048 (l_bflow_method_code = 'PRIOR_ENTRY')
39049 )
39050 THEN
39051 IF
39052 --
39053 1 = 2
39054 --
39055 THEN
39056 xla_accounting_err_pkg.build_message
39057 (p_appli_s_name => 'XLA'
39058 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39059 ,p_token_1 => 'LINE_NUMBER'
39060 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39061 ,p_token_2 => 'LINE_TYPE_NAME'
39062 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39063 l_component_type
39064 ,l_component_code
39065 ,l_component_type_code
39066 ,l_component_appl_id
39067 ,l_amb_context_code
39068 ,l_entity_code
39069 ,l_event_class_code
39070 )
39071 ,p_token_3 => 'OWNER'
39072 ,p_value_3 => xla_lookups_pkg.get_meaning(
39073 p_lookup_type => 'XLA_OWNER_TYPE'
39074 ,p_lookup_code => l_component_type_code
39075 )
39076 ,p_token_4 => 'PRODUCT_NAME'
39077 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39078 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39079 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39080 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39081 ,p_ae_header_id => NULL
39082 );
39083
39084 IF (C_LEVEL_ERROR>= g_log_level) THEN
39085 trace
39086 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39087 ,p_level => C_LEVEL_ERROR
39088 ,p_module => l_log_module);
39089 END IF;
39090 END IF;
39091 END IF;
39092 --
39093 --
39094 ------------------------------------------------------------------------------------------------
39095 -- 4219869 Business Flow
39096 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39097 -- Prior Entry. Currently, the following code is always generated.
39098 ------------------------------------------------------------------------------------------------
39099 XLA_AE_LINES_PKG.ValidateCurrentLine;
39100
39101 ------------------------------------------------------------------------------------
39102 -- 4219869 Business Flow
39103 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39104 ------------------------------------------------------------------------------------
39105 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39106
39107 ----------------------------------------------------------------------------------
39108 -- 4219869 Business Flow
39109 -- Update journal entry status -- Need to generate this within IF <condition>
39110 ----------------------------------------------------------------------------------
39111 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39112 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39113 ,p_balance_type_code => l_balance_type_code
39114 );
39115
39116 -------------------------------------------------------------------------------------------
39117 -- 4262811 - Generate the Accrual Reversal lines
39118 -------------------------------------------------------------------------------------------
39119 BEGIN
39123 l_acc_rev_flag := 'N';
39120 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39121 (g_array_event(p_event_id).array_value_num('header_index'));
39122 IF l_acc_rev_flag IS NULL THEN
39124 END IF;
39125 EXCEPTION
39126 WHEN OTHERS THEN
39127 l_acc_rev_flag := 'N';
39128 END;
39129 --
39130 IF (l_acc_rev_flag = 'Y') THEN
39131
39132 -- 4645092 ------------------------------------------------------------------------------
39133 -- To allow MPA report to determine if it should generate report process
39134 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39135 ------------------------------------------------------------------------------------------
39136
39137 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39138 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39139 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39140 -- call ADRs
39141 -- Bug 4922099
39142 --
39143 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39144 (NVL(l_actual_upg_option, 'N') = 'O') OR
39145 (NVL(l_enc_upg_option, 'N') = 'O')
39146 )
39147 THEN
39148 NULL;
39149 --
39150 --
39151
39152 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
39153 p_code_combination_id => TO_NUMBER(C_NUM)
39154 , p_value_type_code => NULL
39155 , p_transaction_coa_id => null
39156 , p_accounting_coa_id => null
39157 , p_adr_code => NULL
39158 , p_adr_type_code => NULL
39159 , p_component_type => l_component_type
39160 , p_component_code => l_component_code
39161 , p_component_type_code => l_component_type_code
39162 , p_component_appl_id => l_component_appl_id
39163 , p_amb_context_code => l_amb_context_code
39164 , p_side => NULL
39165 );
39166
39167
39168 -- initialise segments
39169 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39170 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39171 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39172 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39173 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39174 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39175 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39176 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39177 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39178 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39179 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39180 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39181 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39182 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39183 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39184 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39185 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39186 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39187 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39188 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39189 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39190 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39191 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39192 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39193 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39194 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39195 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39196 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39197 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39198 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39199 --
39200
39201 --
39202
39203
39204 l_segment := AcctDerRule_6(
39205 p_application_id => p_application_id
39206 , p_ae_header_id => l_ae_header_id
39207 , p_source_17 => p_source_17
39208 , x_transaction_coa_id => l_adr_transaction_coa_id
39209 , x_accounting_coa_id => l_adr_accounting_coa_id
39210 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39211 , x_flex_value_set_id => l_adr_flex_value_set_id
39212 , x_value_type_code => l_adr_value_type_code
39213 , x_value_combination_id => l_adr_value_combination_id
39214 , x_value_segment_code => l_adr_value_segment_code
39215 , p_side => 'NA'
39216 , p_override_seg_flag => 'Y'
39217 );
39221 xla_ae_lines_pkg.set_segment(
39218
39219 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39220
39222 p_to_segment_code => 'GL_ACCOUNT'
39223 , p_segment_value => l_segment
39224 , p_from_segment_code => l_adr_value_segment_code
39225 , p_from_combination_id => l_adr_value_combination_id
39226 , p_value_type_code => l_adr_value_type_code
39227 , p_transaction_coa_id => l_adr_transaction_coa_id
39228 , p_accounting_coa_id => l_adr_accounting_coa_id
39229 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39230 , p_flex_value_set_id => l_adr_flex_value_set_id
39231 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
39232 , p_adr_type_code => 'S'
39233 , p_component_type => l_component_type
39234 , p_component_code => l_component_code
39235 , p_component_type_code => l_component_type_code
39236 , p_component_appl_id => l_component_appl_id
39237 , p_amb_context_code => l_amb_context_code
39238 , p_entity_code => 'AP_PAYMENTS'
39239 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39240 , p_side => 'NA'
39241 );
39242
39243 END IF;
39244
39245 --
39246 --
39247 END IF;
39248
39249 --
39250 -- Update the line information that should be overwritten
39251 --
39252 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39253 p_header_num => 1);
39254 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39255
39256 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39257
39258 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39259 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39260 END IF;
39261
39262 --
39263 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39264 --
39265 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39266 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39267 ELSE
39268 ---------------------------------------------------------------------------------------------------
39269 -- 4262811a Switch Sign
39270 ---------------------------------------------------------------------------------------------------
39271 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39272 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39273 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39274 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39275 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39276 -- 5132302
39277 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39278 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39279
39280 END IF;
39281
39282 -- 4955764
39283 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39284 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39285
39286
39287 XLA_AE_LINES_PKG.ValidateCurrentLine;
39288 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39289
39290 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39291 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39292 ,p_balance_type_code => l_balance_type_code);
39293
39294 END IF;
39295
39296 -----------------------------------------------------------------------------------------
39297 -- 4262811 Multiperiod Accounting
39298 -----------------------------------------------------------------------------------------
39299 -- No MPA option is assigned.
39300
39301
39302 END IF;
39303 END IF;
39304 --
39305
39306 --
39307 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39308 trace
39309 (p_msg => 'END of AcctLineType_88'
39310 ,p_level => C_LEVEL_PROCEDURE
39311 ,p_module => l_log_module);
39312 END IF;
39313 --
39314 EXCEPTION
39315 WHEN xla_exceptions_pkg.application_exception THEN
39316 RAISE;
39317 WHEN OTHERS THEN
39318 xla_exceptions_pkg.raise_message
39319 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_88');
39320 END AcctLineType_88;
39321 --
39322
39323 ---------------------------------------
39324 --
39325 -- PRIVATE FUNCTION
39326 -- AcctLineType_89
39327 --
39328 ---------------------------------------
39329 PROCEDURE AcctLineType_89 (
39330 p_application_id IN NUMBER
39331 ,p_event_id IN NUMBER
39332 ,p_calculate_acctd_flag IN VARCHAR2
39333 ,p_calculate_g_l_flag IN VARCHAR2
39334 ,p_actual_flag IN OUT VARCHAR2
39335 ,p_balance_type_code OUT VARCHAR2
39336 ,p_gain_or_loss_ref OUT VARCHAR2
39337
39338 --Payment Currency Code
39342 , p_source_15_meaning IN VARCHAR2
39339 , p_source_13 IN VARCHAR2
39340 --Automatic Offsets Value
39341 , p_source_15 IN VARCHAR2
39343 --Bank Cash Account
39344 , p_source_17 IN NUMBER
39345 --Accounting Reversal Indicator
39346 , p_source_52 IN VARCHAR2
39347 --Distribution Link Type
39348 , p_source_54 IN VARCHAR2
39349 --Override Accounted Amount Indicator
39350 , p_source_79 IN VARCHAR2
39351 , p_source_79_meaning IN VARCHAR2
39352 --Third Party Type
39353 , p_source_82 IN VARCHAR2
39354 --Business Flow Accounts Payable Application Identifier
39355 , p_source_90 IN NUMBER
39356 --When to Account for Payment Option
39357 , p_source_96 IN VARCHAR2
39358 --Payment Distribution Type
39359 , p_source_97 IN VARCHAR2
39360 , p_source_97_meaning IN VARCHAR2
39361 --Payment Distribution Amount
39362 , p_source_98 IN NUMBER
39363 --Business Flow Payment Distribution Type
39364 , p_source_99 IN VARCHAR2
39365 --Business Flow Payment Entity Code
39366 , p_source_100 IN VARCHAR2
39367 --Business Flow Payment Distribution Identifier
39368 , p_source_101 IN NUMBER
39369 --Business Flow Payment Identifier
39370 , p_source_102 IN NUMBER
39371 --Payment Distribution Identifier
39372 , p_source_103 IN NUMBER
39373 --Payment Supplier Identifier
39374 , p_source_109 IN NUMBER
39375 --Payment Supplier Site Identifier
39376 , p_source_110 IN NUMBER
39377 --Payment Distribution Reversed Identifier
39378 , p_source_111 IN NUMBER
39379 --Payment Identifier
39380 , p_source_112 IN NUMBER
39381 --Pooled Bank Account Option
39382 , p_source_113 IN VARCHAR2
39383 , p_source_113_meaning IN VARCHAR2
39384 --Payment Maturity Date
39385 , p_source_114 IN DATE
39386 --Payment Exchange Date
39387 , p_source_117 IN DATE
39388 --Payment Exchange Rate
39389 , p_source_118 IN NUMBER
39390 --Payment Exchange Rate Type
39391 , p_source_119 IN VARCHAR2
39392 --Payment Distribution (Matured Rate) Ledger Amount
39393 , p_source_121 IN NUMBER
39394 )
39395 IS
39396
39397 l_component_type VARCHAR2(80);
39398 l_component_code VARCHAR2(30);
39399 l_component_type_code VARCHAR2(1);
39400 l_component_appl_id INTEGER;
39401 l_amb_context_code VARCHAR2(30);
39402 l_entity_code VARCHAR2(30);
39403 l_event_class_code VARCHAR2(30);
39404 l_ae_header_id NUMBER;
39405 l_event_type_code VARCHAR2(30);
39406 l_line_definition_code VARCHAR2(30);
39407 l_line_definition_owner_code VARCHAR2(1);
39408 --
39409 -- adr variables
39410 l_segment VARCHAR2(30);
39411 l_ccid NUMBER;
39412 l_adr_transaction_coa_id NUMBER;
39413 l_adr_accounting_coa_id NUMBER;
39414 l_adr_flexfield_segment_code VARCHAR2(30);
39415 l_adr_flex_value_set_id NUMBER;
39416 l_adr_value_type_code VARCHAR2(30);
39417 l_adr_value_combination_id NUMBER;
39418 l_adr_value_segment_code VARCHAR2(30);
39419
39420 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39421 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39422 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39423 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39424
39425 -- 4262811 Variables ------------------------------------------------------------------------------------------
39426 l_entered_amt_idx NUMBER;
39427 l_accted_amt_idx NUMBER;
39428 l_acc_rev_flag VARCHAR2(1);
39429 l_accrual_line_num NUMBER;
39430 l_tmp_amt NUMBER;
39431 l_acc_rev_natural_side_code VARCHAR2(1);
39432
39433 l_num_entries NUMBER;
39434 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39435 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39436 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39437 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39438 l_recog_line_1 NUMBER;
39439 l_recog_line_2 NUMBER;
39440
39441 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39442 l_bflow_applied_to_amt NUMBER; -- 5132302
39443 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39444
39445 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39446
39447 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39448 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39449
39450 ---------------------------------------------------------------------------------------------------------------
39451
39452
39453 --
39454 -- bulk performance
39455 --
39456 l_balance_type_code VARCHAR2(1);
39457 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39458 l_log_module VARCHAR2(240);
39459
39460 --
39461 -- Upgrade strategy
39462 --
39463 l_actual_upg_option VARCHAR2(1);
39467 BEGIN
39464 l_enc_upg_option VARCHAR2(1);
39465
39466 --
39468 --
39469 IF g_log_enabled THEN
39470 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_89';
39471 END IF;
39472 --
39473 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39474
39475 trace
39476 (p_msg => 'BEGIN of AcctLineType_89'
39477 ,p_level => C_LEVEL_PROCEDURE
39478 ,p_module => l_log_module);
39479
39480 END IF;
39481 --
39482 l_component_type := 'AMB_JLT';
39483 l_component_code := 'AP_CASH_PMT_MAT_AOS_BS';
39484 l_component_type_code := 'S';
39485 l_component_appl_id := 200;
39486 l_amb_context_code := 'DEFAULT';
39487 l_entity_code := 'AP_PAYMENTS';
39488 l_event_class_code := 'FUTURE DATED PAYMENTS';
39489 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
39490 l_line_definition_owner_code := 'S';
39491 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
39492 --
39493 l_balance_type_code := 'A';
39494 l_segment := NULL;
39495 l_ccid := NULL;
39496 l_adr_transaction_coa_id := NULL;
39497 l_adr_accounting_coa_id := NULL;
39498 l_adr_flexfield_segment_code := NULL;
39499 l_adr_flex_value_set_id := NULL;
39500 l_adr_value_type_code := NULL;
39501 l_adr_value_combination_id := NULL;
39502 l_adr_value_segment_code := NULL;
39503
39504 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
39505 l_bflow_class_code := ''; -- 4219869 Business Flow
39506 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39507 l_budgetary_control_flag := 'N';
39508
39509 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39510 l_bflow_applied_to_amt := NULL; -- 5132302
39511 l_entered_amt_idx := NULL; -- 4262811
39512 l_accted_amt_idx := NULL; -- 4262811
39513 l_acc_rev_flag := NULL; -- 4262811
39514 l_accrual_line_num := NULL; -- 4262811
39515 l_tmp_amt := NULL; -- 4262811
39516 --
39517
39518 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39519 l_balance_type_code <> 'B' THEN
39520 IF NVL(p_source_96,'
39521 ') = 'ISSUE_ISSUE' AND
39522 (NVL(p_source_113,'
39523 ') = 'Y' AND
39524 NVL(p_source_15,'
39525 ') = 'BALANCING_SEGMENT') AND
39526 p_source_114 IS NOT NULL AND
39527 NVL(p_source_97,'
39528 ') = 'CASH'
39529 THEN
39530
39531 --
39532 XLA_AE_LINES_PKG.SetNewLine;
39533
39534 p_balance_type_code := l_balance_type_code;
39535 -- set the flag so later we will know whether the gain loss line needs to be created
39536
39537 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39538 p_actual_flag :='A';
39539 END IF;
39540
39541 --
39542 -- bulk performance
39543 --
39544 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39545 p_header_num => 0); -- 4262811
39546 --
39547 -- set accounting line options
39548 --
39549 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39550 p_natural_side_code => 'C'
39551 , p_gain_or_loss_flag => 'N'
39552 , p_gl_transfer_mode_code => 'S'
39553 , p_acct_entry_type_code => 'A'
39554 , p_switch_side_flag => 'Y'
39555 , p_merge_duplicate_code => 'A'
39556 );
39557 --
39558 l_acc_rev_natural_side_code := 'D'; -- 4262811
39559 --
39560 --
39561 -- set accounting line type info
39562 --
39563 xla_ae_lines_pkg.SetAcctLineType
39564 (p_component_type => l_component_type
39565 ,p_event_type_code => l_event_type_code
39566 ,p_line_definition_owner_code => l_line_definition_owner_code
39567 ,p_line_definition_code => l_line_definition_code
39568 ,p_accounting_line_code => l_component_code
39569 ,p_accounting_line_type_code => l_component_type_code
39570 ,p_accounting_line_appl_id => l_component_appl_id
39571 ,p_amb_context_code => l_amb_context_code
39572 ,p_entity_code => l_entity_code
39573 ,p_event_class_code => l_event_class_code);
39574 --
39575 -- set accounting class
39576 --
39577 xla_ae_lines_pkg.SetAcctClass(
39578 p_accounting_class_code => 'CASH'
39579 , p_ae_header_id => l_ae_header_id
39580 );
39581
39582 --
39583 -- set rounding class
39584 --
39585 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39586 'CASH';
39587
39588 --
39589 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39590 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39591 --
39592 -- bulk performance
39593 --
39594 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39595
39596 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39600 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39597 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39598
39599 -- 4955764
39601 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39602
39603 -- 4458381 Public Sector Enh
39604
39605 --
39606 -- set accounting attributes for the line type
39607 --
39608 l_entered_amt_idx := 9;
39609 l_accted_amt_idx := 14;
39610 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39611 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39612 l_rec_acct_attrs.array_char_value(1) := p_source_52;
39613 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
39614 l_rec_acct_attrs.array_num_value(2) := p_source_90;
39615 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39616 l_rec_acct_attrs.array_char_value(3) := p_source_99;
39617 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
39618 l_rec_acct_attrs.array_char_value(4) := p_source_100;
39619 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
39620 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
39621 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39622 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
39623 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
39624 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
39625 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
39626 l_rec_acct_attrs.array_char_value(8) := p_source_54;
39627 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
39628 l_rec_acct_attrs.array_num_value(9) := p_source_98;
39629 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
39630 l_rec_acct_attrs.array_char_value(10) := p_source_13;
39631 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
39632 l_rec_acct_attrs.array_date_value(11) := p_source_117;
39633 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
39634 l_rec_acct_attrs.array_num_value(12) := p_source_118;
39635 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
39636 l_rec_acct_attrs.array_char_value(13) := p_source_119;
39637 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
39638 l_rec_acct_attrs.array_num_value(14) := p_source_121;
39639 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
39640 l_rec_acct_attrs.array_char_value(15) := p_source_79;
39641 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
39642 l_rec_acct_attrs.array_num_value(16) := p_source_109;
39643 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
39644 l_rec_acct_attrs.array_num_value(17) := p_source_110;
39645 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
39646 l_rec_acct_attrs.array_char_value(18) := p_source_82;
39647 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
39648 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
39649 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
39650 l_rec_acct_attrs.array_char_value(20) := p_source_54;
39651
39652 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39653 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39654
39655 ---------------------------------------------------------------------------------------------------------------
39656 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39657 ---------------------------------------------------------------------------------------------------------------
39658 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39659
39660 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39661 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39662
39663 IF xla_accounting_cache_pkg.GetValueChar
39664 (p_source_code => 'LEDGER_CATEGORY_CODE'
39665 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39666 AND l_bflow_method_code = 'PRIOR_ENTRY'
39667 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39668 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39669 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39670 )
39671 THEN
39672 xla_ae_lines_pkg.BflowUpgEntry
39673 (p_business_method_code => l_bflow_method_code
39674 ,p_business_class_code => l_bflow_class_code
39675 ,p_balance_type => l_balance_type_code);
39676 ELSE
39677 NULL;
39678 XLA_AE_LINES_PKG.business_flow_validation(
39679 p_business_method_code => l_bflow_method_code
39680 ,p_business_class_code => l_bflow_class_code
39681 ,p_inherit_description_flag => l_inherit_desc_flag);
39682 END IF;
39683
39684 --
39685 -- call analytical criteria
39686 --
39687
39688
39689 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
39690 xla_ae_lines_pkg.SetAnalyticalCriteria(
39691 p_analytical_criterion_name => 'Check Id'
39692 , p_analytical_criterion_owner => 'S'
39696
39693 , p_analytical_criterion_code => 'CHECK_ID'
39694 , p_amb_context_code => 'DEFAULT'
39695 , p_balancing_flag => 'N'
39697 , p_analytical_detail_char_1 => NULL
39698 , p_analytical_detail_num_1 => p_source_112
39699 , p_analytical_detail_date_1 => NULL
39700
39701 , p_ae_header_id => l_ae_header_id
39702 )
39703 ;
39704 --
39705
39706 --
39707 -- call description
39708 --
39709 -- No description or it is inherited.
39710 --
39711 -- call ADRs
39712 -- Bug 4922099
39713 --
39714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39715 (NVL(l_actual_upg_option, 'N') = 'O') OR
39716 (NVL(l_enc_upg_option, 'N') = 'O')
39717 )
39718 THEN
39719 NULL;
39720 --
39721 --
39722
39723 l_ccid := AcctDerRule_28(
39724 p_application_id => p_application_id
39725 , p_ae_header_id => l_ae_header_id
39726 , p_source_17 => p_source_17
39727 , x_transaction_coa_id => l_adr_transaction_coa_id
39728 , x_accounting_coa_id => l_adr_accounting_coa_id
39729 , x_value_type_code => l_adr_value_type_code
39730 , p_side => 'NA'
39731 );
39732
39733 xla_ae_lines_pkg.set_ccid(
39734 p_code_combination_id => l_ccid
39735 , p_value_type_code => l_adr_value_type_code
39736 , p_transaction_coa_id => l_adr_transaction_coa_id
39737 , p_accounting_coa_id => l_adr_accounting_coa_id
39738 , p_adr_code => 'AP_CASH'
39739 , p_adr_type_code => 'S'
39740 , p_component_type => l_component_type
39741 , p_component_code => l_component_code
39742 , p_component_type_code => l_component_type_code
39743 , p_component_appl_id => l_component_appl_id
39744 , p_amb_context_code => l_amb_context_code
39745 , p_side => 'NA'
39746 );
39747
39748
39749 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39750 p_to_segment_code => 'GL_BALANCING'
39751 , p_segment_value => C_CHAR
39752 , p_from_segment_code => NULL
39753 , p_from_combination_id => NULL
39754 , p_value_type_code => NULL
39755 , p_transaction_coa_id => null
39756 , p_accounting_coa_id => null
39757 , p_flexfield_segment_code => NULL
39758 , p_flex_value_set_id => NULL
39759 , p_adr_code => NULL
39760 , p_adr_type_code => NULL
39761 , p_component_type => l_component_type
39762 , p_component_code => l_component_code
39763 , p_component_type_code => l_component_type_code
39764 , p_component_appl_id => l_component_appl_id
39765 , p_amb_context_code => l_amb_context_code
39766 , p_entity_code => 'AP_PAYMENTS'
39767 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39768 , p_side => 'NA'
39769 );
39770 --
39771
39772
39773 --
39774 --
39775 END IF;
39776 --
39777 -- Bug 4922099
39778 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39779 (NVL(l_enc_upg_option, 'N') = 'O')
39780 ) AND
39781 (l_bflow_method_code = 'PRIOR_ENTRY')
39782 )
39783 THEN
39784 IF
39785 --
39786 1 = 2
39787 --
39788 THEN
39789 xla_accounting_err_pkg.build_message
39790 (p_appli_s_name => 'XLA'
39791 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39792 ,p_token_1 => 'LINE_NUMBER'
39793 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39794 ,p_token_2 => 'LINE_TYPE_NAME'
39795 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39796 l_component_type
39797 ,l_component_code
39798 ,l_component_type_code
39799 ,l_component_appl_id
39800 ,l_amb_context_code
39801 ,l_entity_code
39802 ,l_event_class_code
39803 )
39804 ,p_token_3 => 'OWNER'
39805 ,p_value_3 => xla_lookups_pkg.get_meaning(
39806 p_lookup_type => 'XLA_OWNER_TYPE'
39807 ,p_lookup_code => l_component_type_code
39808 )
39809 ,p_token_4 => 'PRODUCT_NAME'
39810 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39814 ,p_ae_header_id => NULL
39811 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39812 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39813 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39815 );
39816
39817 IF (C_LEVEL_ERROR>= g_log_level) THEN
39818 trace
39819 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39820 ,p_level => C_LEVEL_ERROR
39821 ,p_module => l_log_module);
39822 END IF;
39823 END IF;
39824 END IF;
39825 --
39826 --
39827 ------------------------------------------------------------------------------------------------
39828 -- 4219869 Business Flow
39829 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39830 -- Prior Entry. Currently, the following code is always generated.
39831 ------------------------------------------------------------------------------------------------
39832 XLA_AE_LINES_PKG.ValidateCurrentLine;
39833
39834 ------------------------------------------------------------------------------------
39835 -- 4219869 Business Flow
39836 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39837 ------------------------------------------------------------------------------------
39838 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39839
39840 ----------------------------------------------------------------------------------
39841 -- 4219869 Business Flow
39842 -- Update journal entry status -- Need to generate this within IF <condition>
39843 ----------------------------------------------------------------------------------
39844 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39845 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39846 ,p_balance_type_code => l_balance_type_code
39847 );
39848
39849 -------------------------------------------------------------------------------------------
39850 -- 4262811 - Generate the Accrual Reversal lines
39851 -------------------------------------------------------------------------------------------
39852 BEGIN
39853 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39854 (g_array_event(p_event_id).array_value_num('header_index'));
39855 IF l_acc_rev_flag IS NULL THEN
39856 l_acc_rev_flag := 'N';
39857 END IF;
39858 EXCEPTION
39859 WHEN OTHERS THEN
39860 l_acc_rev_flag := 'N';
39861 END;
39862 --
39863 IF (l_acc_rev_flag = 'Y') THEN
39864
39865 -- 4645092 ------------------------------------------------------------------------------
39866 -- To allow MPA report to determine if it should generate report process
39867 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39868 ------------------------------------------------------------------------------------------
39869
39870 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39871 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39872 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39873 -- call ADRs
39874 -- Bug 4922099
39875 --
39876 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39877 (NVL(l_actual_upg_option, 'N') = 'O') OR
39878 (NVL(l_enc_upg_option, 'N') = 'O')
39879 )
39880 THEN
39881 NULL;
39882 --
39883 --
39884
39885 l_ccid := AcctDerRule_28(
39886 p_application_id => p_application_id
39887 , p_ae_header_id => l_ae_header_id
39888 , p_source_17 => p_source_17
39889 , x_transaction_coa_id => l_adr_transaction_coa_id
39890 , x_accounting_coa_id => l_adr_accounting_coa_id
39891 , x_value_type_code => l_adr_value_type_code
39892 , p_side => 'NA'
39893 );
39894
39895 xla_ae_lines_pkg.set_ccid(
39896 p_code_combination_id => l_ccid
39897 , p_value_type_code => l_adr_value_type_code
39898 , p_transaction_coa_id => l_adr_transaction_coa_id
39899 , p_accounting_coa_id => l_adr_accounting_coa_id
39900 , p_adr_code => 'AP_CASH'
39901 , p_adr_type_code => 'S'
39902 , p_component_type => l_component_type
39903 , p_component_code => l_component_code
39904 , p_component_type_code => l_component_type_code
39905 , p_component_appl_id => l_component_appl_id
39906 , p_amb_context_code => l_amb_context_code
39907 , p_side => 'NA'
39908 );
39909
39910
39911 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39912 p_to_segment_code => 'GL_BALANCING'
39913 , p_segment_value => C_CHAR
39914 , p_from_segment_code => NULL
39915 , p_from_combination_id => NULL
39916 , p_value_type_code => NULL
39917 , p_transaction_coa_id => null
39918 , p_accounting_coa_id => null
39919 , p_flexfield_segment_code => NULL
39920 , p_flex_value_set_id => NULL
39921 , p_adr_code => NULL
39925 , p_component_type_code => l_component_type_code
39922 , p_adr_type_code => NULL
39923 , p_component_type => l_component_type
39924 , p_component_code => l_component_code
39926 , p_component_appl_id => l_component_appl_id
39927 , p_amb_context_code => l_amb_context_code
39928 , p_entity_code => 'AP_PAYMENTS'
39929 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39930 , p_side => 'NA'
39931 );
39932 --
39933
39934
39935 --
39936 --
39937 END IF;
39938
39939 --
39940 -- Update the line information that should be overwritten
39941 --
39942 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39943 p_header_num => 1);
39944 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39945
39946 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39947
39948 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39949 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39950 END IF;
39951
39952 --
39953 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39954 --
39955 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39956 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39957 ELSE
39958 ---------------------------------------------------------------------------------------------------
39959 -- 4262811a Switch Sign
39960 ---------------------------------------------------------------------------------------------------
39961 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39962 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39963 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39964 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39965 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39966 -- 5132302
39967 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39968 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39969
39970 END IF;
39971
39972 -- 4955764
39973 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39974 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39975
39976
39977 XLA_AE_LINES_PKG.ValidateCurrentLine;
39978 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39979
39980 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39981 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39982 ,p_balance_type_code => l_balance_type_code);
39983
39984 END IF;
39985
39986 -----------------------------------------------------------------------------------------
39987 -- 4262811 Multiperiod Accounting
39988 -----------------------------------------------------------------------------------------
39989 -- No MPA option is assigned.
39990
39991
39992 END IF;
39993 END IF;
39994 --
39995
39996 --
39997 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39998 trace
39999 (p_msg => 'END of AcctLineType_89'
40000 ,p_level => C_LEVEL_PROCEDURE
40001 ,p_module => l_log_module);
40002 END IF;
40003 --
40004 EXCEPTION
40005 WHEN xla_exceptions_pkg.application_exception THEN
40006 RAISE;
40007 WHEN OTHERS THEN
40008 xla_exceptions_pkg.raise_message
40009 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_89');
40010 END AcctLineType_89;
40011 --
40012
40013 ---------------------------------------
40014 --
40015 -- PRIVATE FUNCTION
40016 -- AcctLineType_90
40017 --
40018 ---------------------------------------
40019 PROCEDURE AcctLineType_90 (
40020 p_application_id IN NUMBER
40021 ,p_event_id IN NUMBER
40022 ,p_calculate_acctd_flag IN VARCHAR2
40023 ,p_calculate_g_l_flag IN VARCHAR2
40024 ,p_actual_flag IN OUT VARCHAR2
40025 ,p_balance_type_code OUT VARCHAR2
40026 ,p_gain_or_loss_ref OUT VARCHAR2
40027
40028 --Payment Currency Code
40029 , p_source_13 IN VARCHAR2
40030 --Bank Cash Account
40031 , p_source_17 IN NUMBER
40032 --Automatic Offsets Flag
40033 , p_source_47 IN VARCHAR2
40034 , p_source_47_meaning IN VARCHAR2
40035 --Accounting Reversal Indicator
40036 , p_source_52 IN VARCHAR2
40037 --Distribution Link Type
40038 , p_source_54 IN VARCHAR2
40039 --Override Accounted Amount Indicator
40040 , p_source_79 IN VARCHAR2
40041 , p_source_79_meaning IN VARCHAR2
40042 --Third Party Type
40043 , p_source_82 IN VARCHAR2
40044 --Invoice Distribution Tax Line Identifier
40045 , p_source_85 IN NUMBER
40046 --Invoice Distribution Tax Distribution Identifier from Tax
40050 --Business Flow Accounts Payable Application Identifier
40047 , p_source_86 IN NUMBER
40048 --Invoice Distribution Summary Tax Line Identifier
40049 , p_source_87 IN NUMBER
40051 , p_source_90 IN NUMBER
40052 --Business Flow Invoice Distribution Type
40053 , p_source_91 IN VARCHAR2
40054 --Business Flow Invoice Entity Code
40055 , p_source_92 IN VARCHAR2
40056 --Business Flow Invoice Distribution Identifier
40057 , p_source_93 IN NUMBER
40058 --Business Flow Invoice Identifier
40059 , p_source_94 IN NUMBER
40060 --When to Account for Payment Option
40061 , p_source_96 IN VARCHAR2
40062 --Payment Distribution Type
40063 , p_source_97 IN VARCHAR2
40064 , p_source_97_meaning IN VARCHAR2
40065 --Payment Distribution Amount
40066 , p_source_98 IN NUMBER
40067 --Payment Distribution Identifier
40068 , p_source_103 IN NUMBER
40069 --Payment Supplier Identifier
40070 , p_source_109 IN NUMBER
40071 --Payment Supplier Site Identifier
40072 , p_source_110 IN NUMBER
40073 --Payment Distribution Reversed Identifier
40074 , p_source_111 IN NUMBER
40075 --Payment Identifier
40076 , p_source_112 IN NUMBER
40077 --Pooled Bank Account Option
40078 , p_source_113 IN VARCHAR2
40079 , p_source_113_meaning IN VARCHAR2
40080 --Payment Maturity Date
40081 , p_source_114 IN DATE
40082 --Payment Distribution (Payment Rate) Ledger Amount
40083 , p_source_115 IN NUMBER
40084 --Payment Exchange Date
40085 , p_source_117 IN DATE
40086 --Payment Exchange Rate
40087 , p_source_118 IN NUMBER
40088 --Payment Exchange Rate Type
40089 , p_source_119 IN VARCHAR2
40090 --Payment Type
40091 , p_source_122 IN VARCHAR2
40092 , p_source_122_meaning IN VARCHAR2
40093 )
40094 IS
40095
40096 l_component_type VARCHAR2(80);
40097 l_component_code VARCHAR2(30);
40098 l_component_type_code VARCHAR2(1);
40099 l_component_appl_id INTEGER;
40100 l_amb_context_code VARCHAR2(30);
40101 l_entity_code VARCHAR2(30);
40102 l_event_class_code VARCHAR2(30);
40103 l_ae_header_id NUMBER;
40104 l_event_type_code VARCHAR2(30);
40105 l_line_definition_code VARCHAR2(30);
40106 l_line_definition_owner_code VARCHAR2(1);
40107 --
40108 -- adr variables
40109 l_segment VARCHAR2(30);
40110 l_ccid NUMBER;
40111 l_adr_transaction_coa_id NUMBER;
40112 l_adr_accounting_coa_id NUMBER;
40113 l_adr_flexfield_segment_code VARCHAR2(30);
40114 l_adr_flex_value_set_id NUMBER;
40115 l_adr_value_type_code VARCHAR2(30);
40116 l_adr_value_combination_id NUMBER;
40117 l_adr_value_segment_code VARCHAR2(30);
40118
40119 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40120 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40121 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40122 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40123
40124 -- 4262811 Variables ------------------------------------------------------------------------------------------
40125 l_entered_amt_idx NUMBER;
40126 l_accted_amt_idx NUMBER;
40127 l_acc_rev_flag VARCHAR2(1);
40128 l_accrual_line_num NUMBER;
40129 l_tmp_amt NUMBER;
40130 l_acc_rev_natural_side_code VARCHAR2(1);
40131
40132 l_num_entries NUMBER;
40133 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40134 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40135 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40136 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40137 l_recog_line_1 NUMBER;
40138 l_recog_line_2 NUMBER;
40139
40140 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40141 l_bflow_applied_to_amt NUMBER; -- 5132302
40142 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40143
40144 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40145
40146 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40147 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40148
40149 ---------------------------------------------------------------------------------------------------------------
40150
40151
40152 --
40153 -- bulk performance
40154 --
40155 l_balance_type_code VARCHAR2(1);
40156 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40157 l_log_module VARCHAR2(240);
40158
40159 --
40160 -- Upgrade strategy
40161 --
40162 l_actual_upg_option VARCHAR2(1);
40163 l_enc_upg_option VARCHAR2(1);
40164
40165 --
40166 BEGIN
40167 --
40168 IF g_log_enabled THEN
40169 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_90';
40170 END IF;
40171 --
40172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40173
40174 trace
40178
40175 (p_msg => 'BEGIN of AcctLineType_90'
40176 ,p_level => C_LEVEL_PROCEDURE
40177 ,p_module => l_log_module);
40179 END IF;
40180 --
40181 l_component_type := 'AMB_JLT';
40182 l_component_code := 'AP_CASH_REF';
40183 l_component_type_code := 'S';
40184 l_component_appl_id := 200;
40185 l_amb_context_code := 'DEFAULT';
40186 l_entity_code := 'AP_PAYMENTS';
40187 l_event_class_code := 'REFUNDS';
40188 l_event_type_code := 'REFUNDS_ALL';
40189 l_line_definition_owner_code := 'S';
40190 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
40191 --
40192 l_balance_type_code := 'A';
40193 l_segment := NULL;
40194 l_ccid := NULL;
40195 l_adr_transaction_coa_id := NULL;
40196 l_adr_accounting_coa_id := NULL;
40197 l_adr_flexfield_segment_code := NULL;
40198 l_adr_flex_value_set_id := NULL;
40199 l_adr_value_type_code := NULL;
40200 l_adr_value_combination_id := NULL;
40201 l_adr_value_segment_code := NULL;
40202
40203 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
40204 l_bflow_class_code := ''; -- 4219869 Business Flow
40205 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40206 l_budgetary_control_flag := 'N';
40207
40208 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40209 l_bflow_applied_to_amt := NULL; -- 5132302
40210 l_entered_amt_idx := NULL; -- 4262811
40211 l_accted_amt_idx := NULL; -- 4262811
40212 l_acc_rev_flag := NULL; -- 4262811
40213 l_accrual_line_num := NULL; -- 4262811
40214 l_tmp_amt := NULL; -- 4262811
40215 --
40216
40217 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40218 l_balance_type_code <> 'B' THEN
40219 IF NVL(p_source_96,'
40220 ') = 'ISSUE_ISSUE' AND
40221 (NVL(p_source_47,'
40222 ') <> 'Y' OR
40223 NVL(p_source_47,'
40224 ') = 'Y' AND
40225 NVL(p_source_113,'
40226 ') <> 'Y') AND
40227 p_source_114 IS NULL AND
40228 NVL(p_source_97,'
40229 ') = 'CASH' AND
40230 NVL(p_source_122,'
40231 ') = 'R'
40232 THEN
40233
40234 --
40235 XLA_AE_LINES_PKG.SetNewLine;
40236
40237 p_balance_type_code := l_balance_type_code;
40238 -- set the flag so later we will know whether the gain loss line needs to be created
40239
40240 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40241 p_actual_flag :='A';
40242 END IF;
40243
40244 --
40245 -- bulk performance
40246 --
40247 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40248 p_header_num => 0); -- 4262811
40249 --
40250 -- set accounting line options
40251 --
40252 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40253 p_natural_side_code => 'C'
40254 , p_gain_or_loss_flag => 'N'
40255 , p_gl_transfer_mode_code => 'S'
40256 , p_acct_entry_type_code => 'A'
40257 , p_switch_side_flag => 'Y'
40258 , p_merge_duplicate_code => 'A'
40259 );
40260 --
40261 l_acc_rev_natural_side_code := 'D'; -- 4262811
40262 --
40263 --
40264 -- set accounting line type info
40265 --
40266 xla_ae_lines_pkg.SetAcctLineType
40267 (p_component_type => l_component_type
40268 ,p_event_type_code => l_event_type_code
40269 ,p_line_definition_owner_code => l_line_definition_owner_code
40270 ,p_line_definition_code => l_line_definition_code
40271 ,p_accounting_line_code => l_component_code
40272 ,p_accounting_line_type_code => l_component_type_code
40273 ,p_accounting_line_appl_id => l_component_appl_id
40274 ,p_amb_context_code => l_amb_context_code
40275 ,p_entity_code => l_entity_code
40276 ,p_event_class_code => l_event_class_code);
40277 --
40278 -- set accounting class
40279 --
40280 xla_ae_lines_pkg.SetAcctClass(
40281 p_accounting_class_code => 'CASH'
40282 , p_ae_header_id => l_ae_header_id
40283 );
40284
40285 --
40286 -- set rounding class
40287 --
40288 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40289 'CASH';
40290
40291 --
40292 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40293 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40294 --
40295 -- bulk performance
40296 --
40297 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40298
40299 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40300 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40301
40302 -- 4955764
40303 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40307
40304 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40305
40306 -- 4458381 Public Sector Enh
40308 --
40309 -- set accounting attributes for the line type
40310 --
40311 l_entered_amt_idx := 9;
40312 l_accted_amt_idx := 14;
40313 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40314 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40315 l_rec_acct_attrs.array_char_value(1) := p_source_52;
40316 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40317 l_rec_acct_attrs.array_num_value(2) := p_source_90;
40318 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40319 l_rec_acct_attrs.array_char_value(3) := p_source_91;
40320 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40321 l_rec_acct_attrs.array_char_value(4) := p_source_92;
40322 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40323 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
40324 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40325 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
40326 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40327 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
40328 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40329 l_rec_acct_attrs.array_char_value(8) := p_source_54;
40330 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40331 l_rec_acct_attrs.array_num_value(9) := p_source_98;
40332 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40333 l_rec_acct_attrs.array_char_value(10) := p_source_13;
40334 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40335 l_rec_acct_attrs.array_date_value(11) := p_source_117;
40336 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40337 l_rec_acct_attrs.array_num_value(12) := p_source_118;
40338 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40339 l_rec_acct_attrs.array_char_value(13) := p_source_119;
40340 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40341 l_rec_acct_attrs.array_num_value(14) := p_source_115;
40342 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40343 l_rec_acct_attrs.array_char_value(15) := p_source_79;
40344 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40345 l_rec_acct_attrs.array_num_value(16) := p_source_109;
40346 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40347 l_rec_acct_attrs.array_num_value(17) := p_source_110;
40348 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40349 l_rec_acct_attrs.array_char_value(18) := p_source_82;
40350 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40351 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
40352 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40353 l_rec_acct_attrs.array_char_value(20) := p_source_54;
40354 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
40355 l_rec_acct_attrs.array_num_value(21) := p_source_85;
40356 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
40357 l_rec_acct_attrs.array_num_value(22) := p_source_86;
40358 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
40359 l_rec_acct_attrs.array_num_value(23) := p_source_87;
40360
40361 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40362 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40363
40364 ---------------------------------------------------------------------------------------------------------------
40365 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40366 ---------------------------------------------------------------------------------------------------------------
40367 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40368
40369 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40370 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40371
40372 IF xla_accounting_cache_pkg.GetValueChar
40373 (p_source_code => 'LEDGER_CATEGORY_CODE'
40374 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40375 AND l_bflow_method_code = 'PRIOR_ENTRY'
40376 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40377 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40378 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40379 )
40380 THEN
40381 xla_ae_lines_pkg.BflowUpgEntry
40382 (p_business_method_code => l_bflow_method_code
40383 ,p_business_class_code => l_bflow_class_code
40384 ,p_balance_type => l_balance_type_code);
40385 ELSE
40386 NULL;
40387 -- No business flow processing for business flow method of NONE.
40388 END IF;
40389
40390 --
40391 -- call analytical criteria
40392 --
40393
40394
40395 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
40396 xla_ae_lines_pkg.SetAnalyticalCriteria(
40397 p_analytical_criterion_name => 'Check Id'
40398 , p_analytical_criterion_owner => 'S'
40399 , p_analytical_criterion_code => 'CHECK_ID'
40400 , p_amb_context_code => 'DEFAULT'
40404 , p_analytical_detail_num_1 => p_source_112
40401 , p_balancing_flag => 'N'
40402
40403 , p_analytical_detail_char_1 => NULL
40405 , p_analytical_detail_date_1 => NULL
40406
40407 , p_ae_header_id => l_ae_header_id
40408 )
40409 ;
40410 --
40411
40412 --
40413 -- call description
40414 --
40415 -- No description or it is inherited.
40416 --
40417 -- call ADRs
40418 -- Bug 4922099
40419 --
40420 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40421 (NVL(l_actual_upg_option, 'N') = 'O') OR
40422 (NVL(l_enc_upg_option, 'N') = 'O')
40423 )
40424 THEN
40425 NULL;
40426 --
40427 --
40428
40429 l_ccid := AcctDerRule_28(
40430 p_application_id => p_application_id
40431 , p_ae_header_id => l_ae_header_id
40432 , p_source_17 => p_source_17
40433 , x_transaction_coa_id => l_adr_transaction_coa_id
40434 , x_accounting_coa_id => l_adr_accounting_coa_id
40435 , x_value_type_code => l_adr_value_type_code
40436 , p_side => 'NA'
40437 );
40438
40439 xla_ae_lines_pkg.set_ccid(
40440 p_code_combination_id => l_ccid
40441 , p_value_type_code => l_adr_value_type_code
40442 , p_transaction_coa_id => l_adr_transaction_coa_id
40443 , p_accounting_coa_id => l_adr_accounting_coa_id
40444 , p_adr_code => 'AP_CASH'
40445 , p_adr_type_code => 'S'
40446 , p_component_type => l_component_type
40447 , p_component_code => l_component_code
40448 , p_component_type_code => l_component_type_code
40449 , p_component_appl_id => l_component_appl_id
40450 , p_amb_context_code => l_amb_context_code
40451 , p_side => 'NA'
40452 );
40453
40454
40455 --
40456 --
40457 END IF;
40458 --
40459 -- Bug 4922099
40460 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40461 (NVL(l_enc_upg_option, 'N') = 'O')
40462 ) AND
40463 (l_bflow_method_code = 'PRIOR_ENTRY')
40464 )
40465 THEN
40466 IF
40467 --
40468 1 = 2
40469 --
40470 THEN
40471 xla_accounting_err_pkg.build_message
40472 (p_appli_s_name => 'XLA'
40473 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40474 ,p_token_1 => 'LINE_NUMBER'
40475 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40476 ,p_token_2 => 'LINE_TYPE_NAME'
40477 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40478 l_component_type
40479 ,l_component_code
40480 ,l_component_type_code
40481 ,l_component_appl_id
40482 ,l_amb_context_code
40483 ,l_entity_code
40484 ,l_event_class_code
40485 )
40486 ,p_token_3 => 'OWNER'
40487 ,p_value_3 => xla_lookups_pkg.get_meaning(
40488 p_lookup_type => 'XLA_OWNER_TYPE'
40489 ,p_lookup_code => l_component_type_code
40490 )
40491 ,p_token_4 => 'PRODUCT_NAME'
40492 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40493 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40494 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40495 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40496 ,p_ae_header_id => NULL
40497 );
40498
40499 IF (C_LEVEL_ERROR>= g_log_level) THEN
40500 trace
40501 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40502 ,p_level => C_LEVEL_ERROR
40503 ,p_module => l_log_module);
40504 END IF;
40505 END IF;
40506 END IF;
40507 --
40508 --
40509 ------------------------------------------------------------------------------------------------
40510 -- 4219869 Business Flow
40511 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40512 -- Prior Entry. Currently, the following code is always generated.
40516 ------------------------------------------------------------------------------------
40513 ------------------------------------------------------------------------------------------------
40514 XLA_AE_LINES_PKG.ValidateCurrentLine;
40515
40517 -- 4219869 Business Flow
40518 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40519 ------------------------------------------------------------------------------------
40520 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40521
40522 ----------------------------------------------------------------------------------
40523 -- 4219869 Business Flow
40524 -- Update journal entry status -- Need to generate this within IF <condition>
40525 ----------------------------------------------------------------------------------
40526 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40527 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40528 ,p_balance_type_code => l_balance_type_code
40529 );
40530
40531 -------------------------------------------------------------------------------------------
40532 -- 4262811 - Generate the Accrual Reversal lines
40533 -------------------------------------------------------------------------------------------
40534 BEGIN
40535 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40536 (g_array_event(p_event_id).array_value_num('header_index'));
40537 IF l_acc_rev_flag IS NULL THEN
40538 l_acc_rev_flag := 'N';
40539 END IF;
40540 EXCEPTION
40541 WHEN OTHERS THEN
40542 l_acc_rev_flag := 'N';
40543 END;
40544 --
40545 IF (l_acc_rev_flag = 'Y') THEN
40546
40547 -- 4645092 ------------------------------------------------------------------------------
40548 -- To allow MPA report to determine if it should generate report process
40549 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40550 ------------------------------------------------------------------------------------------
40551
40552 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40553 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40554 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40555 -- call ADRs
40556 -- Bug 4922099
40557 --
40558 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40559 (NVL(l_actual_upg_option, 'N') = 'O') OR
40560 (NVL(l_enc_upg_option, 'N') = 'O')
40561 )
40562 THEN
40563 NULL;
40564 --
40565 --
40566
40567 l_ccid := AcctDerRule_28(
40568 p_application_id => p_application_id
40569 , p_ae_header_id => l_ae_header_id
40570 , p_source_17 => p_source_17
40571 , x_transaction_coa_id => l_adr_transaction_coa_id
40572 , x_accounting_coa_id => l_adr_accounting_coa_id
40573 , x_value_type_code => l_adr_value_type_code
40574 , p_side => 'NA'
40575 );
40576
40577 xla_ae_lines_pkg.set_ccid(
40578 p_code_combination_id => l_ccid
40579 , p_value_type_code => l_adr_value_type_code
40580 , p_transaction_coa_id => l_adr_transaction_coa_id
40581 , p_accounting_coa_id => l_adr_accounting_coa_id
40582 , p_adr_code => 'AP_CASH'
40583 , p_adr_type_code => 'S'
40584 , p_component_type => l_component_type
40585 , p_component_code => l_component_code
40586 , p_component_type_code => l_component_type_code
40587 , p_component_appl_id => l_component_appl_id
40588 , p_amb_context_code => l_amb_context_code
40589 , p_side => 'NA'
40590 );
40591
40592
40593 --
40594 --
40595 END IF;
40596
40597 --
40598 -- Update the line information that should be overwritten
40599 --
40600 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40601 p_header_num => 1);
40602 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40603
40604 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40605
40606 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40607 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40608 END IF;
40609
40610 --
40611 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40612 --
40613 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40614 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40615 ELSE
40616 ---------------------------------------------------------------------------------------------------
40617 -- 4262811a Switch Sign
40618 ---------------------------------------------------------------------------------------------------
40619 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40620 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40621 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40622 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40626 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40623 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40624 -- 5132302
40625 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40627
40628 END IF;
40629
40630 -- 4955764
40631 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40632 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40633
40634
40635 XLA_AE_LINES_PKG.ValidateCurrentLine;
40636 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40637
40638 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40639 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40640 ,p_balance_type_code => l_balance_type_code);
40641
40642 END IF;
40643
40644 -----------------------------------------------------------------------------------------
40645 -- 4262811 Multiperiod Accounting
40646 -----------------------------------------------------------------------------------------
40647 -- No MPA option is assigned.
40648
40649
40650 END IF;
40651 END IF;
40652 --
40653
40654 --
40655 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40656 trace
40657 (p_msg => 'END of AcctLineType_90'
40658 ,p_level => C_LEVEL_PROCEDURE
40659 ,p_module => l_log_module);
40660 END IF;
40661 --
40662 EXCEPTION
40663 WHEN xla_exceptions_pkg.application_exception THEN
40664 RAISE;
40665 WHEN OTHERS THEN
40666 xla_exceptions_pkg.raise_message
40667 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_90');
40668 END AcctLineType_90;
40669 --
40670
40671 ---------------------------------------
40672 --
40673 -- PRIVATE FUNCTION
40674 -- AcctLineType_91
40675 --
40676 ---------------------------------------
40677 PROCEDURE AcctLineType_91 (
40678 p_application_id IN NUMBER
40679 ,p_event_id IN NUMBER
40680 ,p_calculate_acctd_flag IN VARCHAR2
40681 ,p_calculate_g_l_flag IN VARCHAR2
40682 ,p_actual_flag IN OUT VARCHAR2
40683 ,p_balance_type_code OUT VARCHAR2
40684 ,p_gain_or_loss_ref OUT VARCHAR2
40685
40686 --Payment Currency Code
40687 , p_source_13 IN VARCHAR2
40688 --Automatic Offsets Value
40689 , p_source_15 IN VARCHAR2
40690 , p_source_15_meaning IN VARCHAR2
40691 --Bank Cash Account
40692 , p_source_17 IN NUMBER
40693 --Accounting Reversal Indicator
40694 , p_source_52 IN VARCHAR2
40695 --Distribution Link Type
40696 , p_source_54 IN VARCHAR2
40697 --Override Accounted Amount Indicator
40698 , p_source_79 IN VARCHAR2
40699 , p_source_79_meaning IN VARCHAR2
40700 --Third Party Type
40701 , p_source_82 IN VARCHAR2
40702 --Invoice Distribution Tax Line Identifier
40703 , p_source_85 IN NUMBER
40704 --Invoice Distribution Tax Distribution Identifier from Tax
40705 , p_source_86 IN NUMBER
40706 --Invoice Distribution Summary Tax Line Identifier
40707 , p_source_87 IN NUMBER
40708 --Business Flow Accounts Payable Application Identifier
40709 , p_source_90 IN NUMBER
40710 --Business Flow Invoice Distribution Type
40711 , p_source_91 IN VARCHAR2
40712 --Business Flow Invoice Entity Code
40713 , p_source_92 IN VARCHAR2
40714 --Business Flow Invoice Distribution Identifier
40715 , p_source_93 IN NUMBER
40716 --Business Flow Invoice Identifier
40717 , p_source_94 IN NUMBER
40718 --When to Account for Payment Option
40719 , p_source_96 IN VARCHAR2
40720 --Payment Distribution Type
40721 , p_source_97 IN VARCHAR2
40722 , p_source_97_meaning IN VARCHAR2
40723 --Payment Distribution Amount
40724 , p_source_98 IN NUMBER
40725 --Payment Distribution Identifier
40726 , p_source_103 IN NUMBER
40727 --Payment Supplier Identifier
40728 , p_source_109 IN NUMBER
40729 --Payment Supplier Site Identifier
40730 , p_source_110 IN NUMBER
40731 --Payment Distribution Reversed Identifier
40732 , p_source_111 IN NUMBER
40733 --Payment Identifier
40734 , p_source_112 IN NUMBER
40735 --Pooled Bank Account Option
40736 , p_source_113 IN VARCHAR2
40737 , p_source_113_meaning IN VARCHAR2
40738 --Payment Maturity Date
40739 , p_source_114 IN DATE
40740 --Payment Distribution (Payment Rate) Ledger Amount
40741 , p_source_115 IN NUMBER
40742 --Payment Exchange Date
40743 , p_source_117 IN DATE
40744 --Payment Exchange Rate
40745 , p_source_118 IN NUMBER
40746 --Payment Exchange Rate Type
40747 , p_source_119 IN VARCHAR2
40748 --Payment Type
40749 , p_source_122 IN VARCHAR2
40750 , p_source_122_meaning IN VARCHAR2
40751 )
40752 IS
40753
40754 l_component_type VARCHAR2(80);
40755 l_component_code VARCHAR2(30);
40756 l_component_type_code VARCHAR2(1);
40757 l_component_appl_id INTEGER;
40761 l_ae_header_id NUMBER;
40758 l_amb_context_code VARCHAR2(30);
40759 l_entity_code VARCHAR2(30);
40760 l_event_class_code VARCHAR2(30);
40762 l_event_type_code VARCHAR2(30);
40763 l_line_definition_code VARCHAR2(30);
40764 l_line_definition_owner_code VARCHAR2(1);
40765 --
40766 -- adr variables
40767 l_segment VARCHAR2(30);
40768 l_ccid NUMBER;
40769 l_adr_transaction_coa_id NUMBER;
40770 l_adr_accounting_coa_id NUMBER;
40771 l_adr_flexfield_segment_code VARCHAR2(30);
40772 l_adr_flex_value_set_id NUMBER;
40773 l_adr_value_type_code VARCHAR2(30);
40774 l_adr_value_combination_id NUMBER;
40775 l_adr_value_segment_code VARCHAR2(30);
40776
40777 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40778 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40779 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40780 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40781
40782 -- 4262811 Variables ------------------------------------------------------------------------------------------
40783 l_entered_amt_idx NUMBER;
40784 l_accted_amt_idx NUMBER;
40785 l_acc_rev_flag VARCHAR2(1);
40786 l_accrual_line_num NUMBER;
40787 l_tmp_amt NUMBER;
40788 l_acc_rev_natural_side_code VARCHAR2(1);
40789
40790 l_num_entries NUMBER;
40791 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40792 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40793 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40794 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40795 l_recog_line_1 NUMBER;
40796 l_recog_line_2 NUMBER;
40797
40798 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40799 l_bflow_applied_to_amt NUMBER; -- 5132302
40800 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40801
40802 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40803
40804 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40805 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40806
40807 ---------------------------------------------------------------------------------------------------------------
40808
40809
40810 --
40811 -- bulk performance
40812 --
40813 l_balance_type_code VARCHAR2(1);
40814 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40815 l_log_module VARCHAR2(240);
40816
40817 --
40818 -- Upgrade strategy
40819 --
40820 l_actual_upg_option VARCHAR2(1);
40821 l_enc_upg_option VARCHAR2(1);
40822
40823 --
40824 BEGIN
40825 --
40826 IF g_log_enabled THEN
40827 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_91';
40828 END IF;
40829 --
40830 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40831
40832 trace
40833 (p_msg => 'BEGIN of AcctLineType_91'
40834 ,p_level => C_LEVEL_PROCEDURE
40835 ,p_module => l_log_module);
40836
40837 END IF;
40838 --
40839 l_component_type := 'AMB_JLT';
40840 l_component_code := 'AP_CASH_REF_AOS_AS';
40841 l_component_type_code := 'S';
40842 l_component_appl_id := 200;
40843 l_amb_context_code := 'DEFAULT';
40844 l_entity_code := 'AP_PAYMENTS';
40845 l_event_class_code := 'REFUNDS';
40846 l_event_type_code := 'REFUNDS_ALL';
40847 l_line_definition_owner_code := 'S';
40848 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
40849 --
40850 l_balance_type_code := 'A';
40851 l_segment := NULL;
40852 l_ccid := NULL;
40853 l_adr_transaction_coa_id := NULL;
40854 l_adr_accounting_coa_id := NULL;
40855 l_adr_flexfield_segment_code := NULL;
40856 l_adr_flex_value_set_id := NULL;
40857 l_adr_value_type_code := NULL;
40858 l_adr_value_combination_id := NULL;
40859 l_adr_value_segment_code := NULL;
40860
40861 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
40862 l_bflow_class_code := ''; -- 4219869 Business Flow
40863 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40864 l_budgetary_control_flag := 'N';
40865
40866 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40867 l_bflow_applied_to_amt := NULL; -- 5132302
40868 l_entered_amt_idx := NULL; -- 4262811
40869 l_accted_amt_idx := NULL; -- 4262811
40870 l_acc_rev_flag := NULL; -- 4262811
40871 l_accrual_line_num := NULL; -- 4262811
40872 l_tmp_amt := NULL; -- 4262811
40873 --
40874
40875 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40876 l_balance_type_code <> 'B' THEN
40877 IF NVL(p_source_96,'
40878 ') = 'ISSUE_ISSUE' AND
40879 (NVL(p_source_113,'
40880 ') = 'Y' AND
40881 NVL(p_source_15,'
40882 ') = 'ACCOUNT_SEGMENT_VALUE') AND
40883 p_source_114 IS NULL AND
40887 ') = 'R'
40884 NVL(p_source_97,'
40885 ') = 'CASH' AND
40886 NVL(p_source_122,'
40888 THEN
40889
40890 --
40891 XLA_AE_LINES_PKG.SetNewLine;
40892
40893 p_balance_type_code := l_balance_type_code;
40894 -- set the flag so later we will know whether the gain loss line needs to be created
40895
40896 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40897 p_actual_flag :='A';
40898 END IF;
40899
40900 --
40901 -- bulk performance
40902 --
40903 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40904 p_header_num => 0); -- 4262811
40905 --
40906 -- set accounting line options
40907 --
40908 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40909 p_natural_side_code => 'C'
40910 , p_gain_or_loss_flag => 'N'
40911 , p_gl_transfer_mode_code => 'S'
40912 , p_acct_entry_type_code => 'A'
40913 , p_switch_side_flag => 'Y'
40914 , p_merge_duplicate_code => 'A'
40915 );
40916 --
40917 l_acc_rev_natural_side_code := 'D'; -- 4262811
40918 --
40919 --
40920 -- set accounting line type info
40921 --
40922 xla_ae_lines_pkg.SetAcctLineType
40923 (p_component_type => l_component_type
40924 ,p_event_type_code => l_event_type_code
40925 ,p_line_definition_owner_code => l_line_definition_owner_code
40926 ,p_line_definition_code => l_line_definition_code
40927 ,p_accounting_line_code => l_component_code
40928 ,p_accounting_line_type_code => l_component_type_code
40929 ,p_accounting_line_appl_id => l_component_appl_id
40930 ,p_amb_context_code => l_amb_context_code
40931 ,p_entity_code => l_entity_code
40932 ,p_event_class_code => l_event_class_code);
40933 --
40934 -- set accounting class
40935 --
40936 xla_ae_lines_pkg.SetAcctClass(
40937 p_accounting_class_code => 'CASH'
40938 , p_ae_header_id => l_ae_header_id
40939 );
40940
40941 --
40942 -- set rounding class
40943 --
40944 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40945 'CASH';
40946
40947 --
40948 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40949 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40950 --
40951 -- bulk performance
40952 --
40953 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40954
40955 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40956 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40957
40958 -- 4955764
40959 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40960 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40961
40962 -- 4458381 Public Sector Enh
40963
40964 --
40965 -- set accounting attributes for the line type
40966 --
40967 l_entered_amt_idx := 9;
40968 l_accted_amt_idx := 14;
40969 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40970 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40971 l_rec_acct_attrs.array_char_value(1) := p_source_52;
40972 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40973 l_rec_acct_attrs.array_num_value(2) := p_source_90;
40974 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40975 l_rec_acct_attrs.array_char_value(3) := p_source_91;
40976 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40977 l_rec_acct_attrs.array_char_value(4) := p_source_92;
40978 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40979 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
40980 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40981 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
40982 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40983 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
40984 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40985 l_rec_acct_attrs.array_char_value(8) := p_source_54;
40986 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40987 l_rec_acct_attrs.array_num_value(9) := p_source_98;
40988 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40989 l_rec_acct_attrs.array_char_value(10) := p_source_13;
40990 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40991 l_rec_acct_attrs.array_date_value(11) := p_source_117;
40992 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40993 l_rec_acct_attrs.array_num_value(12) := p_source_118;
40994 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40995 l_rec_acct_attrs.array_char_value(13) := p_source_119;
40996 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40997 l_rec_acct_attrs.array_num_value(14) := p_source_115;
40998 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
41002 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40999 l_rec_acct_attrs.array_char_value(15) := p_source_79;
41000 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
41001 l_rec_acct_attrs.array_num_value(16) := p_source_109;
41003 l_rec_acct_attrs.array_num_value(17) := p_source_110;
41004 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
41005 l_rec_acct_attrs.array_char_value(18) := p_source_82;
41006 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
41007 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
41008 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
41009 l_rec_acct_attrs.array_char_value(20) := p_source_54;
41010 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
41011 l_rec_acct_attrs.array_num_value(21) := p_source_85;
41012 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
41013 l_rec_acct_attrs.array_num_value(22) := p_source_86;
41014 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
41015 l_rec_acct_attrs.array_num_value(23) := p_source_87;
41016
41017 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41018 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41019
41020 ---------------------------------------------------------------------------------------------------------------
41021 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41022 ---------------------------------------------------------------------------------------------------------------
41023 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41024
41025 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41026 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41027
41028 IF xla_accounting_cache_pkg.GetValueChar
41029 (p_source_code => 'LEDGER_CATEGORY_CODE'
41030 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41031 AND l_bflow_method_code = 'PRIOR_ENTRY'
41032 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41033 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41034 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41035 )
41036 THEN
41037 xla_ae_lines_pkg.BflowUpgEntry
41038 (p_business_method_code => l_bflow_method_code
41039 ,p_business_class_code => l_bflow_class_code
41040 ,p_balance_type => l_balance_type_code);
41041 ELSE
41042 NULL;
41043 XLA_AE_LINES_PKG.business_flow_validation(
41044 p_business_method_code => l_bflow_method_code
41045 ,p_business_class_code => l_bflow_class_code
41046 ,p_inherit_description_flag => l_inherit_desc_flag);
41047 END IF;
41048
41049 --
41050 -- call analytical criteria
41051 --
41052
41053
41054 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
41055 xla_ae_lines_pkg.SetAnalyticalCriteria(
41056 p_analytical_criterion_name => 'Check Id'
41057 , p_analytical_criterion_owner => 'S'
41058 , p_analytical_criterion_code => 'CHECK_ID'
41059 , p_amb_context_code => 'DEFAULT'
41060 , p_balancing_flag => 'N'
41061
41062 , p_analytical_detail_char_1 => NULL
41063 , p_analytical_detail_num_1 => p_source_112
41064 , p_analytical_detail_date_1 => NULL
41065
41066 , p_ae_header_id => l_ae_header_id
41067 )
41068 ;
41069 --
41070
41071 --
41072 -- call description
41073 --
41074 -- No description or it is inherited.
41075 --
41076 -- call ADRs
41077 -- Bug 4922099
41078 --
41079 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41080 (NVL(l_actual_upg_option, 'N') = 'O') OR
41081 (NVL(l_enc_upg_option, 'N') = 'O')
41082 )
41083 THEN
41084 NULL;
41085 --
41086 --
41087
41088 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
41089 p_code_combination_id => TO_NUMBER(C_NUM)
41090 , p_value_type_code => NULL
41091 , p_transaction_coa_id => null
41092 , p_accounting_coa_id => null
41093 , p_adr_code => NULL
41094 , p_adr_type_code => NULL
41095 , p_component_type => l_component_type
41096 , p_component_code => l_component_code
41097 , p_component_type_code => l_component_type_code
41098 , p_component_appl_id => l_component_appl_id
41099 , p_amb_context_code => l_amb_context_code
41100 , p_side => NULL
41101 );
41102
41103
41104 -- initialise segments
41105 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41106 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41107 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41108 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41109 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41110 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41114 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41111 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41112 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41113 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41115 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41116 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41117 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41118 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41119 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41120 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41121 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41122 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41123 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41124 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41125 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41126 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41127 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41128 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41129 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41130 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41131 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41132 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41133 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41134 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41135 --
41136
41137 --
41138
41139
41140 l_segment := AcctDerRule_6(
41141 p_application_id => p_application_id
41142 , p_ae_header_id => l_ae_header_id
41143 , p_source_17 => p_source_17
41144 , x_transaction_coa_id => l_adr_transaction_coa_id
41145 , x_accounting_coa_id => l_adr_accounting_coa_id
41146 , x_flexfield_segment_code => l_adr_flexfield_segment_code
41147 , x_flex_value_set_id => l_adr_flex_value_set_id
41148 , x_value_type_code => l_adr_value_type_code
41149 , x_value_combination_id => l_adr_value_combination_id
41150 , x_value_segment_code => l_adr_value_segment_code
41151 , p_side => 'NA'
41152 , p_override_seg_flag => 'Y'
41153 );
41154
41155 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
41156
41157 xla_ae_lines_pkg.set_segment(
41158 p_to_segment_code => 'GL_ACCOUNT'
41159 , p_segment_value => l_segment
41160 , p_from_segment_code => l_adr_value_segment_code
41161 , p_from_combination_id => l_adr_value_combination_id
41162 , p_value_type_code => l_adr_value_type_code
41163 , p_transaction_coa_id => l_adr_transaction_coa_id
41164 , p_accounting_coa_id => l_adr_accounting_coa_id
41165 , p_flexfield_segment_code => l_adr_flexfield_segment_code
41166 , p_flex_value_set_id => l_adr_flex_value_set_id
41167 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
41168 , p_adr_type_code => 'S'
41169 , p_component_type => l_component_type
41170 , p_component_code => l_component_code
41171 , p_component_type_code => l_component_type_code
41172 , p_component_appl_id => l_component_appl_id
41173 , p_amb_context_code => l_amb_context_code
41174 , p_entity_code => 'AP_PAYMENTS'
41175 , p_event_class_code => 'REFUNDS'
41176 , p_side => 'NA'
41177 );
41178
41179 END IF;
41180
41181 --
41182 --
41183 END IF;
41184 --
41185 -- Bug 4922099
41186 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41187 (NVL(l_enc_upg_option, 'N') = 'O')
41188 ) AND
41189 (l_bflow_method_code = 'PRIOR_ENTRY')
41190 )
41191 THEN
41192 IF
41193 --
41194 1 = 2
41195 --
41196 THEN
41197 xla_accounting_err_pkg.build_message
41198 (p_appli_s_name => 'XLA'
41199 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41200 ,p_token_1 => 'LINE_NUMBER'
41201 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41202 ,p_token_2 => 'LINE_TYPE_NAME'
41203 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41204 l_component_type
41205 ,l_component_code
41206 ,l_component_type_code
41210 ,l_event_class_code
41207 ,l_component_appl_id
41208 ,l_amb_context_code
41209 ,l_entity_code
41211 )
41212 ,p_token_3 => 'OWNER'
41213 ,p_value_3 => xla_lookups_pkg.get_meaning(
41214 p_lookup_type => 'XLA_OWNER_TYPE'
41215 ,p_lookup_code => l_component_type_code
41216 )
41217 ,p_token_4 => 'PRODUCT_NAME'
41218 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41219 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41220 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41221 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41222 ,p_ae_header_id => NULL
41223 );
41224
41225 IF (C_LEVEL_ERROR>= g_log_level) THEN
41226 trace
41227 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41228 ,p_level => C_LEVEL_ERROR
41229 ,p_module => l_log_module);
41230 END IF;
41231 END IF;
41232 END IF;
41233 --
41234 --
41235 ------------------------------------------------------------------------------------------------
41236 -- 4219869 Business Flow
41237 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41238 -- Prior Entry. Currently, the following code is always generated.
41239 ------------------------------------------------------------------------------------------------
41240 XLA_AE_LINES_PKG.ValidateCurrentLine;
41241
41242 ------------------------------------------------------------------------------------
41243 -- 4219869 Business Flow
41244 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41245 ------------------------------------------------------------------------------------
41246 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41247
41248 ----------------------------------------------------------------------------------
41249 -- 4219869 Business Flow
41250 -- Update journal entry status -- Need to generate this within IF <condition>
41251 ----------------------------------------------------------------------------------
41252 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41253 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41254 ,p_balance_type_code => l_balance_type_code
41255 );
41256
41257 -------------------------------------------------------------------------------------------
41258 -- 4262811 - Generate the Accrual Reversal lines
41259 -------------------------------------------------------------------------------------------
41260 BEGIN
41261 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41262 (g_array_event(p_event_id).array_value_num('header_index'));
41263 IF l_acc_rev_flag IS NULL THEN
41264 l_acc_rev_flag := 'N';
41265 END IF;
41266 EXCEPTION
41267 WHEN OTHERS THEN
41268 l_acc_rev_flag := 'N';
41269 END;
41270 --
41271 IF (l_acc_rev_flag = 'Y') THEN
41272
41273 -- 4645092 ------------------------------------------------------------------------------
41274 -- To allow MPA report to determine if it should generate report process
41275 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41276 ------------------------------------------------------------------------------------------
41277
41278 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41279 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41280 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41281 -- call ADRs
41282 -- Bug 4922099
41283 --
41284 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41285 (NVL(l_actual_upg_option, 'N') = 'O') OR
41286 (NVL(l_enc_upg_option, 'N') = 'O')
41287 )
41288 THEN
41289 NULL;
41290 --
41291 --
41292
41293 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
41294 p_code_combination_id => TO_NUMBER(C_NUM)
41295 , p_value_type_code => NULL
41296 , p_transaction_coa_id => null
41297 , p_accounting_coa_id => null
41298 , p_adr_code => NULL
41299 , p_adr_type_code => NULL
41300 , p_component_type => l_component_type
41301 , p_component_code => l_component_code
41302 , p_component_type_code => l_component_type_code
41303 , p_component_appl_id => l_component_appl_id
41304 , p_amb_context_code => l_amb_context_code
41305 , p_side => NULL
41306 );
41310 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41307
41308
41309 -- initialise segments
41311 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41312 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41313 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41314 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41315 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41316 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41317 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41318 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41319 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41320 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41321 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41322 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41323 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41324 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41325 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41326 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41327 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41328 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41329 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41330 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41331 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41332 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41333 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41334 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41335 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41336 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41337 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41338 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41339 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41340 --
41341
41342 --
41343
41344
41345 l_segment := AcctDerRule_6(
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_flexfield_segment_code => l_adr_flexfield_segment_code
41352 , x_flex_value_set_id => l_adr_flex_value_set_id
41353 , x_value_type_code => l_adr_value_type_code
41354 , x_value_combination_id => l_adr_value_combination_id
41355 , x_value_segment_code => l_adr_value_segment_code
41356 , p_side => 'NA'
41357 , p_override_seg_flag => 'Y'
41358 );
41359
41360 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
41361
41362 xla_ae_lines_pkg.set_segment(
41363 p_to_segment_code => 'GL_ACCOUNT'
41364 , p_segment_value => l_segment
41365 , p_from_segment_code => l_adr_value_segment_code
41366 , p_from_combination_id => l_adr_value_combination_id
41367 , p_value_type_code => l_adr_value_type_code
41368 , p_transaction_coa_id => l_adr_transaction_coa_id
41369 , p_accounting_coa_id => l_adr_accounting_coa_id
41370 , p_flexfield_segment_code => l_adr_flexfield_segment_code
41371 , p_flex_value_set_id => l_adr_flex_value_set_id
41372 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
41373 , p_adr_type_code => 'S'
41374 , p_component_type => l_component_type
41375 , p_component_code => l_component_code
41376 , p_component_type_code => l_component_type_code
41377 , p_component_appl_id => l_component_appl_id
41378 , p_amb_context_code => l_amb_context_code
41379 , p_entity_code => 'AP_PAYMENTS'
41380 , p_event_class_code => 'REFUNDS'
41381 , p_side => 'NA'
41382 );
41383
41384 END IF;
41385
41386 --
41387 --
41388 END IF;
41389
41390 --
41391 -- Update the line information that should be overwritten
41392 --
41393 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41394 p_header_num => 1);
41395 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41396
41397 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41398
41399 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41403 --
41400 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41401 END IF;
41402
41404 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41405 --
41406 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41407 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41408 ELSE
41409 ---------------------------------------------------------------------------------------------------
41410 -- 4262811a Switch Sign
41411 ---------------------------------------------------------------------------------------------------
41412 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41413 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41414 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41415 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41416 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41417 -- 5132302
41418 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41419 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41420
41421 END IF;
41422
41423 -- 4955764
41424 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41425 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41426
41427
41428 XLA_AE_LINES_PKG.ValidateCurrentLine;
41429 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41430
41431 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41432 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41433 ,p_balance_type_code => l_balance_type_code);
41434
41435 END IF;
41436
41437 -----------------------------------------------------------------------------------------
41438 -- 4262811 Multiperiod Accounting
41439 -----------------------------------------------------------------------------------------
41440 -- No MPA option is assigned.
41441
41442
41443 END IF;
41444 END IF;
41445 --
41446
41447 --
41448 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41449 trace
41450 (p_msg => 'END of AcctLineType_91'
41451 ,p_level => C_LEVEL_PROCEDURE
41452 ,p_module => l_log_module);
41453 END IF;
41454 --
41455 EXCEPTION
41456 WHEN xla_exceptions_pkg.application_exception THEN
41457 RAISE;
41458 WHEN OTHERS THEN
41459 xla_exceptions_pkg.raise_message
41460 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_91');
41461 END AcctLineType_91;
41462 --
41463
41464 ---------------------------------------
41465 --
41466 -- PRIVATE FUNCTION
41467 -- AcctLineType_92
41468 --
41469 ---------------------------------------
41470 PROCEDURE AcctLineType_92 (
41471 p_application_id IN NUMBER
41472 ,p_event_id IN NUMBER
41473 ,p_calculate_acctd_flag IN VARCHAR2
41474 ,p_calculate_g_l_flag IN VARCHAR2
41475 ,p_actual_flag IN OUT VARCHAR2
41476 ,p_balance_type_code OUT VARCHAR2
41477 ,p_gain_or_loss_ref OUT VARCHAR2
41478
41479 --Payment Currency Code
41480 , p_source_13 IN VARCHAR2
41481 --Automatic Offsets Value
41482 , p_source_15 IN VARCHAR2
41483 , p_source_15_meaning IN VARCHAR2
41484 --Bank Cash Account
41485 , p_source_17 IN NUMBER
41486 --Accounting Reversal Indicator
41487 , p_source_52 IN VARCHAR2
41488 --Distribution Link Type
41489 , p_source_54 IN VARCHAR2
41490 --Override Accounted Amount Indicator
41491 , p_source_79 IN VARCHAR2
41492 , p_source_79_meaning IN VARCHAR2
41493 --Third Party Type
41494 , p_source_82 IN VARCHAR2
41495 --Invoice Distribution Tax Line Identifier
41496 , p_source_85 IN NUMBER
41497 --Invoice Distribution Tax Distribution Identifier from Tax
41498 , p_source_86 IN NUMBER
41499 --Invoice Distribution Summary Tax Line Identifier
41500 , p_source_87 IN NUMBER
41501 --Business Flow Accounts Payable Application Identifier
41502 , p_source_90 IN NUMBER
41503 --Business Flow Invoice Distribution Type
41504 , p_source_91 IN VARCHAR2
41505 --Business Flow Invoice Entity Code
41506 , p_source_92 IN VARCHAR2
41507 --Business Flow Invoice Distribution Identifier
41508 , p_source_93 IN NUMBER
41509 --Business Flow Invoice Identifier
41510 , p_source_94 IN NUMBER
41511 --When to Account for Payment Option
41512 , p_source_96 IN VARCHAR2
41513 --Payment Distribution Type
41514 , p_source_97 IN VARCHAR2
41515 , p_source_97_meaning IN VARCHAR2
41516 --Payment Distribution Amount
41517 , p_source_98 IN NUMBER
41518 --Payment Distribution Identifier
41519 , p_source_103 IN NUMBER
41520 --Payment Supplier Identifier
41521 , p_source_109 IN NUMBER
41525 , p_source_111 IN NUMBER
41522 --Payment Supplier Site Identifier
41523 , p_source_110 IN NUMBER
41524 --Payment Distribution Reversed Identifier
41526 --Payment Identifier
41527 , p_source_112 IN NUMBER
41528 --Pooled Bank Account Option
41529 , p_source_113 IN VARCHAR2
41530 , p_source_113_meaning IN VARCHAR2
41531 --Payment Maturity Date
41532 , p_source_114 IN DATE
41533 --Payment Distribution (Payment Rate) Ledger Amount
41534 , p_source_115 IN NUMBER
41535 --Payment Exchange Date
41536 , p_source_117 IN DATE
41537 --Payment Exchange Rate
41538 , p_source_118 IN NUMBER
41539 --Payment Exchange Rate Type
41540 , p_source_119 IN VARCHAR2
41541 --Payment Type
41542 , p_source_122 IN VARCHAR2
41543 , p_source_122_meaning IN VARCHAR2
41544 )
41545 IS
41546
41547 l_component_type VARCHAR2(80);
41548 l_component_code VARCHAR2(30);
41549 l_component_type_code VARCHAR2(1);
41550 l_component_appl_id INTEGER;
41551 l_amb_context_code VARCHAR2(30);
41552 l_entity_code VARCHAR2(30);
41553 l_event_class_code VARCHAR2(30);
41554 l_ae_header_id NUMBER;
41555 l_event_type_code VARCHAR2(30);
41556 l_line_definition_code VARCHAR2(30);
41557 l_line_definition_owner_code VARCHAR2(1);
41558 --
41559 -- adr variables
41560 l_segment VARCHAR2(30);
41561 l_ccid NUMBER;
41562 l_adr_transaction_coa_id NUMBER;
41563 l_adr_accounting_coa_id NUMBER;
41564 l_adr_flexfield_segment_code VARCHAR2(30);
41565 l_adr_flex_value_set_id NUMBER;
41566 l_adr_value_type_code VARCHAR2(30);
41567 l_adr_value_combination_id NUMBER;
41568 l_adr_value_segment_code VARCHAR2(30);
41569
41570 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41571 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41572 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41573 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41574
41575 -- 4262811 Variables ------------------------------------------------------------------------------------------
41576 l_entered_amt_idx NUMBER;
41577 l_accted_amt_idx NUMBER;
41578 l_acc_rev_flag VARCHAR2(1);
41579 l_accrual_line_num NUMBER;
41580 l_tmp_amt NUMBER;
41581 l_acc_rev_natural_side_code VARCHAR2(1);
41582
41583 l_num_entries NUMBER;
41584 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41585 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41586 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41587 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41588 l_recog_line_1 NUMBER;
41589 l_recog_line_2 NUMBER;
41590
41591 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41592 l_bflow_applied_to_amt NUMBER; -- 5132302
41593 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41594
41595 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41596
41597 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41598 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41599
41600 ---------------------------------------------------------------------------------------------------------------
41601
41602
41603 --
41604 -- bulk performance
41605 --
41606 l_balance_type_code VARCHAR2(1);
41607 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41608 l_log_module VARCHAR2(240);
41609
41610 --
41611 -- Upgrade strategy
41612 --
41613 l_actual_upg_option VARCHAR2(1);
41614 l_enc_upg_option VARCHAR2(1);
41615
41616 --
41617 BEGIN
41618 --
41619 IF g_log_enabled THEN
41620 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_92';
41621 END IF;
41622 --
41623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41624
41625 trace
41626 (p_msg => 'BEGIN of AcctLineType_92'
41627 ,p_level => C_LEVEL_PROCEDURE
41628 ,p_module => l_log_module);
41629
41630 END IF;
41631 --
41632 l_component_type := 'AMB_JLT';
41633 l_component_code := 'AP_CASH_REF_AOS_BS';
41634 l_component_type_code := 'S';
41635 l_component_appl_id := 200;
41636 l_amb_context_code := 'DEFAULT';
41637 l_entity_code := 'AP_PAYMENTS';
41638 l_event_class_code := 'REFUNDS';
41639 l_event_type_code := 'REFUNDS_ALL';
41640 l_line_definition_owner_code := 'S';
41641 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
41642 --
41643 l_balance_type_code := 'A';
41644 l_segment := NULL;
41645 l_ccid := NULL;
41646 l_adr_transaction_coa_id := NULL;
41647 l_adr_accounting_coa_id := NULL;
41648 l_adr_flexfield_segment_code := NULL;
41649 l_adr_flex_value_set_id := NULL;
41650 l_adr_value_type_code := NULL;
41651 l_adr_value_combination_id := NULL;
41652 l_adr_value_segment_code := NULL;
41653
41657 l_budgetary_control_flag := 'N';
41654 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
41655 l_bflow_class_code := ''; -- 4219869 Business Flow
41656 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41658
41659 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41660 l_bflow_applied_to_amt := NULL; -- 5132302
41661 l_entered_amt_idx := NULL; -- 4262811
41662 l_accted_amt_idx := NULL; -- 4262811
41663 l_acc_rev_flag := NULL; -- 4262811
41664 l_accrual_line_num := NULL; -- 4262811
41665 l_tmp_amt := NULL; -- 4262811
41666 --
41667
41668 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41669 l_balance_type_code <> 'B' THEN
41670 IF NVL(p_source_96,'
41671 ') = 'ISSUE_ISSUE' AND
41672 (NVL(p_source_113,'
41673 ') = 'Y' AND
41674 NVL(p_source_15,'
41675 ') = 'BALANCING_SEGMENT') AND
41676 p_source_114 IS NULL AND
41677 NVL(p_source_97,'
41678 ') = 'CASH' AND
41679 NVL(p_source_122,'
41680 ') = 'R'
41681 THEN
41682
41683 --
41684 XLA_AE_LINES_PKG.SetNewLine;
41685
41686 p_balance_type_code := l_balance_type_code;
41687 -- set the flag so later we will know whether the gain loss line needs to be created
41688
41689 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41690 p_actual_flag :='A';
41691 END IF;
41692
41693 --
41694 -- bulk performance
41695 --
41696 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41697 p_header_num => 0); -- 4262811
41698 --
41699 -- set accounting line options
41700 --
41701 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41702 p_natural_side_code => 'C'
41703 , p_gain_or_loss_flag => 'N'
41704 , p_gl_transfer_mode_code => 'S'
41705 , p_acct_entry_type_code => 'A'
41706 , p_switch_side_flag => 'Y'
41707 , p_merge_duplicate_code => 'A'
41708 );
41709 --
41710 l_acc_rev_natural_side_code := 'D'; -- 4262811
41711 --
41712 --
41713 -- set accounting line type info
41714 --
41715 xla_ae_lines_pkg.SetAcctLineType
41716 (p_component_type => l_component_type
41717 ,p_event_type_code => l_event_type_code
41718 ,p_line_definition_owner_code => l_line_definition_owner_code
41719 ,p_line_definition_code => l_line_definition_code
41720 ,p_accounting_line_code => l_component_code
41721 ,p_accounting_line_type_code => l_component_type_code
41722 ,p_accounting_line_appl_id => l_component_appl_id
41723 ,p_amb_context_code => l_amb_context_code
41724 ,p_entity_code => l_entity_code
41725 ,p_event_class_code => l_event_class_code);
41726 --
41727 -- set accounting class
41728 --
41729 xla_ae_lines_pkg.SetAcctClass(
41730 p_accounting_class_code => 'CASH'
41731 , p_ae_header_id => l_ae_header_id
41732 );
41733
41734 --
41735 -- set rounding class
41736 --
41737 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41738 'CASH';
41739
41740 --
41741 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41742 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41743 --
41744 -- bulk performance
41745 --
41746 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41747
41748 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41749 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41750
41751 -- 4955764
41752 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41753 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41754
41755 -- 4458381 Public Sector Enh
41756
41757 --
41758 -- set accounting attributes for the line type
41759 --
41760 l_entered_amt_idx := 9;
41761 l_accted_amt_idx := 14;
41762 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41763 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41764 l_rec_acct_attrs.array_char_value(1) := p_source_52;
41765 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
41766 l_rec_acct_attrs.array_num_value(2) := p_source_90;
41767 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41768 l_rec_acct_attrs.array_char_value(3) := p_source_91;
41769 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
41770 l_rec_acct_attrs.array_char_value(4) := p_source_92;
41771 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
41772 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
41773 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41774 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
41775 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
41779 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
41776 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
41777 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
41778 l_rec_acct_attrs.array_char_value(8) := p_source_54;
41780 l_rec_acct_attrs.array_num_value(9) := p_source_98;
41781 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
41782 l_rec_acct_attrs.array_char_value(10) := p_source_13;
41783 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
41784 l_rec_acct_attrs.array_date_value(11) := p_source_117;
41785 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
41786 l_rec_acct_attrs.array_num_value(12) := p_source_118;
41787 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
41788 l_rec_acct_attrs.array_char_value(13) := p_source_119;
41789 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
41790 l_rec_acct_attrs.array_num_value(14) := p_source_115;
41791 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
41792 l_rec_acct_attrs.array_char_value(15) := p_source_79;
41793 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
41794 l_rec_acct_attrs.array_num_value(16) := p_source_109;
41795 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
41796 l_rec_acct_attrs.array_num_value(17) := p_source_110;
41797 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
41798 l_rec_acct_attrs.array_char_value(18) := p_source_82;
41799 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
41800 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
41801 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
41802 l_rec_acct_attrs.array_char_value(20) := p_source_54;
41803 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
41804 l_rec_acct_attrs.array_num_value(21) := p_source_85;
41805 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
41806 l_rec_acct_attrs.array_num_value(22) := p_source_86;
41807 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
41808 l_rec_acct_attrs.array_num_value(23) := p_source_87;
41809
41810 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41811 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41812
41813 ---------------------------------------------------------------------------------------------------------------
41814 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41815 ---------------------------------------------------------------------------------------------------------------
41816 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41817
41818 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41819 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41820
41821 IF xla_accounting_cache_pkg.GetValueChar
41822 (p_source_code => 'LEDGER_CATEGORY_CODE'
41823 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41824 AND l_bflow_method_code = 'PRIOR_ENTRY'
41825 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41826 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41827 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41828 )
41829 THEN
41830 xla_ae_lines_pkg.BflowUpgEntry
41831 (p_business_method_code => l_bflow_method_code
41832 ,p_business_class_code => l_bflow_class_code
41833 ,p_balance_type => l_balance_type_code);
41834 ELSE
41835 NULL;
41836 XLA_AE_LINES_PKG.business_flow_validation(
41837 p_business_method_code => l_bflow_method_code
41838 ,p_business_class_code => l_bflow_class_code
41839 ,p_inherit_description_flag => l_inherit_desc_flag);
41840 END IF;
41841
41842 --
41843 -- call analytical criteria
41844 --
41845
41846
41847 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
41848 xla_ae_lines_pkg.SetAnalyticalCriteria(
41849 p_analytical_criterion_name => 'Check Id'
41850 , p_analytical_criterion_owner => 'S'
41851 , p_analytical_criterion_code => 'CHECK_ID'
41852 , p_amb_context_code => 'DEFAULT'
41853 , p_balancing_flag => 'N'
41854
41855 , p_analytical_detail_char_1 => NULL
41856 , p_analytical_detail_num_1 => p_source_112
41857 , p_analytical_detail_date_1 => NULL
41858
41859 , p_ae_header_id => l_ae_header_id
41860 )
41861 ;
41862 --
41863
41864 --
41865 -- call description
41866 --
41867 -- No description or it is inherited.
41868 --
41869 -- call ADRs
41870 -- Bug 4922099
41871 --
41872 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41873 (NVL(l_actual_upg_option, 'N') = 'O') OR
41874 (NVL(l_enc_upg_option, 'N') = 'O')
41875 )
41876 THEN
41877 NULL;
41878 --
41879 --
41880
41881 l_ccid := AcctDerRule_28(
41882 p_application_id => p_application_id
41883 , p_ae_header_id => l_ae_header_id
41884 , p_source_17 => p_source_17
41885 , x_transaction_coa_id => l_adr_transaction_coa_id
41889 );
41886 , x_accounting_coa_id => l_adr_accounting_coa_id
41887 , x_value_type_code => l_adr_value_type_code
41888 , p_side => 'NA'
41890
41891 xla_ae_lines_pkg.set_ccid(
41892 p_code_combination_id => l_ccid
41893 , p_value_type_code => l_adr_value_type_code
41894 , p_transaction_coa_id => l_adr_transaction_coa_id
41895 , p_accounting_coa_id => l_adr_accounting_coa_id
41896 , p_adr_code => 'AP_CASH'
41897 , p_adr_type_code => 'S'
41898 , p_component_type => l_component_type
41899 , p_component_code => l_component_code
41900 , p_component_type_code => l_component_type_code
41901 , p_component_appl_id => l_component_appl_id
41902 , p_amb_context_code => l_amb_context_code
41903 , p_side => 'NA'
41904 );
41905
41906
41907 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
41908 p_to_segment_code => 'GL_BALANCING'
41909 , p_segment_value => C_CHAR
41910 , p_from_segment_code => NULL
41911 , p_from_combination_id => NULL
41912 , p_value_type_code => NULL
41913 , p_transaction_coa_id => null
41914 , p_accounting_coa_id => null
41915 , p_flexfield_segment_code => NULL
41916 , p_flex_value_set_id => NULL
41917 , p_adr_code => NULL
41918 , p_adr_type_code => NULL
41919 , p_component_type => l_component_type
41920 , p_component_code => l_component_code
41921 , p_component_type_code => l_component_type_code
41922 , p_component_appl_id => l_component_appl_id
41923 , p_amb_context_code => l_amb_context_code
41924 , p_entity_code => 'AP_PAYMENTS'
41925 , p_event_class_code => 'REFUNDS'
41926 , p_side => 'NA'
41927 );
41928 --
41929
41930
41931 --
41932 --
41933 END IF;
41934 --
41935 -- Bug 4922099
41936 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41937 (NVL(l_enc_upg_option, 'N') = 'O')
41938 ) AND
41939 (l_bflow_method_code = 'PRIOR_ENTRY')
41940 )
41941 THEN
41942 IF
41943 --
41944 1 = 2
41945 --
41946 THEN
41947 xla_accounting_err_pkg.build_message
41948 (p_appli_s_name => 'XLA'
41949 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41950 ,p_token_1 => 'LINE_NUMBER'
41951 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41952 ,p_token_2 => 'LINE_TYPE_NAME'
41953 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41954 l_component_type
41955 ,l_component_code
41956 ,l_component_type_code
41957 ,l_component_appl_id
41958 ,l_amb_context_code
41959 ,l_entity_code
41960 ,l_event_class_code
41961 )
41962 ,p_token_3 => 'OWNER'
41963 ,p_value_3 => xla_lookups_pkg.get_meaning(
41964 p_lookup_type => 'XLA_OWNER_TYPE'
41965 ,p_lookup_code => l_component_type_code
41966 )
41967 ,p_token_4 => 'PRODUCT_NAME'
41968 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41969 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41970 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41971 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41972 ,p_ae_header_id => NULL
41973 );
41974
41975 IF (C_LEVEL_ERROR>= g_log_level) THEN
41976 trace
41977 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41978 ,p_level => C_LEVEL_ERROR
41979 ,p_module => l_log_module);
41980 END IF;
41981 END IF;
41982 END IF;
41983 --
41984 --
41985 ------------------------------------------------------------------------------------------------
41986 -- 4219869 Business Flow
41987 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41991
41988 -- Prior Entry. Currently, the following code is always generated.
41989 ------------------------------------------------------------------------------------------------
41990 XLA_AE_LINES_PKG.ValidateCurrentLine;
41992 ------------------------------------------------------------------------------------
41993 -- 4219869 Business Flow
41994 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41995 ------------------------------------------------------------------------------------
41996 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41997
41998 ----------------------------------------------------------------------------------
41999 -- 4219869 Business Flow
42000 -- Update journal entry status -- Need to generate this within IF <condition>
42001 ----------------------------------------------------------------------------------
42002 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42003 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42004 ,p_balance_type_code => l_balance_type_code
42005 );
42006
42007 -------------------------------------------------------------------------------------------
42008 -- 4262811 - Generate the Accrual Reversal lines
42009 -------------------------------------------------------------------------------------------
42010 BEGIN
42011 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42012 (g_array_event(p_event_id).array_value_num('header_index'));
42013 IF l_acc_rev_flag IS NULL THEN
42014 l_acc_rev_flag := 'N';
42015 END IF;
42016 EXCEPTION
42017 WHEN OTHERS THEN
42018 l_acc_rev_flag := 'N';
42019 END;
42020 --
42021 IF (l_acc_rev_flag = 'Y') THEN
42022
42023 -- 4645092 ------------------------------------------------------------------------------
42024 -- To allow MPA report to determine if it should generate report process
42025 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42026 ------------------------------------------------------------------------------------------
42027
42028 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42029 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42030 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42031 -- call ADRs
42032 -- Bug 4922099
42033 --
42034 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42035 (NVL(l_actual_upg_option, 'N') = 'O') OR
42036 (NVL(l_enc_upg_option, 'N') = 'O')
42037 )
42038 THEN
42039 NULL;
42040 --
42041 --
42042
42043 l_ccid := AcctDerRule_28(
42044 p_application_id => p_application_id
42045 , p_ae_header_id => l_ae_header_id
42046 , p_source_17 => p_source_17
42047 , x_transaction_coa_id => l_adr_transaction_coa_id
42048 , x_accounting_coa_id => l_adr_accounting_coa_id
42049 , x_value_type_code => l_adr_value_type_code
42050 , p_side => 'NA'
42051 );
42052
42053 xla_ae_lines_pkg.set_ccid(
42054 p_code_combination_id => l_ccid
42055 , p_value_type_code => l_adr_value_type_code
42056 , p_transaction_coa_id => l_adr_transaction_coa_id
42057 , p_accounting_coa_id => l_adr_accounting_coa_id
42058 , p_adr_code => 'AP_CASH'
42059 , p_adr_type_code => 'S'
42060 , p_component_type => l_component_type
42061 , p_component_code => l_component_code
42062 , p_component_type_code => l_component_type_code
42063 , p_component_appl_id => l_component_appl_id
42064 , p_amb_context_code => l_amb_context_code
42065 , p_side => 'NA'
42066 );
42067
42068
42069 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
42070 p_to_segment_code => 'GL_BALANCING'
42071 , p_segment_value => C_CHAR
42072 , p_from_segment_code => NULL
42073 , p_from_combination_id => NULL
42074 , p_value_type_code => NULL
42075 , p_transaction_coa_id => null
42076 , p_accounting_coa_id => null
42077 , p_flexfield_segment_code => NULL
42078 , p_flex_value_set_id => NULL
42079 , p_adr_code => NULL
42080 , p_adr_type_code => NULL
42081 , p_component_type => l_component_type
42082 , p_component_code => l_component_code
42083 , p_component_type_code => l_component_type_code
42084 , p_component_appl_id => l_component_appl_id
42085 , p_amb_context_code => l_amb_context_code
42086 , p_entity_code => 'AP_PAYMENTS'
42087 , p_event_class_code => 'REFUNDS'
42088 , p_side => 'NA'
42089 );
42090 --
42091
42092
42093 --
42094 --
42095 END IF;
42096
42097 --
42098 -- Update the line information that should be overwritten
42099 --
42100 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42101 p_header_num => 1);
42102 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42103
42107 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42104 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42105
42106 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42108 END IF;
42109
42110 --
42111 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42112 --
42113 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42114 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42115 ELSE
42116 ---------------------------------------------------------------------------------------------------
42117 -- 4262811a Switch Sign
42118 ---------------------------------------------------------------------------------------------------
42119 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42120 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42121 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42122 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42123 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42124 -- 5132302
42125 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42126 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42127
42128 END IF;
42129
42130 -- 4955764
42131 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42132 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42133
42134
42135 XLA_AE_LINES_PKG.ValidateCurrentLine;
42136 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42137
42138 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42139 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42140 ,p_balance_type_code => l_balance_type_code);
42141
42142 END IF;
42143
42144 -----------------------------------------------------------------------------------------
42145 -- 4262811 Multiperiod Accounting
42146 -----------------------------------------------------------------------------------------
42147 -- No MPA option is assigned.
42148
42149
42150 END IF;
42151 END IF;
42152 --
42153
42154 --
42155 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42156 trace
42157 (p_msg => 'END of AcctLineType_92'
42158 ,p_level => C_LEVEL_PROCEDURE
42159 ,p_module => l_log_module);
42160 END IF;
42161 --
42162 EXCEPTION
42163 WHEN xla_exceptions_pkg.application_exception THEN
42164 RAISE;
42165 WHEN OTHERS THEN
42166 xla_exceptions_pkg.raise_message
42167 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_92');
42168 END AcctLineType_92;
42169 --
42170
42171 ---------------------------------------
42172 --
42173 -- PRIVATE FUNCTION
42174 -- AcctLineType_93
42175 --
42176 ---------------------------------------
42177 PROCEDURE AcctLineType_93 (
42178 p_application_id IN NUMBER
42179 ,p_event_id IN NUMBER
42180 ,p_calculate_acctd_flag IN VARCHAR2
42181 ,p_calculate_g_l_flag IN VARCHAR2
42182 ,p_actual_flag IN OUT VARCHAR2
42183 ,p_balance_type_code OUT VARCHAR2
42184 ,p_gain_or_loss_ref OUT VARCHAR2
42185
42186 --Payment Currency Code
42187 , p_source_13 IN VARCHAR2
42188 --Invoice Distribution Type
42189 , p_source_33 IN VARCHAR2
42190 , p_source_33_meaning IN VARCHAR2
42191 --Recoverable Tax Account
42192 , p_source_51 IN NUMBER
42193 --Accounting Reversal Indicator
42194 , p_source_52 IN VARCHAR2
42195 --Distribution Link Type
42196 , p_source_54 IN VARCHAR2
42197 --Override Accounted Amount Indicator
42198 , p_source_79 IN VARCHAR2
42199 , p_source_79_meaning IN VARCHAR2
42200 --Third Party Type
42201 , p_source_82 IN VARCHAR2
42202 --Invoice Distribution Tax Line Identifier
42203 , p_source_85 IN NUMBER
42204 --Invoice Distribution Summary Tax Line Identifier
42205 , p_source_87 IN NUMBER
42206 --Business Flow Accounts Payable Application Identifier
42207 , p_source_90 IN NUMBER
42208 --When to Account for Payment Option
42209 , p_source_96 IN VARCHAR2
42210 --Payment Distribution Type
42211 , p_source_97 IN VARCHAR2
42212 , p_source_97_meaning IN VARCHAR2
42213 --Payment Distribution Amount
42214 , p_source_98 IN NUMBER
42215 --Business Flow Payment Distribution Type
42216 , p_source_99 IN VARCHAR2
42217 --Business Flow Payment Entity Code
42218 , p_source_100 IN VARCHAR2
42219 --Business Flow Payment Distribution Identifier
42220 , p_source_101 IN NUMBER
42221 --Business Flow Payment Identifier
42222 , p_source_102 IN NUMBER
42223 --Payment Distribution Identifier
42224 , p_source_103 IN NUMBER
42225 --Cleared Exchange Date
42229 --Cleared Exchange Rate Type
42226 , p_source_105 IN DATE
42227 --Cleared Exchange Rate
42228 , p_source_106 IN NUMBER
42230 , p_source_107 IN VARCHAR2
42231 --Payment Distribution (Cleared Rate) Ledger Amount
42232 , p_source_108 IN NUMBER
42233 --Payment Supplier Identifier
42234 , p_source_109 IN NUMBER
42235 --Payment Supplier Site Identifier
42236 , p_source_110 IN NUMBER
42237 --Payment Distribution Reversed Identifier
42238 , p_source_111 IN NUMBER
42239 --Payment Identifier
42240 , p_source_112 IN NUMBER
42241 --Payment Type
42242 , p_source_122 IN VARCHAR2
42243 , p_source_122_meaning IN VARCHAR2
42244 --Deferred Recoverable Tax Option
42245 , p_source_125 IN VARCHAR2
42246 , p_source_125_meaning IN VARCHAR2
42247 )
42248 IS
42249
42250 l_component_type VARCHAR2(80);
42251 l_component_code VARCHAR2(30);
42252 l_component_type_code VARCHAR2(1);
42253 l_component_appl_id INTEGER;
42254 l_amb_context_code VARCHAR2(30);
42255 l_entity_code VARCHAR2(30);
42256 l_event_class_code VARCHAR2(30);
42257 l_ae_header_id NUMBER;
42258 l_event_type_code VARCHAR2(30);
42259 l_line_definition_code VARCHAR2(30);
42260 l_line_definition_owner_code VARCHAR2(1);
42261 --
42262 -- adr variables
42263 l_segment VARCHAR2(30);
42264 l_ccid NUMBER;
42265 l_adr_transaction_coa_id NUMBER;
42266 l_adr_accounting_coa_id NUMBER;
42267 l_adr_flexfield_segment_code VARCHAR2(30);
42268 l_adr_flex_value_set_id NUMBER;
42269 l_adr_value_type_code VARCHAR2(30);
42270 l_adr_value_combination_id NUMBER;
42271 l_adr_value_segment_code VARCHAR2(30);
42272
42273 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42274 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42275 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42276 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42277
42278 -- 4262811 Variables ------------------------------------------------------------------------------------------
42279 l_entered_amt_idx NUMBER;
42280 l_accted_amt_idx NUMBER;
42281 l_acc_rev_flag VARCHAR2(1);
42282 l_accrual_line_num NUMBER;
42283 l_tmp_amt NUMBER;
42284 l_acc_rev_natural_side_code VARCHAR2(1);
42285
42286 l_num_entries NUMBER;
42287 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42288 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42289 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42290 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42291 l_recog_line_1 NUMBER;
42292 l_recog_line_2 NUMBER;
42293
42294 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42295 l_bflow_applied_to_amt NUMBER; -- 5132302
42296 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42297
42298 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42299
42300 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42301 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42302
42303 ---------------------------------------------------------------------------------------------------------------
42304
42305
42306 --
42307 -- bulk performance
42308 --
42309 l_balance_type_code VARCHAR2(1);
42310 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42311 l_log_module VARCHAR2(240);
42312
42313 --
42314 -- Upgrade strategy
42315 --
42316 l_actual_upg_option VARCHAR2(1);
42317 l_enc_upg_option VARCHAR2(1);
42318
42319 --
42320 BEGIN
42321 --
42322 IF g_log_enabled THEN
42323 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_93';
42324 END IF;
42325 --
42326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42327
42328 trace
42329 (p_msg => 'BEGIN of AcctLineType_93'
42330 ,p_level => C_LEVEL_PROCEDURE
42331 ,p_module => l_log_module);
42332
42333 END IF;
42334 --
42335 l_component_type := 'AMB_JLT';
42336 l_component_code := 'AP_DEF_RTAX_CLR';
42337 l_component_type_code := 'S';
42338 l_component_appl_id := 200;
42339 l_amb_context_code := 'DEFAULT';
42340 l_entity_code := 'AP_PAYMENTS';
42341 l_event_class_code := 'RECONCILED PAYMENTS';
42342 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
42343 l_line_definition_owner_code := 'S';
42344 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
42345 --
42346 l_balance_type_code := 'A';
42347 l_segment := NULL;
42348 l_ccid := NULL;
42349 l_adr_transaction_coa_id := NULL;
42350 l_adr_accounting_coa_id := NULL;
42351 l_adr_flexfield_segment_code := NULL;
42352 l_adr_flex_value_set_id := NULL;
42353 l_adr_value_type_code := NULL;
42354 l_adr_value_combination_id := NULL;
42355 l_adr_value_segment_code := NULL;
42356
42360 l_budgetary_control_flag := 'N';
42357 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
42358 l_bflow_class_code := ''; -- 4219869 Business Flow
42359 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42361
42362 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42363 l_bflow_applied_to_amt := NULL; -- 5132302
42364 l_entered_amt_idx := NULL; -- 4262811
42365 l_accted_amt_idx := NULL; -- 4262811
42366 l_acc_rev_flag := NULL; -- 4262811
42367 l_accrual_line_num := NULL; -- 4262811
42368 l_tmp_amt := NULL; -- 4262811
42369 --
42370
42371 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42372 l_balance_type_code <> 'B' THEN
42373 IF NVL(p_source_96,'
42374 ') = 'CLEAR_CLEAR' AND
42375 NVL(p_source_33,'
42376 ') = 'REC_TAX' AND
42377 NVL(p_source_125,'
42378 ') = 'DEFERRED' AND
42379 (NVL(p_source_97,'
42380 ') = 'CASH' OR
42381 NVL(p_source_97,'
42382 ') = 'DISCOUNT') AND
42383 NVL(p_source_122,'
42384 ') <> 'R'
42385 THEN
42386
42387 --
42388 XLA_AE_LINES_PKG.SetNewLine;
42389
42390 p_balance_type_code := l_balance_type_code;
42391 -- set the flag so later we will know whether the gain loss line needs to be created
42392
42393 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
42394 p_actual_flag :='A';
42395 END IF;
42396
42397 --
42398 -- bulk performance
42399 --
42400 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42401 p_header_num => 0); -- 4262811
42402 --
42403 -- set accounting line options
42404 --
42405 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42406 p_natural_side_code => 'D'
42407 , p_gain_or_loss_flag => 'N'
42408 , p_gl_transfer_mode_code => 'S'
42409 , p_acct_entry_type_code => 'A'
42410 , p_switch_side_flag => 'Y'
42411 , p_merge_duplicate_code => 'A'
42412 );
42413 --
42414 l_acc_rev_natural_side_code := 'C'; -- 4262811
42415 --
42416 --
42417 -- set accounting line type info
42418 --
42419 xla_ae_lines_pkg.SetAcctLineType
42420 (p_component_type => l_component_type
42421 ,p_event_type_code => l_event_type_code
42422 ,p_line_definition_owner_code => l_line_definition_owner_code
42423 ,p_line_definition_code => l_line_definition_code
42424 ,p_accounting_line_code => l_component_code
42425 ,p_accounting_line_type_code => l_component_type_code
42426 ,p_accounting_line_appl_id => l_component_appl_id
42427 ,p_amb_context_code => l_amb_context_code
42428 ,p_entity_code => l_entity_code
42429 ,p_event_class_code => l_event_class_code);
42430 --
42431 -- set accounting class
42432 --
42433 xla_ae_lines_pkg.SetAcctClass(
42434 p_accounting_class_code => 'DEF_REC_TAX'
42435 , p_ae_header_id => l_ae_header_id
42436 );
42437
42438 --
42439 -- set rounding class
42440 --
42441 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42442 'DEF_REC_TAX';
42443
42444 --
42445 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42446 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42447 --
42448 -- bulk performance
42449 --
42450 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42451
42452 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42453 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42454
42455 -- 4955764
42456 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42457 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42458
42459 -- 4458381 Public Sector Enh
42460
42461 --
42462 -- set accounting attributes for the line type
42463 --
42464 l_entered_amt_idx := 10;
42465 l_accted_amt_idx := 15;
42466 l_bflow_applied_to_amt_idx := 2; -- 5132302
42467 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42468 l_rec_acct_attrs.array_char_value(1) := p_source_52;
42469 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
42470 l_rec_acct_attrs.array_num_value(2) := p_source_98;
42471 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
42472 l_rec_acct_attrs.array_num_value(3) := p_source_90;
42473 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42474 l_rec_acct_attrs.array_char_value(4) := p_source_99;
42475 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
42476 l_rec_acct_attrs.array_char_value(5) := p_source_100;
42477 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
42478 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
42479 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42480 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
42484 l_rec_acct_attrs.array_char_value(9) := p_source_54;
42481 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
42482 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
42483 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
42485 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
42486 l_rec_acct_attrs.array_num_value(10) := p_source_98;
42487 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
42488 l_rec_acct_attrs.array_char_value(11) := p_source_13;
42489 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
42490 l_rec_acct_attrs.array_date_value(12) := p_source_105;
42491 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
42492 l_rec_acct_attrs.array_num_value(13) := p_source_106;
42493 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
42494 l_rec_acct_attrs.array_char_value(14) := p_source_107;
42495 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
42496 l_rec_acct_attrs.array_num_value(15) := p_source_108;
42497 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
42498 l_rec_acct_attrs.array_char_value(16) := p_source_79;
42499 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
42500 l_rec_acct_attrs.array_num_value(17) := p_source_109;
42501 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
42502 l_rec_acct_attrs.array_num_value(18) := p_source_110;
42503 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
42504 l_rec_acct_attrs.array_char_value(19) := p_source_82;
42505 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
42506 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
42507 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
42508 l_rec_acct_attrs.array_char_value(21) := p_source_54;
42509 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
42510 l_rec_acct_attrs.array_num_value(22) := p_source_85;
42511 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
42512 l_rec_acct_attrs.array_num_value(23) := p_source_85;
42513 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
42514 l_rec_acct_attrs.array_num_value(24) := p_source_87;
42515
42516 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42517 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42518
42519 ---------------------------------------------------------------------------------------------------------------
42520 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42521 ---------------------------------------------------------------------------------------------------------------
42522 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42523
42524 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42525 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42526
42527 IF xla_accounting_cache_pkg.GetValueChar
42528 (p_source_code => 'LEDGER_CATEGORY_CODE'
42529 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42530 AND l_bflow_method_code = 'PRIOR_ENTRY'
42531 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42532 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42533 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42534 )
42535 THEN
42536 xla_ae_lines_pkg.BflowUpgEntry
42537 (p_business_method_code => l_bflow_method_code
42538 ,p_business_class_code => l_bflow_class_code
42539 ,p_balance_type => l_balance_type_code);
42540 ELSE
42541 NULL;
42542 -- No business flow processing for business flow method of NONE.
42543 END IF;
42544
42545 --
42546 -- call analytical criteria
42547 --
42548
42549
42550 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
42551 xla_ae_lines_pkg.SetAnalyticalCriteria(
42552 p_analytical_criterion_name => 'Check Id'
42553 , p_analytical_criterion_owner => 'S'
42554 , p_analytical_criterion_code => 'CHECK_ID'
42555 , p_amb_context_code => 'DEFAULT'
42556 , p_balancing_flag => 'N'
42557
42558 , p_analytical_detail_char_1 => NULL
42559 , p_analytical_detail_num_1 => p_source_112
42560 , p_analytical_detail_date_1 => NULL
42561
42562 , p_ae_header_id => l_ae_header_id
42563 )
42564 ;
42565 --
42566
42567 --
42568 -- call description
42569 --
42570 -- No description or it is inherited.
42571 --
42572 -- call ADRs
42573 -- Bug 4922099
42574 --
42575 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42576 (NVL(l_actual_upg_option, 'N') = 'O') OR
42577 (NVL(l_enc_upg_option, 'N') = 'O')
42578 )
42579 THEN
42580 NULL;
42581 --
42582 --
42583
42584 l_ccid := AcctDerRule_43(
42585 p_application_id => p_application_id
42586 , p_ae_header_id => l_ae_header_id
42587 , p_source_51 => p_source_51
42588 , x_transaction_coa_id => l_adr_transaction_coa_id
42589 , x_accounting_coa_id => l_adr_accounting_coa_id
42593
42590 , x_value_type_code => l_adr_value_type_code
42591 , p_side => 'NA'
42592 );
42594 xla_ae_lines_pkg.set_ccid(
42595 p_code_combination_id => l_ccid
42596 , p_value_type_code => l_adr_value_type_code
42597 , p_transaction_coa_id => l_adr_transaction_coa_id
42598 , p_accounting_coa_id => l_adr_accounting_coa_id
42599 , p_adr_code => 'AP_TAX_ACCOUNT'
42600 , p_adr_type_code => 'S'
42601 , p_component_type => l_component_type
42602 , p_component_code => l_component_code
42603 , p_component_type_code => l_component_type_code
42604 , p_component_appl_id => l_component_appl_id
42605 , p_amb_context_code => l_amb_context_code
42606 , p_side => 'NA'
42607 );
42608
42609
42610 --
42611 --
42612 END IF;
42613 --
42614 -- Bug 4922099
42615 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42616 (NVL(l_enc_upg_option, 'N') = 'O')
42617 ) AND
42618 (l_bflow_method_code = 'PRIOR_ENTRY')
42619 )
42620 THEN
42621 IF
42622 --
42623 1 = 2
42624 --
42625 THEN
42626 xla_accounting_err_pkg.build_message
42627 (p_appli_s_name => 'XLA'
42628 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42629 ,p_token_1 => 'LINE_NUMBER'
42630 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42631 ,p_token_2 => 'LINE_TYPE_NAME'
42632 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42633 l_component_type
42634 ,l_component_code
42635 ,l_component_type_code
42636 ,l_component_appl_id
42637 ,l_amb_context_code
42638 ,l_entity_code
42639 ,l_event_class_code
42640 )
42641 ,p_token_3 => 'OWNER'
42642 ,p_value_3 => xla_lookups_pkg.get_meaning(
42643 p_lookup_type => 'XLA_OWNER_TYPE'
42644 ,p_lookup_code => l_component_type_code
42645 )
42646 ,p_token_4 => 'PRODUCT_NAME'
42647 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42648 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42649 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42650 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42651 ,p_ae_header_id => NULL
42652 );
42653
42654 IF (C_LEVEL_ERROR>= g_log_level) THEN
42655 trace
42656 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42657 ,p_level => C_LEVEL_ERROR
42658 ,p_module => l_log_module);
42659 END IF;
42660 END IF;
42661 END IF;
42662 --
42663 --
42664 ------------------------------------------------------------------------------------------------
42665 -- 4219869 Business Flow
42666 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42667 -- Prior Entry. Currently, the following code is always generated.
42668 ------------------------------------------------------------------------------------------------
42669 XLA_AE_LINES_PKG.ValidateCurrentLine;
42670
42671 ------------------------------------------------------------------------------------
42672 -- 4219869 Business Flow
42673 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42674 ------------------------------------------------------------------------------------
42675 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42676
42677 ----------------------------------------------------------------------------------
42678 -- 4219869 Business Flow
42679 -- Update journal entry status -- Need to generate this within IF <condition>
42680 ----------------------------------------------------------------------------------
42681 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42682 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42683 ,p_balance_type_code => l_balance_type_code
42684 );
42685
42689 BEGIN
42686 -------------------------------------------------------------------------------------------
42687 -- 4262811 - Generate the Accrual Reversal lines
42688 -------------------------------------------------------------------------------------------
42690 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42691 (g_array_event(p_event_id).array_value_num('header_index'));
42692 IF l_acc_rev_flag IS NULL THEN
42693 l_acc_rev_flag := 'N';
42694 END IF;
42695 EXCEPTION
42696 WHEN OTHERS THEN
42697 l_acc_rev_flag := 'N';
42698 END;
42699 --
42700 IF (l_acc_rev_flag = 'Y') THEN
42701
42702 -- 4645092 ------------------------------------------------------------------------------
42703 -- To allow MPA report to determine if it should generate report process
42704 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42705 ------------------------------------------------------------------------------------------
42706
42707 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42708 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42709 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42710 -- call ADRs
42711 -- Bug 4922099
42712 --
42713 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42714 (NVL(l_actual_upg_option, 'N') = 'O') OR
42715 (NVL(l_enc_upg_option, 'N') = 'O')
42716 )
42717 THEN
42718 NULL;
42719 --
42720 --
42721
42722 l_ccid := AcctDerRule_43(
42723 p_application_id => p_application_id
42724 , p_ae_header_id => l_ae_header_id
42725 , p_source_51 => p_source_51
42726 , x_transaction_coa_id => l_adr_transaction_coa_id
42727 , x_accounting_coa_id => l_adr_accounting_coa_id
42728 , x_value_type_code => l_adr_value_type_code
42729 , p_side => 'NA'
42730 );
42731
42732 xla_ae_lines_pkg.set_ccid(
42733 p_code_combination_id => l_ccid
42734 , p_value_type_code => l_adr_value_type_code
42735 , p_transaction_coa_id => l_adr_transaction_coa_id
42736 , p_accounting_coa_id => l_adr_accounting_coa_id
42737 , p_adr_code => 'AP_TAX_ACCOUNT'
42738 , p_adr_type_code => 'S'
42739 , p_component_type => l_component_type
42740 , p_component_code => l_component_code
42741 , p_component_type_code => l_component_type_code
42742 , p_component_appl_id => l_component_appl_id
42743 , p_amb_context_code => l_amb_context_code
42744 , p_side => 'NA'
42745 );
42746
42747
42748 --
42749 --
42750 END IF;
42751
42752 --
42753 -- Update the line information that should be overwritten
42754 --
42755 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42756 p_header_num => 1);
42757 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42758
42759 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42760
42761 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42762 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42763 END IF;
42764
42765 --
42766 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42767 --
42768 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42769 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42770 ELSE
42771 ---------------------------------------------------------------------------------------------------
42772 -- 4262811a Switch Sign
42773 ---------------------------------------------------------------------------------------------------
42774 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42775 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42777 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42778 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42779 -- 5132302
42780 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42781 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42782
42783 END IF;
42784
42785 -- 4955764
42786 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42787 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42788
42789
42790 XLA_AE_LINES_PKG.ValidateCurrentLine;
42791 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42792
42793 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42794 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42798
42795 ,p_balance_type_code => l_balance_type_code);
42796
42797 END IF;
42799 -----------------------------------------------------------------------------------------
42800 -- 4262811 Multiperiod Accounting
42801 -----------------------------------------------------------------------------------------
42802 -- No MPA option is assigned.
42803
42804
42805 END IF;
42806 END IF;
42807 --
42808
42809 --
42810 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42811 trace
42812 (p_msg => 'END of AcctLineType_93'
42813 ,p_level => C_LEVEL_PROCEDURE
42814 ,p_module => l_log_module);
42815 END IF;
42816 --
42817 EXCEPTION
42818 WHEN xla_exceptions_pkg.application_exception THEN
42819 RAISE;
42820 WHEN OTHERS THEN
42821 xla_exceptions_pkg.raise_message
42822 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_93');
42823 END AcctLineType_93;
42824 --
42825
42826 ---------------------------------------
42827 --
42828 -- PRIVATE FUNCTION
42829 -- AcctLineType_94
42830 --
42831 ---------------------------------------
42832 PROCEDURE AcctLineType_94 (
42833 p_application_id IN NUMBER
42834 ,p_event_id IN NUMBER
42835 ,p_calculate_acctd_flag IN VARCHAR2
42836 ,p_calculate_g_l_flag IN VARCHAR2
42837 ,p_actual_flag IN OUT VARCHAR2
42838 ,p_balance_type_code OUT VARCHAR2
42839 ,p_gain_or_loss_ref OUT VARCHAR2
42840
42841 --Payment Currency Code
42842 , p_source_13 IN VARCHAR2
42843 --Invoice Distribution Type
42844 , p_source_33 IN VARCHAR2
42845 , p_source_33_meaning IN VARCHAR2
42846 --Accounting Reversal Indicator
42847 , p_source_52 IN VARCHAR2
42848 --Distribution Link Type
42849 , p_source_54 IN VARCHAR2
42850 --Override Accounted Amount Indicator
42851 , p_source_79 IN VARCHAR2
42852 , p_source_79_meaning IN VARCHAR2
42853 --Third Party Type
42854 , p_source_82 IN VARCHAR2
42855 --Invoice Distribution Tax Line Identifier
42856 , p_source_85 IN NUMBER
42857 --Invoice Distribution Summary Tax Line Identifier
42858 , p_source_87 IN NUMBER
42859 --Business Flow Accounts Payable Application Identifier
42860 , p_source_90 IN NUMBER
42861 --Business Flow Invoice Distribution Identifier
42862 , p_source_93 IN NUMBER
42863 --Business Flow Invoice Identifier
42864 , p_source_94 IN NUMBER
42865 --When to Account for Payment Option
42866 , p_source_96 IN VARCHAR2
42867 --Payment Distribution Type
42868 , p_source_97 IN VARCHAR2
42869 , p_source_97_meaning IN VARCHAR2
42870 --Payment Distribution Amount
42871 , p_source_98 IN NUMBER
42872 --Business Flow Payment Distribution Type
42873 , p_source_99 IN VARCHAR2
42874 --Business Flow Payment Entity Code
42875 , p_source_100 IN VARCHAR2
42876 --Payment Distribution Identifier
42877 , p_source_103 IN NUMBER
42878 --Payment Distribution Reversed Identifier
42879 , p_source_111 IN NUMBER
42880 --Payment Distribution (Invoice Rate) Ledger Amount
42881 , p_source_116 IN NUMBER
42882 --Payment Type
42883 , p_source_122 IN VARCHAR2
42884 , p_source_122_meaning IN VARCHAR2
42885 --Deferred Recoverable Tax Option
42886 , p_source_125 IN VARCHAR2
42887 , p_source_125_meaning IN VARCHAR2
42888 )
42889 IS
42890
42891 l_component_type VARCHAR2(80);
42892 l_component_code VARCHAR2(30);
42893 l_component_type_code VARCHAR2(1);
42894 l_component_appl_id INTEGER;
42895 l_amb_context_code VARCHAR2(30);
42896 l_entity_code VARCHAR2(30);
42897 l_event_class_code VARCHAR2(30);
42898 l_ae_header_id NUMBER;
42899 l_event_type_code VARCHAR2(30);
42900 l_line_definition_code VARCHAR2(30);
42901 l_line_definition_owner_code VARCHAR2(1);
42902 --
42903 -- adr variables
42904 l_segment VARCHAR2(30);
42905 l_ccid NUMBER;
42906 l_adr_transaction_coa_id NUMBER;
42907 l_adr_accounting_coa_id NUMBER;
42908 l_adr_flexfield_segment_code VARCHAR2(30);
42909 l_adr_flex_value_set_id NUMBER;
42910 l_adr_value_type_code VARCHAR2(30);
42911 l_adr_value_combination_id NUMBER;
42912 l_adr_value_segment_code VARCHAR2(30);
42913
42914 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42915 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42916 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42917 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42918
42919 -- 4262811 Variables ------------------------------------------------------------------------------------------
42920 l_entered_amt_idx NUMBER;
42921 l_accted_amt_idx NUMBER;
42922 l_acc_rev_flag VARCHAR2(1);
42923 l_accrual_line_num NUMBER;
42924 l_tmp_amt NUMBER;
42925 l_acc_rev_natural_side_code VARCHAR2(1);
42926
42927 l_num_entries NUMBER;
42928 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42929 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42930 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42934
42931 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42932 l_recog_line_1 NUMBER;
42933 l_recog_line_2 NUMBER;
42935 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42936 l_bflow_applied_to_amt NUMBER; -- 5132302
42937 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42938
42939 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42940
42941 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42942 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42943
42944 ---------------------------------------------------------------------------------------------------------------
42945
42946
42947 --
42948 -- bulk performance
42949 --
42950 l_balance_type_code VARCHAR2(1);
42951 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42952 l_log_module VARCHAR2(240);
42953
42954 --
42955 -- Upgrade strategy
42956 --
42957 l_actual_upg_option VARCHAR2(1);
42958 l_enc_upg_option VARCHAR2(1);
42959
42960 --
42961 BEGIN
42962 --
42963 IF g_log_enabled THEN
42964 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_94';
42965 END IF;
42966 --
42967 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42968
42969 trace
42970 (p_msg => 'BEGIN of AcctLineType_94'
42971 ,p_level => C_LEVEL_PROCEDURE
42972 ,p_module => l_log_module);
42973
42974 END IF;
42975 --
42976 l_component_type := 'AMB_JLT';
42977 l_component_code := 'AP_DEF_RTAX_INTERIM_CLR';
42978 l_component_type_code := 'S';
42979 l_component_appl_id := 200;
42980 l_amb_context_code := 'DEFAULT';
42981 l_entity_code := 'AP_PAYMENTS';
42982 l_event_class_code := 'RECONCILED PAYMENTS';
42983 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
42984 l_line_definition_owner_code := 'S';
42985 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
42986 --
42987 l_balance_type_code := 'A';
42988 l_segment := NULL;
42989 l_ccid := NULL;
42990 l_adr_transaction_coa_id := NULL;
42991 l_adr_accounting_coa_id := NULL;
42992 l_adr_flexfield_segment_code := NULL;
42993 l_adr_flex_value_set_id := NULL;
42994 l_adr_value_type_code := NULL;
42995 l_adr_value_combination_id := NULL;
42996 l_adr_value_segment_code := NULL;
42997
42998 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
42999 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
43000 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43001 l_budgetary_control_flag := 'N';
43002
43003 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43004 l_bflow_applied_to_amt := NULL; -- 5132302
43005 l_entered_amt_idx := NULL; -- 4262811
43006 l_accted_amt_idx := NULL; -- 4262811
43007 l_acc_rev_flag := NULL; -- 4262811
43008 l_accrual_line_num := NULL; -- 4262811
43009 l_tmp_amt := NULL; -- 4262811
43010 --
43011
43012 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43013 l_balance_type_code <> 'B' THEN
43014 IF NVL(p_source_96,'
43015 ') = 'CLEAR_CLEAR' AND
43016 NVL(p_source_33,'
43017 ') = 'REC_TAX' AND
43018 NVL(p_source_125,'
43019 ') = 'DEFERRED' AND
43020 (NVL(p_source_97,'
43021 ') = 'CASH' OR
43022 NVL(p_source_97,'
43023 ') = 'DISCOUNT') AND
43024 NVL(p_source_122,'
43025 ') <> 'R'
43026 THEN
43027
43028 --
43029 XLA_AE_LINES_PKG.SetNewLine;
43030
43031 p_balance_type_code := l_balance_type_code;
43032 -- set the flag so later we will know whether the gain loss line needs to be created
43033
43034 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43035 p_actual_flag :='A';
43036 END IF;
43037
43038 --
43039 -- bulk performance
43040 --
43041 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43042 p_header_num => 0); -- 4262811
43043 --
43044 -- set accounting line options
43045 --
43046 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43047 p_natural_side_code => 'C'
43048 , p_gain_or_loss_flag => 'N'
43049 , p_gl_transfer_mode_code => 'S'
43050 , p_acct_entry_type_code => 'A'
43051 , p_switch_side_flag => 'Y'
43052 , p_merge_duplicate_code => 'A'
43053 );
43054 --
43055 l_acc_rev_natural_side_code := 'D'; -- 4262811
43056 --
43057 --
43058 -- set accounting line type info
43059 --
43060 xla_ae_lines_pkg.SetAcctLineType
43061 (p_component_type => l_component_type
43062 ,p_event_type_code => l_event_type_code
43063 ,p_line_definition_owner_code => l_line_definition_owner_code
43064 ,p_line_definition_code => l_line_definition_code
43065 ,p_accounting_line_code => l_component_code
43069 ,p_entity_code => l_entity_code
43066 ,p_accounting_line_type_code => l_component_type_code
43067 ,p_accounting_line_appl_id => l_component_appl_id
43068 ,p_amb_context_code => l_amb_context_code
43070 ,p_event_class_code => l_event_class_code);
43071 --
43072 -- set accounting class
43073 --
43074 xla_ae_lines_pkg.SetAcctClass(
43075 p_accounting_class_code => 'DEF_REC_TAX'
43076 , p_ae_header_id => l_ae_header_id
43077 );
43078
43079 --
43080 -- set rounding class
43081 --
43082 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43083 'DEF_REC_TAX';
43084
43085 --
43086 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43087 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43088 --
43089 -- bulk performance
43090 --
43091 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43092
43093 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43094 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43095
43096 -- 4955764
43097 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43098 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43099
43100 -- 4458381 Public Sector Enh
43101
43102 --
43103 -- set accounting attributes for the line type
43104 --
43105 l_entered_amt_idx := 10;
43106 l_accted_amt_idx := 12;
43107 l_bflow_applied_to_amt_idx := 2; -- 5132302
43108 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43109 l_rec_acct_attrs.array_char_value(1) := p_source_52;
43110 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
43111 l_rec_acct_attrs.array_num_value(2) := p_source_98;
43112 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
43113 l_rec_acct_attrs.array_num_value(3) := p_source_90;
43114 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43115 l_rec_acct_attrs.array_char_value(4) := p_source_99;
43116 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
43117 l_rec_acct_attrs.array_char_value(5) := p_source_100;
43118 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
43119 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
43120 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43121 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
43122 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
43123 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
43124 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
43125 l_rec_acct_attrs.array_char_value(9) := p_source_54;
43126 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
43127 l_rec_acct_attrs.array_num_value(10) := p_source_98;
43128 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
43129 l_rec_acct_attrs.array_char_value(11) := p_source_13;
43130 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
43131 l_rec_acct_attrs.array_num_value(12) := p_source_116;
43132 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
43133 l_rec_acct_attrs.array_char_value(13) := p_source_79;
43134 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
43135 l_rec_acct_attrs.array_char_value(14) := p_source_82;
43136 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
43137 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
43138 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
43139 l_rec_acct_attrs.array_char_value(16) := p_source_54;
43140 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
43141 l_rec_acct_attrs.array_num_value(17) := p_source_85;
43142 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
43143 l_rec_acct_attrs.array_num_value(18) := p_source_85;
43144 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
43145 l_rec_acct_attrs.array_num_value(19) := p_source_87;
43146
43147 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43148 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43149
43150 ---------------------------------------------------------------------------------------------------------------
43151 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43152 ---------------------------------------------------------------------------------------------------------------
43153 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43154
43155 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43156 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43157
43158 IF xla_accounting_cache_pkg.GetValueChar
43159 (p_source_code => 'LEDGER_CATEGORY_CODE'
43160 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43161 AND l_bflow_method_code = 'PRIOR_ENTRY'
43162 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43166 THEN
43163 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43164 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43165 )
43167 xla_ae_lines_pkg.BflowUpgEntry
43168 (p_business_method_code => l_bflow_method_code
43169 ,p_business_class_code => l_bflow_class_code
43170 ,p_balance_type => l_balance_type_code);
43171 ELSE
43172 NULL;
43173 XLA_AE_LINES_PKG.business_flow_validation(
43174 p_business_method_code => l_bflow_method_code
43175 ,p_business_class_code => l_bflow_class_code
43176 ,p_inherit_description_flag => l_inherit_desc_flag);
43177 END IF;
43178
43179 --
43180 -- call analytical criteria
43181 --
43182 -- Inherited Analytical Criteria for business flow method of Prior Entry.
43183 --
43184 -- call description
43185 --
43186 -- No description or it is inherited.
43187 --
43188 -- call ADRs
43189 -- Bug 4922099
43190 --
43191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43192 (NVL(l_actual_upg_option, 'N') = 'O') OR
43193 (NVL(l_enc_upg_option, 'N') = 'O')
43194 )
43195 THEN
43196 NULL;
43197 --
43198 --
43199
43200 --
43201 --
43202 END IF;
43203 --
43204 -- Bug 4922099
43205 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43206 (NVL(l_enc_upg_option, 'N') = 'O')
43207 ) AND
43208 (l_bflow_method_code = 'PRIOR_ENTRY')
43209 )
43210 THEN
43211 IF
43212 --
43213 1 = 1
43214 --
43215 THEN
43216 xla_accounting_err_pkg.build_message
43217 (p_appli_s_name => 'XLA'
43218 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43219 ,p_token_1 => 'LINE_NUMBER'
43220 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43221 ,p_token_2 => 'LINE_TYPE_NAME'
43222 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43223 l_component_type
43224 ,l_component_code
43225 ,l_component_type_code
43226 ,l_component_appl_id
43227 ,l_amb_context_code
43228 ,l_entity_code
43229 ,l_event_class_code
43230 )
43231 ,p_token_3 => 'OWNER'
43232 ,p_value_3 => xla_lookups_pkg.get_meaning(
43233 p_lookup_type => 'XLA_OWNER_TYPE'
43234 ,p_lookup_code => l_component_type_code
43235 )
43236 ,p_token_4 => 'PRODUCT_NAME'
43237 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43238 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43239 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43240 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43241 ,p_ae_header_id => NULL
43242 );
43243
43244 IF (C_LEVEL_ERROR>= g_log_level) THEN
43245 trace
43246 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43247 ,p_level => C_LEVEL_ERROR
43248 ,p_module => l_log_module);
43249 END IF;
43250 END IF;
43251 END IF;
43252 --
43253 --
43254 ------------------------------------------------------------------------------------------------
43255 -- 4219869 Business Flow
43256 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43257 -- Prior Entry. Currently, the following code is always generated.
43258 ------------------------------------------------------------------------------------------------
43259 -- No ValidateCurrentLine for business flow method of Prior Entry
43260
43261 ------------------------------------------------------------------------------------
43262 -- 4219869 Business Flow
43263 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43264 ------------------------------------------------------------------------------------
43265 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43266
43267 ----------------------------------------------------------------------------------
43271 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43268 -- 4219869 Business Flow
43269 -- Update journal entry status -- Need to generate this within IF <condition>
43270 ----------------------------------------------------------------------------------
43272 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43273 ,p_balance_type_code => l_balance_type_code
43274 );
43275
43276 -------------------------------------------------------------------------------------------
43277 -- 4262811 - Generate the Accrual Reversal lines
43278 -------------------------------------------------------------------------------------------
43279 BEGIN
43280 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43281 (g_array_event(p_event_id).array_value_num('header_index'));
43282 IF l_acc_rev_flag IS NULL THEN
43283 l_acc_rev_flag := 'N';
43284 END IF;
43285 EXCEPTION
43286 WHEN OTHERS THEN
43287 l_acc_rev_flag := 'N';
43288 END;
43289 --
43290 IF (l_acc_rev_flag = 'Y') THEN
43291
43292 -- 4645092 ------------------------------------------------------------------------------
43293 -- To allow MPA report to determine if it should generate report process
43294 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43295 ------------------------------------------------------------------------------------------
43296
43297 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43298 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43299 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43300 -- call ADRs
43301 -- Bug 4922099
43302 --
43303 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43304 (NVL(l_actual_upg_option, 'N') = 'O') OR
43305 (NVL(l_enc_upg_option, 'N') = 'O')
43306 )
43307 THEN
43308 NULL;
43309 --
43310 --
43311
43312 --
43313 --
43314 END IF;
43315
43316 --
43317 -- Update the line information that should be overwritten
43318 --
43319 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43320 p_header_num => 1);
43321 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43322
43323 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43324
43325 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43326 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43327 END IF;
43328
43329 --
43330 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43331 --
43332 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43333 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43334 ELSE
43335 ---------------------------------------------------------------------------------------------------
43336 -- 4262811a Switch Sign
43337 ---------------------------------------------------------------------------------------------------
43338 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43339 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43340 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43341 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43342 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43343 -- 5132302
43344 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43345 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43346
43347 END IF;
43348
43349 -- 4955764
43350 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43351 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43352
43353
43354 XLA_AE_LINES_PKG.ValidateCurrentLine;
43355 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43356
43357 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43358 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43359 ,p_balance_type_code => l_balance_type_code);
43360
43361 END IF;
43362
43363 -----------------------------------------------------------------------------------------
43364 -- 4262811 Multiperiod Accounting
43365 -----------------------------------------------------------------------------------------
43366 -- No MPA option is assigned.
43367
43368
43369 END IF;
43370 END IF;
43371 --
43372
43373 --
43374 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43375 trace
43376 (p_msg => 'END of AcctLineType_94'
43377 ,p_level => C_LEVEL_PROCEDURE
43378 ,p_module => l_log_module);
43379 END IF;
43380 --
43381 EXCEPTION
43382 WHEN xla_exceptions_pkg.application_exception THEN
43386 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_94');
43383 RAISE;
43384 WHEN OTHERS THEN
43385 xla_exceptions_pkg.raise_message
43387 END AcctLineType_94;
43388 --
43389
43390 ---------------------------------------
43391 --
43392 -- PRIVATE FUNCTION
43393 -- AcctLineType_95
43394 --
43395 ---------------------------------------
43396 PROCEDURE AcctLineType_95 (
43397 p_application_id IN NUMBER
43398 ,p_event_id IN NUMBER
43399 ,p_calculate_acctd_flag IN VARCHAR2
43400 ,p_calculate_g_l_flag IN VARCHAR2
43401 ,p_actual_flag IN OUT VARCHAR2
43402 ,p_balance_type_code OUT VARCHAR2
43403 ,p_gain_or_loss_ref OUT VARCHAR2
43404
43405 --Payment Currency Code
43406 , p_source_13 IN VARCHAR2
43407 --Invoice Distribution Type
43408 , p_source_33 IN VARCHAR2
43409 , p_source_33_meaning IN VARCHAR2
43410 --Accounting Reversal Indicator
43411 , p_source_52 IN VARCHAR2
43412 --Distribution Link Type
43413 , p_source_54 IN VARCHAR2
43414 --Override Accounted Amount Indicator
43415 , p_source_79 IN VARCHAR2
43416 , p_source_79_meaning IN VARCHAR2
43417 --Third Party Type
43418 , p_source_82 IN VARCHAR2
43419 --Business Flow Accounts Payable Application Identifier
43420 , p_source_90 IN NUMBER
43421 --Business Flow Invoice Distribution Type
43422 , p_source_91 IN VARCHAR2
43423 --Business Flow Invoice Entity Code
43424 , p_source_92 IN VARCHAR2
43425 --Business Flow Invoice Distribution Identifier
43426 , p_source_93 IN NUMBER
43427 --Business Flow Invoice Identifier
43428 , p_source_94 IN NUMBER
43429 --When to Account for Payment Option
43430 , p_source_96 IN VARCHAR2
43431 --Payment Distribution Type
43432 , p_source_97 IN VARCHAR2
43433 , p_source_97_meaning IN VARCHAR2
43434 --Payment Distribution Amount
43435 , p_source_98 IN NUMBER
43436 --Payment Distribution Identifier
43437 , p_source_103 IN NUMBER
43438 --Payment Distribution Reversed Identifier
43439 , p_source_111 IN NUMBER
43440 --Payment Maturity Date
43441 , p_source_114 IN DATE
43442 --Payment Distribution (Matured Rate) Ledger Amount
43443 , p_source_121 IN NUMBER
43444 --Deferred Recoverable Tax Option
43445 , p_source_125 IN VARCHAR2
43446 , p_source_125_meaning IN VARCHAR2
43447 )
43448 IS
43449
43450 l_component_type VARCHAR2(80);
43451 l_component_code VARCHAR2(30);
43452 l_component_type_code VARCHAR2(1);
43453 l_component_appl_id INTEGER;
43454 l_amb_context_code VARCHAR2(30);
43455 l_entity_code VARCHAR2(30);
43456 l_event_class_code VARCHAR2(30);
43457 l_ae_header_id NUMBER;
43458 l_event_type_code VARCHAR2(30);
43459 l_line_definition_code VARCHAR2(30);
43460 l_line_definition_owner_code VARCHAR2(1);
43461 --
43462 -- adr variables
43463 l_segment VARCHAR2(30);
43464 l_ccid NUMBER;
43465 l_adr_transaction_coa_id NUMBER;
43466 l_adr_accounting_coa_id NUMBER;
43467 l_adr_flexfield_segment_code VARCHAR2(30);
43468 l_adr_flex_value_set_id NUMBER;
43469 l_adr_value_type_code VARCHAR2(30);
43470 l_adr_value_combination_id NUMBER;
43471 l_adr_value_segment_code VARCHAR2(30);
43472
43473 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43474 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43475 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43476 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43477
43478 -- 4262811 Variables ------------------------------------------------------------------------------------------
43479 l_entered_amt_idx NUMBER;
43480 l_accted_amt_idx NUMBER;
43481 l_acc_rev_flag VARCHAR2(1);
43482 l_accrual_line_num NUMBER;
43483 l_tmp_amt NUMBER;
43484 l_acc_rev_natural_side_code VARCHAR2(1);
43485
43486 l_num_entries NUMBER;
43487 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43488 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43489 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43490 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43491 l_recog_line_1 NUMBER;
43492 l_recog_line_2 NUMBER;
43493
43494 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43495 l_bflow_applied_to_amt NUMBER; -- 5132302
43496 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43497
43498 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43499
43500 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43501 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43502
43503 ---------------------------------------------------------------------------------------------------------------
43504
43505
43506 --
43507 -- bulk performance
43508 --
43509 l_balance_type_code VARCHAR2(1);
43513 --
43510 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43511 l_log_module VARCHAR2(240);
43512
43514 -- Upgrade strategy
43515 --
43516 l_actual_upg_option VARCHAR2(1);
43517 l_enc_upg_option VARCHAR2(1);
43518
43519 --
43520 BEGIN
43521 --
43522 IF g_log_enabled THEN
43523 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_95';
43524 END IF;
43525 --
43526 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43527
43528 trace
43529 (p_msg => 'BEGIN of AcctLineType_95'
43530 ,p_level => C_LEVEL_PROCEDURE
43531 ,p_module => l_log_module);
43532
43533 END IF;
43534 --
43535 l_component_type := 'AMB_JLT';
43536 l_component_code := 'AP_DEF_RTAX_INTERIM_MAT';
43537 l_component_type_code := 'S';
43538 l_component_appl_id := 200;
43539 l_amb_context_code := 'DEFAULT';
43540 l_entity_code := 'AP_PAYMENTS';
43541 l_event_class_code := 'FUTURE DATED PAYMENTS';
43542 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
43543 l_line_definition_owner_code := 'S';
43544 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
43545 --
43546 l_balance_type_code := 'A';
43547 l_segment := NULL;
43548 l_ccid := NULL;
43549 l_adr_transaction_coa_id := NULL;
43550 l_adr_accounting_coa_id := NULL;
43551 l_adr_flexfield_segment_code := NULL;
43552 l_adr_flex_value_set_id := NULL;
43553 l_adr_value_type_code := NULL;
43554 l_adr_value_combination_id := NULL;
43555 l_adr_value_segment_code := NULL;
43556
43557 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
43558 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
43559 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43560 l_budgetary_control_flag := 'N';
43561
43562 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43563 l_bflow_applied_to_amt := NULL; -- 5132302
43564 l_entered_amt_idx := NULL; -- 4262811
43565 l_accted_amt_idx := NULL; -- 4262811
43566 l_acc_rev_flag := NULL; -- 4262811
43567 l_accrual_line_num := NULL; -- 4262811
43568 l_tmp_amt := NULL; -- 4262811
43569 --
43570
43571 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43572 l_balance_type_code <> 'B' THEN
43573 IF NVL(p_source_96,'
43574 ') <> 'CLEAR_CLEAR' AND
43575 NVL(p_source_33,'
43576 ') = 'REC_TAX' AND
43577 p_source_114 IS NOT NULL AND
43578 NVL(p_source_125,'
43579 ') = 'DEFERRED' AND
43580 (NVL(p_source_97,'
43581 ') = 'DISCOUNT' OR
43582 NVL(p_source_97,'
43583 ') = 'CASH')
43584 THEN
43585
43586 --
43587 XLA_AE_LINES_PKG.SetNewLine;
43588
43589 p_balance_type_code := l_balance_type_code;
43590 -- set the flag so later we will know whether the gain loss line needs to be created
43591
43592 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43593 p_actual_flag :='A';
43594 END IF;
43595
43596 --
43597 -- bulk performance
43598 --
43599 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43600 p_header_num => 0); -- 4262811
43601 --
43602 -- set accounting line options
43603 --
43604 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43605 p_natural_side_code => 'C'
43606 , p_gain_or_loss_flag => 'N'
43607 , p_gl_transfer_mode_code => 'S'
43608 , p_acct_entry_type_code => 'A'
43609 , p_switch_side_flag => 'Y'
43610 , p_merge_duplicate_code => 'A'
43611 );
43612 --
43613 l_acc_rev_natural_side_code := 'D'; -- 4262811
43614 --
43615 --
43616 -- set accounting line type info
43617 --
43618 xla_ae_lines_pkg.SetAcctLineType
43619 (p_component_type => l_component_type
43620 ,p_event_type_code => l_event_type_code
43621 ,p_line_definition_owner_code => l_line_definition_owner_code
43622 ,p_line_definition_code => l_line_definition_code
43623 ,p_accounting_line_code => l_component_code
43624 ,p_accounting_line_type_code => l_component_type_code
43625 ,p_accounting_line_appl_id => l_component_appl_id
43626 ,p_amb_context_code => l_amb_context_code
43627 ,p_entity_code => l_entity_code
43628 ,p_event_class_code => l_event_class_code);
43629 --
43630 -- set accounting class
43631 --
43632 xla_ae_lines_pkg.SetAcctClass(
43633 p_accounting_class_code => 'DEF_REC_TAX'
43634 , p_ae_header_id => l_ae_header_id
43635 );
43636
43637 --
43638 -- set rounding class
43639 --
43640 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43641 'DEF_REC_TAX';
43642
43643 --
43644 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43648 --
43645 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43646 --
43647 -- bulk performance
43649 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43650
43651 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43652 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43653
43654 -- 4955764
43655 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43656 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43657
43658 -- 4458381 Public Sector Enh
43659
43660 --
43661 -- set accounting attributes for the line type
43662 --
43663 l_entered_amt_idx := 9;
43664 l_accted_amt_idx := 11;
43665 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43666 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43667 l_rec_acct_attrs.array_char_value(1) := p_source_52;
43668 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
43669 l_rec_acct_attrs.array_num_value(2) := p_source_90;
43670 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43671 l_rec_acct_attrs.array_char_value(3) := p_source_91;
43672 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
43673 l_rec_acct_attrs.array_char_value(4) := p_source_92;
43674 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
43675 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
43676 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43677 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
43678 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
43679 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
43680 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
43681 l_rec_acct_attrs.array_char_value(8) := p_source_54;
43682 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
43683 l_rec_acct_attrs.array_num_value(9) := p_source_98;
43684 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
43685 l_rec_acct_attrs.array_char_value(10) := p_source_13;
43686 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
43687 l_rec_acct_attrs.array_num_value(11) := p_source_121;
43688 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
43689 l_rec_acct_attrs.array_char_value(12) := p_source_79;
43690 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
43691 l_rec_acct_attrs.array_char_value(13) := p_source_82;
43692 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
43693 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_111);
43694 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
43695 l_rec_acct_attrs.array_char_value(15) := p_source_54;
43696
43697 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43698 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43699
43700 ---------------------------------------------------------------------------------------------------------------
43701 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43702 ---------------------------------------------------------------------------------------------------------------
43703 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43704
43705 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43706 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43707
43708 IF xla_accounting_cache_pkg.GetValueChar
43709 (p_source_code => 'LEDGER_CATEGORY_CODE'
43710 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43711 AND l_bflow_method_code = 'PRIOR_ENTRY'
43712 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43713 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43714 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43715 )
43716 THEN
43717 xla_ae_lines_pkg.BflowUpgEntry
43718 (p_business_method_code => l_bflow_method_code
43719 ,p_business_class_code => l_bflow_class_code
43720 ,p_balance_type => l_balance_type_code);
43721 ELSE
43722 NULL;
43723 XLA_AE_LINES_PKG.business_flow_validation(
43724 p_business_method_code => l_bflow_method_code
43725 ,p_business_class_code => l_bflow_class_code
43726 ,p_inherit_description_flag => l_inherit_desc_flag);
43727 END IF;
43728
43729 --
43730 -- call analytical criteria
43731 --
43732 -- Inherited Analytical Criteria for business flow method of Prior Entry.
43733 --
43734 -- call description
43735 --
43736 -- No description or it is inherited.
43737 --
43738 -- call ADRs
43739 -- Bug 4922099
43740 --
43741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43742 (NVL(l_actual_upg_option, 'N') = 'O') OR
43743 (NVL(l_enc_upg_option, 'N') = 'O')
43744 )
43745 THEN
43746 NULL;
43747 --
43748 --
43749
43750 --
43751 --
43752 END IF;
43753 --
43754 -- Bug 4922099
43758 (l_bflow_method_code = 'PRIOR_ENTRY')
43755 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43756 (NVL(l_enc_upg_option, 'N') = 'O')
43757 ) AND
43759 )
43760 THEN
43761 IF
43762 --
43763 1 = 1
43764 --
43765 THEN
43766 xla_accounting_err_pkg.build_message
43767 (p_appli_s_name => 'XLA'
43768 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43769 ,p_token_1 => 'LINE_NUMBER'
43770 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43771 ,p_token_2 => 'LINE_TYPE_NAME'
43772 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43773 l_component_type
43774 ,l_component_code
43775 ,l_component_type_code
43776 ,l_component_appl_id
43777 ,l_amb_context_code
43778 ,l_entity_code
43779 ,l_event_class_code
43780 )
43781 ,p_token_3 => 'OWNER'
43782 ,p_value_3 => xla_lookups_pkg.get_meaning(
43783 p_lookup_type => 'XLA_OWNER_TYPE'
43784 ,p_lookup_code => l_component_type_code
43785 )
43786 ,p_token_4 => 'PRODUCT_NAME'
43787 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43788 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43789 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43790 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43791 ,p_ae_header_id => NULL
43792 );
43793
43794 IF (C_LEVEL_ERROR>= g_log_level) THEN
43795 trace
43796 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43797 ,p_level => C_LEVEL_ERROR
43798 ,p_module => l_log_module);
43799 END IF;
43800 END IF;
43801 END IF;
43802 --
43803 --
43804 ------------------------------------------------------------------------------------------------
43805 -- 4219869 Business Flow
43806 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43807 -- Prior Entry. Currently, the following code is always generated.
43808 ------------------------------------------------------------------------------------------------
43809 -- No ValidateCurrentLine for business flow method of Prior Entry
43810
43811 ------------------------------------------------------------------------------------
43812 -- 4219869 Business Flow
43813 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43814 ------------------------------------------------------------------------------------
43815 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43816
43817 ----------------------------------------------------------------------------------
43818 -- 4219869 Business Flow
43819 -- Update journal entry status -- Need to generate this within IF <condition>
43820 ----------------------------------------------------------------------------------
43821 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43822 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43823 ,p_balance_type_code => l_balance_type_code
43824 );
43825
43826 -------------------------------------------------------------------------------------------
43827 -- 4262811 - Generate the Accrual Reversal lines
43828 -------------------------------------------------------------------------------------------
43829 BEGIN
43830 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43831 (g_array_event(p_event_id).array_value_num('header_index'));
43832 IF l_acc_rev_flag IS NULL THEN
43833 l_acc_rev_flag := 'N';
43834 END IF;
43835 EXCEPTION
43836 WHEN OTHERS THEN
43837 l_acc_rev_flag := 'N';
43838 END;
43839 --
43840 IF (l_acc_rev_flag = 'Y') THEN
43841
43842 -- 4645092 ------------------------------------------------------------------------------
43843 -- To allow MPA report to determine if it should generate report process
43844 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43845 ------------------------------------------------------------------------------------------
43846
43850 -- call ADRs
43847 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43848 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43849 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43851 -- Bug 4922099
43852 --
43853 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43854 (NVL(l_actual_upg_option, 'N') = 'O') OR
43855 (NVL(l_enc_upg_option, 'N') = 'O')
43856 )
43857 THEN
43858 NULL;
43859 --
43860 --
43861
43862 --
43863 --
43864 END IF;
43865
43866 --
43867 -- Update the line information that should be overwritten
43868 --
43869 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43870 p_header_num => 1);
43871 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43872
43873 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43874
43875 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43876 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43877 END IF;
43878
43879 --
43880 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43881 --
43882 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43883 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43884 ELSE
43885 ---------------------------------------------------------------------------------------------------
43886 -- 4262811a Switch Sign
43887 ---------------------------------------------------------------------------------------------------
43888 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43890 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43892 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43893 -- 5132302
43894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43895 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43896
43897 END IF;
43898
43899 -- 4955764
43900 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43901 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43902
43903
43904 XLA_AE_LINES_PKG.ValidateCurrentLine;
43905 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43906
43907 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43908 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43909 ,p_balance_type_code => l_balance_type_code);
43910
43911 END IF;
43912
43913 -----------------------------------------------------------------------------------------
43914 -- 4262811 Multiperiod Accounting
43915 -----------------------------------------------------------------------------------------
43916 -- No MPA option is assigned.
43917
43918
43919 END IF;
43920 END IF;
43921 --
43922
43923 --
43924 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43925 trace
43926 (p_msg => 'END of AcctLineType_95'
43927 ,p_level => C_LEVEL_PROCEDURE
43928 ,p_module => l_log_module);
43929 END IF;
43930 --
43931 EXCEPTION
43932 WHEN xla_exceptions_pkg.application_exception THEN
43933 RAISE;
43934 WHEN OTHERS THEN
43935 xla_exceptions_pkg.raise_message
43936 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_95');
43937 END AcctLineType_95;
43938 --
43939
43940 ---------------------------------------
43941 --
43942 -- PRIVATE FUNCTION
43943 -- AcctLineType_96
43944 --
43945 ---------------------------------------
43946 PROCEDURE AcctLineType_96 (
43947 p_application_id IN NUMBER
43948 ,p_event_id IN NUMBER
43949 ,p_calculate_acctd_flag IN VARCHAR2
43950 ,p_calculate_g_l_flag IN VARCHAR2
43951 ,p_actual_flag IN OUT VARCHAR2
43952 ,p_balance_type_code OUT VARCHAR2
43953 ,p_gain_or_loss_ref OUT VARCHAR2
43954
43955 --Payment Currency Code
43956 , p_source_13 IN VARCHAR2
43957 --Invoice Distribution Type
43958 , p_source_33 IN VARCHAR2
43959 , p_source_33_meaning IN VARCHAR2
43960 --Accounting Reversal Indicator
43961 , p_source_52 IN VARCHAR2
43962 --Distribution Link Type
43963 , p_source_54 IN VARCHAR2
43964 --Override Accounted Amount Indicator
43965 , p_source_79 IN VARCHAR2
43966 , p_source_79_meaning IN VARCHAR2
43967 --Third Party Type
43968 , p_source_82 IN VARCHAR2
43969 --Invoice Distribution Tax Line Identifier
43970 , p_source_85 IN NUMBER
43974 , p_source_87 IN NUMBER
43971 --Invoice Distribution Tax Distribution Identifier from Tax
43972 , p_source_86 IN NUMBER
43973 --Invoice Distribution Summary Tax Line Identifier
43975 --Business Flow Accounts Payable Application Identifier
43976 , p_source_90 IN NUMBER
43977 --Business Flow Invoice Distribution Type
43978 , p_source_91 IN VARCHAR2
43979 --Business Flow Invoice Entity Code
43980 , p_source_92 IN VARCHAR2
43981 --Business Flow Invoice Distribution Identifier
43982 , p_source_93 IN NUMBER
43983 --Business Flow Invoice Identifier
43984 , p_source_94 IN NUMBER
43985 --When to Account for Payment Option
43986 , p_source_96 IN VARCHAR2
43987 --Payment Distribution Type
43988 , p_source_97 IN VARCHAR2
43989 , p_source_97_meaning IN VARCHAR2
43990 --Payment Distribution Amount
43991 , p_source_98 IN NUMBER
43992 --Payment Distribution Identifier
43993 , p_source_103 IN NUMBER
43994 --Payment Distribution Reversed Identifier
43995 , p_source_111 IN NUMBER
43996 --Payment Maturity Date
43997 , p_source_114 IN DATE
43998 --Payment Distribution (Invoice Rate) Ledger Amount
43999 , p_source_116 IN NUMBER
44000 --Payment Type
44001 , p_source_122 IN VARCHAR2
44002 , p_source_122_meaning IN VARCHAR2
44003 --Payment Processing Type
44004 , p_source_123 IN VARCHAR2
44005 --Invoice Distribution Amount of the Payment Distribution
44006 , p_source_124 IN NUMBER
44007 --Deferred Recoverable Tax Option
44008 , p_source_125 IN VARCHAR2
44009 , p_source_125_meaning IN VARCHAR2
44010 --AWT Related Distribution Type Lookup code
44011 , p_source_126 IN VARCHAR2
44012 )
44013 IS
44014
44015 l_component_type VARCHAR2(80);
44016 l_component_code VARCHAR2(30);
44017 l_component_type_code VARCHAR2(1);
44018 l_component_appl_id INTEGER;
44019 l_amb_context_code VARCHAR2(30);
44020 l_entity_code VARCHAR2(30);
44021 l_event_class_code VARCHAR2(30);
44022 l_ae_header_id NUMBER;
44023 l_event_type_code VARCHAR2(30);
44024 l_line_definition_code VARCHAR2(30);
44025 l_line_definition_owner_code VARCHAR2(1);
44026 --
44027 -- adr variables
44028 l_segment VARCHAR2(30);
44029 l_ccid NUMBER;
44030 l_adr_transaction_coa_id NUMBER;
44031 l_adr_accounting_coa_id NUMBER;
44032 l_adr_flexfield_segment_code VARCHAR2(30);
44033 l_adr_flex_value_set_id NUMBER;
44034 l_adr_value_type_code VARCHAR2(30);
44035 l_adr_value_combination_id NUMBER;
44036 l_adr_value_segment_code VARCHAR2(30);
44037
44038 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44039 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44040 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44041 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44042
44043 -- 4262811 Variables ------------------------------------------------------------------------------------------
44044 l_entered_amt_idx NUMBER;
44045 l_accted_amt_idx NUMBER;
44046 l_acc_rev_flag VARCHAR2(1);
44047 l_accrual_line_num NUMBER;
44048 l_tmp_amt NUMBER;
44049 l_acc_rev_natural_side_code VARCHAR2(1);
44050
44051 l_num_entries NUMBER;
44052 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44053 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44054 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44055 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44056 l_recog_line_1 NUMBER;
44057 l_recog_line_2 NUMBER;
44058
44059 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44060 l_bflow_applied_to_amt NUMBER; -- 5132302
44061 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44062
44063 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44064
44065 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44066 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44067
44068 ---------------------------------------------------------------------------------------------------------------
44069
44070
44071 --
44072 -- bulk performance
44073 --
44074 l_balance_type_code VARCHAR2(1);
44075 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44076 l_log_module VARCHAR2(240);
44077
44078 --
44079 -- Upgrade strategy
44080 --
44081 l_actual_upg_option VARCHAR2(1);
44082 l_enc_upg_option VARCHAR2(1);
44083
44084 --
44085 BEGIN
44086 --
44087 IF g_log_enabled THEN
44088 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_96';
44089 END IF;
44090 --
44091 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44092
44093 trace
44094 (p_msg => 'BEGIN of AcctLineType_96'
44095 ,p_level => C_LEVEL_PROCEDURE
44096 ,p_module => l_log_module);
44097
44098 END IF;
44099 --
44103 l_component_appl_id := 200;
44100 l_component_type := 'AMB_JLT';
44101 l_component_code := 'AP_DEF_RTAX_INTERIM_PMT';
44102 l_component_type_code := 'S';
44104 l_amb_context_code := 'DEFAULT';
44105 l_entity_code := 'AP_PAYMENTS';
44106 l_event_class_code := 'PAYMENTS';
44107 l_event_type_code := 'PAYMENTS_ALL';
44108 l_line_definition_owner_code := 'S';
44109 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
44110 --
44111 l_balance_type_code := 'A';
44112 l_segment := NULL;
44113 l_ccid := NULL;
44114 l_adr_transaction_coa_id := NULL;
44115 l_adr_accounting_coa_id := NULL;
44116 l_adr_flexfield_segment_code := NULL;
44117 l_adr_flex_value_set_id := NULL;
44118 l_adr_value_type_code := NULL;
44119 l_adr_value_combination_id := NULL;
44120 l_adr_value_segment_code := NULL;
44121
44122 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44123 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44124 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44125 l_budgetary_control_flag := 'N';
44126
44127 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44128 l_bflow_applied_to_amt := NULL; -- 5132302
44129 l_entered_amt_idx := NULL; -- 4262811
44130 l_accted_amt_idx := NULL; -- 4262811
44131 l_acc_rev_flag := NULL; -- 4262811
44132 l_accrual_line_num := NULL; -- 4262811
44133 l_tmp_amt := NULL; -- 4262811
44134 --
44135
44136 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44137 l_balance_type_code <> 'B' THEN
44138 IF NVL(p_source_96,'
44139 ') <> 'CLEAR_CLEAR' AND
44140 ((NVL(p_source_33,'
44141 ') = 'REC_TAX' AND
44142 NVL(p_source_125,'
44143 ') = 'DEFERRED') OR
44144 (NVL(p_source_33,'
44145 ') = 'AWT' AND
44146 NVL(p_source_126,'
44147 ') = 'AWT_DEFERRED')
44148 ) AND (NVL(p_source_97,'
44149 ') = 'CASH' OR
44150 NVL(p_source_97,'
44151 ') = 'AWT' OR
44152 NVL(p_source_97,'
44153 ') = 'DISCOUNT') AND
44154 p_source_114 IS NULL AND
44155 NVL(p_source_122,'
44156 ') <> 'R' AND
44157 NVL(p_source_123,'
44158 ') <> 'PAYMENTCARD'
44159 THEN
44160
44161 --
44162 XLA_AE_LINES_PKG.SetNewLine;
44163
44164 p_balance_type_code := l_balance_type_code;
44165 -- set the flag so later we will know whether the gain loss line needs to be created
44166
44167 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44168 p_actual_flag :='A';
44169 END IF;
44170
44171 --
44172 -- bulk performance
44173 --
44174 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44175 p_header_num => 0); -- 4262811
44176 --
44177 -- set accounting line options
44178 --
44179 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44180 p_natural_side_code => 'C'
44181 , p_gain_or_loss_flag => 'N'
44182 , p_gl_transfer_mode_code => 'S'
44183 , p_acct_entry_type_code => 'A'
44184 , p_switch_side_flag => 'Y'
44185 , p_merge_duplicate_code => 'A'
44186 );
44187 --
44188 l_acc_rev_natural_side_code := 'D'; -- 4262811
44189 --
44190 --
44191 -- set accounting line type info
44192 --
44193 xla_ae_lines_pkg.SetAcctLineType
44194 (p_component_type => l_component_type
44195 ,p_event_type_code => l_event_type_code
44196 ,p_line_definition_owner_code => l_line_definition_owner_code
44197 ,p_line_definition_code => l_line_definition_code
44198 ,p_accounting_line_code => l_component_code
44199 ,p_accounting_line_type_code => l_component_type_code
44200 ,p_accounting_line_appl_id => l_component_appl_id
44201 ,p_amb_context_code => l_amb_context_code
44202 ,p_entity_code => l_entity_code
44203 ,p_event_class_code => l_event_class_code);
44204 --
44205 -- set accounting class
44206 --
44207 xla_ae_lines_pkg.SetAcctClass(
44208 p_accounting_class_code => 'DEF_REC_TAX'
44209 , p_ae_header_id => l_ae_header_id
44210 );
44211
44212 --
44213 -- set rounding class
44214 --
44215 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44216 'DEF_REC_TAX';
44217
44218 --
44219 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44220 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44221 --
44222 -- bulk performance
44223 --
44224 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44225
44226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44227 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44228
44229 -- 4955764
44230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44234
44231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44232
44233 -- 4458381 Public Sector Enh
44235 --
44236 -- set accounting attributes for the line type
44237 --
44238 l_entered_amt_idx := 10;
44239 l_accted_amt_idx := 12;
44240 l_bflow_applied_to_amt_idx := 2; -- 5132302
44241 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44242 l_rec_acct_attrs.array_char_value(1) := p_source_52;
44243 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
44244 l_rec_acct_attrs.array_num_value(2) := p_source_124;
44245 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
44246 l_rec_acct_attrs.array_num_value(3) := p_source_90;
44247 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44248 l_rec_acct_attrs.array_char_value(4) := p_source_91;
44249 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
44250 l_rec_acct_attrs.array_char_value(5) := p_source_92;
44251 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
44252 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
44253 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44254 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
44255 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
44256 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
44257 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
44258 l_rec_acct_attrs.array_char_value(9) := p_source_54;
44259 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
44260 l_rec_acct_attrs.array_num_value(10) := p_source_98;
44261 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
44262 l_rec_acct_attrs.array_char_value(11) := p_source_13;
44263 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
44264 l_rec_acct_attrs.array_num_value(12) := p_source_116;
44265 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
44266 l_rec_acct_attrs.array_char_value(13) := p_source_79;
44267 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
44268 l_rec_acct_attrs.array_char_value(14) := p_source_82;
44269 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
44270 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
44271 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
44272 l_rec_acct_attrs.array_char_value(16) := p_source_54;
44273 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
44274 l_rec_acct_attrs.array_num_value(17) := p_source_85;
44275 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
44276 l_rec_acct_attrs.array_num_value(18) := p_source_86;
44277 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
44278 l_rec_acct_attrs.array_num_value(19) := p_source_87;
44279
44280 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44281 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44282
44283 ---------------------------------------------------------------------------------------------------------------
44284 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44285 ---------------------------------------------------------------------------------------------------------------
44286 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44287
44288 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44289 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44290
44291 IF xla_accounting_cache_pkg.GetValueChar
44292 (p_source_code => 'LEDGER_CATEGORY_CODE'
44293 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44294 AND l_bflow_method_code = 'PRIOR_ENTRY'
44295 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44296 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44297 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44298 )
44299 THEN
44300 xla_ae_lines_pkg.BflowUpgEntry
44301 (p_business_method_code => l_bflow_method_code
44302 ,p_business_class_code => l_bflow_class_code
44303 ,p_balance_type => l_balance_type_code);
44304 ELSE
44305 NULL;
44306 XLA_AE_LINES_PKG.business_flow_validation(
44307 p_business_method_code => l_bflow_method_code
44308 ,p_business_class_code => l_bflow_class_code
44309 ,p_inherit_description_flag => l_inherit_desc_flag);
44310 END IF;
44311
44312 --
44313 -- call analytical criteria
44314 --
44315 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44316 --
44317 -- call description
44318 --
44319 -- No description or it is inherited.
44320 --
44321 -- call ADRs
44322 -- Bug 4922099
44323 --
44324 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44325 (NVL(l_actual_upg_option, 'N') = 'O') OR
44326 (NVL(l_enc_upg_option, 'N') = 'O')
44327 )
44328 THEN
44329 NULL;
44330 --
44331 --
44332
44333 --
44334 --
44335 END IF;
44339 (NVL(l_enc_upg_option, 'N') = 'O')
44336 --
44337 -- Bug 4922099
44338 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44340 ) AND
44341 (l_bflow_method_code = 'PRIOR_ENTRY')
44342 )
44343 THEN
44344 IF
44345 --
44346 1 = 1
44347 --
44348 THEN
44349 xla_accounting_err_pkg.build_message
44350 (p_appli_s_name => 'XLA'
44351 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44352 ,p_token_1 => 'LINE_NUMBER'
44353 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44354 ,p_token_2 => 'LINE_TYPE_NAME'
44355 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44356 l_component_type
44357 ,l_component_code
44358 ,l_component_type_code
44359 ,l_component_appl_id
44360 ,l_amb_context_code
44361 ,l_entity_code
44362 ,l_event_class_code
44363 )
44364 ,p_token_3 => 'OWNER'
44365 ,p_value_3 => xla_lookups_pkg.get_meaning(
44366 p_lookup_type => 'XLA_OWNER_TYPE'
44367 ,p_lookup_code => l_component_type_code
44368 )
44369 ,p_token_4 => 'PRODUCT_NAME'
44370 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44371 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44372 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44373 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44374 ,p_ae_header_id => NULL
44375 );
44376
44377 IF (C_LEVEL_ERROR>= g_log_level) THEN
44378 trace
44379 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44380 ,p_level => C_LEVEL_ERROR
44381 ,p_module => l_log_module);
44382 END IF;
44383 END IF;
44384 END IF;
44385 --
44386 --
44387 ------------------------------------------------------------------------------------------------
44388 -- 4219869 Business Flow
44389 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44390 -- Prior Entry. Currently, the following code is always generated.
44391 ------------------------------------------------------------------------------------------------
44392 -- No ValidateCurrentLine for business flow method of Prior Entry
44393
44394 ------------------------------------------------------------------------------------
44395 -- 4219869 Business Flow
44396 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44397 ------------------------------------------------------------------------------------
44398 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44399
44400 ----------------------------------------------------------------------------------
44401 -- 4219869 Business Flow
44402 -- Update journal entry status -- Need to generate this within IF <condition>
44403 ----------------------------------------------------------------------------------
44404 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44405 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44406 ,p_balance_type_code => l_balance_type_code
44407 );
44408
44409 -------------------------------------------------------------------------------------------
44410 -- 4262811 - Generate the Accrual Reversal lines
44411 -------------------------------------------------------------------------------------------
44412 BEGIN
44413 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44414 (g_array_event(p_event_id).array_value_num('header_index'));
44415 IF l_acc_rev_flag IS NULL THEN
44416 l_acc_rev_flag := 'N';
44417 END IF;
44418 EXCEPTION
44419 WHEN OTHERS THEN
44420 l_acc_rev_flag := 'N';
44421 END;
44422 --
44423 IF (l_acc_rev_flag = 'Y') THEN
44424
44425 -- 4645092 ------------------------------------------------------------------------------
44426 -- To allow MPA report to determine if it should generate report process
44427 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44428 ------------------------------------------------------------------------------------------
44429
44430 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44434 -- Bug 4922099
44431 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44432 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44433 -- call ADRs
44435 --
44436 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44437 (NVL(l_actual_upg_option, 'N') = 'O') OR
44438 (NVL(l_enc_upg_option, 'N') = 'O')
44439 )
44440 THEN
44441 NULL;
44442 --
44443 --
44444
44445 --
44446 --
44447 END IF;
44448
44449 --
44450 -- Update the line information that should be overwritten
44451 --
44452 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44453 p_header_num => 1);
44454 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44455
44456 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44457
44458 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44459 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44460 END IF;
44461
44462 --
44463 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44464 --
44465 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44466 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44467 ELSE
44468 ---------------------------------------------------------------------------------------------------
44469 -- 4262811a Switch Sign
44470 ---------------------------------------------------------------------------------------------------
44471 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44472 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44473 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44474 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44475 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44476 -- 5132302
44477 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44478 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44479
44480 END IF;
44481
44482 -- 4955764
44483 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44484 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44485
44486
44487 XLA_AE_LINES_PKG.ValidateCurrentLine;
44488 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44489
44490 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44491 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44492 ,p_balance_type_code => l_balance_type_code);
44493
44494 END IF;
44495
44496 -----------------------------------------------------------------------------------------
44497 -- 4262811 Multiperiod Accounting
44498 -----------------------------------------------------------------------------------------
44499 -- No MPA option is assigned.
44500
44501
44502 END IF;
44503 END IF;
44504 --
44505
44506 --
44507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44508 trace
44509 (p_msg => 'END of AcctLineType_96'
44510 ,p_level => C_LEVEL_PROCEDURE
44511 ,p_module => l_log_module);
44512 END IF;
44513 --
44514 EXCEPTION
44515 WHEN xla_exceptions_pkg.application_exception THEN
44516 RAISE;
44517 WHEN OTHERS THEN
44518 xla_exceptions_pkg.raise_message
44519 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_96');
44520 END AcctLineType_96;
44521 --
44522
44523 ---------------------------------------
44524 --
44525 -- PRIVATE FUNCTION
44526 -- AcctLineType_97
44527 --
44528 ---------------------------------------
44529 PROCEDURE AcctLineType_97 (
44530 p_application_id IN NUMBER
44531 ,p_event_id IN NUMBER
44532 ,p_calculate_acctd_flag IN VARCHAR2
44533 ,p_calculate_g_l_flag IN VARCHAR2
44534 ,p_actual_flag IN OUT VARCHAR2
44535 ,p_balance_type_code OUT VARCHAR2
44536 ,p_gain_or_loss_ref OUT VARCHAR2
44537
44538 --Accounting Reversal Indicator
44539 , p_source_52 IN VARCHAR2
44540 --Distribution Link Type
44541 , p_source_54 IN VARCHAR2
44542 --Invoice Identifier
44543 , p_source_57 IN NUMBER
44544 --Payables Encumbrance Upgrade Credit Account
44545 , p_source_64 IN NUMBER
44546 --Payables Encumbrance Upgrade Credit Amount
44547 , p_source_65 IN NUMBER
44548 --Invoice Currency Code
44549 , p_source_66 IN VARCHAR2
44550 --Payables Encumbrance Upgrade Credit Base Amount
44551 , p_source_67 IN NUMBER
44552 --Payables Encumbrance Upgrade Debit Account
44553 , p_source_68 IN NUMBER
44554 --Payables Encumbrance Upgrade Debit Amount
44558 --Payables Encumbrance Upgrade Option
44555 , p_source_69 IN NUMBER
44556 --Payables Encumbrance Upgrade Debit Base Amount
44557 , p_source_70 IN NUMBER
44559 , p_source_71 IN VARCHAR2
44560 --Deferred Accounting End Date
44561 , p_source_76 IN DATE
44562 --Deferred Accounting Option
44563 , p_source_77 IN VARCHAR2
44564 --Deferred Accounting Start Date
44565 , p_source_78 IN DATE
44566 --Override Accounted Amount Indicator
44567 , p_source_79 IN VARCHAR2
44568 , p_source_79_meaning IN VARCHAR2
44569 --Third Party Type
44570 , p_source_82 IN VARCHAR2
44571 --Invoice Distribution Tax Line Identifier
44572 , p_source_85 IN NUMBER
44573 --Invoice Distribution Tax Distribution Identifier from Tax
44574 , p_source_86 IN NUMBER
44575 --Invoice Distribution Summary Tax Line Identifier
44576 , p_source_87 IN NUMBER
44577 --Payables Upgrade Credit Encumbrance Type Identifier
44578 , p_source_88 IN NUMBER
44579 --Payables Upgrade Debit Encumbrance Type Identifier
44580 , p_source_89 IN NUMBER
44581 --Business Flow Accounts Payable Application Identifier
44582 , p_source_90 IN NUMBER
44583 --Business Flow Invoice Distribution Type
44584 , p_source_91 IN VARCHAR2
44585 --Business Flow Invoice Entity Code
44586 , p_source_92 IN VARCHAR2
44587 --Deferred Recoverable Tax Option
44588 , p_source_125 IN VARCHAR2
44589 , p_source_125_meaning IN VARCHAR2
44590 --Prepayment Application Distribution Identifier
44591 , p_source_127 IN NUMBER
44592 --Business Flow Recipient Invoice Distribution Identifier
44593 , p_source_128 IN NUMBER
44594 --Business Flow Recipient Invoice Identifier
44595 , p_source_129 IN NUMBER
44596 --Upgrade Encumbrance Credit Account Class
44597 , p_source_130 IN VARCHAR2
44598 --Upgrade Encumbrance Debit Account Class
44599 , p_source_131 IN VARCHAR2
44600 --Prepayment Distribution Amount
44601 , p_source_132 IN NUMBER
44602 --Prepayment Distribution (Invoice Rate) Ledger Amount
44603 , p_source_133 IN NUMBER
44604 --Identifier of the Prepayment Application Reversed
44605 , p_source_134 IN NUMBER
44606 )
44607 IS
44608
44609 l_component_type VARCHAR2(80);
44610 l_component_code VARCHAR2(30);
44611 l_component_type_code VARCHAR2(1);
44612 l_component_appl_id INTEGER;
44613 l_amb_context_code VARCHAR2(30);
44614 l_entity_code VARCHAR2(30);
44615 l_event_class_code VARCHAR2(30);
44616 l_ae_header_id NUMBER;
44617 l_event_type_code VARCHAR2(30);
44618 l_line_definition_code VARCHAR2(30);
44619 l_line_definition_owner_code VARCHAR2(1);
44620 --
44621 -- adr variables
44622 l_segment VARCHAR2(30);
44623 l_ccid NUMBER;
44624 l_adr_transaction_coa_id NUMBER;
44625 l_adr_accounting_coa_id NUMBER;
44626 l_adr_flexfield_segment_code VARCHAR2(30);
44627 l_adr_flex_value_set_id NUMBER;
44628 l_adr_value_type_code VARCHAR2(30);
44629 l_adr_value_combination_id NUMBER;
44630 l_adr_value_segment_code VARCHAR2(30);
44631
44632 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44633 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44634 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44635 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44636
44637 -- 4262811 Variables ------------------------------------------------------------------------------------------
44638 l_entered_amt_idx NUMBER;
44639 l_accted_amt_idx NUMBER;
44640 l_acc_rev_flag VARCHAR2(1);
44641 l_accrual_line_num NUMBER;
44642 l_tmp_amt NUMBER;
44643 l_acc_rev_natural_side_code VARCHAR2(1);
44644
44645 l_num_entries NUMBER;
44646 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44647 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44648 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44649 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44650 l_recog_line_1 NUMBER;
44651 l_recog_line_2 NUMBER;
44652
44653 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44654 l_bflow_applied_to_amt NUMBER; -- 5132302
44655 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44656
44657 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44658
44659 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44660 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44661
44662 ---------------------------------------------------------------------------------------------------------------
44663
44664
44665 --
44666 -- bulk performance
44667 --
44668 l_balance_type_code VARCHAR2(1);
44669 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44670 l_log_module VARCHAR2(240);
44671
44672 --
44673 -- Upgrade strategy
44674 --
44678 --
44675 l_actual_upg_option VARCHAR2(1);
44676 l_enc_upg_option VARCHAR2(1);
44677
44679 BEGIN
44680 --
44681 IF g_log_enabled THEN
44682 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_97';
44683 END IF;
44684 --
44685 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44686
44687 trace
44688 (p_msg => 'BEGIN of AcctLineType_97'
44689 ,p_level => C_LEVEL_PROCEDURE
44690 ,p_module => l_log_module);
44691
44692 END IF;
44693 --
44694 l_component_type := 'AMB_JLT';
44695 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAY';
44696 l_component_type_code := 'S';
44697 l_component_appl_id := 200;
44698 l_amb_context_code := 'DEFAULT';
44699 l_entity_code := 'AP_INVOICES';
44700 l_event_class_code := 'PREPAYMENT APPLICATIONS';
44701 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
44702 l_line_definition_owner_code := 'S';
44703 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
44704 --
44705 l_balance_type_code := 'A';
44706 l_segment := NULL;
44707 l_ccid := NULL;
44708 l_adr_transaction_coa_id := NULL;
44709 l_adr_accounting_coa_id := NULL;
44710 l_adr_flexfield_segment_code := NULL;
44711 l_adr_flex_value_set_id := NULL;
44712 l_adr_value_type_code := NULL;
44713 l_adr_value_combination_id := NULL;
44714 l_adr_value_segment_code := NULL;
44715
44716 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44717 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44718 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44719 l_budgetary_control_flag := 'N';
44720
44721 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44722 l_bflow_applied_to_amt := NULL; -- 5132302
44723 l_entered_amt_idx := NULL; -- 4262811
44724 l_accted_amt_idx := NULL; -- 4262811
44725 l_acc_rev_flag := NULL; -- 4262811
44726 l_accrual_line_num := NULL; -- 4262811
44727 l_tmp_amt := NULL; -- 4262811
44728 --
44729
44730 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44731 l_balance_type_code <> 'B' THEN
44732 IF NVL(p_source_125,'
44733 ') = 'DEFERRED'
44734 THEN
44735
44736 --
44737 XLA_AE_LINES_PKG.SetNewLine;
44738
44739 p_balance_type_code := l_balance_type_code;
44740 -- set the flag so later we will know whether the gain loss line needs to be created
44741
44742 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44743 p_actual_flag :='A';
44744 END IF;
44745
44746 --
44747 -- bulk performance
44748 --
44749 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44750 p_header_num => 0); -- 4262811
44751 --
44752 -- set accounting line options
44753 --
44754 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44755 p_natural_side_code => 'D'
44756 , p_gain_or_loss_flag => 'N'
44757 , p_gl_transfer_mode_code => 'S'
44758 , p_acct_entry_type_code => 'A'
44759 , p_switch_side_flag => 'Y'
44760 , p_merge_duplicate_code => 'A'
44761 );
44762 --
44763 l_acc_rev_natural_side_code := 'C'; -- 4262811
44764 --
44765 --
44766 -- set accounting line type info
44767 --
44768 xla_ae_lines_pkg.SetAcctLineType
44769 (p_component_type => l_component_type
44770 ,p_event_type_code => l_event_type_code
44771 ,p_line_definition_owner_code => l_line_definition_owner_code
44772 ,p_line_definition_code => l_line_definition_code
44773 ,p_accounting_line_code => l_component_code
44774 ,p_accounting_line_type_code => l_component_type_code
44775 ,p_accounting_line_appl_id => l_component_appl_id
44776 ,p_amb_context_code => l_amb_context_code
44777 ,p_entity_code => l_entity_code
44778 ,p_event_class_code => l_event_class_code);
44779 --
44780 -- set accounting class
44781 --
44782 xla_ae_lines_pkg.SetAcctClass(
44783 p_accounting_class_code => 'DEF_REC_TAX'
44784 , p_ae_header_id => l_ae_header_id
44785 );
44786
44787 --
44788 -- set rounding class
44789 --
44790 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44791 'DEF_REC_TAX';
44792
44793 --
44794 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44795 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44796 --
44797 -- bulk performance
44798 --
44799 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44800
44801 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44802 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44803
44804 -- 4955764
44805 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44809
44806 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44807
44808 -- 4458381 Public Sector Enh
44810 --
44811 -- set accounting attributes for the line type
44812 --
44813 l_entered_amt_idx := 25;
44814 l_accted_amt_idx := 27;
44815 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44816 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44817 l_rec_acct_attrs.array_char_value(1) := p_source_52;
44818 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
44819 l_rec_acct_attrs.array_num_value(2) :=
44820 xla_ae_sources_pkg.GetSystemSourceNum(
44821 p_source_code => 'XLA_EVENT_APPL_ID'
44822 , p_source_type_code => 'Y'
44823 , p_source_application_id => 602
44824 );
44825 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
44826 l_rec_acct_attrs.array_char_value(3) := p_source_54;
44827 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
44828 l_rec_acct_attrs.array_char_value(4) :=
44829 xla_ae_sources_pkg.GetSystemSourceChar(
44830 p_source_code => 'XLA_ENTITY_CODE'
44831 , p_source_type_code => 'Y'
44832 , p_source_application_id => 602
44833 );
44834 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
44835 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
44836 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
44837 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
44838 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
44839 l_rec_acct_attrs.array_num_value(7) := p_source_90;
44840 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44841 l_rec_acct_attrs.array_char_value(8) := p_source_91;
44842 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
44843 l_rec_acct_attrs.array_char_value(9) := p_source_92;
44844 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
44845 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_128);
44846 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44847 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_129);
44848 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
44849 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
44850 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
44851 l_rec_acct_attrs.array_char_value(13) := p_source_54;
44852 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
44853 l_rec_acct_attrs.array_char_value(14) := p_source_130;
44854 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
44855 l_rec_acct_attrs.array_num_value(15) := p_source_64;
44856 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
44857 l_rec_acct_attrs.array_num_value(16) := p_source_65;
44858 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
44859 l_rec_acct_attrs.array_char_value(17) := p_source_66;
44860 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
44861 l_rec_acct_attrs.array_num_value(18) := p_source_67;
44862 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
44863 l_rec_acct_attrs.array_char_value(19) := p_source_131;
44864 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
44865 l_rec_acct_attrs.array_num_value(20) := p_source_68;
44866 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
44867 l_rec_acct_attrs.array_num_value(21) := p_source_69;
44868 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
44869 l_rec_acct_attrs.array_char_value(22) := p_source_66;
44870 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
44871 l_rec_acct_attrs.array_num_value(23) := p_source_70;
44872 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
44873 l_rec_acct_attrs.array_char_value(24) := p_source_71;
44874 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
44875 l_rec_acct_attrs.array_num_value(25) := p_source_132;
44876 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
44877 l_rec_acct_attrs.array_char_value(26) := p_source_66;
44878 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
44879 l_rec_acct_attrs.array_num_value(27) := p_source_133;
44880 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
44881 l_rec_acct_attrs.array_date_value(28) := p_source_76;
44882 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
44883 l_rec_acct_attrs.array_char_value(29) := p_source_77;
44884 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
44885 l_rec_acct_attrs.array_date_value(30) := p_source_78;
44886 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
44887 l_rec_acct_attrs.array_char_value(31) := p_source_79;
44888 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
44889 l_rec_acct_attrs.array_char_value(32) := p_source_82;
44890 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
44891 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_134);
44892 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
44893 l_rec_acct_attrs.array_char_value(34) := p_source_54;
44894 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
44895 l_rec_acct_attrs.array_num_value(35) := p_source_85;
44896 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
44900 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
44897 l_rec_acct_attrs.array_num_value(36) := p_source_86;
44898 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
44899 l_rec_acct_attrs.array_num_value(37) := p_source_87;
44901 l_rec_acct_attrs.array_num_value(38) := p_source_88;
44902 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
44903 l_rec_acct_attrs.array_num_value(39) := p_source_89;
44904
44905 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44906 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44907
44908 ---------------------------------------------------------------------------------------------------------------
44909 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44910 ---------------------------------------------------------------------------------------------------------------
44911 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44912
44913 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44914 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44915
44916 IF xla_accounting_cache_pkg.GetValueChar
44917 (p_source_code => 'LEDGER_CATEGORY_CODE'
44918 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44919 AND l_bflow_method_code = 'PRIOR_ENTRY'
44920 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44921 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44922 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44923 )
44924 THEN
44925 xla_ae_lines_pkg.BflowUpgEntry
44926 (p_business_method_code => l_bflow_method_code
44927 ,p_business_class_code => l_bflow_class_code
44928 ,p_balance_type => l_balance_type_code);
44929 ELSE
44930 NULL;
44931 XLA_AE_LINES_PKG.business_flow_validation(
44932 p_business_method_code => l_bflow_method_code
44933 ,p_business_class_code => l_bflow_class_code
44934 ,p_inherit_description_flag => l_inherit_desc_flag);
44935 END IF;
44936
44937 --
44938 -- call analytical criteria
44939 --
44940 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44941 --
44942 -- call description
44943 --
44944 -- No description or it is inherited.
44945 --
44946 -- call ADRs
44947 -- Bug 4922099
44948 --
44949 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44950 (NVL(l_actual_upg_option, 'N') = 'O') OR
44951 (NVL(l_enc_upg_option, 'N') = 'O')
44952 )
44953 THEN
44954 NULL;
44955 --
44956 --
44957
44958 --
44959 --
44960 END IF;
44961 --
44962 -- Bug 4922099
44963 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44964 (NVL(l_enc_upg_option, 'N') = 'O')
44965 ) AND
44966 (l_bflow_method_code = 'PRIOR_ENTRY')
44967 )
44968 THEN
44969 IF
44970 --
44971 1 = 1
44972 --
44973 THEN
44974 xla_accounting_err_pkg.build_message
44975 (p_appli_s_name => 'XLA'
44976 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44977 ,p_token_1 => 'LINE_NUMBER'
44978 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44979 ,p_token_2 => 'LINE_TYPE_NAME'
44980 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44981 l_component_type
44982 ,l_component_code
44983 ,l_component_type_code
44984 ,l_component_appl_id
44985 ,l_amb_context_code
44986 ,l_entity_code
44987 ,l_event_class_code
44988 )
44989 ,p_token_3 => 'OWNER'
44990 ,p_value_3 => xla_lookups_pkg.get_meaning(
44991 p_lookup_type => 'XLA_OWNER_TYPE'
44992 ,p_lookup_code => l_component_type_code
44993 )
44994 ,p_token_4 => 'PRODUCT_NAME'
44995 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44996 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44997 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45001
44998 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44999 ,p_ae_header_id => NULL
45000 );
45002 IF (C_LEVEL_ERROR>= g_log_level) THEN
45003 trace
45004 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45005 ,p_level => C_LEVEL_ERROR
45006 ,p_module => l_log_module);
45007 END IF;
45008 END IF;
45009 END IF;
45010 --
45011 --
45012 ------------------------------------------------------------------------------------------------
45013 -- 4219869 Business Flow
45014 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45015 -- Prior Entry. Currently, the following code is always generated.
45016 ------------------------------------------------------------------------------------------------
45017 -- No ValidateCurrentLine for business flow method of Prior Entry
45018
45019 ------------------------------------------------------------------------------------
45020 -- 4219869 Business Flow
45021 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45022 ------------------------------------------------------------------------------------
45023 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45024
45025 ----------------------------------------------------------------------------------
45026 -- 4219869 Business Flow
45027 -- Update journal entry status -- Need to generate this within IF <condition>
45028 ----------------------------------------------------------------------------------
45029 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45030 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45031 ,p_balance_type_code => l_balance_type_code
45032 );
45033
45034 -------------------------------------------------------------------------------------------
45035 -- 4262811 - Generate the Accrual Reversal lines
45036 -------------------------------------------------------------------------------------------
45037 BEGIN
45038 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45039 (g_array_event(p_event_id).array_value_num('header_index'));
45040 IF l_acc_rev_flag IS NULL THEN
45041 l_acc_rev_flag := 'N';
45042 END IF;
45043 EXCEPTION
45044 WHEN OTHERS THEN
45045 l_acc_rev_flag := 'N';
45046 END;
45047 --
45048 IF (l_acc_rev_flag = 'Y') THEN
45049
45050 -- 4645092 ------------------------------------------------------------------------------
45051 -- To allow MPA report to determine if it should generate report process
45052 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45053 ------------------------------------------------------------------------------------------
45054
45055 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45056 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45057 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45058 -- call ADRs
45059 -- Bug 4922099
45060 --
45061 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45062 (NVL(l_actual_upg_option, 'N') = 'O') OR
45063 (NVL(l_enc_upg_option, 'N') = 'O')
45064 )
45065 THEN
45066 NULL;
45067 --
45068 --
45069
45070 --
45071 --
45072 END IF;
45073
45074 --
45075 -- Update the line information that should be overwritten
45076 --
45077 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45078 p_header_num => 1);
45079 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45080
45081 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45082
45083 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45084 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45085 END IF;
45086
45087 --
45088 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45089 --
45090 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45091 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45092 ELSE
45093 ---------------------------------------------------------------------------------------------------
45094 -- 4262811a Switch Sign
45095 ---------------------------------------------------------------------------------------------------
45096 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45097 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45098 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45099 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45100 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45101 -- 5132302
45105 END IF;
45102 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45103 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45104
45106
45107 -- 4955764
45108 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45109 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45110
45111
45112 XLA_AE_LINES_PKG.ValidateCurrentLine;
45113 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45114
45115 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45116 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45117 ,p_balance_type_code => l_balance_type_code);
45118
45119 END IF;
45120
45121 -----------------------------------------------------------------------------------------
45122 -- 4262811 Multiperiod Accounting
45123 -----------------------------------------------------------------------------------------
45124 -- No MPA option is assigned.
45125
45126
45127 END IF;
45128 END IF;
45129 --
45130
45131 --
45132 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45133 trace
45134 (p_msg => 'END of AcctLineType_97'
45135 ,p_level => C_LEVEL_PROCEDURE
45136 ,p_module => l_log_module);
45137 END IF;
45138 --
45139 EXCEPTION
45140 WHEN xla_exceptions_pkg.application_exception THEN
45141 RAISE;
45142 WHEN OTHERS THEN
45143 xla_exceptions_pkg.raise_message
45144 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_97');
45145 END AcctLineType_97;
45146 --
45147
45148 ---------------------------------------
45149 --
45150 -- PRIVATE FUNCTION
45151 -- AcctLineType_98
45152 --
45153 ---------------------------------------
45154 PROCEDURE AcctLineType_98 (
45155 p_application_id IN NUMBER
45156 ,p_event_id IN NUMBER
45157 ,p_calculate_acctd_flag IN VARCHAR2
45158 ,p_calculate_g_l_flag IN VARCHAR2
45159 ,p_actual_flag IN OUT VARCHAR2
45160 ,p_balance_type_code OUT VARCHAR2
45161 ,p_gain_or_loss_ref OUT VARCHAR2
45162
45163 --Invoice Distribution Description
45164 , p_source_1 IN VARCHAR2
45165 --Invoice Distribution Ledger Amount
45166 , p_source_21 IN NUMBER
45167 --Invoice Distribution Account
45168 , p_source_30 IN NUMBER
45169 --Invoice Distribution Type
45170 , p_source_33 IN VARCHAR2
45171 , p_source_33_meaning IN VARCHAR2
45172 --Accounting Reversal Indicator
45173 , p_source_52 IN VARCHAR2
45174 --Distribution Link Type
45175 , p_source_54 IN VARCHAR2
45176 --Allocation to Main Distribution Identifier
45177 , p_source_56 IN NUMBER
45178 --Invoice Identifier
45179 , p_source_57 IN NUMBER
45180 --Invoice Distribution Identifier
45181 , p_source_63 IN NUMBER
45182 --Payables Encumbrance Upgrade Credit Account
45183 , p_source_64 IN NUMBER
45184 --Payables Encumbrance Upgrade Credit Amount
45185 , p_source_65 IN NUMBER
45186 --Invoice Currency Code
45187 , p_source_66 IN VARCHAR2
45188 --Payables Encumbrance Upgrade Credit Base Amount
45189 , p_source_67 IN NUMBER
45190 --Payables Encumbrance Upgrade Debit Account
45191 , p_source_68 IN NUMBER
45192 --Payables Encumbrance Upgrade Debit Amount
45193 , p_source_69 IN NUMBER
45194 --Payables Encumbrance Upgrade Debit Base Amount
45195 , p_source_70 IN NUMBER
45196 --Payables Encumbrance Upgrade Option
45197 , p_source_71 IN VARCHAR2
45198 --Invoice Distribution Amount
45199 , p_source_72 IN NUMBER
45200 --Deferred Accounting End Date
45201 , p_source_76 IN DATE
45202 --Deferred Accounting Option
45203 , p_source_77 IN VARCHAR2
45204 --Deferred Accounting Start Date
45205 , p_source_78 IN DATE
45206 --Override Accounted Amount Indicator
45207 , p_source_79 IN VARCHAR2
45208 , p_source_79_meaning IN VARCHAR2
45209 --Invoice Supplier Identifier
45210 , p_source_80 IN NUMBER
45211 --Invoice Supplier Site Identifier
45212 , p_source_81 IN NUMBER
45213 --Third Party Type
45214 , p_source_82 IN VARCHAR2
45215 --Parent Reversal Identifier
45216 , p_source_83 IN NUMBER
45217 --Invoice Distribution Statistical Amount
45218 , p_source_84 IN NUMBER
45219 --Invoice Distribution Tax Line Identifier
45220 , p_source_85 IN NUMBER
45221 --Invoice Distribution Tax Distribution Identifier from Tax
45222 , p_source_86 IN NUMBER
45223 --Invoice Distribution Summary Tax Line Identifier
45224 , p_source_87 IN NUMBER
45225 --Payables Upgrade Credit Encumbrance Type Identifier
45226 , p_source_88 IN NUMBER
45227 --Payables Upgrade Debit Encumbrance Type Identifier
45228 , p_source_89 IN NUMBER
45229 --Business Flow Accounts Payable Application Identifier
45230 , p_source_90 IN NUMBER
45231 --Business Flow Invoice Distribution Type
45232 , p_source_91 IN VARCHAR2
45233 --Business Flow Invoice Entity Code
45234 , p_source_92 IN VARCHAR2
45238 , p_source_94 IN NUMBER
45235 --Business Flow Invoice Distribution Identifier
45236 , p_source_93 IN NUMBER
45237 --Business Flow Invoice Identifier
45239 --Deferred Recoverable Tax Option
45240 , p_source_125 IN VARCHAR2
45241 , p_source_125_meaning IN VARCHAR2
45242 --Self-Assessed Tax Flag
45243 , p_source_135 IN VARCHAR2
45244 , p_source_135_meaning IN VARCHAR2
45245 --Invoice Exchange Date
45246 , p_source_136 IN DATE
45247 --Invoice Exchange Rate
45248 , p_source_137 IN NUMBER
45249 --Invoice Exchange Rate Type
45250 , p_source_138 IN VARCHAR2
45251 )
45252 IS
45253
45254 l_component_type VARCHAR2(80);
45255 l_component_code VARCHAR2(30);
45256 l_component_type_code VARCHAR2(1);
45257 l_component_appl_id INTEGER;
45258 l_amb_context_code VARCHAR2(30);
45259 l_entity_code VARCHAR2(30);
45260 l_event_class_code VARCHAR2(30);
45261 l_ae_header_id NUMBER;
45262 l_event_type_code VARCHAR2(30);
45263 l_line_definition_code VARCHAR2(30);
45264 l_line_definition_owner_code VARCHAR2(1);
45265 --
45266 -- adr variables
45267 l_segment VARCHAR2(30);
45268 l_ccid NUMBER;
45269 l_adr_transaction_coa_id NUMBER;
45270 l_adr_accounting_coa_id NUMBER;
45271 l_adr_flexfield_segment_code VARCHAR2(30);
45272 l_adr_flex_value_set_id NUMBER;
45273 l_adr_value_type_code VARCHAR2(30);
45274 l_adr_value_combination_id NUMBER;
45275 l_adr_value_segment_code VARCHAR2(30);
45276
45277 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45278 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45279 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45280 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45281
45282 -- 4262811 Variables ------------------------------------------------------------------------------------------
45283 l_entered_amt_idx NUMBER;
45284 l_accted_amt_idx NUMBER;
45285 l_acc_rev_flag VARCHAR2(1);
45286 l_accrual_line_num NUMBER;
45287 l_tmp_amt NUMBER;
45288 l_acc_rev_natural_side_code VARCHAR2(1);
45289
45290 l_num_entries NUMBER;
45291 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45292 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45293 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45294 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45295 l_recog_line_1 NUMBER;
45296 l_recog_line_2 NUMBER;
45297
45298 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45299 l_bflow_applied_to_amt NUMBER; -- 5132302
45300 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45301
45302 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45303
45304 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45305 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45306
45307 ---------------------------------------------------------------------------------------------------------------
45308
45309
45310 --
45311 -- bulk performance
45312 --
45313 l_balance_type_code VARCHAR2(1);
45314 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45315 l_log_module VARCHAR2(240);
45316
45317 --
45318 -- Upgrade strategy
45319 --
45320 l_actual_upg_option VARCHAR2(1);
45321 l_enc_upg_option VARCHAR2(1);
45322
45323 --
45324 BEGIN
45325 --
45326 IF g_log_enabled THEN
45327 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_98';
45328 END IF;
45329 --
45330 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45331
45332 trace
45333 (p_msg => 'BEGIN of AcctLineType_98'
45334 ,p_level => C_LEVEL_PROCEDURE
45335 ,p_module => l_log_module);
45336
45337 END IF;
45338 --
45339 l_component_type := 'AMB_JLT';
45340 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAYMENT';
45341 l_component_type_code := 'S';
45342 l_component_appl_id := 200;
45343 l_amb_context_code := 'DEFAULT';
45344 l_entity_code := 'AP_INVOICES';
45345 l_event_class_code := 'PREPAYMENTS';
45346 l_event_type_code := 'PREPAYMENTS_ALL';
45347 l_line_definition_owner_code := 'S';
45348 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
45349 --
45350 l_balance_type_code := 'A';
45351 l_segment := NULL;
45352 l_ccid := NULL;
45353 l_adr_transaction_coa_id := NULL;
45354 l_adr_accounting_coa_id := NULL;
45355 l_adr_flexfield_segment_code := NULL;
45356 l_adr_flex_value_set_id := NULL;
45357 l_adr_value_type_code := NULL;
45358 l_adr_value_combination_id := NULL;
45359 l_adr_value_segment_code := NULL;
45360
45361 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
45362 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45366 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45363 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45364 l_budgetary_control_flag := 'N';
45365
45367 l_bflow_applied_to_amt := NULL; -- 5132302
45368 l_entered_amt_idx := NULL; -- 4262811
45369 l_accted_amt_idx := NULL; -- 4262811
45370 l_acc_rev_flag := NULL; -- 4262811
45371 l_accrual_line_num := NULL; -- 4262811
45372 l_tmp_amt := NULL; -- 4262811
45373 --
45374
45375 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45376 l_balance_type_code <> 'B' THEN
45377 IF NVL(p_source_33,'
45378 ') = 'REC_TAX' AND
45379 NVL(p_source_125,'
45380 ') = 'DEFERRED' AND
45381 NVL(p_source_135,'
45382 ') <> 'Y'
45383 THEN
45384
45385 --
45386 XLA_AE_LINES_PKG.SetNewLine;
45387
45388 p_balance_type_code := l_balance_type_code;
45389 -- set the flag so later we will know whether the gain loss line needs to be created
45390
45391 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45392 p_actual_flag :='A';
45393 END IF;
45394
45395 --
45396 -- bulk performance
45397 --
45398 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45399 p_header_num => 0); -- 4262811
45400 --
45401 -- set accounting line options
45402 --
45403 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45404 p_natural_side_code => 'D'
45405 , p_gain_or_loss_flag => 'N'
45406 , p_gl_transfer_mode_code => 'S'
45407 , p_acct_entry_type_code => 'A'
45408 , p_switch_side_flag => 'Y'
45409 , p_merge_duplicate_code => 'A'
45410 );
45411 --
45412 l_acc_rev_natural_side_code := 'C'; -- 4262811
45413 --
45414 --
45415 -- set accounting line type info
45416 --
45417 xla_ae_lines_pkg.SetAcctLineType
45418 (p_component_type => l_component_type
45419 ,p_event_type_code => l_event_type_code
45420 ,p_line_definition_owner_code => l_line_definition_owner_code
45421 ,p_line_definition_code => l_line_definition_code
45422 ,p_accounting_line_code => l_component_code
45423 ,p_accounting_line_type_code => l_component_type_code
45424 ,p_accounting_line_appl_id => l_component_appl_id
45425 ,p_amb_context_code => l_amb_context_code
45426 ,p_entity_code => l_entity_code
45427 ,p_event_class_code => l_event_class_code);
45428 --
45429 -- set accounting class
45430 --
45431 xla_ae_lines_pkg.SetAcctClass(
45432 p_accounting_class_code => 'DEF_REC_TAX'
45433 , p_ae_header_id => l_ae_header_id
45434 );
45435
45436 --
45437 -- set rounding class
45438 --
45439 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45440 'DEF_REC_TAX';
45441
45442 --
45443 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45444 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45445 --
45446 -- bulk performance
45447 --
45448 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45449
45450 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45451 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45452
45453 -- 4955764
45454 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45455 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45456
45457 -- 4458381 Public Sector Enh
45458
45459 --
45460 -- set accounting attributes for the line type
45461 --
45462 l_entered_amt_idx := 23;
45463 l_accted_amt_idx := 28;
45464 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45465 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45466 l_rec_acct_attrs.array_char_value(1) := p_source_52;
45467 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
45468 l_rec_acct_attrs.array_num_value(2) :=
45469 xla_ae_sources_pkg.GetSystemSourceNum(
45470 p_source_code => 'XLA_EVENT_APPL_ID'
45471 , p_source_type_code => 'Y'
45472 , p_source_application_id => 602
45473 );
45474 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
45475 l_rec_acct_attrs.array_char_value(3) := p_source_54;
45476 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
45477 l_rec_acct_attrs.array_char_value(4) :=
45478 xla_ae_sources_pkg.GetSystemSourceChar(
45479 p_source_code => 'XLA_ENTITY_CODE'
45480 , p_source_type_code => 'Y'
45481 , p_source_application_id => 602
45482 );
45483 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
45484 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
45485 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
45486 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
45487 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
45491 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
45488 l_rec_acct_attrs.array_num_value(7) := p_source_90;
45489 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45490 l_rec_acct_attrs.array_char_value(8) := p_source_91;
45492 l_rec_acct_attrs.array_char_value(9) := p_source_92;
45493 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
45494 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
45495 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45496 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
45497 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
45498 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
45499 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
45500 l_rec_acct_attrs.array_char_value(13) := p_source_54;
45501 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
45502 l_rec_acct_attrs.array_num_value(14) := p_source_64;
45503 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
45504 l_rec_acct_attrs.array_num_value(15) := p_source_65;
45505 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
45506 l_rec_acct_attrs.array_char_value(16) := p_source_66;
45507 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
45508 l_rec_acct_attrs.array_num_value(17) := p_source_67;
45509 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
45510 l_rec_acct_attrs.array_num_value(18) := p_source_68;
45511 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
45512 l_rec_acct_attrs.array_num_value(19) := p_source_69;
45513 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
45514 l_rec_acct_attrs.array_char_value(20) := p_source_66;
45515 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
45516 l_rec_acct_attrs.array_num_value(21) := p_source_70;
45517 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
45518 l_rec_acct_attrs.array_char_value(22) := p_source_71;
45519 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
45520 l_rec_acct_attrs.array_num_value(23) := p_source_72;
45521 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
45522 l_rec_acct_attrs.array_char_value(24) := p_source_66;
45523 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
45524 l_rec_acct_attrs.array_date_value(25) := p_source_136;
45525 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
45526 l_rec_acct_attrs.array_num_value(26) := p_source_137;
45527 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
45528 l_rec_acct_attrs.array_char_value(27) := p_source_138;
45529 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
45530 l_rec_acct_attrs.array_num_value(28) := p_source_21;
45531 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
45532 l_rec_acct_attrs.array_date_value(29) := p_source_76;
45533 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
45534 l_rec_acct_attrs.array_char_value(30) := p_source_77;
45535 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
45536 l_rec_acct_attrs.array_date_value(31) := p_source_78;
45537 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
45538 l_rec_acct_attrs.array_char_value(32) := p_source_79;
45539 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
45540 l_rec_acct_attrs.array_num_value(33) := p_source_80;
45541 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
45542 l_rec_acct_attrs.array_num_value(34) := p_source_81;
45543 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
45544 l_rec_acct_attrs.array_char_value(35) := p_source_82;
45545 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
45546 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
45547 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
45548 l_rec_acct_attrs.array_char_value(37) := p_source_54;
45549 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
45550 l_rec_acct_attrs.array_num_value(38) := p_source_84;
45551 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
45552 l_rec_acct_attrs.array_num_value(39) := p_source_85;
45553 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
45554 l_rec_acct_attrs.array_num_value(40) := p_source_86;
45555 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
45556 l_rec_acct_attrs.array_num_value(41) := p_source_87;
45557 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
45558 l_rec_acct_attrs.array_num_value(42) := p_source_88;
45559 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
45560 l_rec_acct_attrs.array_num_value(43) := p_source_89;
45561
45562 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45563 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45564
45565 ---------------------------------------------------------------------------------------------------------------
45566 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45567 ---------------------------------------------------------------------------------------------------------------
45568 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45569
45570 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45574 (p_source_code => 'LEDGER_CATEGORY_CODE'
45571 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45572
45573 IF xla_accounting_cache_pkg.GetValueChar
45575 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45576 AND l_bflow_method_code = 'PRIOR_ENTRY'
45577 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45578 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45579 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45580 )
45581 THEN
45582 xla_ae_lines_pkg.BflowUpgEntry
45583 (p_business_method_code => l_bflow_method_code
45584 ,p_business_class_code => l_bflow_class_code
45585 ,p_balance_type => l_balance_type_code);
45586 ELSE
45587 NULL;
45588 -- No business flow processing for business flow method of NONE.
45589 END IF;
45590
45591 --
45592 -- call analytical criteria
45593 --
45594
45595 --
45596 -- call description
45597 --
45598
45599 xla_ae_lines_pkg.SetLineDescription(
45600 p_ae_header_id => l_ae_header_id
45601 ,p_description => Description_1 (
45602 p_application_id => p_application_id
45603 , p_ae_header_id => l_ae_header_id
45604 , p_source_1 => p_source_1
45605 )
45606 );
45607
45608
45609 --
45610 -- call ADRs
45611 -- Bug 4922099
45612 --
45613 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45614 (NVL(l_actual_upg_option, 'N') = 'O') OR
45615 (NVL(l_enc_upg_option, 'N') = 'O')
45616 )
45617 THEN
45618 NULL;
45619 --
45620 --
45621
45622 l_ccid := AcctDerRule_33(
45623 p_application_id => p_application_id
45624 , p_ae_header_id => l_ae_header_id
45625 , p_source_30 => p_source_30
45626 , x_transaction_coa_id => l_adr_transaction_coa_id
45627 , x_accounting_coa_id => l_adr_accounting_coa_id
45628 , x_value_type_code => l_adr_value_type_code
45629 , p_side => 'NA'
45630 );
45631
45632 xla_ae_lines_pkg.set_ccid(
45633 p_code_combination_id => l_ccid
45634 , p_value_type_code => l_adr_value_type_code
45635 , p_transaction_coa_id => l_adr_transaction_coa_id
45636 , p_accounting_coa_id => l_adr_accounting_coa_id
45637 , p_adr_code => 'AP_INVOICE_DIST'
45638 , p_adr_type_code => 'S'
45639 , p_component_type => l_component_type
45640 , p_component_code => l_component_code
45641 , p_component_type_code => l_component_type_code
45642 , p_component_appl_id => l_component_appl_id
45643 , p_amb_context_code => l_amb_context_code
45644 , p_side => 'NA'
45645 );
45646
45647
45648 --
45649 --
45650 END IF;
45651 --
45652 -- Bug 4922099
45653 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45654 (NVL(l_enc_upg_option, 'N') = 'O')
45655 ) AND
45656 (l_bflow_method_code = 'PRIOR_ENTRY')
45657 )
45658 THEN
45659 IF
45660 --
45661 1 = 2
45662 --
45663 THEN
45664 xla_accounting_err_pkg.build_message
45665 (p_appli_s_name => 'XLA'
45666 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45667 ,p_token_1 => 'LINE_NUMBER'
45668 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45669 ,p_token_2 => 'LINE_TYPE_NAME'
45670 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45671 l_component_type
45672 ,l_component_code
45673 ,l_component_type_code
45674 ,l_component_appl_id
45675 ,l_amb_context_code
45676 ,l_entity_code
45677 ,l_event_class_code
45678 )
45679 ,p_token_3 => 'OWNER'
45680 ,p_value_3 => xla_lookups_pkg.get_meaning(
45681 p_lookup_type => 'XLA_OWNER_TYPE'
45682 ,p_lookup_code => l_component_type_code
45683 )
45684 ,p_token_4 => 'PRODUCT_NAME'
45685 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45686 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45690 );
45687 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45688 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45689 ,p_ae_header_id => NULL
45691
45692 IF (C_LEVEL_ERROR>= g_log_level) THEN
45693 trace
45694 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45695 ,p_level => C_LEVEL_ERROR
45696 ,p_module => l_log_module);
45697 END IF;
45698 END IF;
45699 END IF;
45700 --
45701 --
45702 ------------------------------------------------------------------------------------------------
45703 -- 4219869 Business Flow
45704 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45705 -- Prior Entry. Currently, the following code is always generated.
45706 ------------------------------------------------------------------------------------------------
45707 XLA_AE_LINES_PKG.ValidateCurrentLine;
45708
45709 ------------------------------------------------------------------------------------
45710 -- 4219869 Business Flow
45711 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45712 ------------------------------------------------------------------------------------
45713 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45714
45715 ----------------------------------------------------------------------------------
45716 -- 4219869 Business Flow
45717 -- Update journal entry status -- Need to generate this within IF <condition>
45718 ----------------------------------------------------------------------------------
45719 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45720 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45721 ,p_balance_type_code => l_balance_type_code
45722 );
45723
45724 -------------------------------------------------------------------------------------------
45725 -- 4262811 - Generate the Accrual Reversal lines
45726 -------------------------------------------------------------------------------------------
45727 BEGIN
45728 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45729 (g_array_event(p_event_id).array_value_num('header_index'));
45730 IF l_acc_rev_flag IS NULL THEN
45731 l_acc_rev_flag := 'N';
45732 END IF;
45733 EXCEPTION
45734 WHEN OTHERS THEN
45735 l_acc_rev_flag := 'N';
45736 END;
45737 --
45738 IF (l_acc_rev_flag = 'Y') THEN
45739
45740 -- 4645092 ------------------------------------------------------------------------------
45741 -- To allow MPA report to determine if it should generate report process
45742 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45743 ------------------------------------------------------------------------------------------
45744
45745 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45746 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45747 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45748 -- call ADRs
45749 -- Bug 4922099
45750 --
45751 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45752 (NVL(l_actual_upg_option, 'N') = 'O') OR
45753 (NVL(l_enc_upg_option, 'N') = 'O')
45754 )
45755 THEN
45756 NULL;
45757 --
45758 --
45759
45760 l_ccid := AcctDerRule_33(
45761 p_application_id => p_application_id
45762 , p_ae_header_id => l_ae_header_id
45763 , p_source_30 => p_source_30
45764 , x_transaction_coa_id => l_adr_transaction_coa_id
45765 , x_accounting_coa_id => l_adr_accounting_coa_id
45766 , x_value_type_code => l_adr_value_type_code
45767 , p_side => 'NA'
45768 );
45769
45770 xla_ae_lines_pkg.set_ccid(
45771 p_code_combination_id => l_ccid
45772 , p_value_type_code => l_adr_value_type_code
45773 , p_transaction_coa_id => l_adr_transaction_coa_id
45774 , p_accounting_coa_id => l_adr_accounting_coa_id
45775 , p_adr_code => 'AP_INVOICE_DIST'
45776 , p_adr_type_code => 'S'
45777 , p_component_type => l_component_type
45778 , p_component_code => l_component_code
45779 , p_component_type_code => l_component_type_code
45780 , p_component_appl_id => l_component_appl_id
45781 , p_amb_context_code => l_amb_context_code
45782 , p_side => 'NA'
45783 );
45784
45785
45786 --
45787 --
45788 END IF;
45789
45790 --
45791 -- Update the line information that should be overwritten
45792 --
45793 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45794 p_header_num => 1);
45795 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45796
45797 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45798
45802
45799 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45800 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45801 END IF;
45803 --
45804 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45805 --
45806 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45807 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45808 ELSE
45809 ---------------------------------------------------------------------------------------------------
45810 -- 4262811a Switch Sign
45811 ---------------------------------------------------------------------------------------------------
45812 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45813 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45814 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45815 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45816 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45817 -- 5132302
45818 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45819 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45820
45821 END IF;
45822
45823 -- 4955764
45824 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45825 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45826
45827
45828 XLA_AE_LINES_PKG.ValidateCurrentLine;
45829 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45830
45831 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45832 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45833 ,p_balance_type_code => l_balance_type_code);
45834
45835 END IF;
45836
45837 -----------------------------------------------------------------------------------------
45838 -- 4262811 Multiperiod Accounting
45839 -----------------------------------------------------------------------------------------
45840 -- No MPA option is assigned.
45841
45842
45843 END IF;
45844 END IF;
45845 --
45846
45847 --
45848 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45849 trace
45850 (p_msg => 'END of AcctLineType_98'
45851 ,p_level => C_LEVEL_PROCEDURE
45852 ,p_module => l_log_module);
45853 END IF;
45854 --
45855 EXCEPTION
45856 WHEN xla_exceptions_pkg.application_exception THEN
45857 RAISE;
45858 WHEN OTHERS THEN
45859 xla_exceptions_pkg.raise_message
45860 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_98');
45861 END AcctLineType_98;
45862 --
45863
45864 ---------------------------------------
45865 --
45866 -- PRIVATE FUNCTION
45867 -- AcctLineType_99
45868 --
45869 ---------------------------------------
45870 PROCEDURE AcctLineType_99 (
45871 p_application_id IN NUMBER
45872 ,p_event_id IN NUMBER
45873 ,p_calculate_acctd_flag IN VARCHAR2
45874 ,p_calculate_g_l_flag IN VARCHAR2
45875 ,p_actual_flag IN OUT VARCHAR2
45876 ,p_balance_type_code OUT VARCHAR2
45877 ,p_gain_or_loss_ref OUT VARCHAR2
45878
45879 --Payment Currency Code
45880 , p_source_13 IN VARCHAR2
45881 --Invoice Distribution Type
45882 , p_source_33 IN VARCHAR2
45883 , p_source_33_meaning IN VARCHAR2
45884 --Recoverable Tax Account
45885 , p_source_51 IN NUMBER
45886 --Accounting Reversal Indicator
45887 , p_source_52 IN VARCHAR2
45888 --Distribution Link Type
45889 , p_source_54 IN VARCHAR2
45890 --Override Accounted Amount Indicator
45891 , p_source_79 IN VARCHAR2
45892 , p_source_79_meaning IN VARCHAR2
45893 --Third Party Type
45894 , p_source_82 IN VARCHAR2
45895 --Business Flow Accounts Payable Application Identifier
45896 , p_source_90 IN NUMBER
45897 --When to Account for Payment Option
45898 , p_source_96 IN VARCHAR2
45899 --Payment Distribution Type
45900 , p_source_97 IN VARCHAR2
45901 , p_source_97_meaning IN VARCHAR2
45902 --Payment Distribution Amount
45903 , p_source_98 IN NUMBER
45904 --Business Flow Payment Distribution Type
45905 , p_source_99 IN VARCHAR2
45906 --Business Flow Payment Entity Code
45907 , p_source_100 IN VARCHAR2
45908 --Business Flow Payment Distribution Identifier
45909 , p_source_101 IN NUMBER
45910 --Business Flow Payment Identifier
45911 , p_source_102 IN NUMBER
45912 --Payment Distribution Identifier
45913 , p_source_103 IN NUMBER
45914 --Payment Supplier Identifier
45915 , p_source_109 IN NUMBER
45916 --Payment Supplier Site Identifier
45917 , p_source_110 IN NUMBER
45918 --Payment Distribution Reversed Identifier
45919 , p_source_111 IN NUMBER
45920 --Payment Identifier
45924 --Payment Exchange Date
45921 , p_source_112 IN NUMBER
45922 --Payment Maturity Date
45923 , p_source_114 IN DATE
45925 , p_source_117 IN DATE
45926 --Payment Exchange Rate
45927 , p_source_118 IN NUMBER
45928 --Payment Exchange Rate Type
45929 , p_source_119 IN VARCHAR2
45930 --Payment Distribution (Matured Rate) Ledger Amount
45931 , p_source_121 IN NUMBER
45932 --Deferred Recoverable Tax Option
45933 , p_source_125 IN VARCHAR2
45934 , p_source_125_meaning IN VARCHAR2
45935 )
45936 IS
45937
45938 l_component_type VARCHAR2(80);
45939 l_component_code VARCHAR2(30);
45940 l_component_type_code VARCHAR2(1);
45941 l_component_appl_id INTEGER;
45942 l_amb_context_code VARCHAR2(30);
45943 l_entity_code VARCHAR2(30);
45944 l_event_class_code VARCHAR2(30);
45945 l_ae_header_id NUMBER;
45946 l_event_type_code VARCHAR2(30);
45947 l_line_definition_code VARCHAR2(30);
45948 l_line_definition_owner_code VARCHAR2(1);
45949 --
45950 -- adr variables
45951 l_segment VARCHAR2(30);
45952 l_ccid NUMBER;
45953 l_adr_transaction_coa_id NUMBER;
45954 l_adr_accounting_coa_id NUMBER;
45955 l_adr_flexfield_segment_code VARCHAR2(30);
45956 l_adr_flex_value_set_id NUMBER;
45957 l_adr_value_type_code VARCHAR2(30);
45958 l_adr_value_combination_id NUMBER;
45959 l_adr_value_segment_code VARCHAR2(30);
45960
45961 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45962 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45963 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45964 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45965
45966 -- 4262811 Variables ------------------------------------------------------------------------------------------
45967 l_entered_amt_idx NUMBER;
45968 l_accted_amt_idx NUMBER;
45969 l_acc_rev_flag VARCHAR2(1);
45970 l_accrual_line_num NUMBER;
45971 l_tmp_amt NUMBER;
45972 l_acc_rev_natural_side_code VARCHAR2(1);
45973
45974 l_num_entries NUMBER;
45975 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45976 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45977 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45978 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45979 l_recog_line_1 NUMBER;
45980 l_recog_line_2 NUMBER;
45981
45982 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45983 l_bflow_applied_to_amt NUMBER; -- 5132302
45984 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45985
45986 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45987
45988 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45989 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45990
45991 ---------------------------------------------------------------------------------------------------------------
45992
45993
45994 --
45995 -- bulk performance
45996 --
45997 l_balance_type_code VARCHAR2(1);
45998 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45999 l_log_module VARCHAR2(240);
46000
46001 --
46002 -- Upgrade strategy
46003 --
46004 l_actual_upg_option VARCHAR2(1);
46005 l_enc_upg_option VARCHAR2(1);
46006
46007 --
46008 BEGIN
46009 --
46010 IF g_log_enabled THEN
46011 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_99';
46012 END IF;
46013 --
46014 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46015
46016 trace
46017 (p_msg => 'BEGIN of AcctLineType_99'
46018 ,p_level => C_LEVEL_PROCEDURE
46019 ,p_module => l_log_module);
46020
46021 END IF;
46022 --
46023 l_component_type := 'AMB_JLT';
46024 l_component_code := 'AP_DEF_RTAX_MAT';
46025 l_component_type_code := 'S';
46026 l_component_appl_id := 200;
46027 l_amb_context_code := 'DEFAULT';
46028 l_entity_code := 'AP_PAYMENTS';
46029 l_event_class_code := 'FUTURE DATED PAYMENTS';
46030 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
46031 l_line_definition_owner_code := 'S';
46032 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
46033 --
46034 l_balance_type_code := 'A';
46035 l_segment := NULL;
46036 l_ccid := NULL;
46037 l_adr_transaction_coa_id := NULL;
46038 l_adr_accounting_coa_id := NULL;
46039 l_adr_flexfield_segment_code := NULL;
46040 l_adr_flex_value_set_id := NULL;
46041 l_adr_value_type_code := NULL;
46042 l_adr_value_combination_id := NULL;
46043 l_adr_value_segment_code := NULL;
46044
46045 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46046 l_bflow_class_code := ''; -- 4219869 Business Flow
46047 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46048 l_budgetary_control_flag := 'N';
46049
46050 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46054 l_acc_rev_flag := NULL; -- 4262811
46051 l_bflow_applied_to_amt := NULL; -- 5132302
46052 l_entered_amt_idx := NULL; -- 4262811
46053 l_accted_amt_idx := NULL; -- 4262811
46055 l_accrual_line_num := NULL; -- 4262811
46056 l_tmp_amt := NULL; -- 4262811
46057 --
46058
46059 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46060 l_balance_type_code <> 'B' THEN
46061 IF NVL(p_source_96,'
46062 ') <> 'CLEAR_CLEAR' AND
46063 NVL(p_source_33,'
46064 ') = 'REC_TAX' AND
46065 p_source_114 IS NOT NULL AND
46066 NVL(p_source_125,'
46067 ') = 'DEFERRED' AND
46068 (NVL(p_source_97,'
46069 ') = 'DISCOUNT' OR
46070 NVL(p_source_97,'
46071 ') = 'CASH')
46072 THEN
46073
46074 --
46075 XLA_AE_LINES_PKG.SetNewLine;
46076
46077 p_balance_type_code := l_balance_type_code;
46078 -- set the flag so later we will know whether the gain loss line needs to be created
46079
46080 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46081 p_actual_flag :='A';
46082 END IF;
46083
46084 --
46085 -- bulk performance
46086 --
46087 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46088 p_header_num => 0); -- 4262811
46089 --
46090 -- set accounting line options
46091 --
46092 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46093 p_natural_side_code => 'D'
46094 , p_gain_or_loss_flag => 'N'
46095 , p_gl_transfer_mode_code => 'S'
46096 , p_acct_entry_type_code => 'A'
46097 , p_switch_side_flag => 'Y'
46098 , p_merge_duplicate_code => 'A'
46099 );
46100 --
46101 l_acc_rev_natural_side_code := 'C'; -- 4262811
46102 --
46103 --
46104 -- set accounting line type info
46105 --
46106 xla_ae_lines_pkg.SetAcctLineType
46107 (p_component_type => l_component_type
46108 ,p_event_type_code => l_event_type_code
46109 ,p_line_definition_owner_code => l_line_definition_owner_code
46110 ,p_line_definition_code => l_line_definition_code
46111 ,p_accounting_line_code => l_component_code
46112 ,p_accounting_line_type_code => l_component_type_code
46113 ,p_accounting_line_appl_id => l_component_appl_id
46114 ,p_amb_context_code => l_amb_context_code
46115 ,p_entity_code => l_entity_code
46116 ,p_event_class_code => l_event_class_code);
46117 --
46118 -- set accounting class
46119 --
46120 xla_ae_lines_pkg.SetAcctClass(
46121 p_accounting_class_code => 'DEF_REC_TAX'
46122 , p_ae_header_id => l_ae_header_id
46123 );
46124
46125 --
46126 -- set rounding class
46127 --
46128 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46129 'DEF_REC_TAX';
46130
46131 --
46132 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46133 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46134 --
46135 -- bulk performance
46136 --
46137 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46138
46139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46140 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46141
46142 -- 4955764
46143 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46144 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46145
46146 -- 4458381 Public Sector Enh
46147
46148 --
46149 -- set accounting attributes for the line type
46150 --
46151 l_entered_amt_idx := 9;
46152 l_accted_amt_idx := 14;
46153 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46154 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46155 l_rec_acct_attrs.array_char_value(1) := p_source_52;
46156 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
46157 l_rec_acct_attrs.array_num_value(2) := p_source_90;
46158 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46159 l_rec_acct_attrs.array_char_value(3) := p_source_99;
46160 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
46161 l_rec_acct_attrs.array_char_value(4) := p_source_100;
46162 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
46163 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
46164 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46165 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
46166 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
46167 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
46168 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
46169 l_rec_acct_attrs.array_char_value(8) := p_source_54;
46170 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
46171 l_rec_acct_attrs.array_num_value(9) := p_source_98;
46175 l_rec_acct_attrs.array_date_value(11) := p_source_117;
46172 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
46173 l_rec_acct_attrs.array_char_value(10) := p_source_13;
46174 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
46176 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
46177 l_rec_acct_attrs.array_num_value(12) := p_source_118;
46178 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
46179 l_rec_acct_attrs.array_char_value(13) := p_source_119;
46180 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
46181 l_rec_acct_attrs.array_num_value(14) := p_source_121;
46182 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
46183 l_rec_acct_attrs.array_char_value(15) := p_source_79;
46184 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
46185 l_rec_acct_attrs.array_num_value(16) := p_source_109;
46186 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
46187 l_rec_acct_attrs.array_num_value(17) := p_source_110;
46188 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
46189 l_rec_acct_attrs.array_char_value(18) := p_source_82;
46190 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
46191 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
46192 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
46193 l_rec_acct_attrs.array_char_value(20) := p_source_54;
46194
46195 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46196 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46197
46198 ---------------------------------------------------------------------------------------------------------------
46199 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46200 ---------------------------------------------------------------------------------------------------------------
46201 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46202
46203 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46204 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46205
46206 IF xla_accounting_cache_pkg.GetValueChar
46207 (p_source_code => 'LEDGER_CATEGORY_CODE'
46208 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46209 AND l_bflow_method_code = 'PRIOR_ENTRY'
46210 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46211 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46212 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46213 )
46214 THEN
46215 xla_ae_lines_pkg.BflowUpgEntry
46216 (p_business_method_code => l_bflow_method_code
46217 ,p_business_class_code => l_bflow_class_code
46218 ,p_balance_type => l_balance_type_code);
46219 ELSE
46220 NULL;
46221 -- No business flow processing for business flow method of NONE.
46222 END IF;
46223
46224 --
46225 -- call analytical criteria
46226 --
46227
46228
46229 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
46230 xla_ae_lines_pkg.SetAnalyticalCriteria(
46231 p_analytical_criterion_name => 'Check Id'
46232 , p_analytical_criterion_owner => 'S'
46233 , p_analytical_criterion_code => 'CHECK_ID'
46234 , p_amb_context_code => 'DEFAULT'
46235 , p_balancing_flag => 'N'
46236
46237 , p_analytical_detail_char_1 => NULL
46238 , p_analytical_detail_num_1 => p_source_112
46239 , p_analytical_detail_date_1 => NULL
46240
46241 , p_ae_header_id => l_ae_header_id
46242 )
46243 ;
46244 --
46245
46246 --
46247 -- call description
46248 --
46249 -- No description or it is inherited.
46250 --
46251 -- call ADRs
46252 -- Bug 4922099
46253 --
46254 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46255 (NVL(l_actual_upg_option, 'N') = 'O') OR
46256 (NVL(l_enc_upg_option, 'N') = 'O')
46257 )
46258 THEN
46259 NULL;
46260 --
46261 --
46262
46263 l_ccid := AcctDerRule_43(
46264 p_application_id => p_application_id
46265 , p_ae_header_id => l_ae_header_id
46266 , p_source_51 => p_source_51
46267 , x_transaction_coa_id => l_adr_transaction_coa_id
46268 , x_accounting_coa_id => l_adr_accounting_coa_id
46269 , x_value_type_code => l_adr_value_type_code
46270 , p_side => 'NA'
46271 );
46272
46273 xla_ae_lines_pkg.set_ccid(
46274 p_code_combination_id => l_ccid
46275 , p_value_type_code => l_adr_value_type_code
46276 , p_transaction_coa_id => l_adr_transaction_coa_id
46277 , p_accounting_coa_id => l_adr_accounting_coa_id
46278 , p_adr_code => 'AP_TAX_ACCOUNT'
46279 , p_adr_type_code => 'S'
46280 , p_component_type => l_component_type
46281 , p_component_code => l_component_code
46282 , p_component_type_code => l_component_type_code
46283 , p_component_appl_id => l_component_appl_id
46284 , p_amb_context_code => l_amb_context_code
46285 , p_side => 'NA'
46286 );
46287
46288
46292 --
46289 --
46290 --
46291 END IF;
46293 -- Bug 4922099
46294 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46295 (NVL(l_enc_upg_option, 'N') = 'O')
46296 ) AND
46297 (l_bflow_method_code = 'PRIOR_ENTRY')
46298 )
46299 THEN
46300 IF
46301 --
46302 1 = 2
46303 --
46304 THEN
46305 xla_accounting_err_pkg.build_message
46306 (p_appli_s_name => 'XLA'
46307 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46308 ,p_token_1 => 'LINE_NUMBER'
46309 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46310 ,p_token_2 => 'LINE_TYPE_NAME'
46311 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46312 l_component_type
46313 ,l_component_code
46314 ,l_component_type_code
46315 ,l_component_appl_id
46316 ,l_amb_context_code
46317 ,l_entity_code
46318 ,l_event_class_code
46319 )
46320 ,p_token_3 => 'OWNER'
46321 ,p_value_3 => xla_lookups_pkg.get_meaning(
46322 p_lookup_type => 'XLA_OWNER_TYPE'
46323 ,p_lookup_code => l_component_type_code
46324 )
46325 ,p_token_4 => 'PRODUCT_NAME'
46326 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46327 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46328 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46329 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46330 ,p_ae_header_id => NULL
46331 );
46332
46333 IF (C_LEVEL_ERROR>= g_log_level) THEN
46334 trace
46335 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46336 ,p_level => C_LEVEL_ERROR
46337 ,p_module => l_log_module);
46338 END IF;
46339 END IF;
46340 END IF;
46341 --
46342 --
46343 ------------------------------------------------------------------------------------------------
46344 -- 4219869 Business Flow
46345 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46346 -- Prior Entry. Currently, the following code is always generated.
46347 ------------------------------------------------------------------------------------------------
46348 XLA_AE_LINES_PKG.ValidateCurrentLine;
46349
46350 ------------------------------------------------------------------------------------
46351 -- 4219869 Business Flow
46352 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46353 ------------------------------------------------------------------------------------
46354 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46355
46356 ----------------------------------------------------------------------------------
46357 -- 4219869 Business Flow
46358 -- Update journal entry status -- Need to generate this within IF <condition>
46359 ----------------------------------------------------------------------------------
46360 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46361 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46362 ,p_balance_type_code => l_balance_type_code
46363 );
46364
46365 -------------------------------------------------------------------------------------------
46366 -- 4262811 - Generate the Accrual Reversal lines
46367 -------------------------------------------------------------------------------------------
46368 BEGIN
46369 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46370 (g_array_event(p_event_id).array_value_num('header_index'));
46371 IF l_acc_rev_flag IS NULL THEN
46372 l_acc_rev_flag := 'N';
46373 END IF;
46374 EXCEPTION
46375 WHEN OTHERS THEN
46376 l_acc_rev_flag := 'N';
46377 END;
46378 --
46379 IF (l_acc_rev_flag = 'Y') THEN
46380
46381 -- 4645092 ------------------------------------------------------------------------------
46382 -- To allow MPA report to determine if it should generate report process
46383 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46387 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46384 ------------------------------------------------------------------------------------------
46385
46386 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46388 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46389 -- call ADRs
46390 -- Bug 4922099
46391 --
46392 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46393 (NVL(l_actual_upg_option, 'N') = 'O') OR
46394 (NVL(l_enc_upg_option, 'N') = 'O')
46395 )
46396 THEN
46397 NULL;
46398 --
46399 --
46400
46401 l_ccid := AcctDerRule_43(
46402 p_application_id => p_application_id
46403 , p_ae_header_id => l_ae_header_id
46404 , p_source_51 => p_source_51
46405 , x_transaction_coa_id => l_adr_transaction_coa_id
46406 , x_accounting_coa_id => l_adr_accounting_coa_id
46407 , x_value_type_code => l_adr_value_type_code
46408 , p_side => 'NA'
46409 );
46410
46411 xla_ae_lines_pkg.set_ccid(
46412 p_code_combination_id => l_ccid
46413 , p_value_type_code => l_adr_value_type_code
46414 , p_transaction_coa_id => l_adr_transaction_coa_id
46415 , p_accounting_coa_id => l_adr_accounting_coa_id
46416 , p_adr_code => 'AP_TAX_ACCOUNT'
46417 , p_adr_type_code => 'S'
46418 , p_component_type => l_component_type
46419 , p_component_code => l_component_code
46420 , p_component_type_code => l_component_type_code
46421 , p_component_appl_id => l_component_appl_id
46422 , p_amb_context_code => l_amb_context_code
46423 , p_side => 'NA'
46424 );
46425
46426
46427 --
46428 --
46429 END IF;
46430
46431 --
46432 -- Update the line information that should be overwritten
46433 --
46434 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46435 p_header_num => 1);
46436 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46437
46438 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46439
46440 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46441 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46442 END IF;
46443
46444 --
46445 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46446 --
46447 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46448 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46449 ELSE
46450 ---------------------------------------------------------------------------------------------------
46451 -- 4262811a Switch Sign
46452 ---------------------------------------------------------------------------------------------------
46453 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46454 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46455 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46456 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46457 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46458 -- 5132302
46459 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46460 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46461
46462 END IF;
46463
46464 -- 4955764
46465 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46466 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46467
46468
46469 XLA_AE_LINES_PKG.ValidateCurrentLine;
46470 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46471
46472 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46473 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46474 ,p_balance_type_code => l_balance_type_code);
46475
46476 END IF;
46477
46478 -----------------------------------------------------------------------------------------
46479 -- 4262811 Multiperiod Accounting
46480 -----------------------------------------------------------------------------------------
46481 -- No MPA option is assigned.
46482
46483
46484 END IF;
46485 END IF;
46486 --
46487
46488 --
46489 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46490 trace
46491 (p_msg => 'END of AcctLineType_99'
46492 ,p_level => C_LEVEL_PROCEDURE
46493 ,p_module => l_log_module);
46494 END IF;
46495 --
46496 EXCEPTION
46497 WHEN xla_exceptions_pkg.application_exception THEN
46498 RAISE;
46499 WHEN OTHERS THEN
46500 xla_exceptions_pkg.raise_message
46504
46501 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_99');
46502 END AcctLineType_99;
46503 --
46505 ---------------------------------------
46506 --
46507 -- PRIVATE FUNCTION
46508 -- AcctLineType_100
46509 --
46510 ---------------------------------------
46511 PROCEDURE AcctLineType_100 (
46512 p_application_id IN NUMBER
46513 ,p_event_id IN NUMBER
46514 ,p_calculate_acctd_flag IN VARCHAR2
46515 ,p_calculate_g_l_flag IN VARCHAR2
46516 ,p_actual_flag IN OUT VARCHAR2
46517 ,p_balance_type_code OUT VARCHAR2
46518 ,p_gain_or_loss_ref OUT VARCHAR2
46519
46520 --Payment Currency Code
46521 , p_source_13 IN VARCHAR2
46522 --Invoice Distribution Type
46523 , p_source_33 IN VARCHAR2
46524 , p_source_33_meaning IN VARCHAR2
46525 --Recoverable Tax Account
46526 , p_source_51 IN NUMBER
46527 --Accounting Reversal Indicator
46528 , p_source_52 IN VARCHAR2
46529 --Distribution Link Type
46530 , p_source_54 IN VARCHAR2
46531 --Override Accounted Amount Indicator
46532 , p_source_79 IN VARCHAR2
46533 , p_source_79_meaning IN VARCHAR2
46534 --Third Party Type
46535 , p_source_82 IN VARCHAR2
46536 --Invoice Distribution Tax Line Identifier
46537 , p_source_85 IN NUMBER
46538 --Invoice Distribution Tax Distribution Identifier from Tax
46539 , p_source_86 IN NUMBER
46540 --Invoice Distribution Summary Tax Line Identifier
46541 , p_source_87 IN NUMBER
46542 --Business Flow Accounts Payable Application Identifier
46543 , p_source_90 IN NUMBER
46544 --Business Flow Invoice Distribution Type
46545 , p_source_91 IN VARCHAR2
46546 --Business Flow Invoice Entity Code
46547 , p_source_92 IN VARCHAR2
46548 --Business Flow Invoice Distribution Identifier
46549 , p_source_93 IN NUMBER
46550 --Business Flow Invoice Identifier
46551 , p_source_94 IN NUMBER
46552 --When to Account for Payment Option
46553 , p_source_96 IN VARCHAR2
46554 --Payment Distribution Type
46555 , p_source_97 IN VARCHAR2
46556 , p_source_97_meaning IN VARCHAR2
46557 --Payment Distribution Amount
46558 , p_source_98 IN NUMBER
46559 --Payment Distribution Identifier
46560 , p_source_103 IN NUMBER
46561 --Payment Supplier Identifier
46562 , p_source_109 IN NUMBER
46563 --Payment Supplier Site Identifier
46564 , p_source_110 IN NUMBER
46565 --Payment Distribution Reversed Identifier
46566 , p_source_111 IN NUMBER
46567 --Payment Identifier
46568 , p_source_112 IN NUMBER
46569 --Payment Maturity Date
46570 , p_source_114 IN DATE
46571 --Payment Distribution (Invoice Rate) Ledger Amount
46572 , p_source_116 IN NUMBER
46573 --Payment Type
46574 , p_source_122 IN VARCHAR2
46575 , p_source_122_meaning IN VARCHAR2
46576 --Payment Processing Type
46577 , p_source_123 IN VARCHAR2
46578 --Invoice Distribution Amount of the Payment Distribution
46579 , p_source_124 IN NUMBER
46580 --Deferred Recoverable Tax Option
46581 , p_source_125 IN VARCHAR2
46582 , p_source_125_meaning IN VARCHAR2
46583 --AWT Related Distribution Type Lookup code
46584 , p_source_126 IN VARCHAR2
46585 --Invoice Exchange Date
46586 , p_source_136 IN DATE
46587 --Invoice Exchange Rate
46588 , p_source_137 IN NUMBER
46589 --Invoice Exchange Rate Type
46590 , p_source_138 IN VARCHAR2
46591 )
46592 IS
46593
46594 l_component_type VARCHAR2(80);
46595 l_component_code VARCHAR2(30);
46596 l_component_type_code VARCHAR2(1);
46597 l_component_appl_id INTEGER;
46598 l_amb_context_code VARCHAR2(30);
46599 l_entity_code VARCHAR2(30);
46600 l_event_class_code VARCHAR2(30);
46601 l_ae_header_id NUMBER;
46602 l_event_type_code VARCHAR2(30);
46603 l_line_definition_code VARCHAR2(30);
46604 l_line_definition_owner_code VARCHAR2(1);
46605 --
46606 -- adr variables
46607 l_segment VARCHAR2(30);
46608 l_ccid NUMBER;
46609 l_adr_transaction_coa_id NUMBER;
46610 l_adr_accounting_coa_id NUMBER;
46611 l_adr_flexfield_segment_code VARCHAR2(30);
46612 l_adr_flex_value_set_id NUMBER;
46613 l_adr_value_type_code VARCHAR2(30);
46614 l_adr_value_combination_id NUMBER;
46615 l_adr_value_segment_code VARCHAR2(30);
46616
46617 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46618 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46619 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46620 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46621
46622 -- 4262811 Variables ------------------------------------------------------------------------------------------
46623 l_entered_amt_idx NUMBER;
46624 l_accted_amt_idx NUMBER;
46625 l_acc_rev_flag VARCHAR2(1);
46626 l_accrual_line_num NUMBER;
46627 l_tmp_amt NUMBER;
46628 l_acc_rev_natural_side_code VARCHAR2(1);
46629
46630 l_num_entries NUMBER;
46634 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46631 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46632 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46633 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46635 l_recog_line_1 NUMBER;
46636 l_recog_line_2 NUMBER;
46637
46638 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46639 l_bflow_applied_to_amt NUMBER; -- 5132302
46640 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46641
46642 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46643
46644 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46645 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46646
46647 ---------------------------------------------------------------------------------------------------------------
46648
46649
46650 --
46651 -- bulk performance
46652 --
46653 l_balance_type_code VARCHAR2(1);
46654 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46655 l_log_module VARCHAR2(240);
46656
46657 --
46658 -- Upgrade strategy
46659 --
46660 l_actual_upg_option VARCHAR2(1);
46661 l_enc_upg_option VARCHAR2(1);
46662
46663 --
46664 BEGIN
46665 --
46666 IF g_log_enabled THEN
46667 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_100';
46668 END IF;
46669 --
46670 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46671
46672 trace
46673 (p_msg => 'BEGIN of AcctLineType_100'
46674 ,p_level => C_LEVEL_PROCEDURE
46675 ,p_module => l_log_module);
46676
46677 END IF;
46678 --
46679 l_component_type := 'AMB_JLT';
46680 l_component_code := 'AP_DEF_RTAX_PMT';
46681 l_component_type_code := 'S';
46682 l_component_appl_id := 200;
46683 l_amb_context_code := 'DEFAULT';
46684 l_entity_code := 'AP_PAYMENTS';
46685 l_event_class_code := 'PAYMENTS';
46686 l_event_type_code := 'PAYMENTS_ALL';
46687 l_line_definition_owner_code := 'S';
46688 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
46689 --
46690 l_balance_type_code := 'A';
46691 l_segment := NULL;
46692 l_ccid := NULL;
46693 l_adr_transaction_coa_id := NULL;
46694 l_adr_accounting_coa_id := NULL;
46695 l_adr_flexfield_segment_code := NULL;
46696 l_adr_flex_value_set_id := NULL;
46697 l_adr_value_type_code := NULL;
46698 l_adr_value_combination_id := NULL;
46699 l_adr_value_segment_code := NULL;
46700
46701 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46702 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
46703 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46704 l_budgetary_control_flag := 'N';
46705
46706 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46707 l_bflow_applied_to_amt := NULL; -- 5132302
46708 l_entered_amt_idx := NULL; -- 4262811
46709 l_accted_amt_idx := NULL; -- 4262811
46710 l_acc_rev_flag := NULL; -- 4262811
46711 l_accrual_line_num := NULL; -- 4262811
46712 l_tmp_amt := NULL; -- 4262811
46713 --
46714
46715 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46716 l_balance_type_code <> 'B' THEN
46717 IF NVL(p_source_96,'
46718 ') <> 'CLEAR_CLEAR' AND
46719 ((NVL(p_source_33,'
46720 ') = 'REC_TAX' AND
46721 NVL(p_source_125,'
46722 ') = 'DEFERRED') OR
46723 (NVL(p_source_33,'
46724 ') = 'AWT' AND
46725 NVL(p_source_126,'
46726 ') = 'AWT_DEFERRED')
46727 ) AND (NVL(p_source_97,'
46728 ') = 'CASH' OR
46729 NVL(p_source_97,'
46730 ') = 'AWT' OR
46731 NVL(p_source_97,'
46732 ') = 'DISCOUNT') AND
46733 p_source_114 IS NULL AND
46734 NVL(p_source_122,'
46735 ') <> 'R' AND
46736 NVL(p_source_123,'
46737 ') <> 'PAYMENTCARD'
46738 THEN
46739
46740 --
46741 XLA_AE_LINES_PKG.SetNewLine;
46742
46743 p_balance_type_code := l_balance_type_code;
46744 -- set the flag so later we will know whether the gain loss line needs to be created
46745
46746 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46747 p_actual_flag :='A';
46748 END IF;
46749
46750 --
46751 -- bulk performance
46752 --
46753 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46754 p_header_num => 0); -- 4262811
46755 --
46756 -- set accounting line options
46757 --
46758 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46759 p_natural_side_code => 'D'
46760 , p_gain_or_loss_flag => 'N'
46761 , p_gl_transfer_mode_code => 'S'
46762 , p_acct_entry_type_code => 'A'
46763 , p_switch_side_flag => 'Y'
46764 , p_merge_duplicate_code => 'A'
46765 );
46766 --
46767 l_acc_rev_natural_side_code := 'C'; -- 4262811
46768 --
46769 --
46770 -- set accounting line type info
46771 --
46775 ,p_line_definition_owner_code => l_line_definition_owner_code
46772 xla_ae_lines_pkg.SetAcctLineType
46773 (p_component_type => l_component_type
46774 ,p_event_type_code => l_event_type_code
46776 ,p_line_definition_code => l_line_definition_code
46777 ,p_accounting_line_code => l_component_code
46778 ,p_accounting_line_type_code => l_component_type_code
46779 ,p_accounting_line_appl_id => l_component_appl_id
46780 ,p_amb_context_code => l_amb_context_code
46781 ,p_entity_code => l_entity_code
46782 ,p_event_class_code => l_event_class_code);
46783 --
46784 -- set accounting class
46785 --
46786 xla_ae_lines_pkg.SetAcctClass(
46787 p_accounting_class_code => 'DEF_REC_TAX'
46788 , p_ae_header_id => l_ae_header_id
46789 );
46790
46791 --
46792 -- set rounding class
46793 --
46794 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46795 'DEF_REC_TAX';
46796
46797 --
46798 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46799 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46800 --
46801 -- bulk performance
46802 --
46803 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46804
46805 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46806 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46807
46808 -- 4955764
46809 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46810 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46811
46812 -- 4458381 Public Sector Enh
46813
46814 --
46815 -- set accounting attributes for the line type
46816 --
46817 l_entered_amt_idx := 10;
46818 l_accted_amt_idx := 15;
46819 l_bflow_applied_to_amt_idx := 2; -- 5132302
46820 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46821 l_rec_acct_attrs.array_char_value(1) := p_source_52;
46822 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
46823 l_rec_acct_attrs.array_num_value(2) := p_source_124;
46824 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
46825 l_rec_acct_attrs.array_num_value(3) := p_source_90;
46826 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46827 l_rec_acct_attrs.array_char_value(4) := p_source_91;
46828 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
46829 l_rec_acct_attrs.array_char_value(5) := p_source_92;
46830 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
46831 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
46832 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46833 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
46834 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
46835 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
46836 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
46837 l_rec_acct_attrs.array_char_value(9) := p_source_54;
46838 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
46839 l_rec_acct_attrs.array_num_value(10) := p_source_98;
46840 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
46841 l_rec_acct_attrs.array_char_value(11) := p_source_13;
46842 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
46843 l_rec_acct_attrs.array_date_value(12) := p_source_136;
46844 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
46845 l_rec_acct_attrs.array_num_value(13) := p_source_137;
46846 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
46847 l_rec_acct_attrs.array_char_value(14) := p_source_138;
46848 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
46849 l_rec_acct_attrs.array_num_value(15) := p_source_116;
46850 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
46851 l_rec_acct_attrs.array_char_value(16) := p_source_79;
46852 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
46853 l_rec_acct_attrs.array_num_value(17) := p_source_109;
46854 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
46855 l_rec_acct_attrs.array_num_value(18) := p_source_110;
46856 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
46857 l_rec_acct_attrs.array_char_value(19) := p_source_82;
46858 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
46859 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
46860 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
46861 l_rec_acct_attrs.array_char_value(21) := p_source_54;
46862 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
46863 l_rec_acct_attrs.array_num_value(22) := p_source_85;
46864 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
46865 l_rec_acct_attrs.array_num_value(23) := p_source_86;
46866 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
46867 l_rec_acct_attrs.array_num_value(24) := p_source_87;
46868
46869 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46870 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46871
46875 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46872 ---------------------------------------------------------------------------------------------------------------
46873 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46874 ---------------------------------------------------------------------------------------------------------------
46876
46877 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46878 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46879
46880 IF xla_accounting_cache_pkg.GetValueChar
46881 (p_source_code => 'LEDGER_CATEGORY_CODE'
46882 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46883 AND l_bflow_method_code = 'PRIOR_ENTRY'
46884 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46885 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46886 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46887 )
46888 THEN
46889 xla_ae_lines_pkg.BflowUpgEntry
46890 (p_business_method_code => l_bflow_method_code
46891 ,p_business_class_code => l_bflow_class_code
46892 ,p_balance_type => l_balance_type_code);
46893 ELSE
46894 NULL;
46895 -- No business flow processing for business flow method of NONE.
46896 END IF;
46897
46898 --
46899 -- call analytical criteria
46900 --
46901
46902
46903 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
46904 xla_ae_lines_pkg.SetAnalyticalCriteria(
46905 p_analytical_criterion_name => 'Check Id'
46906 , p_analytical_criterion_owner => 'S'
46907 , p_analytical_criterion_code => 'CHECK_ID'
46908 , p_amb_context_code => 'DEFAULT'
46909 , p_balancing_flag => 'N'
46910
46911 , p_analytical_detail_char_1 => NULL
46912 , p_analytical_detail_num_1 => p_source_112
46913 , p_analytical_detail_date_1 => NULL
46914
46915 , p_ae_header_id => l_ae_header_id
46916 )
46917 ;
46918 --
46919
46920 --
46921 -- call description
46922 --
46923 -- No description or it is inherited.
46924 --
46925 -- call ADRs
46926 -- Bug 4922099
46927 --
46928 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46929 (NVL(l_actual_upg_option, 'N') = 'O') OR
46930 (NVL(l_enc_upg_option, 'N') = 'O')
46931 )
46932 THEN
46933 NULL;
46934 --
46935 --
46936
46937 l_ccid := AcctDerRule_43(
46938 p_application_id => p_application_id
46939 , p_ae_header_id => l_ae_header_id
46940 , p_source_51 => p_source_51
46941 , x_transaction_coa_id => l_adr_transaction_coa_id
46942 , x_accounting_coa_id => l_adr_accounting_coa_id
46943 , x_value_type_code => l_adr_value_type_code
46944 , p_side => 'NA'
46945 );
46946
46947 xla_ae_lines_pkg.set_ccid(
46948 p_code_combination_id => l_ccid
46949 , p_value_type_code => l_adr_value_type_code
46950 , p_transaction_coa_id => l_adr_transaction_coa_id
46951 , p_accounting_coa_id => l_adr_accounting_coa_id
46952 , p_adr_code => 'AP_TAX_ACCOUNT'
46953 , p_adr_type_code => 'S'
46954 , p_component_type => l_component_type
46955 , p_component_code => l_component_code
46956 , p_component_type_code => l_component_type_code
46957 , p_component_appl_id => l_component_appl_id
46958 , p_amb_context_code => l_amb_context_code
46959 , p_side => 'NA'
46960 );
46961
46962
46963 --
46964 --
46965 END IF;
46966 --
46967 -- Bug 4922099
46968 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46969 (NVL(l_enc_upg_option, 'N') = 'O')
46970 ) AND
46971 (l_bflow_method_code = 'PRIOR_ENTRY')
46972 )
46973 THEN
46974 IF
46975 --
46976 1 = 2
46977 --
46978 THEN
46979 xla_accounting_err_pkg.build_message
46980 (p_appli_s_name => 'XLA'
46981 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46982 ,p_token_1 => 'LINE_NUMBER'
46983 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46984 ,p_token_2 => 'LINE_TYPE_NAME'
46985 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46986 l_component_type
46987 ,l_component_code
46988 ,l_component_type_code
46989 ,l_component_appl_id
46990 ,l_amb_context_code
46991 ,l_entity_code
46995 ,p_value_3 => xla_lookups_pkg.get_meaning(
46992 ,l_event_class_code
46993 )
46994 ,p_token_3 => 'OWNER'
46996 p_lookup_type => 'XLA_OWNER_TYPE'
46997 ,p_lookup_code => l_component_type_code
46998 )
46999 ,p_token_4 => 'PRODUCT_NAME'
47000 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47001 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47002 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47003 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47004 ,p_ae_header_id => NULL
47005 );
47006
47007 IF (C_LEVEL_ERROR>= g_log_level) THEN
47008 trace
47009 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47010 ,p_level => C_LEVEL_ERROR
47011 ,p_module => l_log_module);
47012 END IF;
47013 END IF;
47014 END IF;
47015 --
47016 --
47017 ------------------------------------------------------------------------------------------------
47018 -- 4219869 Business Flow
47019 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47020 -- Prior Entry. Currently, the following code is always generated.
47021 ------------------------------------------------------------------------------------------------
47022 XLA_AE_LINES_PKG.ValidateCurrentLine;
47023
47024 ------------------------------------------------------------------------------------
47025 -- 4219869 Business Flow
47026 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47027 ------------------------------------------------------------------------------------
47028 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47029
47030 ----------------------------------------------------------------------------------
47031 -- 4219869 Business Flow
47032 -- Update journal entry status -- Need to generate this within IF <condition>
47033 ----------------------------------------------------------------------------------
47034 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47035 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47036 ,p_balance_type_code => l_balance_type_code
47037 );
47038
47039 -------------------------------------------------------------------------------------------
47040 -- 4262811 - Generate the Accrual Reversal lines
47041 -------------------------------------------------------------------------------------------
47042 BEGIN
47043 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47044 (g_array_event(p_event_id).array_value_num('header_index'));
47045 IF l_acc_rev_flag IS NULL THEN
47046 l_acc_rev_flag := 'N';
47047 END IF;
47048 EXCEPTION
47049 WHEN OTHERS THEN
47050 l_acc_rev_flag := 'N';
47051 END;
47052 --
47053 IF (l_acc_rev_flag = 'Y') THEN
47054
47055 -- 4645092 ------------------------------------------------------------------------------
47056 -- To allow MPA report to determine if it should generate report process
47057 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47058 ------------------------------------------------------------------------------------------
47059
47060 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47061 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47062 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47063 -- call ADRs
47064 -- Bug 4922099
47065 --
47066 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47067 (NVL(l_actual_upg_option, 'N') = 'O') OR
47068 (NVL(l_enc_upg_option, 'N') = 'O')
47069 )
47070 THEN
47071 NULL;
47072 --
47073 --
47074
47075 l_ccid := AcctDerRule_43(
47076 p_application_id => p_application_id
47077 , p_ae_header_id => l_ae_header_id
47078 , p_source_51 => p_source_51
47079 , x_transaction_coa_id => l_adr_transaction_coa_id
47080 , x_accounting_coa_id => l_adr_accounting_coa_id
47081 , x_value_type_code => l_adr_value_type_code
47082 , p_side => 'NA'
47083 );
47084
47085 xla_ae_lines_pkg.set_ccid(
47086 p_code_combination_id => l_ccid
47087 , p_value_type_code => l_adr_value_type_code
47088 , p_transaction_coa_id => l_adr_transaction_coa_id
47089 , p_accounting_coa_id => l_adr_accounting_coa_id
47090 , p_adr_code => 'AP_TAX_ACCOUNT'
47091 , p_adr_type_code => 'S'
47092 , p_component_type => l_component_type
47096 , p_amb_context_code => l_amb_context_code
47093 , p_component_code => l_component_code
47094 , p_component_type_code => l_component_type_code
47095 , p_component_appl_id => l_component_appl_id
47097 , p_side => 'NA'
47098 );
47099
47100
47101 --
47102 --
47103 END IF;
47104
47105 --
47106 -- Update the line information that should be overwritten
47107 --
47108 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47109 p_header_num => 1);
47110 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47111
47112 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47113
47114 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47115 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47116 END IF;
47117
47118 --
47119 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47120 --
47121 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47122 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47123 ELSE
47124 ---------------------------------------------------------------------------------------------------
47125 -- 4262811a Switch Sign
47126 ---------------------------------------------------------------------------------------------------
47127 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47128 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47129 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47130 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47131 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47132 -- 5132302
47133 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47134 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47135
47136 END IF;
47137
47138 -- 4955764
47139 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47140 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47141
47142
47143 XLA_AE_LINES_PKG.ValidateCurrentLine;
47144 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47145
47146 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47147 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47148 ,p_balance_type_code => l_balance_type_code);
47149
47150 END IF;
47151
47152 -----------------------------------------------------------------------------------------
47153 -- 4262811 Multiperiod Accounting
47154 -----------------------------------------------------------------------------------------
47155 -- No MPA option is assigned.
47156
47157
47158 END IF;
47159 END IF;
47160 --
47161
47162 --
47163 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47164 trace
47165 (p_msg => 'END of AcctLineType_100'
47166 ,p_level => C_LEVEL_PROCEDURE
47167 ,p_module => l_log_module);
47168 END IF;
47169 --
47170 EXCEPTION
47171 WHEN xla_exceptions_pkg.application_exception THEN
47172 RAISE;
47173 WHEN OTHERS THEN
47174 xla_exceptions_pkg.raise_message
47175 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_100');
47176 END AcctLineType_100;
47177 --
47178
47179 ---------------------------------------
47180 --
47181 -- PRIVATE FUNCTION
47182 -- AcctLineType_101
47183 --
47184 ---------------------------------------
47185 PROCEDURE AcctLineType_101 (
47186 p_application_id IN NUMBER
47187 ,p_event_id IN NUMBER
47188 ,p_calculate_acctd_flag IN VARCHAR2
47189 ,p_calculate_g_l_flag IN VARCHAR2
47190 ,p_actual_flag IN OUT VARCHAR2
47191 ,p_balance_type_code OUT VARCHAR2
47192 ,p_gain_or_loss_ref OUT VARCHAR2
47193
47194 --Recoverable Tax Account
47195 , p_source_51 IN NUMBER
47196 --Accounting Reversal Indicator
47197 , p_source_52 IN VARCHAR2
47198 --Distribution Link Type
47199 , p_source_54 IN VARCHAR2
47200 --Invoice Identifier
47201 , p_source_57 IN NUMBER
47202 --Payables Encumbrance Upgrade Credit Account
47203 , p_source_64 IN NUMBER
47204 --Payables Encumbrance Upgrade Credit Amount
47205 , p_source_65 IN NUMBER
47206 --Invoice Currency Code
47207 , p_source_66 IN VARCHAR2
47208 --Payables Encumbrance Upgrade Credit Base Amount
47209 , p_source_67 IN NUMBER
47210 --Payables Encumbrance Upgrade Debit Account
47211 , p_source_68 IN NUMBER
47212 --Payables Encumbrance Upgrade Debit Amount
47213 , p_source_69 IN NUMBER
47217 , p_source_71 IN VARCHAR2
47214 --Payables Encumbrance Upgrade Debit Base Amount
47215 , p_source_70 IN NUMBER
47216 --Payables Encumbrance Upgrade Option
47218 --Deferred Accounting End Date
47219 , p_source_76 IN DATE
47220 --Deferred Accounting Option
47221 , p_source_77 IN VARCHAR2
47222 --Deferred Accounting Start Date
47223 , p_source_78 IN DATE
47224 --Override Accounted Amount Indicator
47225 , p_source_79 IN VARCHAR2
47226 , p_source_79_meaning IN VARCHAR2
47227 --Invoice Supplier Identifier
47228 , p_source_80 IN NUMBER
47229 --Invoice Supplier Site Identifier
47230 , p_source_81 IN NUMBER
47231 --Third Party Type
47232 , p_source_82 IN VARCHAR2
47233 --Invoice Distribution Tax Line Identifier
47234 , p_source_85 IN NUMBER
47235 --Invoice Distribution Tax Distribution Identifier from Tax
47236 , p_source_86 IN NUMBER
47237 --Invoice Distribution Summary Tax Line Identifier
47238 , p_source_87 IN NUMBER
47239 --Payables Upgrade Credit Encumbrance Type Identifier
47240 , p_source_88 IN NUMBER
47241 --Payables Upgrade Debit Encumbrance Type Identifier
47242 , p_source_89 IN NUMBER
47243 --Business Flow Accounts Payable Application Identifier
47244 , p_source_90 IN NUMBER
47245 --Deferred Recoverable Tax Option
47246 , p_source_125 IN VARCHAR2
47247 , p_source_125_meaning IN VARCHAR2
47248 --Prepayment Application Distribution Identifier
47249 , p_source_127 IN NUMBER
47250 --Upgrade Encumbrance Credit Account Class
47251 , p_source_130 IN VARCHAR2
47252 --Upgrade Encumbrance Debit Account Class
47253 , p_source_131 IN VARCHAR2
47254 --Prepayment Distribution Amount
47255 , p_source_132 IN NUMBER
47256 --Prepayment Distribution (Invoice Rate) Ledger Amount
47257 , p_source_133 IN NUMBER
47258 --Identifier of the Prepayment Application Reversed
47259 , p_source_134 IN NUMBER
47260 --Invoice Exchange Date
47261 , p_source_136 IN DATE
47262 --Invoice Exchange Rate
47263 , p_source_137 IN NUMBER
47264 --Invoice Exchange Rate Type
47265 , p_source_138 IN VARCHAR2
47266 --Business Flow Prepayment Invoice Distribution Type
47267 , p_source_139 IN VARCHAR2
47268 --Business Flow Prepayment Invoice Entity Code
47269 , p_source_140 IN VARCHAR2
47270 --Business Flow Prepayment Invoice Distribution Identifier
47271 , p_source_141 IN NUMBER
47272 --Business Flow Prepayment Invoice Identifier
47273 , p_source_142 IN NUMBER
47274 )
47275 IS
47276
47277 l_component_type VARCHAR2(80);
47278 l_component_code VARCHAR2(30);
47279 l_component_type_code VARCHAR2(1);
47280 l_component_appl_id INTEGER;
47281 l_amb_context_code VARCHAR2(30);
47282 l_entity_code VARCHAR2(30);
47283 l_event_class_code VARCHAR2(30);
47284 l_ae_header_id NUMBER;
47285 l_event_type_code VARCHAR2(30);
47286 l_line_definition_code VARCHAR2(30);
47287 l_line_definition_owner_code VARCHAR2(1);
47288 --
47289 -- adr variables
47290 l_segment VARCHAR2(30);
47291 l_ccid NUMBER;
47292 l_adr_transaction_coa_id NUMBER;
47293 l_adr_accounting_coa_id NUMBER;
47294 l_adr_flexfield_segment_code VARCHAR2(30);
47295 l_adr_flex_value_set_id NUMBER;
47296 l_adr_value_type_code VARCHAR2(30);
47297 l_adr_value_combination_id NUMBER;
47298 l_adr_value_segment_code VARCHAR2(30);
47299
47300 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47301 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47302 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47303 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47304
47305 -- 4262811 Variables ------------------------------------------------------------------------------------------
47306 l_entered_amt_idx NUMBER;
47307 l_accted_amt_idx NUMBER;
47308 l_acc_rev_flag VARCHAR2(1);
47309 l_accrual_line_num NUMBER;
47310 l_tmp_amt NUMBER;
47311 l_acc_rev_natural_side_code VARCHAR2(1);
47312
47313 l_num_entries NUMBER;
47314 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47315 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47316 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47317 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47318 l_recog_line_1 NUMBER;
47319 l_recog_line_2 NUMBER;
47320
47321 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47322 l_bflow_applied_to_amt NUMBER; -- 5132302
47323 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47324
47325 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47326
47327 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47328 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47329
47330 ---------------------------------------------------------------------------------------------------------------
47331
47332
47333 --
47334 -- bulk performance
47335 --
47339
47336 l_balance_type_code VARCHAR2(1);
47337 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47338 l_log_module VARCHAR2(240);
47340 --
47341 -- Upgrade strategy
47342 --
47343 l_actual_upg_option VARCHAR2(1);
47344 l_enc_upg_option VARCHAR2(1);
47345
47346 --
47347 BEGIN
47348 --
47349 IF g_log_enabled THEN
47350 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_101';
47351 END IF;
47352 --
47353 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47354
47355 trace
47356 (p_msg => 'BEGIN of AcctLineType_101'
47357 ,p_level => C_LEVEL_PROCEDURE
47358 ,p_module => l_log_module);
47359
47360 END IF;
47361 --
47362 l_component_type := 'AMB_JLT';
47363 l_component_code := 'AP_DEF_RTAX_PREPAY';
47364 l_component_type_code := 'S';
47365 l_component_appl_id := 200;
47366 l_amb_context_code := 'DEFAULT';
47367 l_entity_code := 'AP_INVOICES';
47368 l_event_class_code := 'PREPAYMENT APPLICATIONS';
47369 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
47370 l_line_definition_owner_code := 'S';
47371 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
47372 --
47373 l_balance_type_code := 'A';
47374 l_segment := NULL;
47375 l_ccid := NULL;
47376 l_adr_transaction_coa_id := NULL;
47377 l_adr_accounting_coa_id := NULL;
47378 l_adr_flexfield_segment_code := NULL;
47379 l_adr_flex_value_set_id := NULL;
47380 l_adr_value_type_code := NULL;
47381 l_adr_value_combination_id := NULL;
47382 l_adr_value_segment_code := NULL;
47383
47384 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47385 l_bflow_class_code := ''; -- 4219869 Business Flow
47386 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47387 l_budgetary_control_flag := 'N';
47388
47389 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47390 l_bflow_applied_to_amt := NULL; -- 5132302
47391 l_entered_amt_idx := NULL; -- 4262811
47392 l_accted_amt_idx := NULL; -- 4262811
47393 l_acc_rev_flag := NULL; -- 4262811
47394 l_accrual_line_num := NULL; -- 4262811
47395 l_tmp_amt := NULL; -- 4262811
47396 --
47397
47398 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47399 l_balance_type_code <> 'B' THEN
47400 IF NVL(p_source_125,'
47401 ') = 'DEFERRED'
47402 THEN
47403
47404 --
47405 XLA_AE_LINES_PKG.SetNewLine;
47406
47407 p_balance_type_code := l_balance_type_code;
47408 -- set the flag so later we will know whether the gain loss line needs to be created
47409
47410 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47411 p_actual_flag :='A';
47412 END IF;
47413
47414 --
47415 -- bulk performance
47416 --
47417 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47418 p_header_num => 0); -- 4262811
47419 --
47420 -- set accounting line options
47421 --
47422 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47423 p_natural_side_code => 'C'
47424 , p_gain_or_loss_flag => 'N'
47425 , p_gl_transfer_mode_code => 'S'
47426 , p_acct_entry_type_code => 'A'
47427 , p_switch_side_flag => 'Y'
47428 , p_merge_duplicate_code => 'A'
47429 );
47430 --
47431 l_acc_rev_natural_side_code := 'D'; -- 4262811
47432 --
47433 --
47434 -- set accounting line type info
47435 --
47436 xla_ae_lines_pkg.SetAcctLineType
47437 (p_component_type => l_component_type
47438 ,p_event_type_code => l_event_type_code
47439 ,p_line_definition_owner_code => l_line_definition_owner_code
47440 ,p_line_definition_code => l_line_definition_code
47441 ,p_accounting_line_code => l_component_code
47442 ,p_accounting_line_type_code => l_component_type_code
47443 ,p_accounting_line_appl_id => l_component_appl_id
47444 ,p_amb_context_code => l_amb_context_code
47445 ,p_entity_code => l_entity_code
47446 ,p_event_class_code => l_event_class_code);
47447 --
47448 -- set accounting class
47449 --
47450 xla_ae_lines_pkg.SetAcctClass(
47451 p_accounting_class_code => 'DEF_REC_TAX'
47452 , p_ae_header_id => l_ae_header_id
47453 );
47454
47455 --
47456 -- set rounding class
47457 --
47458 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47459 'DEF_REC_TAX';
47460
47461 --
47462 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47463 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47464 --
47465 -- bulk performance
47466 --
47467 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47468
47472 -- 4955764
47469 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47470 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47471
47473 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47474 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47475
47476 -- 4458381 Public Sector Enh
47477
47478 --
47479 -- set accounting attributes for the line type
47480 --
47481 l_entered_amt_idx := 25;
47482 l_accted_amt_idx := 30;
47483 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47484 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47485 l_rec_acct_attrs.array_char_value(1) := p_source_52;
47486 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
47487 l_rec_acct_attrs.array_num_value(2) :=
47488 xla_ae_sources_pkg.GetSystemSourceNum(
47489 p_source_code => 'XLA_EVENT_APPL_ID'
47490 , p_source_type_code => 'Y'
47491 , p_source_application_id => 602
47492 );
47493 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
47494 l_rec_acct_attrs.array_char_value(3) := p_source_54;
47495 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
47496 l_rec_acct_attrs.array_char_value(4) :=
47497 xla_ae_sources_pkg.GetSystemSourceChar(
47498 p_source_code => 'XLA_ENTITY_CODE'
47499 , p_source_type_code => 'Y'
47500 , p_source_application_id => 602
47501 );
47502 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
47503 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
47504 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
47505 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
47506 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
47507 l_rec_acct_attrs.array_num_value(7) := p_source_90;
47508 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47509 l_rec_acct_attrs.array_char_value(8) := p_source_139;
47510 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
47511 l_rec_acct_attrs.array_char_value(9) := p_source_140;
47512 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
47513 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
47514 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47515 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
47516 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
47517 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
47518 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
47519 l_rec_acct_attrs.array_char_value(13) := p_source_54;
47520 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
47521 l_rec_acct_attrs.array_char_value(14) := p_source_130;
47522 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
47523 l_rec_acct_attrs.array_num_value(15) := p_source_64;
47524 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
47525 l_rec_acct_attrs.array_num_value(16) := p_source_65;
47526 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
47527 l_rec_acct_attrs.array_char_value(17) := p_source_66;
47528 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
47529 l_rec_acct_attrs.array_num_value(18) := p_source_67;
47530 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
47531 l_rec_acct_attrs.array_char_value(19) := p_source_131;
47532 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
47533 l_rec_acct_attrs.array_num_value(20) := p_source_68;
47534 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
47535 l_rec_acct_attrs.array_num_value(21) := p_source_69;
47536 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
47537 l_rec_acct_attrs.array_char_value(22) := p_source_66;
47538 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
47539 l_rec_acct_attrs.array_num_value(23) := p_source_70;
47540 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
47541 l_rec_acct_attrs.array_char_value(24) := p_source_71;
47542 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
47543 l_rec_acct_attrs.array_num_value(25) := p_source_132;
47544 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
47545 l_rec_acct_attrs.array_char_value(26) := p_source_66;
47546 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
47547 l_rec_acct_attrs.array_date_value(27) := p_source_136;
47548 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
47549 l_rec_acct_attrs.array_num_value(28) := p_source_137;
47550 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
47551 l_rec_acct_attrs.array_char_value(29) := p_source_138;
47552 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
47553 l_rec_acct_attrs.array_num_value(30) := p_source_133;
47554 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
47555 l_rec_acct_attrs.array_date_value(31) := p_source_76;
47556 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
47557 l_rec_acct_attrs.array_char_value(32) := p_source_77;
47558 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
47559 l_rec_acct_attrs.array_date_value(33) := p_source_78;
47560 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
47561 l_rec_acct_attrs.array_char_value(34) := p_source_79;
47562 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
47566 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
47563 l_rec_acct_attrs.array_num_value(35) := p_source_80;
47564 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
47565 l_rec_acct_attrs.array_num_value(36) := p_source_81;
47567 l_rec_acct_attrs.array_char_value(37) := p_source_82;
47568 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
47569 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
47570 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
47571 l_rec_acct_attrs.array_char_value(39) := p_source_54;
47572 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
47573 l_rec_acct_attrs.array_num_value(40) := p_source_85;
47574 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
47575 l_rec_acct_attrs.array_num_value(41) := p_source_86;
47576 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
47577 l_rec_acct_attrs.array_num_value(42) := p_source_87;
47578 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
47579 l_rec_acct_attrs.array_num_value(43) := p_source_88;
47580 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
47581 l_rec_acct_attrs.array_num_value(44) := p_source_89;
47582
47583 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47584 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47585
47586 ---------------------------------------------------------------------------------------------------------------
47587 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47588 ---------------------------------------------------------------------------------------------------------------
47589 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47590
47591 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47592 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47593
47594 IF xla_accounting_cache_pkg.GetValueChar
47595 (p_source_code => 'LEDGER_CATEGORY_CODE'
47596 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47597 AND l_bflow_method_code = 'PRIOR_ENTRY'
47598 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47599 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47600 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47601 )
47602 THEN
47603 xla_ae_lines_pkg.BflowUpgEntry
47604 (p_business_method_code => l_bflow_method_code
47605 ,p_business_class_code => l_bflow_class_code
47606 ,p_balance_type => l_balance_type_code);
47607 ELSE
47608 NULL;
47609 -- No business flow processing for business flow method of NONE.
47610 END IF;
47611
47612 --
47613 -- call analytical criteria
47614 --
47615
47616 --
47617 -- call description
47618 --
47619 -- No description or it is inherited.
47620 --
47621 -- call ADRs
47622 -- Bug 4922099
47623 --
47624 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47625 (NVL(l_actual_upg_option, 'N') = 'O') OR
47626 (NVL(l_enc_upg_option, 'N') = 'O')
47627 )
47628 THEN
47629 NULL;
47630 --
47631 --
47632
47633 l_ccid := AcctDerRule_43(
47634 p_application_id => p_application_id
47635 , p_ae_header_id => l_ae_header_id
47636 , p_source_51 => p_source_51
47637 , x_transaction_coa_id => l_adr_transaction_coa_id
47638 , x_accounting_coa_id => l_adr_accounting_coa_id
47639 , x_value_type_code => l_adr_value_type_code
47640 , p_side => 'NA'
47641 );
47642
47643 xla_ae_lines_pkg.set_ccid(
47644 p_code_combination_id => l_ccid
47645 , p_value_type_code => l_adr_value_type_code
47646 , p_transaction_coa_id => l_adr_transaction_coa_id
47647 , p_accounting_coa_id => l_adr_accounting_coa_id
47648 , p_adr_code => 'AP_TAX_ACCOUNT'
47649 , p_adr_type_code => 'S'
47650 , p_component_type => l_component_type
47651 , p_component_code => l_component_code
47652 , p_component_type_code => l_component_type_code
47653 , p_component_appl_id => l_component_appl_id
47654 , p_amb_context_code => l_amb_context_code
47655 , p_side => 'NA'
47656 );
47657
47658
47659 --
47660 --
47661 END IF;
47662 --
47663 -- Bug 4922099
47664 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47665 (NVL(l_enc_upg_option, 'N') = 'O')
47666 ) AND
47667 (l_bflow_method_code = 'PRIOR_ENTRY')
47668 )
47669 THEN
47670 IF
47671 --
47672 1 = 2
47673 --
47674 THEN
47675 xla_accounting_err_pkg.build_message
47676 (p_appli_s_name => 'XLA'
47677 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47681 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47678 ,p_token_1 => 'LINE_NUMBER'
47679 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47680 ,p_token_2 => 'LINE_TYPE_NAME'
47682 l_component_type
47683 ,l_component_code
47684 ,l_component_type_code
47685 ,l_component_appl_id
47686 ,l_amb_context_code
47687 ,l_entity_code
47688 ,l_event_class_code
47689 )
47690 ,p_token_3 => 'OWNER'
47691 ,p_value_3 => xla_lookups_pkg.get_meaning(
47692 p_lookup_type => 'XLA_OWNER_TYPE'
47693 ,p_lookup_code => l_component_type_code
47694 )
47695 ,p_token_4 => 'PRODUCT_NAME'
47696 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47697 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47698 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47699 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47700 ,p_ae_header_id => NULL
47701 );
47702
47703 IF (C_LEVEL_ERROR>= g_log_level) THEN
47704 trace
47705 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47706 ,p_level => C_LEVEL_ERROR
47707 ,p_module => l_log_module);
47708 END IF;
47709 END IF;
47710 END IF;
47711 --
47712 --
47713 ------------------------------------------------------------------------------------------------
47714 -- 4219869 Business Flow
47715 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47716 -- Prior Entry. Currently, the following code is always generated.
47717 ------------------------------------------------------------------------------------------------
47718 XLA_AE_LINES_PKG.ValidateCurrentLine;
47719
47720 ------------------------------------------------------------------------------------
47721 -- 4219869 Business Flow
47722 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47723 ------------------------------------------------------------------------------------
47724 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47725
47726 ----------------------------------------------------------------------------------
47727 -- 4219869 Business Flow
47728 -- Update journal entry status -- Need to generate this within IF <condition>
47729 ----------------------------------------------------------------------------------
47730 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47731 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47732 ,p_balance_type_code => l_balance_type_code
47733 );
47734
47735 -------------------------------------------------------------------------------------------
47736 -- 4262811 - Generate the Accrual Reversal lines
47737 -------------------------------------------------------------------------------------------
47738 BEGIN
47739 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47740 (g_array_event(p_event_id).array_value_num('header_index'));
47741 IF l_acc_rev_flag IS NULL THEN
47742 l_acc_rev_flag := 'N';
47743 END IF;
47744 EXCEPTION
47745 WHEN OTHERS THEN
47746 l_acc_rev_flag := 'N';
47747 END;
47748 --
47749 IF (l_acc_rev_flag = 'Y') THEN
47750
47751 -- 4645092 ------------------------------------------------------------------------------
47752 -- To allow MPA report to determine if it should generate report process
47753 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47754 ------------------------------------------------------------------------------------------
47755
47756 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47757 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47758 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47759 -- call ADRs
47760 -- Bug 4922099
47761 --
47762 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47763 (NVL(l_actual_upg_option, 'N') = 'O') OR
47764 (NVL(l_enc_upg_option, 'N') = 'O')
47765 )
47766 THEN
47767 NULL;
47768 --
47769 --
47770
47771 l_ccid := AcctDerRule_43(
47775 , x_transaction_coa_id => l_adr_transaction_coa_id
47772 p_application_id => p_application_id
47773 , p_ae_header_id => l_ae_header_id
47774 , p_source_51 => p_source_51
47776 , x_accounting_coa_id => l_adr_accounting_coa_id
47777 , x_value_type_code => l_adr_value_type_code
47778 , p_side => 'NA'
47779 );
47780
47781 xla_ae_lines_pkg.set_ccid(
47782 p_code_combination_id => l_ccid
47783 , p_value_type_code => l_adr_value_type_code
47784 , p_transaction_coa_id => l_adr_transaction_coa_id
47785 , p_accounting_coa_id => l_adr_accounting_coa_id
47786 , p_adr_code => 'AP_TAX_ACCOUNT'
47787 , p_adr_type_code => 'S'
47788 , p_component_type => l_component_type
47789 , p_component_code => l_component_code
47790 , p_component_type_code => l_component_type_code
47791 , p_component_appl_id => l_component_appl_id
47792 , p_amb_context_code => l_amb_context_code
47793 , p_side => 'NA'
47794 );
47795
47796
47797 --
47798 --
47799 END IF;
47800
47801 --
47802 -- Update the line information that should be overwritten
47803 --
47804 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47805 p_header_num => 1);
47806 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47807
47808 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47809
47810 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47811 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47812 END IF;
47813
47814 --
47815 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47816 --
47817 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47818 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47819 ELSE
47820 ---------------------------------------------------------------------------------------------------
47821 -- 4262811a Switch Sign
47822 ---------------------------------------------------------------------------------------------------
47823 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47824 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47825 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47826 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47827 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47828 -- 5132302
47829 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47830 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47831
47832 END IF;
47833
47834 -- 4955764
47835 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47836 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47837
47838
47839 XLA_AE_LINES_PKG.ValidateCurrentLine;
47840 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47841
47842 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47843 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47844 ,p_balance_type_code => l_balance_type_code);
47845
47846 END IF;
47847
47848 -----------------------------------------------------------------------------------------
47849 -- 4262811 Multiperiod Accounting
47850 -----------------------------------------------------------------------------------------
47851 -- No MPA option is assigned.
47852
47853
47854 END IF;
47855 END IF;
47856 --
47857
47858 --
47859 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47860 trace
47861 (p_msg => 'END of AcctLineType_101'
47862 ,p_level => C_LEVEL_PROCEDURE
47863 ,p_module => l_log_module);
47864 END IF;
47865 --
47866 EXCEPTION
47867 WHEN xla_exceptions_pkg.application_exception THEN
47868 RAISE;
47869 WHEN OTHERS THEN
47870 xla_exceptions_pkg.raise_message
47871 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_101');
47872 END AcctLineType_101;
47873 --
47874
47875 ---------------------------------------
47876 --
47877 -- PRIVATE FUNCTION
47878 -- AcctLineType_102
47879 --
47880 ---------------------------------------
47881 PROCEDURE AcctLineType_102 (
47882 p_application_id IN NUMBER
47883 ,p_event_id IN NUMBER
47884 ,p_calculate_acctd_flag IN VARCHAR2
47885 ,p_calculate_g_l_flag IN VARCHAR2
47886 ,p_actual_flag IN OUT VARCHAR2
47887 ,p_balance_type_code OUT VARCHAR2
47888 ,p_gain_or_loss_ref OUT VARCHAR2
47889
47890 --Automatic Offsets Value
47894 , p_source_18 IN NUMBER
47891 , p_source_15 IN VARCHAR2
47892 , p_source_15_meaning IN VARCHAR2
47893 --System Discount Account
47895 --Discount Distribution Method
47896 , p_source_19 IN VARCHAR2
47897 , p_source_19_meaning IN VARCHAR2
47898 --Invoice Distribution Account
47899 , p_source_30 IN NUMBER
47900 --Invoice Distribution Type
47901 , p_source_33 IN VARCHAR2
47902 , p_source_33_meaning IN VARCHAR2
47903 --Discount Account
47904 , p_source_44 IN NUMBER
47905 --Purchase Order Charge Account
47906 , p_source_45 IN NUMBER
47907 --Purchase Order Variance Account
47908 , p_source_46 IN NUMBER
47909 --Accounting Reversal Indicator
47910 , p_source_52 IN VARCHAR2
47911 --Distribution Link Type
47912 , p_source_54 IN VARCHAR2
47913 --Invoice Currency Code
47914 , p_source_66 IN VARCHAR2
47915 --Override Accounted Amount Indicator
47916 , p_source_79 IN VARCHAR2
47917 , p_source_79_meaning IN VARCHAR2
47918 --Third Party Type
47919 , p_source_82 IN VARCHAR2
47920 --Invoice Distribution Tax Line Identifier
47921 , p_source_85 IN NUMBER
47922 --Invoice Distribution Summary Tax Line Identifier
47923 , p_source_87 IN NUMBER
47924 --Business Flow Accounts Payable Application Identifier
47925 , p_source_90 IN NUMBER
47926 --When to Account for Payment Option
47927 , p_source_96 IN VARCHAR2
47928 --Payment Distribution Type
47929 , p_source_97 IN VARCHAR2
47930 , p_source_97_meaning IN VARCHAR2
47931 --Payment Distribution Amount
47932 , p_source_98 IN NUMBER
47933 --Business Flow Payment Distribution Type
47934 , p_source_99 IN VARCHAR2
47935 --Business Flow Payment Entity Code
47936 , p_source_100 IN VARCHAR2
47937 --Business Flow Payment Distribution Identifier
47938 , p_source_101 IN NUMBER
47939 --Business Flow Payment Identifier
47940 , p_source_102 IN NUMBER
47941 --Payment Distribution Identifier
47942 , p_source_103 IN NUMBER
47943 --Payment Distribution (Cleared Rate) Ledger Amount
47944 , p_source_108 IN NUMBER
47945 --Payment Supplier Identifier
47946 , p_source_109 IN NUMBER
47947 --Payment Supplier Site Identifier
47948 , p_source_110 IN NUMBER
47949 --Payment Distribution Reversed Identifier
47950 , p_source_111 IN NUMBER
47951 --Payment Identifier
47952 , p_source_112 IN NUMBER
47953 --Invoice Exchange Date
47954 , p_source_136 IN DATE
47955 --Invoice Exchange Rate
47956 , p_source_137 IN NUMBER
47957 --Invoice Exchange Rate Type
47958 , p_source_138 IN VARCHAR2
47959 )
47960 IS
47961
47962 l_component_type VARCHAR2(80);
47963 l_component_code VARCHAR2(30);
47964 l_component_type_code VARCHAR2(1);
47965 l_component_appl_id INTEGER;
47966 l_amb_context_code VARCHAR2(30);
47967 l_entity_code VARCHAR2(30);
47968 l_event_class_code VARCHAR2(30);
47969 l_ae_header_id NUMBER;
47970 l_event_type_code VARCHAR2(30);
47971 l_line_definition_code VARCHAR2(30);
47972 l_line_definition_owner_code VARCHAR2(1);
47973 --
47974 -- adr variables
47975 l_segment VARCHAR2(30);
47976 l_ccid NUMBER;
47977 l_adr_transaction_coa_id NUMBER;
47978 l_adr_accounting_coa_id NUMBER;
47979 l_adr_flexfield_segment_code VARCHAR2(30);
47980 l_adr_flex_value_set_id NUMBER;
47981 l_adr_value_type_code VARCHAR2(30);
47982 l_adr_value_combination_id NUMBER;
47983 l_adr_value_segment_code VARCHAR2(30);
47984
47985 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47986 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47987 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47988 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47989
47990 -- 4262811 Variables ------------------------------------------------------------------------------------------
47991 l_entered_amt_idx NUMBER;
47992 l_accted_amt_idx NUMBER;
47993 l_acc_rev_flag VARCHAR2(1);
47994 l_accrual_line_num NUMBER;
47995 l_tmp_amt NUMBER;
47996 l_acc_rev_natural_side_code VARCHAR2(1);
47997
47998 l_num_entries NUMBER;
47999 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48000 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48001 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48002 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48003 l_recog_line_1 NUMBER;
48004 l_recog_line_2 NUMBER;
48005
48006 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48007 l_bflow_applied_to_amt NUMBER; -- 5132302
48008 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48009
48010 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48011
48012 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48013 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48014
48018 --
48015 ---------------------------------------------------------------------------------------------------------------
48016
48017
48019 -- bulk performance
48020 --
48021 l_balance_type_code VARCHAR2(1);
48022 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48023 l_log_module VARCHAR2(240);
48024
48025 --
48026 -- Upgrade strategy
48027 --
48028 l_actual_upg_option VARCHAR2(1);
48029 l_enc_upg_option VARCHAR2(1);
48030
48031 --
48032 BEGIN
48033 --
48034 IF g_log_enabled THEN
48035 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_102';
48036 END IF;
48037 --
48038 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48039
48040 trace
48041 (p_msg => 'BEGIN of AcctLineType_102'
48042 ,p_level => C_LEVEL_PROCEDURE
48043 ,p_module => l_log_module);
48044
48045 END IF;
48046 --
48047 l_component_type := 'AMB_JLT';
48048 l_component_code := 'AP_DISCOUNT_ACCR_CLEAR';
48049 l_component_type_code := 'S';
48050 l_component_appl_id := 200;
48051 l_amb_context_code := 'DEFAULT';
48052 l_entity_code := 'AP_PAYMENTS';
48053 l_event_class_code := 'RECONCILED PAYMENTS';
48054 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
48055 l_line_definition_owner_code := 'S';
48056 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
48057 --
48058 l_balance_type_code := 'A';
48059 l_segment := NULL;
48060 l_ccid := NULL;
48061 l_adr_transaction_coa_id := NULL;
48062 l_adr_accounting_coa_id := NULL;
48063 l_adr_flexfield_segment_code := NULL;
48064 l_adr_flex_value_set_id := NULL;
48065 l_adr_value_type_code := NULL;
48066 l_adr_value_combination_id := NULL;
48067 l_adr_value_segment_code := NULL;
48068
48069 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48070 l_bflow_class_code := ''; -- 4219869 Business Flow
48071 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48072 l_budgetary_control_flag := 'N';
48073
48074 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48075 l_bflow_applied_to_amt := NULL; -- 5132302
48076 l_entered_amt_idx := NULL; -- 4262811
48077 l_accted_amt_idx := NULL; -- 4262811
48078 l_acc_rev_flag := NULL; -- 4262811
48079 l_accrual_line_num := NULL; -- 4262811
48080 l_tmp_amt := NULL; -- 4262811
48081 --
48082
48083 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48084 l_balance_type_code <> 'B' THEN
48085 IF NVL(p_source_96,'
48086 ') = 'CLEAR_CLEAR' AND
48087 NVL(p_source_97,'
48088 ') = 'DISCOUNT' AND
48089 (NVL(p_source_33,'
48090 ') = 'ITEM' OR
48091 NVL(p_source_33,'
48092 ') = 'MISCELLANEOUS' OR
48093 NVL(p_source_33,'
48094 ') = 'FREIGHT' OR
48095 NVL(p_source_33,'
48096 ') = 'REC_TAX' OR
48097 NVL(p_source_33,'
48098 ') = 'NONREC_TAX' OR
48099 NVL(p_source_33,'
48100 ') = 'TIPV' OR
48101 NVL(p_source_33,'
48102 ') = 'TRV' OR
48103 NVL(p_source_33,'
48104 ') = 'IPV' OR
48105 NVL(p_source_33,'
48106 ') = 'ACCRUAL')
48107 THEN
48108
48109 --
48110 XLA_AE_LINES_PKG.SetNewLine;
48111
48112 p_balance_type_code := l_balance_type_code;
48113 -- set the flag so later we will know whether the gain loss line needs to be created
48114
48115 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48116 p_actual_flag :='A';
48117 END IF;
48118
48119 --
48120 -- bulk performance
48121 --
48122 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48123 p_header_num => 0); -- 4262811
48124 --
48125 -- set accounting line options
48126 --
48127 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48128 p_natural_side_code => 'C'
48129 , p_gain_or_loss_flag => 'N'
48130 , p_gl_transfer_mode_code => 'S'
48131 , p_acct_entry_type_code => 'A'
48132 , p_switch_side_flag => 'Y'
48133 , p_merge_duplicate_code => 'A'
48134 );
48135 --
48136 l_acc_rev_natural_side_code := 'D'; -- 4262811
48137 --
48138 --
48139 -- set accounting line type info
48140 --
48141 xla_ae_lines_pkg.SetAcctLineType
48142 (p_component_type => l_component_type
48143 ,p_event_type_code => l_event_type_code
48144 ,p_line_definition_owner_code => l_line_definition_owner_code
48145 ,p_line_definition_code => l_line_definition_code
48146 ,p_accounting_line_code => l_component_code
48147 ,p_accounting_line_type_code => l_component_type_code
48148 ,p_accounting_line_appl_id => l_component_appl_id
48149 ,p_amb_context_code => l_amb_context_code
48150 ,p_entity_code => l_entity_code
48151 ,p_event_class_code => l_event_class_code);
48152 --
48153 -- set accounting class
48154 --
48155 xla_ae_lines_pkg.SetAcctClass(
48156 p_accounting_class_code => 'DISCOUNT'
48157 , p_ae_header_id => l_ae_header_id
48158 );
48159
48160 --
48164 'DISCOUNT';
48161 -- set rounding class
48162 --
48163 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48165
48166 --
48167 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48168 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48169 --
48170 -- bulk performance
48171 --
48172 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48173
48174 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48175 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48176
48177 -- 4955764
48178 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48179 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48180
48181 -- 4458381 Public Sector Enh
48182
48183 --
48184 -- set accounting attributes for the line type
48185 --
48186 l_entered_amt_idx := 10;
48187 l_accted_amt_idx := 15;
48188 l_bflow_applied_to_amt_idx := 2; -- 5132302
48189 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48190 l_rec_acct_attrs.array_char_value(1) := p_source_52;
48191 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
48192 l_rec_acct_attrs.array_num_value(2) := p_source_98;
48193 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
48194 l_rec_acct_attrs.array_num_value(3) := p_source_90;
48195 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48196 l_rec_acct_attrs.array_char_value(4) := p_source_99;
48197 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
48198 l_rec_acct_attrs.array_char_value(5) := p_source_100;
48199 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
48200 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
48201 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48202 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
48203 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
48204 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
48205 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
48206 l_rec_acct_attrs.array_char_value(9) := p_source_54;
48207 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
48208 l_rec_acct_attrs.array_num_value(10) := p_source_98;
48209 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
48210 l_rec_acct_attrs.array_char_value(11) := p_source_66;
48211 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
48212 l_rec_acct_attrs.array_date_value(12) := p_source_136;
48213 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
48214 l_rec_acct_attrs.array_num_value(13) := p_source_137;
48215 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
48216 l_rec_acct_attrs.array_char_value(14) := p_source_138;
48217 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
48218 l_rec_acct_attrs.array_num_value(15) := p_source_108;
48219 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
48220 l_rec_acct_attrs.array_char_value(16) := p_source_79;
48221 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
48222 l_rec_acct_attrs.array_num_value(17) := p_source_109;
48223 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
48224 l_rec_acct_attrs.array_num_value(18) := p_source_110;
48225 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
48226 l_rec_acct_attrs.array_char_value(19) := p_source_82;
48227 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
48228 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
48229 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
48230 l_rec_acct_attrs.array_char_value(21) := p_source_54;
48231 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
48232 l_rec_acct_attrs.array_num_value(22) := p_source_85;
48233 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
48234 l_rec_acct_attrs.array_num_value(23) := p_source_85;
48235 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
48236 l_rec_acct_attrs.array_num_value(24) := p_source_87;
48237
48238 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48239 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48240
48241 ---------------------------------------------------------------------------------------------------------------
48242 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48243 ---------------------------------------------------------------------------------------------------------------
48244 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48245
48246 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48247 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48248
48249 IF xla_accounting_cache_pkg.GetValueChar
48250 (p_source_code => 'LEDGER_CATEGORY_CODE'
48251 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48255 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48252 AND l_bflow_method_code = 'PRIOR_ENTRY'
48253 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48254 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48256 )
48257 THEN
48258 xla_ae_lines_pkg.BflowUpgEntry
48259 (p_business_method_code => l_bflow_method_code
48260 ,p_business_class_code => l_bflow_class_code
48261 ,p_balance_type => l_balance_type_code);
48262 ELSE
48263 NULL;
48264 -- No business flow processing for business flow method of NONE.
48265 END IF;
48266
48267 --
48268 -- call analytical criteria
48269 --
48270
48271
48272 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
48273 xla_ae_lines_pkg.SetAnalyticalCriteria(
48274 p_analytical_criterion_name => 'Check Id'
48275 , p_analytical_criterion_owner => 'S'
48276 , p_analytical_criterion_code => 'CHECK_ID'
48277 , p_amb_context_code => 'DEFAULT'
48278 , p_balancing_flag => 'N'
48279
48280 , p_analytical_detail_char_1 => NULL
48281 , p_analytical_detail_num_1 => p_source_112
48282 , p_analytical_detail_date_1 => NULL
48283
48284 , p_ae_header_id => l_ae_header_id
48285 )
48286 ;
48287 --
48288
48289 --
48290 -- call description
48291 --
48292 -- No description or it is inherited.
48293 --
48294 -- call ADRs
48295 -- Bug 4922099
48296 --
48297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48298 (NVL(l_actual_upg_option, 'N') = 'O') OR
48299 (NVL(l_enc_upg_option, 'N') = 'O')
48300 )
48301 THEN
48302 NULL;
48303 --
48304 --
48305
48306 l_ccid := AcctDerRule_29(
48307 p_application_id => p_application_id
48308 , p_ae_header_id => l_ae_header_id
48309 , p_source_15 => p_source_15
48310 , p_source_15_meaning => p_source_15_meaning
48311 , p_source_18 => p_source_18
48312 , p_source_19 => p_source_19
48313 , p_source_19_meaning => p_source_19_meaning
48314 , p_source_30 => p_source_30
48315 , p_source_33 => p_source_33
48316 , p_source_33_meaning => p_source_33_meaning
48317 , p_source_44 => p_source_44
48318 , p_source_45 => p_source_45
48319 , p_source_46 => p_source_46
48320 , x_transaction_coa_id => l_adr_transaction_coa_id
48321 , x_accounting_coa_id => l_adr_accounting_coa_id
48322 , x_value_type_code => l_adr_value_type_code
48323 , p_side => 'NA'
48324 );
48325
48326 xla_ae_lines_pkg.set_ccid(
48327 p_code_combination_id => l_ccid
48328 , p_value_type_code => l_adr_value_type_code
48329 , p_transaction_coa_id => l_adr_transaction_coa_id
48330 , p_accounting_coa_id => l_adr_accounting_coa_id
48331 , p_adr_code => 'AP_DISCOUNT'
48332 , p_adr_type_code => 'S'
48333 , p_component_type => l_component_type
48334 , p_component_code => l_component_code
48335 , p_component_type_code => l_component_type_code
48336 , p_component_appl_id => l_component_appl_id
48337 , p_amb_context_code => l_amb_context_code
48338 , p_side => 'NA'
48339 );
48340
48341
48342 l_segment := AcctDerRule_21(
48343 p_application_id => p_application_id
48344 , p_ae_header_id => l_ae_header_id
48345 , p_source_15 => p_source_15
48346 , p_source_15_meaning => p_source_15_meaning
48347 , p_source_19 => p_source_19
48348 , p_source_19_meaning => p_source_19_meaning
48349 , p_source_30 => p_source_30
48350 , x_transaction_coa_id => l_adr_transaction_coa_id
48351 , x_accounting_coa_id => l_adr_accounting_coa_id
48352 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48353 , x_flex_value_set_id => l_adr_flex_value_set_id
48354 , x_value_type_code => l_adr_value_type_code
48355 , x_value_combination_id => l_adr_value_combination_id
48356 , x_value_segment_code => l_adr_value_segment_code
48357 , p_side => 'NA'
48358 , p_override_seg_flag => 'Y'
48359 );
48360
48361 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48362
48363 xla_ae_lines_pkg.set_segment(
48364 p_to_segment_code => 'GL_BALANCING'
48365 , p_segment_value => l_segment
48366 , p_from_segment_code => l_adr_value_segment_code
48367 , p_from_combination_id => l_adr_value_combination_id
48368 , p_value_type_code => l_adr_value_type_code
48369 , p_transaction_coa_id => l_adr_transaction_coa_id
48370 , p_accounting_coa_id => l_adr_accounting_coa_id
48371 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48372 , p_flex_value_set_id => l_adr_flex_value_set_id
48373 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
48374 , p_adr_type_code => 'S'
48375 , p_component_type => l_component_type
48376 , p_component_code => l_component_code
48380 , p_entity_code => 'AP_PAYMENTS'
48377 , p_component_type_code => l_component_type_code
48378 , p_component_appl_id => l_component_appl_id
48379 , p_amb_context_code => l_amb_context_code
48381 , p_event_class_code => 'RECONCILED PAYMENTS'
48382 , p_side => 'NA'
48383 );
48384
48385 END IF;
48386
48387 l_segment := AcctDerRule_7(
48388 p_application_id => p_application_id
48389 , p_ae_header_id => l_ae_header_id
48390 , p_source_15 => p_source_15
48391 , p_source_15_meaning => p_source_15_meaning
48392 , p_source_18 => p_source_18
48393 , p_source_19 => p_source_19
48394 , p_source_19_meaning => p_source_19_meaning
48395 , x_transaction_coa_id => l_adr_transaction_coa_id
48396 , x_accounting_coa_id => l_adr_accounting_coa_id
48397 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48398 , x_flex_value_set_id => l_adr_flex_value_set_id
48399 , x_value_type_code => l_adr_value_type_code
48400 , x_value_combination_id => l_adr_value_combination_id
48401 , x_value_segment_code => l_adr_value_segment_code
48402 , p_side => 'NA'
48403 , p_override_seg_flag => 'Y'
48404 );
48405
48406 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48407
48408 xla_ae_lines_pkg.set_segment(
48409 p_to_segment_code => 'GL_ACCOUNT'
48410 , p_segment_value => l_segment
48411 , p_from_segment_code => l_adr_value_segment_code
48412 , p_from_combination_id => l_adr_value_combination_id
48413 , p_value_type_code => l_adr_value_type_code
48414 , p_transaction_coa_id => l_adr_transaction_coa_id
48415 , p_accounting_coa_id => l_adr_accounting_coa_id
48416 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48417 , p_flex_value_set_id => l_adr_flex_value_set_id
48418 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
48419 , p_adr_type_code => 'S'
48420 , p_component_type => l_component_type
48421 , p_component_code => l_component_code
48422 , p_component_type_code => l_component_type_code
48423 , p_component_appl_id => l_component_appl_id
48424 , p_amb_context_code => l_amb_context_code
48425 , p_entity_code => 'AP_PAYMENTS'
48426 , p_event_class_code => 'RECONCILED PAYMENTS'
48427 , p_side => 'NA'
48428 );
48429
48430 END IF;
48431
48432 --
48433 --
48434 END IF;
48435 --
48436 -- Bug 4922099
48437 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48438 (NVL(l_enc_upg_option, 'N') = 'O')
48439 ) AND
48440 (l_bflow_method_code = 'PRIOR_ENTRY')
48441 )
48442 THEN
48443 IF
48444 --
48445 1 = 2
48446 --
48447 THEN
48448 xla_accounting_err_pkg.build_message
48449 (p_appli_s_name => 'XLA'
48450 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48451 ,p_token_1 => 'LINE_NUMBER'
48452 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48453 ,p_token_2 => 'LINE_TYPE_NAME'
48454 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48455 l_component_type
48456 ,l_component_code
48457 ,l_component_type_code
48458 ,l_component_appl_id
48459 ,l_amb_context_code
48460 ,l_entity_code
48461 ,l_event_class_code
48462 )
48463 ,p_token_3 => 'OWNER'
48464 ,p_value_3 => xla_lookups_pkg.get_meaning(
48465 p_lookup_type => 'XLA_OWNER_TYPE'
48466 ,p_lookup_code => l_component_type_code
48467 )
48468 ,p_token_4 => 'PRODUCT_NAME'
48469 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48470 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48471 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48472 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48473 ,p_ae_header_id => NULL
48474 );
48478 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48475
48476 IF (C_LEVEL_ERROR>= g_log_level) THEN
48477 trace
48479 ,p_level => C_LEVEL_ERROR
48480 ,p_module => l_log_module);
48481 END IF;
48482 END IF;
48483 END IF;
48484 --
48485 --
48486 ------------------------------------------------------------------------------------------------
48487 -- 4219869 Business Flow
48488 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48489 -- Prior Entry. Currently, the following code is always generated.
48490 ------------------------------------------------------------------------------------------------
48491 XLA_AE_LINES_PKG.ValidateCurrentLine;
48492
48493 ------------------------------------------------------------------------------------
48494 -- 4219869 Business Flow
48495 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48496 ------------------------------------------------------------------------------------
48497 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48498
48499 ----------------------------------------------------------------------------------
48500 -- 4219869 Business Flow
48501 -- Update journal entry status -- Need to generate this within IF <condition>
48502 ----------------------------------------------------------------------------------
48503 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48504 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48505 ,p_balance_type_code => l_balance_type_code
48506 );
48507
48508 -------------------------------------------------------------------------------------------
48509 -- 4262811 - Generate the Accrual Reversal lines
48510 -------------------------------------------------------------------------------------------
48511 BEGIN
48512 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48513 (g_array_event(p_event_id).array_value_num('header_index'));
48514 IF l_acc_rev_flag IS NULL THEN
48515 l_acc_rev_flag := 'N';
48516 END IF;
48517 EXCEPTION
48518 WHEN OTHERS THEN
48519 l_acc_rev_flag := 'N';
48520 END;
48521 --
48522 IF (l_acc_rev_flag = 'Y') THEN
48523
48524 -- 4645092 ------------------------------------------------------------------------------
48525 -- To allow MPA report to determine if it should generate report process
48526 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48527 ------------------------------------------------------------------------------------------
48528
48529 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48530 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48531 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48532 -- call ADRs
48533 -- Bug 4922099
48534 --
48535 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48536 (NVL(l_actual_upg_option, 'N') = 'O') OR
48537 (NVL(l_enc_upg_option, 'N') = 'O')
48538 )
48539 THEN
48540 NULL;
48541 --
48542 --
48543
48544 l_ccid := AcctDerRule_29(
48545 p_application_id => p_application_id
48546 , p_ae_header_id => l_ae_header_id
48547 , p_source_15 => p_source_15
48548 , p_source_15_meaning => p_source_15_meaning
48549 , p_source_18 => p_source_18
48550 , p_source_19 => p_source_19
48551 , p_source_19_meaning => p_source_19_meaning
48552 , p_source_30 => p_source_30
48553 , p_source_33 => p_source_33
48554 , p_source_33_meaning => p_source_33_meaning
48555 , p_source_44 => p_source_44
48556 , p_source_45 => p_source_45
48557 , p_source_46 => p_source_46
48558 , x_transaction_coa_id => l_adr_transaction_coa_id
48559 , x_accounting_coa_id => l_adr_accounting_coa_id
48560 , x_value_type_code => l_adr_value_type_code
48561 , p_side => 'NA'
48562 );
48563
48564 xla_ae_lines_pkg.set_ccid(
48565 p_code_combination_id => l_ccid
48566 , p_value_type_code => l_adr_value_type_code
48567 , p_transaction_coa_id => l_adr_transaction_coa_id
48568 , p_accounting_coa_id => l_adr_accounting_coa_id
48569 , p_adr_code => 'AP_DISCOUNT'
48570 , p_adr_type_code => 'S'
48571 , p_component_type => l_component_type
48572 , p_component_code => l_component_code
48573 , p_component_type_code => l_component_type_code
48574 , p_component_appl_id => l_component_appl_id
48575 , p_amb_context_code => l_amb_context_code
48576 , p_side => 'NA'
48577 );
48578
48579
48580 l_segment := AcctDerRule_21(
48581 p_application_id => p_application_id
48582 , p_ae_header_id => l_ae_header_id
48583 , p_source_15 => p_source_15
48584 , p_source_15_meaning => p_source_15_meaning
48585 , p_source_19 => p_source_19
48586 , p_source_19_meaning => p_source_19_meaning
48587 , p_source_30 => p_source_30
48588 , x_transaction_coa_id => l_adr_transaction_coa_id
48589 , x_accounting_coa_id => l_adr_accounting_coa_id
48590 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48591 , x_flex_value_set_id => l_adr_flex_value_set_id
48595 , p_side => 'NA'
48592 , x_value_type_code => l_adr_value_type_code
48593 , x_value_combination_id => l_adr_value_combination_id
48594 , x_value_segment_code => l_adr_value_segment_code
48596 , p_override_seg_flag => 'Y'
48597 );
48598
48599 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48600
48601 xla_ae_lines_pkg.set_segment(
48602 p_to_segment_code => 'GL_BALANCING'
48603 , p_segment_value => l_segment
48604 , p_from_segment_code => l_adr_value_segment_code
48605 , p_from_combination_id => l_adr_value_combination_id
48606 , p_value_type_code => l_adr_value_type_code
48607 , p_transaction_coa_id => l_adr_transaction_coa_id
48608 , p_accounting_coa_id => l_adr_accounting_coa_id
48609 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48610 , p_flex_value_set_id => l_adr_flex_value_set_id
48611 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
48612 , p_adr_type_code => 'S'
48613 , p_component_type => l_component_type
48614 , p_component_code => l_component_code
48615 , p_component_type_code => l_component_type_code
48616 , p_component_appl_id => l_component_appl_id
48617 , p_amb_context_code => l_amb_context_code
48618 , p_entity_code => 'AP_PAYMENTS'
48619 , p_event_class_code => 'RECONCILED PAYMENTS'
48620 , p_side => 'NA'
48621 );
48622
48623 END IF;
48624
48625 l_segment := AcctDerRule_7(
48626 p_application_id => p_application_id
48627 , p_ae_header_id => l_ae_header_id
48628 , p_source_15 => p_source_15
48629 , p_source_15_meaning => p_source_15_meaning
48630 , p_source_18 => p_source_18
48631 , p_source_19 => p_source_19
48632 , p_source_19_meaning => p_source_19_meaning
48633 , x_transaction_coa_id => l_adr_transaction_coa_id
48634 , x_accounting_coa_id => l_adr_accounting_coa_id
48635 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48636 , x_flex_value_set_id => l_adr_flex_value_set_id
48637 , x_value_type_code => l_adr_value_type_code
48638 , x_value_combination_id => l_adr_value_combination_id
48639 , x_value_segment_code => l_adr_value_segment_code
48640 , p_side => 'NA'
48641 , p_override_seg_flag => 'Y'
48642 );
48643
48644 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48645
48646 xla_ae_lines_pkg.set_segment(
48647 p_to_segment_code => 'GL_ACCOUNT'
48648 , p_segment_value => l_segment
48649 , p_from_segment_code => l_adr_value_segment_code
48650 , p_from_combination_id => l_adr_value_combination_id
48651 , p_value_type_code => l_adr_value_type_code
48652 , p_transaction_coa_id => l_adr_transaction_coa_id
48653 , p_accounting_coa_id => l_adr_accounting_coa_id
48654 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48655 , p_flex_value_set_id => l_adr_flex_value_set_id
48656 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
48657 , p_adr_type_code => 'S'
48658 , p_component_type => l_component_type
48659 , p_component_code => l_component_code
48660 , p_component_type_code => l_component_type_code
48661 , p_component_appl_id => l_component_appl_id
48662 , p_amb_context_code => l_amb_context_code
48663 , p_entity_code => 'AP_PAYMENTS'
48664 , p_event_class_code => 'RECONCILED PAYMENTS'
48665 , p_side => 'NA'
48666 );
48667
48668 END IF;
48669
48670 --
48671 --
48672 END IF;
48673
48674 --
48675 -- Update the line information that should be overwritten
48676 --
48677 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48678 p_header_num => 1);
48679 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48680
48681 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48682
48683 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48684 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48685 END IF;
48686
48687 --
48688 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48689 --
48690 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48691 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48692 ELSE
48693 ---------------------------------------------------------------------------------------------------
48694 -- 4262811a Switch Sign
48695 ---------------------------------------------------------------------------------------------------
48696 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48700 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48697 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48698 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48699 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48701 -- 5132302
48702 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48703 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48704
48705 END IF;
48706
48707 -- 4955764
48708 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48709 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48710
48711
48712 XLA_AE_LINES_PKG.ValidateCurrentLine;
48713 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48714
48715 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48716 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48717 ,p_balance_type_code => l_balance_type_code);
48718
48719 END IF;
48720
48721 -----------------------------------------------------------------------------------------
48722 -- 4262811 Multiperiod Accounting
48723 -----------------------------------------------------------------------------------------
48724 -- No MPA option is assigned.
48725
48726
48727 END IF;
48728 END IF;
48729 --
48730
48731 --
48732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48733 trace
48734 (p_msg => 'END of AcctLineType_102'
48735 ,p_level => C_LEVEL_PROCEDURE
48736 ,p_module => l_log_module);
48737 END IF;
48738 --
48739 EXCEPTION
48740 WHEN xla_exceptions_pkg.application_exception THEN
48741 RAISE;
48742 WHEN OTHERS THEN
48743 xla_exceptions_pkg.raise_message
48744 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_102');
48745 END AcctLineType_102;
48746 --
48747
48748 ---------------------------------------
48749 --
48750 -- PRIVATE FUNCTION
48751 -- AcctLineType_103
48752 --
48753 ---------------------------------------
48754 PROCEDURE AcctLineType_103 (
48755 p_application_id IN NUMBER
48756 ,p_event_id IN NUMBER
48757 ,p_calculate_acctd_flag IN VARCHAR2
48758 ,p_calculate_g_l_flag IN VARCHAR2
48759 ,p_actual_flag IN OUT VARCHAR2
48760 ,p_balance_type_code OUT VARCHAR2
48761 ,p_gain_or_loss_ref OUT VARCHAR2
48762
48763 --Payment Currency Code
48764 , p_source_13 IN VARCHAR2
48765 --Automatic Offsets Value
48766 , p_source_15 IN VARCHAR2
48767 , p_source_15_meaning IN VARCHAR2
48768 --System Discount Account
48769 , p_source_18 IN NUMBER
48770 --Discount Distribution Method
48771 , p_source_19 IN VARCHAR2
48772 , p_source_19_meaning IN VARCHAR2
48773 --Invoice Distribution Account
48774 , p_source_30 IN NUMBER
48775 --Invoice Distribution Type
48776 , p_source_33 IN VARCHAR2
48777 , p_source_33_meaning IN VARCHAR2
48778 --Discount Account
48779 , p_source_44 IN NUMBER
48780 --Purchase Order Charge Account
48781 , p_source_45 IN NUMBER
48782 --Purchase Order Variance Account
48783 , p_source_46 IN NUMBER
48784 --Accounting Reversal Indicator
48785 , p_source_52 IN VARCHAR2
48786 --Distribution Link Type
48787 , p_source_54 IN VARCHAR2
48788 --Override Accounted Amount Indicator
48789 , p_source_79 IN VARCHAR2
48790 , p_source_79_meaning IN VARCHAR2
48791 --Third Party Type
48792 , p_source_82 IN VARCHAR2
48793 --Invoice Distribution Tax Line Identifier
48794 , p_source_85 IN NUMBER
48795 --Invoice Distribution Tax Distribution Identifier from Tax
48796 , p_source_86 IN NUMBER
48797 --Invoice Distribution Summary Tax Line Identifier
48798 , p_source_87 IN NUMBER
48799 --Business Flow Accounts Payable Application Identifier
48800 , p_source_90 IN NUMBER
48801 --Business Flow Invoice Distribution Type
48802 , p_source_91 IN VARCHAR2
48803 --Business Flow Invoice Entity Code
48804 , p_source_92 IN VARCHAR2
48805 --Business Flow Invoice Distribution Identifier
48806 , p_source_93 IN NUMBER
48807 --Business Flow Invoice Identifier
48808 , p_source_94 IN NUMBER
48809 --When to Account for Payment Option
48810 , p_source_96 IN VARCHAR2
48811 --Payment Distribution Type
48812 , p_source_97 IN VARCHAR2
48813 , p_source_97_meaning IN VARCHAR2
48814 --Payment Distribution Amount
48815 , p_source_98 IN NUMBER
48816 --Payment Distribution Identifier
48817 , p_source_103 IN NUMBER
48818 --Payment Supplier Identifier
48819 , p_source_109 IN NUMBER
48820 --Payment Supplier Site Identifier
48821 , p_source_110 IN NUMBER
48822 --Payment Distribution Reversed Identifier
48823 , p_source_111 IN NUMBER
48824 --Payment Identifier
48825 , p_source_112 IN NUMBER
48826 --Payment Distribution (Payment Rate) Ledger Amount
48827 , p_source_115 IN NUMBER
48828 --Payment Type
48829 , p_source_122 IN VARCHAR2
48833 --Invoice Distribution Amount of the Payment Distribution
48830 , p_source_122_meaning IN VARCHAR2
48831 --Payment Processing Type
48832 , p_source_123 IN VARCHAR2
48834 , p_source_124 IN NUMBER
48835 --Invoice Exchange Date
48836 , p_source_136 IN DATE
48837 --Invoice Exchange Rate
48838 , p_source_137 IN NUMBER
48839 --Invoice Exchange Rate Type
48840 , p_source_138 IN VARCHAR2
48841 )
48842 IS
48843
48844 l_component_type VARCHAR2(80);
48845 l_component_code VARCHAR2(30);
48846 l_component_type_code VARCHAR2(1);
48847 l_component_appl_id INTEGER;
48848 l_amb_context_code VARCHAR2(30);
48849 l_entity_code VARCHAR2(30);
48850 l_event_class_code VARCHAR2(30);
48851 l_ae_header_id NUMBER;
48852 l_event_type_code VARCHAR2(30);
48853 l_line_definition_code VARCHAR2(30);
48854 l_line_definition_owner_code VARCHAR2(1);
48855 --
48856 -- adr variables
48857 l_segment VARCHAR2(30);
48858 l_ccid NUMBER;
48859 l_adr_transaction_coa_id NUMBER;
48860 l_adr_accounting_coa_id NUMBER;
48861 l_adr_flexfield_segment_code VARCHAR2(30);
48862 l_adr_flex_value_set_id NUMBER;
48863 l_adr_value_type_code VARCHAR2(30);
48864 l_adr_value_combination_id NUMBER;
48865 l_adr_value_segment_code VARCHAR2(30);
48866
48867 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48868 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48869 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48870 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48871
48872 -- 4262811 Variables ------------------------------------------------------------------------------------------
48873 l_entered_amt_idx NUMBER;
48874 l_accted_amt_idx NUMBER;
48875 l_acc_rev_flag VARCHAR2(1);
48876 l_accrual_line_num NUMBER;
48877 l_tmp_amt NUMBER;
48878 l_acc_rev_natural_side_code VARCHAR2(1);
48879
48880 l_num_entries NUMBER;
48881 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48882 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48883 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48884 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48885 l_recog_line_1 NUMBER;
48886 l_recog_line_2 NUMBER;
48887
48888 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48889 l_bflow_applied_to_amt NUMBER; -- 5132302
48890 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48891
48892 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48893
48894 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48895 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48896
48897 ---------------------------------------------------------------------------------------------------------------
48898
48899
48900 --
48901 -- bulk performance
48902 --
48903 l_balance_type_code VARCHAR2(1);
48904 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48905 l_log_module VARCHAR2(240);
48906
48907 --
48908 -- Upgrade strategy
48909 --
48910 l_actual_upg_option VARCHAR2(1);
48911 l_enc_upg_option VARCHAR2(1);
48912
48913 --
48914 BEGIN
48915 --
48916 IF g_log_enabled THEN
48917 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_103';
48918 END IF;
48919 --
48920 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48921
48922 trace
48923 (p_msg => 'BEGIN of AcctLineType_103'
48924 ,p_level => C_LEVEL_PROCEDURE
48925 ,p_module => l_log_module);
48926
48927 END IF;
48928 --
48929 l_component_type := 'AMB_JLT';
48930 l_component_code := 'AP_DISCOUNT_ACCR_PMT';
48931 l_component_type_code := 'S';
48932 l_component_appl_id := 200;
48933 l_amb_context_code := 'DEFAULT';
48934 l_entity_code := 'AP_PAYMENTS';
48935 l_event_class_code := 'PAYMENTS';
48936 l_event_type_code := 'PAYMENTS_ALL';
48937 l_line_definition_owner_code := 'S';
48938 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
48939 --
48940 l_balance_type_code := 'A';
48941 l_segment := NULL;
48942 l_ccid := NULL;
48943 l_adr_transaction_coa_id := NULL;
48944 l_adr_accounting_coa_id := NULL;
48945 l_adr_flexfield_segment_code := NULL;
48946 l_adr_flex_value_set_id := NULL;
48947 l_adr_value_type_code := NULL;
48948 l_adr_value_combination_id := NULL;
48949 l_adr_value_segment_code := NULL;
48950
48951 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48952 l_bflow_class_code := ''; -- 4219869 Business Flow
48953 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48954 l_budgetary_control_flag := 'N';
48955
48956 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48957 l_bflow_applied_to_amt := NULL; -- 5132302
48961 l_accrual_line_num := NULL; -- 4262811
48958 l_entered_amt_idx := NULL; -- 4262811
48959 l_accted_amt_idx := NULL; -- 4262811
48960 l_acc_rev_flag := NULL; -- 4262811
48962 l_tmp_amt := NULL; -- 4262811
48963 --
48964
48965 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48966 l_balance_type_code <> 'B' THEN
48967 IF NVL(p_source_96,'
48968 ') <> 'CLEAR_CLEAR' AND
48969 NVL(p_source_97,'
48970 ') = 'DISCOUNT' AND
48971 NVL(p_source_122,'
48972 ') <> 'R' AND
48973 NVL(p_source_123,'
48974 ') <> 'PAYMENTCARD'
48975 THEN
48976
48977 --
48978 XLA_AE_LINES_PKG.SetNewLine;
48979
48980 p_balance_type_code := l_balance_type_code;
48981 -- set the flag so later we will know whether the gain loss line needs to be created
48982
48983 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48984 p_actual_flag :='A';
48985 END IF;
48986
48987 --
48988 -- bulk performance
48989 --
48990 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48991 p_header_num => 0); -- 4262811
48992 --
48993 -- set accounting line options
48994 --
48995 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48996 p_natural_side_code => 'C'
48997 , p_gain_or_loss_flag => 'N'
48998 , p_gl_transfer_mode_code => 'S'
48999 , p_acct_entry_type_code => 'A'
49000 , p_switch_side_flag => 'Y'
49001 , p_merge_duplicate_code => 'A'
49002 );
49003 --
49004 l_acc_rev_natural_side_code := 'D'; -- 4262811
49005 --
49006 --
49007 -- set accounting line type info
49008 --
49009 xla_ae_lines_pkg.SetAcctLineType
49010 (p_component_type => l_component_type
49011 ,p_event_type_code => l_event_type_code
49012 ,p_line_definition_owner_code => l_line_definition_owner_code
49013 ,p_line_definition_code => l_line_definition_code
49014 ,p_accounting_line_code => l_component_code
49015 ,p_accounting_line_type_code => l_component_type_code
49016 ,p_accounting_line_appl_id => l_component_appl_id
49017 ,p_amb_context_code => l_amb_context_code
49018 ,p_entity_code => l_entity_code
49019 ,p_event_class_code => l_event_class_code);
49020 --
49021 -- set accounting class
49022 --
49023 xla_ae_lines_pkg.SetAcctClass(
49024 p_accounting_class_code => 'DISCOUNT'
49025 , p_ae_header_id => l_ae_header_id
49026 );
49027
49028 --
49029 -- set rounding class
49030 --
49031 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49032 'DISCOUNT';
49033
49034 --
49035 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49036 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49037 --
49038 -- bulk performance
49039 --
49040 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49041
49042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49043 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49044
49045 -- 4955764
49046 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49047 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49048
49049 -- 4458381 Public Sector Enh
49050
49051 --
49052 -- set accounting attributes for the line type
49053 --
49054 l_entered_amt_idx := 10;
49055 l_accted_amt_idx := 15;
49056 l_bflow_applied_to_amt_idx := 2; -- 5132302
49057 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49058 l_rec_acct_attrs.array_char_value(1) := p_source_52;
49059 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
49060 l_rec_acct_attrs.array_num_value(2) := p_source_124;
49061 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
49062 l_rec_acct_attrs.array_num_value(3) := p_source_90;
49063 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49064 l_rec_acct_attrs.array_char_value(4) := p_source_91;
49065 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
49066 l_rec_acct_attrs.array_char_value(5) := p_source_92;
49067 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
49068 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
49069 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49070 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
49071 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
49072 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
49073 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
49074 l_rec_acct_attrs.array_char_value(9) := p_source_54;
49075 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
49079 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
49076 l_rec_acct_attrs.array_num_value(10) := p_source_98;
49077 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
49078 l_rec_acct_attrs.array_char_value(11) := p_source_13;
49080 l_rec_acct_attrs.array_date_value(12) := p_source_136;
49081 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
49082 l_rec_acct_attrs.array_num_value(13) := p_source_137;
49083 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
49084 l_rec_acct_attrs.array_char_value(14) := p_source_138;
49085 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
49086 l_rec_acct_attrs.array_num_value(15) := p_source_115;
49087 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
49088 l_rec_acct_attrs.array_char_value(16) := p_source_79;
49089 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
49090 l_rec_acct_attrs.array_num_value(17) := p_source_109;
49091 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
49092 l_rec_acct_attrs.array_num_value(18) := p_source_110;
49093 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
49094 l_rec_acct_attrs.array_char_value(19) := p_source_82;
49095 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
49096 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
49097 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
49098 l_rec_acct_attrs.array_char_value(21) := p_source_54;
49099 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
49100 l_rec_acct_attrs.array_num_value(22) := p_source_85;
49101 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
49102 l_rec_acct_attrs.array_num_value(23) := p_source_86;
49103 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
49104 l_rec_acct_attrs.array_num_value(24) := p_source_87;
49105
49106 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49107 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49108
49109 ---------------------------------------------------------------------------------------------------------------
49110 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49111 ---------------------------------------------------------------------------------------------------------------
49112 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49113
49114 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49115 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49116
49117 IF xla_accounting_cache_pkg.GetValueChar
49118 (p_source_code => 'LEDGER_CATEGORY_CODE'
49119 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49120 AND l_bflow_method_code = 'PRIOR_ENTRY'
49121 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49122 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49123 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49124 )
49125 THEN
49126 xla_ae_lines_pkg.BflowUpgEntry
49127 (p_business_method_code => l_bflow_method_code
49128 ,p_business_class_code => l_bflow_class_code
49129 ,p_balance_type => l_balance_type_code);
49130 ELSE
49131 NULL;
49132 -- No business flow processing for business flow method of NONE.
49133 END IF;
49134
49135 --
49136 -- call analytical criteria
49137 --
49138
49139
49140 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
49141 xla_ae_lines_pkg.SetAnalyticalCriteria(
49142 p_analytical_criterion_name => 'Check Id'
49143 , p_analytical_criterion_owner => 'S'
49144 , p_analytical_criterion_code => 'CHECK_ID'
49145 , p_amb_context_code => 'DEFAULT'
49146 , p_balancing_flag => 'N'
49147
49148 , p_analytical_detail_char_1 => NULL
49149 , p_analytical_detail_num_1 => p_source_112
49150 , p_analytical_detail_date_1 => NULL
49151
49152 , p_ae_header_id => l_ae_header_id
49153 )
49154 ;
49155 --
49156
49157 --
49158 -- call description
49159 --
49160 -- No description or it is inherited.
49161 --
49162 -- call ADRs
49163 -- Bug 4922099
49164 --
49165 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49166 (NVL(l_actual_upg_option, 'N') = 'O') OR
49167 (NVL(l_enc_upg_option, 'N') = 'O')
49168 )
49169 THEN
49170 NULL;
49171 --
49172 --
49173
49174 l_ccid := AcctDerRule_29(
49175 p_application_id => p_application_id
49176 , p_ae_header_id => l_ae_header_id
49177 , p_source_15 => p_source_15
49178 , p_source_15_meaning => p_source_15_meaning
49179 , p_source_18 => p_source_18
49180 , p_source_19 => p_source_19
49181 , p_source_19_meaning => p_source_19_meaning
49182 , p_source_30 => p_source_30
49183 , p_source_33 => p_source_33
49184 , p_source_33_meaning => p_source_33_meaning
49185 , p_source_44 => p_source_44
49186 , p_source_45 => p_source_45
49187 , p_source_46 => p_source_46
49188 , x_transaction_coa_id => l_adr_transaction_coa_id
49192 );
49189 , x_accounting_coa_id => l_adr_accounting_coa_id
49190 , x_value_type_code => l_adr_value_type_code
49191 , p_side => 'NA'
49193
49194 xla_ae_lines_pkg.set_ccid(
49195 p_code_combination_id => l_ccid
49196 , p_value_type_code => l_adr_value_type_code
49197 , p_transaction_coa_id => l_adr_transaction_coa_id
49198 , p_accounting_coa_id => l_adr_accounting_coa_id
49199 , p_adr_code => 'AP_DISCOUNT'
49200 , p_adr_type_code => 'S'
49201 , p_component_type => l_component_type
49202 , p_component_code => l_component_code
49203 , p_component_type_code => l_component_type_code
49204 , p_component_appl_id => l_component_appl_id
49205 , p_amb_context_code => l_amb_context_code
49206 , p_side => 'NA'
49207 );
49208
49209
49210 l_segment := AcctDerRule_21(
49211 p_application_id => p_application_id
49212 , p_ae_header_id => l_ae_header_id
49213 , p_source_15 => p_source_15
49214 , p_source_15_meaning => p_source_15_meaning
49215 , p_source_19 => p_source_19
49216 , p_source_19_meaning => p_source_19_meaning
49217 , p_source_30 => p_source_30
49218 , x_transaction_coa_id => l_adr_transaction_coa_id
49219 , x_accounting_coa_id => l_adr_accounting_coa_id
49220 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49221 , x_flex_value_set_id => l_adr_flex_value_set_id
49222 , x_value_type_code => l_adr_value_type_code
49223 , x_value_combination_id => l_adr_value_combination_id
49224 , x_value_segment_code => l_adr_value_segment_code
49225 , p_side => 'NA'
49226 , p_override_seg_flag => 'Y'
49227 );
49228
49229 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49230
49231 xla_ae_lines_pkg.set_segment(
49232 p_to_segment_code => 'GL_BALANCING'
49233 , p_segment_value => l_segment
49234 , p_from_segment_code => l_adr_value_segment_code
49235 , p_from_combination_id => l_adr_value_combination_id
49236 , p_value_type_code => l_adr_value_type_code
49237 , p_transaction_coa_id => l_adr_transaction_coa_id
49238 , p_accounting_coa_id => l_adr_accounting_coa_id
49239 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49240 , p_flex_value_set_id => l_adr_flex_value_set_id
49241 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49242 , p_adr_type_code => 'S'
49243 , p_component_type => l_component_type
49244 , p_component_code => l_component_code
49245 , p_component_type_code => l_component_type_code
49246 , p_component_appl_id => l_component_appl_id
49247 , p_amb_context_code => l_amb_context_code
49248 , p_entity_code => 'AP_PAYMENTS'
49249 , p_event_class_code => 'PAYMENTS'
49250 , p_side => 'NA'
49251 );
49252
49253 END IF;
49254
49255 l_segment := AcctDerRule_7(
49256 p_application_id => p_application_id
49257 , p_ae_header_id => l_ae_header_id
49258 , p_source_15 => p_source_15
49259 , p_source_15_meaning => p_source_15_meaning
49260 , p_source_18 => p_source_18
49261 , p_source_19 => p_source_19
49262 , p_source_19_meaning => p_source_19_meaning
49263 , x_transaction_coa_id => l_adr_transaction_coa_id
49264 , x_accounting_coa_id => l_adr_accounting_coa_id
49265 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49266 , x_flex_value_set_id => l_adr_flex_value_set_id
49267 , x_value_type_code => l_adr_value_type_code
49268 , x_value_combination_id => l_adr_value_combination_id
49269 , x_value_segment_code => l_adr_value_segment_code
49270 , p_side => 'NA'
49271 , p_override_seg_flag => 'Y'
49272 );
49273
49274 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49275
49276 xla_ae_lines_pkg.set_segment(
49277 p_to_segment_code => 'GL_ACCOUNT'
49278 , p_segment_value => l_segment
49279 , p_from_segment_code => l_adr_value_segment_code
49280 , p_from_combination_id => l_adr_value_combination_id
49281 , p_value_type_code => l_adr_value_type_code
49282 , p_transaction_coa_id => l_adr_transaction_coa_id
49283 , p_accounting_coa_id => l_adr_accounting_coa_id
49284 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49285 , p_flex_value_set_id => l_adr_flex_value_set_id
49286 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49287 , p_adr_type_code => 'S'
49288 , p_component_type => l_component_type
49289 , p_component_code => l_component_code
49290 , p_component_type_code => l_component_type_code
49291 , p_component_appl_id => l_component_appl_id
49292 , p_amb_context_code => l_amb_context_code
49293 , p_entity_code => 'AP_PAYMENTS'
49294 , p_event_class_code => 'PAYMENTS'
49295 , p_side => 'NA'
49296 );
49297
49298 END IF;
49299
49300 --
49301 --
49305 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49302 END IF;
49303 --
49304 -- Bug 4922099
49306 (NVL(l_enc_upg_option, 'N') = 'O')
49307 ) AND
49308 (l_bflow_method_code = 'PRIOR_ENTRY')
49309 )
49310 THEN
49311 IF
49312 --
49313 1 = 2
49314 --
49315 THEN
49316 xla_accounting_err_pkg.build_message
49317 (p_appli_s_name => 'XLA'
49318 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49319 ,p_token_1 => 'LINE_NUMBER'
49320 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49321 ,p_token_2 => 'LINE_TYPE_NAME'
49322 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49323 l_component_type
49324 ,l_component_code
49325 ,l_component_type_code
49326 ,l_component_appl_id
49327 ,l_amb_context_code
49328 ,l_entity_code
49329 ,l_event_class_code
49330 )
49331 ,p_token_3 => 'OWNER'
49332 ,p_value_3 => xla_lookups_pkg.get_meaning(
49333 p_lookup_type => 'XLA_OWNER_TYPE'
49334 ,p_lookup_code => l_component_type_code
49335 )
49336 ,p_token_4 => 'PRODUCT_NAME'
49337 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49338 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49339 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49340 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49341 ,p_ae_header_id => NULL
49342 );
49343
49344 IF (C_LEVEL_ERROR>= g_log_level) THEN
49345 trace
49346 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49347 ,p_level => C_LEVEL_ERROR
49348 ,p_module => l_log_module);
49349 END IF;
49350 END IF;
49351 END IF;
49352 --
49353 --
49354 ------------------------------------------------------------------------------------------------
49355 -- 4219869 Business Flow
49356 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49357 -- Prior Entry. Currently, the following code is always generated.
49358 ------------------------------------------------------------------------------------------------
49359 XLA_AE_LINES_PKG.ValidateCurrentLine;
49360
49361 ------------------------------------------------------------------------------------
49362 -- 4219869 Business Flow
49363 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49364 ------------------------------------------------------------------------------------
49365 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49366
49367 ----------------------------------------------------------------------------------
49368 -- 4219869 Business Flow
49369 -- Update journal entry status -- Need to generate this within IF <condition>
49370 ----------------------------------------------------------------------------------
49371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49373 ,p_balance_type_code => l_balance_type_code
49374 );
49375
49376 -------------------------------------------------------------------------------------------
49377 -- 4262811 - Generate the Accrual Reversal lines
49378 -------------------------------------------------------------------------------------------
49379 BEGIN
49380 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49381 (g_array_event(p_event_id).array_value_num('header_index'));
49382 IF l_acc_rev_flag IS NULL THEN
49383 l_acc_rev_flag := 'N';
49384 END IF;
49385 EXCEPTION
49386 WHEN OTHERS THEN
49387 l_acc_rev_flag := 'N';
49388 END;
49389 --
49390 IF (l_acc_rev_flag = 'Y') THEN
49391
49392 -- 4645092 ------------------------------------------------------------------------------
49393 -- To allow MPA report to determine if it should generate report process
49394 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49395 ------------------------------------------------------------------------------------------
49396
49400 -- call ADRs
49397 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49398 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49399 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49401 -- Bug 4922099
49402 --
49403 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49404 (NVL(l_actual_upg_option, 'N') = 'O') OR
49405 (NVL(l_enc_upg_option, 'N') = 'O')
49406 )
49407 THEN
49408 NULL;
49409 --
49410 --
49411
49412 l_ccid := AcctDerRule_29(
49413 p_application_id => p_application_id
49414 , p_ae_header_id => l_ae_header_id
49415 , p_source_15 => p_source_15
49416 , p_source_15_meaning => p_source_15_meaning
49417 , p_source_18 => p_source_18
49418 , p_source_19 => p_source_19
49419 , p_source_19_meaning => p_source_19_meaning
49420 , p_source_30 => p_source_30
49421 , p_source_33 => p_source_33
49422 , p_source_33_meaning => p_source_33_meaning
49423 , p_source_44 => p_source_44
49424 , p_source_45 => p_source_45
49425 , p_source_46 => p_source_46
49426 , x_transaction_coa_id => l_adr_transaction_coa_id
49427 , x_accounting_coa_id => l_adr_accounting_coa_id
49428 , x_value_type_code => l_adr_value_type_code
49429 , p_side => 'NA'
49430 );
49431
49432 xla_ae_lines_pkg.set_ccid(
49433 p_code_combination_id => l_ccid
49434 , p_value_type_code => l_adr_value_type_code
49435 , p_transaction_coa_id => l_adr_transaction_coa_id
49436 , p_accounting_coa_id => l_adr_accounting_coa_id
49437 , p_adr_code => 'AP_DISCOUNT'
49438 , p_adr_type_code => 'S'
49439 , p_component_type => l_component_type
49440 , p_component_code => l_component_code
49441 , p_component_type_code => l_component_type_code
49442 , p_component_appl_id => l_component_appl_id
49443 , p_amb_context_code => l_amb_context_code
49444 , p_side => 'NA'
49445 );
49446
49447
49448 l_segment := AcctDerRule_21(
49449 p_application_id => p_application_id
49450 , p_ae_header_id => l_ae_header_id
49451 , p_source_15 => p_source_15
49452 , p_source_15_meaning => p_source_15_meaning
49453 , p_source_19 => p_source_19
49454 , p_source_19_meaning => p_source_19_meaning
49455 , p_source_30 => p_source_30
49456 , x_transaction_coa_id => l_adr_transaction_coa_id
49457 , x_accounting_coa_id => l_adr_accounting_coa_id
49458 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49459 , x_flex_value_set_id => l_adr_flex_value_set_id
49460 , x_value_type_code => l_adr_value_type_code
49461 , x_value_combination_id => l_adr_value_combination_id
49462 , x_value_segment_code => l_adr_value_segment_code
49463 , p_side => 'NA'
49464 , p_override_seg_flag => 'Y'
49465 );
49466
49467 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49468
49469 xla_ae_lines_pkg.set_segment(
49470 p_to_segment_code => 'GL_BALANCING'
49471 , p_segment_value => l_segment
49472 , p_from_segment_code => l_adr_value_segment_code
49473 , p_from_combination_id => l_adr_value_combination_id
49474 , p_value_type_code => l_adr_value_type_code
49475 , p_transaction_coa_id => l_adr_transaction_coa_id
49476 , p_accounting_coa_id => l_adr_accounting_coa_id
49477 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49478 , p_flex_value_set_id => l_adr_flex_value_set_id
49479 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49480 , p_adr_type_code => 'S'
49481 , p_component_type => l_component_type
49482 , p_component_code => l_component_code
49483 , p_component_type_code => l_component_type_code
49484 , p_component_appl_id => l_component_appl_id
49485 , p_amb_context_code => l_amb_context_code
49486 , p_entity_code => 'AP_PAYMENTS'
49487 , p_event_class_code => 'PAYMENTS'
49488 , p_side => 'NA'
49489 );
49490
49491 END IF;
49492
49493 l_segment := AcctDerRule_7(
49494 p_application_id => p_application_id
49495 , p_ae_header_id => l_ae_header_id
49496 , p_source_15 => p_source_15
49497 , p_source_15_meaning => p_source_15_meaning
49498 , p_source_18 => p_source_18
49499 , p_source_19 => p_source_19
49500 , p_source_19_meaning => p_source_19_meaning
49501 , x_transaction_coa_id => l_adr_transaction_coa_id
49502 , x_accounting_coa_id => l_adr_accounting_coa_id
49503 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49504 , x_flex_value_set_id => l_adr_flex_value_set_id
49505 , x_value_type_code => l_adr_value_type_code
49506 , x_value_combination_id => l_adr_value_combination_id
49507 , x_value_segment_code => l_adr_value_segment_code
49508 , p_side => 'NA'
49509 , p_override_seg_flag => 'Y'
49510 );
49511
49512 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49513
49517 , p_from_segment_code => l_adr_value_segment_code
49514 xla_ae_lines_pkg.set_segment(
49515 p_to_segment_code => 'GL_ACCOUNT'
49516 , p_segment_value => l_segment
49518 , p_from_combination_id => l_adr_value_combination_id
49519 , p_value_type_code => l_adr_value_type_code
49520 , p_transaction_coa_id => l_adr_transaction_coa_id
49521 , p_accounting_coa_id => l_adr_accounting_coa_id
49522 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49523 , p_flex_value_set_id => l_adr_flex_value_set_id
49524 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49525 , p_adr_type_code => 'S'
49526 , p_component_type => l_component_type
49527 , p_component_code => l_component_code
49528 , p_component_type_code => l_component_type_code
49529 , p_component_appl_id => l_component_appl_id
49530 , p_amb_context_code => l_amb_context_code
49531 , p_entity_code => 'AP_PAYMENTS'
49532 , p_event_class_code => 'PAYMENTS'
49533 , p_side => 'NA'
49534 );
49535
49536 END IF;
49537
49538 --
49539 --
49540 END IF;
49541
49542 --
49543 -- Update the line information that should be overwritten
49544 --
49545 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49546 p_header_num => 1);
49547 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49548
49549 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49550
49551 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49552 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49553 END IF;
49554
49555 --
49556 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49557 --
49558 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49559 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49560 ELSE
49561 ---------------------------------------------------------------------------------------------------
49562 -- 4262811a Switch Sign
49563 ---------------------------------------------------------------------------------------------------
49564 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49565 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49566 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49567 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49568 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49569 -- 5132302
49570 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49571 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49572
49573 END IF;
49574
49575 -- 4955764
49576 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49577 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49578
49579
49580 XLA_AE_LINES_PKG.ValidateCurrentLine;
49581 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49582
49583 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49584 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49585 ,p_balance_type_code => l_balance_type_code);
49586
49587 END IF;
49588
49589 -----------------------------------------------------------------------------------------
49590 -- 4262811 Multiperiod Accounting
49591 -----------------------------------------------------------------------------------------
49592 -- No MPA option is assigned.
49593
49594
49595 END IF;
49596 END IF;
49597 --
49598
49599 --
49600 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49601 trace
49602 (p_msg => 'END of AcctLineType_103'
49603 ,p_level => C_LEVEL_PROCEDURE
49604 ,p_module => l_log_module);
49605 END IF;
49606 --
49607 EXCEPTION
49608 WHEN xla_exceptions_pkg.application_exception THEN
49609 RAISE;
49610 WHEN OTHERS THEN
49611 xla_exceptions_pkg.raise_message
49612 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_103');
49613 END AcctLineType_103;
49614 --
49615
49616 ---------------------------------------
49617 --
49618 -- PRIVATE FUNCTION
49619 -- AcctLineType_104
49620 --
49621 ---------------------------------------
49622 PROCEDURE AcctLineType_104 (
49623 p_application_id IN NUMBER
49624 ,p_event_id IN NUMBER
49625 ,p_calculate_acctd_flag IN VARCHAR2
49626 ,p_calculate_g_l_flag IN VARCHAR2
49627 ,p_actual_flag IN OUT VARCHAR2
49628 ,p_balance_type_code OUT VARCHAR2
49629 ,p_gain_or_loss_ref OUT VARCHAR2
49630
49631 --Payment Currency Code
49632 , p_source_13 IN VARCHAR2
49636 --System Discount Account
49633 --Automatic Offsets Value
49634 , p_source_15 IN VARCHAR2
49635 , p_source_15_meaning IN VARCHAR2
49637 , p_source_18 IN NUMBER
49638 --Discount Distribution Method
49639 , p_source_19 IN VARCHAR2
49640 , p_source_19_meaning IN VARCHAR2
49641 --Invoice Distribution Account
49642 , p_source_30 IN NUMBER
49643 --Invoice Distribution Type
49644 , p_source_33 IN VARCHAR2
49645 , p_source_33_meaning IN VARCHAR2
49646 --Discount Account
49647 , p_source_44 IN NUMBER
49648 --Purchase Order Charge Account
49649 , p_source_45 IN NUMBER
49650 --Purchase Order Variance Account
49651 , p_source_46 IN NUMBER
49652 --Accounting Reversal Indicator
49653 , p_source_52 IN VARCHAR2
49654 --Distribution Link Type
49655 , p_source_54 IN VARCHAR2
49656 --Override Accounted Amount Indicator
49657 , p_source_79 IN VARCHAR2
49658 , p_source_79_meaning IN VARCHAR2
49659 --Third Party Type
49660 , p_source_82 IN VARCHAR2
49661 --Invoice Distribution Tax Line Identifier
49662 , p_source_85 IN NUMBER
49663 --Invoice Distribution Tax Distribution Identifier from Tax
49664 , p_source_86 IN NUMBER
49665 --Invoice Distribution Summary Tax Line Identifier
49666 , p_source_87 IN NUMBER
49667 --Business Flow Accounts Payable Application Identifier
49668 , p_source_90 IN NUMBER
49669 --Business Flow Invoice Distribution Type
49670 , p_source_91 IN VARCHAR2
49671 --Business Flow Invoice Entity Code
49672 , p_source_92 IN VARCHAR2
49673 --Business Flow Invoice Distribution Identifier
49674 , p_source_93 IN NUMBER
49675 --Business Flow Invoice Identifier
49676 , p_source_94 IN NUMBER
49677 --When to Account for Payment Option
49678 , p_source_96 IN VARCHAR2
49679 --Payment Distribution Type
49680 , p_source_97 IN VARCHAR2
49681 , p_source_97_meaning IN VARCHAR2
49682 --Payment Distribution Amount
49683 , p_source_98 IN NUMBER
49684 --Payment Distribution Identifier
49685 , p_source_103 IN NUMBER
49686 --Payment Supplier Identifier
49687 , p_source_109 IN NUMBER
49688 --Payment Supplier Site Identifier
49689 , p_source_110 IN NUMBER
49690 --Payment Distribution Reversed Identifier
49691 , p_source_111 IN NUMBER
49692 --Payment Identifier
49693 , p_source_112 IN NUMBER
49694 --Payment Distribution (Invoice Rate) Ledger Amount
49695 , p_source_116 IN NUMBER
49696 --Payment Type
49697 , p_source_122 IN VARCHAR2
49698 , p_source_122_meaning IN VARCHAR2
49699 --Invoice Exchange Date
49700 , p_source_136 IN DATE
49701 --Invoice Exchange Rate
49702 , p_source_137 IN NUMBER
49703 --Invoice Exchange Rate Type
49704 , p_source_138 IN VARCHAR2
49705 )
49706 IS
49707
49708 l_component_type VARCHAR2(80);
49709 l_component_code VARCHAR2(30);
49710 l_component_type_code VARCHAR2(1);
49711 l_component_appl_id INTEGER;
49712 l_amb_context_code VARCHAR2(30);
49713 l_entity_code VARCHAR2(30);
49714 l_event_class_code VARCHAR2(30);
49715 l_ae_header_id NUMBER;
49716 l_event_type_code VARCHAR2(30);
49717 l_line_definition_code VARCHAR2(30);
49718 l_line_definition_owner_code VARCHAR2(1);
49719 --
49720 -- adr variables
49721 l_segment VARCHAR2(30);
49722 l_ccid NUMBER;
49723 l_adr_transaction_coa_id NUMBER;
49724 l_adr_accounting_coa_id NUMBER;
49725 l_adr_flexfield_segment_code VARCHAR2(30);
49726 l_adr_flex_value_set_id NUMBER;
49727 l_adr_value_type_code VARCHAR2(30);
49728 l_adr_value_combination_id NUMBER;
49729 l_adr_value_segment_code VARCHAR2(30);
49730
49731 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
49732 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
49733 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
49734 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
49735
49736 -- 4262811 Variables ------------------------------------------------------------------------------------------
49737 l_entered_amt_idx NUMBER;
49738 l_accted_amt_idx NUMBER;
49739 l_acc_rev_flag VARCHAR2(1);
49740 l_accrual_line_num NUMBER;
49741 l_tmp_amt NUMBER;
49742 l_acc_rev_natural_side_code VARCHAR2(1);
49743
49744 l_num_entries NUMBER;
49745 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
49746 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
49747 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
49748 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
49749 l_recog_line_1 NUMBER;
49750 l_recog_line_2 NUMBER;
49751
49752 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
49753 l_bflow_applied_to_amt NUMBER; -- 5132302
49754 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
49755
49759 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
49756 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
49757
49758 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
49760
49761 ---------------------------------------------------------------------------------------------------------------
49762
49763
49764 --
49765 -- bulk performance
49766 --
49767 l_balance_type_code VARCHAR2(1);
49768 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
49769 l_log_module VARCHAR2(240);
49770
49771 --
49772 -- Upgrade strategy
49773 --
49774 l_actual_upg_option VARCHAR2(1);
49775 l_enc_upg_option VARCHAR2(1);
49776
49777 --
49778 BEGIN
49779 --
49780 IF g_log_enabled THEN
49781 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_104';
49782 END IF;
49783 --
49784 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49785
49786 trace
49787 (p_msg => 'BEGIN of AcctLineType_104'
49788 ,p_level => C_LEVEL_PROCEDURE
49789 ,p_module => l_log_module);
49790
49791 END IF;
49792 --
49793 l_component_type := 'AMB_JLT';
49794 l_component_code := 'AP_DISCOUNT_ACCR_REF';
49795 l_component_type_code := 'S';
49796 l_component_appl_id := 200;
49797 l_amb_context_code := 'DEFAULT';
49798 l_entity_code := 'AP_PAYMENTS';
49799 l_event_class_code := 'REFUNDS';
49800 l_event_type_code := 'REFUNDS_ALL';
49801 l_line_definition_owner_code := 'S';
49802 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
49803 --
49804 l_balance_type_code := 'A';
49805 l_segment := NULL;
49806 l_ccid := NULL;
49807 l_adr_transaction_coa_id := NULL;
49808 l_adr_accounting_coa_id := NULL;
49809 l_adr_flexfield_segment_code := NULL;
49810 l_adr_flex_value_set_id := NULL;
49811 l_adr_value_type_code := NULL;
49812 l_adr_value_combination_id := NULL;
49813 l_adr_value_segment_code := NULL;
49814
49815 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
49816 l_bflow_class_code := ''; -- 4219869 Business Flow
49817 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
49818 l_budgetary_control_flag := 'N';
49819
49820 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49821 l_bflow_applied_to_amt := NULL; -- 5132302
49822 l_entered_amt_idx := NULL; -- 4262811
49823 l_accted_amt_idx := NULL; -- 4262811
49824 l_acc_rev_flag := NULL; -- 4262811
49825 l_accrual_line_num := NULL; -- 4262811
49826 l_tmp_amt := NULL; -- 4262811
49827 --
49828
49829 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
49830 l_balance_type_code <> 'B' THEN
49831 IF NVL(p_source_96,'
49832 ') <> 'CLEAR_CLEAR' AND
49833 NVL(p_source_97,'
49834 ') = 'DISCOUNT' AND
49835 NVL(p_source_122,'
49836 ') = 'R'
49837 THEN
49838
49839 --
49840 XLA_AE_LINES_PKG.SetNewLine;
49841
49842 p_balance_type_code := l_balance_type_code;
49843 -- set the flag so later we will know whether the gain loss line needs to be created
49844
49845 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
49846 p_actual_flag :='A';
49847 END IF;
49848
49849 --
49850 -- bulk performance
49851 --
49852 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49853 p_header_num => 0); -- 4262811
49854 --
49855 -- set accounting line options
49856 --
49857 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49858 p_natural_side_code => 'C'
49859 , p_gain_or_loss_flag => 'N'
49860 , p_gl_transfer_mode_code => 'S'
49861 , p_acct_entry_type_code => 'A'
49862 , p_switch_side_flag => 'Y'
49863 , p_merge_duplicate_code => 'A'
49864 );
49865 --
49866 l_acc_rev_natural_side_code := 'D'; -- 4262811
49867 --
49868 --
49869 -- set accounting line type info
49870 --
49871 xla_ae_lines_pkg.SetAcctLineType
49872 (p_component_type => l_component_type
49873 ,p_event_type_code => l_event_type_code
49874 ,p_line_definition_owner_code => l_line_definition_owner_code
49875 ,p_line_definition_code => l_line_definition_code
49876 ,p_accounting_line_code => l_component_code
49877 ,p_accounting_line_type_code => l_component_type_code
49878 ,p_accounting_line_appl_id => l_component_appl_id
49879 ,p_amb_context_code => l_amb_context_code
49880 ,p_entity_code => l_entity_code
49881 ,p_event_class_code => l_event_class_code);
49882 --
49883 -- set accounting class
49884 --
49885 xla_ae_lines_pkg.SetAcctClass(
49886 p_accounting_class_code => 'DISCOUNT'
49887 , p_ae_header_id => l_ae_header_id
49888 );
49889
49890 --
49894 'DISCOUNT';
49891 -- set rounding class
49892 --
49893 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49895
49896 --
49897 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49898 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49899 --
49900 -- bulk performance
49901 --
49902 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49903
49904 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49905 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49906
49907 -- 4955764
49908 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49909 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49910
49911 -- 4458381 Public Sector Enh
49912
49913 --
49914 -- set accounting attributes for the line type
49915 --
49916 l_entered_amt_idx := 9;
49917 l_accted_amt_idx := 14;
49918 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49919 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49920 l_rec_acct_attrs.array_char_value(1) := p_source_52;
49921 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
49922 l_rec_acct_attrs.array_num_value(2) := p_source_90;
49923 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49924 l_rec_acct_attrs.array_char_value(3) := p_source_91;
49925 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
49926 l_rec_acct_attrs.array_char_value(4) := p_source_92;
49927 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
49928 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
49929 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49930 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
49931 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
49932 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
49933 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
49934 l_rec_acct_attrs.array_char_value(8) := p_source_54;
49935 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
49936 l_rec_acct_attrs.array_num_value(9) := p_source_98;
49937 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
49938 l_rec_acct_attrs.array_char_value(10) := p_source_13;
49939 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
49940 l_rec_acct_attrs.array_date_value(11) := p_source_136;
49941 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
49942 l_rec_acct_attrs.array_num_value(12) := p_source_137;
49943 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
49944 l_rec_acct_attrs.array_char_value(13) := p_source_138;
49945 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
49946 l_rec_acct_attrs.array_num_value(14) := p_source_116;
49947 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
49948 l_rec_acct_attrs.array_char_value(15) := p_source_79;
49949 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
49950 l_rec_acct_attrs.array_num_value(16) := p_source_109;
49951 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
49952 l_rec_acct_attrs.array_num_value(17) := p_source_110;
49953 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
49954 l_rec_acct_attrs.array_char_value(18) := p_source_82;
49955 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
49956 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
49957 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
49958 l_rec_acct_attrs.array_char_value(20) := p_source_54;
49959 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
49960 l_rec_acct_attrs.array_num_value(21) := p_source_85;
49961 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
49962 l_rec_acct_attrs.array_num_value(22) := p_source_86;
49963 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
49964 l_rec_acct_attrs.array_num_value(23) := p_source_87;
49965
49966 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49967 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49968
49969 ---------------------------------------------------------------------------------------------------------------
49970 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49971 ---------------------------------------------------------------------------------------------------------------
49972 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49973
49974 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49975 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49976
49977 IF xla_accounting_cache_pkg.GetValueChar
49978 (p_source_code => 'LEDGER_CATEGORY_CODE'
49979 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49980 AND l_bflow_method_code = 'PRIOR_ENTRY'
49981 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49982 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49986 xla_ae_lines_pkg.BflowUpgEntry
49983 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49984 )
49985 THEN
49987 (p_business_method_code => l_bflow_method_code
49988 ,p_business_class_code => l_bflow_class_code
49989 ,p_balance_type => l_balance_type_code);
49990 ELSE
49991 NULL;
49992 -- No business flow processing for business flow method of NONE.
49993 END IF;
49994
49995 --
49996 -- call analytical criteria
49997 --
49998
49999
50000 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
50001 xla_ae_lines_pkg.SetAnalyticalCriteria(
50002 p_analytical_criterion_name => 'Check Id'
50003 , p_analytical_criterion_owner => 'S'
50004 , p_analytical_criterion_code => 'CHECK_ID'
50005 , p_amb_context_code => 'DEFAULT'
50006 , p_balancing_flag => 'N'
50007
50008 , p_analytical_detail_char_1 => NULL
50009 , p_analytical_detail_num_1 => p_source_112
50010 , p_analytical_detail_date_1 => NULL
50011
50012 , p_ae_header_id => l_ae_header_id
50013 )
50014 ;
50015 --
50016
50017 --
50018 -- call description
50019 --
50020 -- No description or it is inherited.
50021 --
50022 -- call ADRs
50023 -- Bug 4922099
50024 --
50025 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50026 (NVL(l_actual_upg_option, 'N') = 'O') OR
50027 (NVL(l_enc_upg_option, 'N') = 'O')
50028 )
50029 THEN
50030 NULL;
50031 --
50032 --
50033
50034 l_ccid := AcctDerRule_29(
50035 p_application_id => p_application_id
50036 , p_ae_header_id => l_ae_header_id
50037 , p_source_15 => p_source_15
50038 , p_source_15_meaning => p_source_15_meaning
50039 , p_source_18 => p_source_18
50040 , p_source_19 => p_source_19
50041 , p_source_19_meaning => p_source_19_meaning
50042 , p_source_30 => p_source_30
50043 , p_source_33 => p_source_33
50044 , p_source_33_meaning => p_source_33_meaning
50045 , p_source_44 => p_source_44
50046 , p_source_45 => p_source_45
50047 , p_source_46 => p_source_46
50048 , x_transaction_coa_id => l_adr_transaction_coa_id
50049 , x_accounting_coa_id => l_adr_accounting_coa_id
50050 , x_value_type_code => l_adr_value_type_code
50051 , p_side => 'NA'
50052 );
50053
50054 xla_ae_lines_pkg.set_ccid(
50055 p_code_combination_id => l_ccid
50056 , p_value_type_code => l_adr_value_type_code
50057 , p_transaction_coa_id => l_adr_transaction_coa_id
50058 , p_accounting_coa_id => l_adr_accounting_coa_id
50059 , p_adr_code => 'AP_DISCOUNT'
50060 , p_adr_type_code => 'S'
50061 , p_component_type => l_component_type
50062 , p_component_code => l_component_code
50063 , p_component_type_code => l_component_type_code
50064 , p_component_appl_id => l_component_appl_id
50065 , p_amb_context_code => l_amb_context_code
50066 , p_side => 'NA'
50067 );
50068
50069
50070 l_segment := AcctDerRule_21(
50071 p_application_id => p_application_id
50072 , p_ae_header_id => l_ae_header_id
50073 , p_source_15 => p_source_15
50074 , p_source_15_meaning => p_source_15_meaning
50075 , p_source_19 => p_source_19
50076 , p_source_19_meaning => p_source_19_meaning
50077 , p_source_30 => p_source_30
50078 , x_transaction_coa_id => l_adr_transaction_coa_id
50079 , x_accounting_coa_id => l_adr_accounting_coa_id
50080 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50081 , x_flex_value_set_id => l_adr_flex_value_set_id
50082 , x_value_type_code => l_adr_value_type_code
50083 , x_value_combination_id => l_adr_value_combination_id
50084 , x_value_segment_code => l_adr_value_segment_code
50085 , p_side => 'NA'
50086 , p_override_seg_flag => 'Y'
50087 );
50088
50089 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50090
50091 xla_ae_lines_pkg.set_segment(
50092 p_to_segment_code => 'GL_BALANCING'
50093 , p_segment_value => l_segment
50094 , p_from_segment_code => l_adr_value_segment_code
50095 , p_from_combination_id => l_adr_value_combination_id
50096 , p_value_type_code => l_adr_value_type_code
50097 , p_transaction_coa_id => l_adr_transaction_coa_id
50098 , p_accounting_coa_id => l_adr_accounting_coa_id
50099 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50100 , p_flex_value_set_id => l_adr_flex_value_set_id
50101 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50102 , p_adr_type_code => 'S'
50103 , p_component_type => l_component_type
50104 , p_component_code => l_component_code
50105 , p_component_type_code => l_component_type_code
50106 , p_component_appl_id => l_component_appl_id
50107 , p_amb_context_code => l_amb_context_code
50108 , p_entity_code => 'AP_PAYMENTS'
50109 , p_event_class_code => 'REFUNDS'
50113 END IF;
50110 , p_side => 'NA'
50111 );
50112
50114
50115 l_segment := AcctDerRule_7(
50116 p_application_id => p_application_id
50117 , p_ae_header_id => l_ae_header_id
50118 , p_source_15 => p_source_15
50119 , p_source_15_meaning => p_source_15_meaning
50120 , p_source_18 => p_source_18
50121 , p_source_19 => p_source_19
50122 , p_source_19_meaning => p_source_19_meaning
50123 , x_transaction_coa_id => l_adr_transaction_coa_id
50124 , x_accounting_coa_id => l_adr_accounting_coa_id
50125 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50126 , x_flex_value_set_id => l_adr_flex_value_set_id
50127 , x_value_type_code => l_adr_value_type_code
50128 , x_value_combination_id => l_adr_value_combination_id
50129 , x_value_segment_code => l_adr_value_segment_code
50130 , p_side => 'NA'
50131 , p_override_seg_flag => 'Y'
50132 );
50133
50134 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50135
50136 xla_ae_lines_pkg.set_segment(
50137 p_to_segment_code => 'GL_ACCOUNT'
50138 , p_segment_value => l_segment
50139 , p_from_segment_code => l_adr_value_segment_code
50140 , p_from_combination_id => l_adr_value_combination_id
50141 , p_value_type_code => l_adr_value_type_code
50142 , p_transaction_coa_id => l_adr_transaction_coa_id
50143 , p_accounting_coa_id => l_adr_accounting_coa_id
50144 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50145 , p_flex_value_set_id => l_adr_flex_value_set_id
50146 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50147 , p_adr_type_code => 'S'
50148 , p_component_type => l_component_type
50149 , p_component_code => l_component_code
50150 , p_component_type_code => l_component_type_code
50151 , p_component_appl_id => l_component_appl_id
50152 , p_amb_context_code => l_amb_context_code
50153 , p_entity_code => 'AP_PAYMENTS'
50154 , p_event_class_code => 'REFUNDS'
50155 , p_side => 'NA'
50156 );
50157
50158 END IF;
50159
50160 --
50161 --
50162 END IF;
50163 --
50164 -- Bug 4922099
50165 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
50166 (NVL(l_enc_upg_option, 'N') = 'O')
50167 ) AND
50168 (l_bflow_method_code = 'PRIOR_ENTRY')
50169 )
50170 THEN
50171 IF
50172 --
50173 1 = 2
50174 --
50175 THEN
50176 xla_accounting_err_pkg.build_message
50177 (p_appli_s_name => 'XLA'
50178 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50179 ,p_token_1 => 'LINE_NUMBER'
50180 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
50181 ,p_token_2 => 'LINE_TYPE_NAME'
50182 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
50183 l_component_type
50184 ,l_component_code
50185 ,l_component_type_code
50186 ,l_component_appl_id
50187 ,l_amb_context_code
50188 ,l_entity_code
50189 ,l_event_class_code
50190 )
50191 ,p_token_3 => 'OWNER'
50192 ,p_value_3 => xla_lookups_pkg.get_meaning(
50193 p_lookup_type => 'XLA_OWNER_TYPE'
50194 ,p_lookup_code => l_component_type_code
50195 )
50196 ,p_token_4 => 'PRODUCT_NAME'
50197 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
50198 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
50199 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
50200 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
50201 ,p_ae_header_id => NULL
50202 );
50203
50204 IF (C_LEVEL_ERROR>= g_log_level) THEN
50205 trace
50206 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50207 ,p_level => C_LEVEL_ERROR
50208 ,p_module => l_log_module);
50209 END IF;
50210 END IF;
50214 ------------------------------------------------------------------------------------------------
50211 END IF;
50212 --
50213 --
50215 -- 4219869 Business Flow
50216 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
50217 -- Prior Entry. Currently, the following code is always generated.
50218 ------------------------------------------------------------------------------------------------
50219 XLA_AE_LINES_PKG.ValidateCurrentLine;
50220
50221 ------------------------------------------------------------------------------------
50222 -- 4219869 Business Flow
50223 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
50224 ------------------------------------------------------------------------------------
50225 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50226
50227 ----------------------------------------------------------------------------------
50228 -- 4219869 Business Flow
50229 -- Update journal entry status -- Need to generate this within IF <condition>
50230 ----------------------------------------------------------------------------------
50231 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50232 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
50233 ,p_balance_type_code => l_balance_type_code
50234 );
50235
50236 -------------------------------------------------------------------------------------------
50237 -- 4262811 - Generate the Accrual Reversal lines
50238 -------------------------------------------------------------------------------------------
50239 BEGIN
50240 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
50241 (g_array_event(p_event_id).array_value_num('header_index'));
50242 IF l_acc_rev_flag IS NULL THEN
50243 l_acc_rev_flag := 'N';
50244 END IF;
50245 EXCEPTION
50246 WHEN OTHERS THEN
50247 l_acc_rev_flag := 'N';
50248 END;
50249 --
50250 IF (l_acc_rev_flag = 'Y') THEN
50251
50252 -- 4645092 ------------------------------------------------------------------------------
50253 -- To allow MPA report to determine if it should generate report process
50254 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
50255 ------------------------------------------------------------------------------------------
50256
50257 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
50258 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
50259 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
50260 -- call ADRs
50261 -- Bug 4922099
50262 --
50263 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50264 (NVL(l_actual_upg_option, 'N') = 'O') OR
50265 (NVL(l_enc_upg_option, 'N') = 'O')
50266 )
50267 THEN
50268 NULL;
50269 --
50270 --
50271
50272 l_ccid := AcctDerRule_29(
50273 p_application_id => p_application_id
50274 , p_ae_header_id => l_ae_header_id
50275 , p_source_15 => p_source_15
50276 , p_source_15_meaning => p_source_15_meaning
50277 , p_source_18 => p_source_18
50278 , p_source_19 => p_source_19
50279 , p_source_19_meaning => p_source_19_meaning
50280 , p_source_30 => p_source_30
50281 , p_source_33 => p_source_33
50282 , p_source_33_meaning => p_source_33_meaning
50283 , p_source_44 => p_source_44
50284 , p_source_45 => p_source_45
50285 , p_source_46 => p_source_46
50286 , x_transaction_coa_id => l_adr_transaction_coa_id
50287 , x_accounting_coa_id => l_adr_accounting_coa_id
50288 , x_value_type_code => l_adr_value_type_code
50289 , p_side => 'NA'
50290 );
50291
50292 xla_ae_lines_pkg.set_ccid(
50293 p_code_combination_id => l_ccid
50294 , p_value_type_code => l_adr_value_type_code
50295 , p_transaction_coa_id => l_adr_transaction_coa_id
50296 , p_accounting_coa_id => l_adr_accounting_coa_id
50297 , p_adr_code => 'AP_DISCOUNT'
50298 , p_adr_type_code => 'S'
50299 , p_component_type => l_component_type
50300 , p_component_code => l_component_code
50301 , p_component_type_code => l_component_type_code
50302 , p_component_appl_id => l_component_appl_id
50303 , p_amb_context_code => l_amb_context_code
50304 , p_side => 'NA'
50305 );
50306
50307
50308 l_segment := AcctDerRule_21(
50309 p_application_id => p_application_id
50310 , p_ae_header_id => l_ae_header_id
50311 , p_source_15 => p_source_15
50312 , p_source_15_meaning => p_source_15_meaning
50313 , p_source_19 => p_source_19
50314 , p_source_19_meaning => p_source_19_meaning
50315 , p_source_30 => p_source_30
50316 , x_transaction_coa_id => l_adr_transaction_coa_id
50317 , x_accounting_coa_id => l_adr_accounting_coa_id
50318 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50319 , x_flex_value_set_id => l_adr_flex_value_set_id
50320 , x_value_type_code => l_adr_value_type_code
50321 , x_value_combination_id => l_adr_value_combination_id
50322 , x_value_segment_code => l_adr_value_segment_code
50323 , p_side => 'NA'
50324 , p_override_seg_flag => 'Y'
50325 );
50326
50330 p_to_segment_code => 'GL_BALANCING'
50327 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50328
50329 xla_ae_lines_pkg.set_segment(
50331 , p_segment_value => l_segment
50332 , p_from_segment_code => l_adr_value_segment_code
50333 , p_from_combination_id => l_adr_value_combination_id
50334 , p_value_type_code => l_adr_value_type_code
50335 , p_transaction_coa_id => l_adr_transaction_coa_id
50336 , p_accounting_coa_id => l_adr_accounting_coa_id
50337 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50338 , p_flex_value_set_id => l_adr_flex_value_set_id
50339 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50340 , p_adr_type_code => 'S'
50341 , p_component_type => l_component_type
50342 , p_component_code => l_component_code
50343 , p_component_type_code => l_component_type_code
50344 , p_component_appl_id => l_component_appl_id
50345 , p_amb_context_code => l_amb_context_code
50346 , p_entity_code => 'AP_PAYMENTS'
50347 , p_event_class_code => 'REFUNDS'
50348 , p_side => 'NA'
50349 );
50350
50351 END IF;
50352
50353 l_segment := AcctDerRule_7(
50354 p_application_id => p_application_id
50355 , p_ae_header_id => l_ae_header_id
50356 , p_source_15 => p_source_15
50357 , p_source_15_meaning => p_source_15_meaning
50358 , p_source_18 => p_source_18
50359 , p_source_19 => p_source_19
50360 , p_source_19_meaning => p_source_19_meaning
50361 , x_transaction_coa_id => l_adr_transaction_coa_id
50362 , x_accounting_coa_id => l_adr_accounting_coa_id
50363 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50364 , x_flex_value_set_id => l_adr_flex_value_set_id
50365 , x_value_type_code => l_adr_value_type_code
50366 , x_value_combination_id => l_adr_value_combination_id
50367 , x_value_segment_code => l_adr_value_segment_code
50368 , p_side => 'NA'
50369 , p_override_seg_flag => 'Y'
50370 );
50371
50372 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50373
50374 xla_ae_lines_pkg.set_segment(
50375 p_to_segment_code => 'GL_ACCOUNT'
50376 , p_segment_value => l_segment
50377 , p_from_segment_code => l_adr_value_segment_code
50378 , p_from_combination_id => l_adr_value_combination_id
50379 , p_value_type_code => l_adr_value_type_code
50380 , p_transaction_coa_id => l_adr_transaction_coa_id
50381 , p_accounting_coa_id => l_adr_accounting_coa_id
50382 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50383 , p_flex_value_set_id => l_adr_flex_value_set_id
50384 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50385 , p_adr_type_code => 'S'
50386 , p_component_type => l_component_type
50387 , p_component_code => l_component_code
50388 , p_component_type_code => l_component_type_code
50389 , p_component_appl_id => l_component_appl_id
50390 , p_amb_context_code => l_amb_context_code
50391 , p_entity_code => 'AP_PAYMENTS'
50392 , p_event_class_code => 'REFUNDS'
50393 , p_side => 'NA'
50394 );
50395
50396 END IF;
50397
50398 --
50399 --
50400 END IF;
50401
50402 --
50403 -- Update the line information that should be overwritten
50404 --
50405 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50406 p_header_num => 1);
50407 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50408
50409 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50410
50411 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50412 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50413 END IF;
50414
50415 --
50416 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50417 --
50418 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50419 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50420 ELSE
50421 ---------------------------------------------------------------------------------------------------
50422 -- 4262811a Switch Sign
50423 ---------------------------------------------------------------------------------------------------
50424 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50425 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50426 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50427 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50431 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50428 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50429 -- 5132302
50430 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50432
50433 END IF;
50434
50435 -- 4955764
50436 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50437 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50438
50439
50440 XLA_AE_LINES_PKG.ValidateCurrentLine;
50441 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50442
50443 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50444 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50445 ,p_balance_type_code => l_balance_type_code);
50446
50447 END IF;
50448
50449 -----------------------------------------------------------------------------------------
50450 -- 4262811 Multiperiod Accounting
50451 -----------------------------------------------------------------------------------------
50452 -- No MPA option is assigned.
50453
50454
50455 END IF;
50456 END IF;
50457 --
50458
50459 --
50460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50461 trace
50462 (p_msg => 'END of AcctLineType_104'
50463 ,p_level => C_LEVEL_PROCEDURE
50464 ,p_module => l_log_module);
50465 END IF;
50466 --
50467 EXCEPTION
50468 WHEN xla_exceptions_pkg.application_exception THEN
50469 RAISE;
50470 WHEN OTHERS THEN
50471 xla_exceptions_pkg.raise_message
50472 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_104');
50473 END AcctLineType_104;
50474 --
50475
50476 ---------------------------------------
50477 --
50478 -- PRIVATE FUNCTION
50479 -- AcctLineType_105
50480 --
50481 ---------------------------------------
50482 PROCEDURE AcctLineType_105 (
50483 p_application_id IN NUMBER
50484 ,p_event_id IN NUMBER
50485 ,p_calculate_acctd_flag IN VARCHAR2
50486 ,p_calculate_g_l_flag IN VARCHAR2
50487 ,p_actual_flag IN OUT VARCHAR2
50488 ,p_balance_type_code OUT VARCHAR2
50489 ,p_gain_or_loss_ref OUT VARCHAR2
50490
50491 --Invoice Distribution Description
50492 , p_source_1 IN VARCHAR2
50493 --Automatic Offsets Value
50494 , p_source_15 IN VARCHAR2
50495 , p_source_15_meaning IN VARCHAR2
50496 --Purchase Order Rate Variance Gain Account
50497 , p_source_20 IN NUMBER
50498 --Invoice Distribution Ledger Amount
50499 , p_source_21 IN NUMBER
50500 --Destination Type of the PO Distribution
50501 , p_source_22 IN VARCHAR2
50502 , p_source_22_meaning IN VARCHAR2
50503 --Purchase Order Rate Variance Loss Account
50504 , p_source_23 IN NUMBER
50505 --Invoice Distribution Account
50506 , p_source_30 IN NUMBER
50507 --Invoice Distribution Type
50508 , p_source_33 IN VARCHAR2
50509 , p_source_33_meaning IN VARCHAR2
50510 --Automatic Offsets Flag
50511 , p_source_47 IN VARCHAR2
50512 , p_source_47_meaning IN VARCHAR2
50513 --Accounting Reversal Indicator
50514 , p_source_52 IN VARCHAR2
50515 --Distribution Link Type
50516 , p_source_54 IN VARCHAR2
50517 --Allocation to Main Distribution Identifier
50518 , p_source_56 IN NUMBER
50519 --Invoice Identifier
50520 , p_source_57 IN NUMBER
50521 --Invoice Distribution Identifier
50522 , p_source_63 IN NUMBER
50523 --Payables Encumbrance Upgrade Credit Account
50524 , p_source_64 IN NUMBER
50525 --Payables Encumbrance Upgrade Credit Amount
50526 , p_source_65 IN NUMBER
50527 --Invoice Currency Code
50528 , p_source_66 IN VARCHAR2
50529 --Payables Encumbrance Upgrade Credit Base Amount
50530 , p_source_67 IN NUMBER
50531 --Payables Encumbrance Upgrade Debit Account
50532 , p_source_68 IN NUMBER
50533 --Payables Encumbrance Upgrade Debit Amount
50534 , p_source_69 IN NUMBER
50535 --Payables Encumbrance Upgrade Debit Base Amount
50536 , p_source_70 IN NUMBER
50537 --Payables Encumbrance Upgrade Option
50538 , p_source_71 IN VARCHAR2
50539 --Invoice Distribution Amount
50540 , p_source_72 IN NUMBER
50541 --Deferred Accounting End Date
50542 , p_source_76 IN DATE
50543 --Deferred Accounting Option
50544 , p_source_77 IN VARCHAR2
50545 --Deferred Accounting Start Date
50546 , p_source_78 IN DATE
50547 --Override Accounted Amount Indicator
50548 , p_source_79 IN VARCHAR2
50549 , p_source_79_meaning IN VARCHAR2
50550 --Invoice Supplier Identifier
50551 , p_source_80 IN NUMBER
50552 --Invoice Supplier Site Identifier
50553 , p_source_81 IN NUMBER
50554 --Third Party Type
50555 , p_source_82 IN VARCHAR2
50556 --Parent Reversal Identifier
50557 , p_source_83 IN NUMBER
50558 --Invoice Distribution Statistical Amount
50559 , p_source_84 IN NUMBER
50560 --Invoice Distribution Tax Line Identifier
50564 --Invoice Distribution Summary Tax Line Identifier
50561 , p_source_85 IN NUMBER
50562 --Invoice Distribution Tax Distribution Identifier from Tax
50563 , p_source_86 IN NUMBER
50565 , p_source_87 IN NUMBER
50566 --Payables Upgrade Credit Encumbrance Type Identifier
50567 , p_source_88 IN NUMBER
50568 --Payables Upgrade Debit Encumbrance Type Identifier
50569 , p_source_89 IN NUMBER
50570 --Business Flow Accounts Payable Application Identifier
50571 , p_source_90 IN NUMBER
50572 --Business Flow Invoice Distribution Type
50573 , p_source_91 IN VARCHAR2
50574 --Business Flow Invoice Entity Code
50575 , p_source_92 IN VARCHAR2
50576 --Business Flow Invoice Distribution Identifier
50577 , p_source_93 IN NUMBER
50578 --Business Flow Invoice Identifier
50579 , p_source_94 IN NUMBER
50580 --Accrue on Receipt Option
50581 , p_source_95 IN VARCHAR2
50582 , p_source_95_meaning IN VARCHAR2
50583 --Invoice Exchange Date
50584 , p_source_136 IN DATE
50585 --Invoice Exchange Rate
50586 , p_source_137 IN NUMBER
50587 --Invoice Exchange Rate Type
50588 , p_source_138 IN VARCHAR2
50589 )
50590 IS
50591
50592 l_component_type VARCHAR2(80);
50593 l_component_code VARCHAR2(30);
50594 l_component_type_code VARCHAR2(1);
50595 l_component_appl_id INTEGER;
50596 l_amb_context_code VARCHAR2(30);
50597 l_entity_code VARCHAR2(30);
50598 l_event_class_code VARCHAR2(30);
50599 l_ae_header_id NUMBER;
50600 l_event_type_code VARCHAR2(30);
50601 l_line_definition_code VARCHAR2(30);
50602 l_line_definition_owner_code VARCHAR2(1);
50603 --
50604 -- adr variables
50605 l_segment VARCHAR2(30);
50606 l_ccid NUMBER;
50607 l_adr_transaction_coa_id NUMBER;
50608 l_adr_accounting_coa_id NUMBER;
50609 l_adr_flexfield_segment_code VARCHAR2(30);
50610 l_adr_flex_value_set_id NUMBER;
50611 l_adr_value_type_code VARCHAR2(30);
50612 l_adr_value_combination_id NUMBER;
50613 l_adr_value_segment_code VARCHAR2(30);
50614
50615 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50616 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50617 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50618 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50619
50620 -- 4262811 Variables ------------------------------------------------------------------------------------------
50621 l_entered_amt_idx NUMBER;
50622 l_accted_amt_idx NUMBER;
50623 l_acc_rev_flag VARCHAR2(1);
50624 l_accrual_line_num NUMBER;
50625 l_tmp_amt NUMBER;
50626 l_acc_rev_natural_side_code VARCHAR2(1);
50627
50628 l_num_entries NUMBER;
50629 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50630 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50631 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50632 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50633 l_recog_line_1 NUMBER;
50634 l_recog_line_2 NUMBER;
50635
50636 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50637 l_bflow_applied_to_amt NUMBER; -- 5132302
50638 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50639
50640 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50641
50642 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50643 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50644
50645 ---------------------------------------------------------------------------------------------------------------
50646
50647
50648 --
50649 -- bulk performance
50650 --
50651 l_balance_type_code VARCHAR2(1);
50652 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50653 l_log_module VARCHAR2(240);
50654
50655 --
50656 -- Upgrade strategy
50657 --
50658 l_actual_upg_option VARCHAR2(1);
50659 l_enc_upg_option VARCHAR2(1);
50660
50661 --
50662 BEGIN
50663 --
50664 IF g_log_enabled THEN
50665 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_105';
50666 END IF;
50667 --
50668 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50669
50670 trace
50671 (p_msg => 'BEGIN of AcctLineType_105'
50672 ,p_level => C_LEVEL_PROCEDURE
50673 ,p_module => l_log_module);
50674
50675 END IF;
50676 --
50677 l_component_type := 'AMB_JLT';
50678 l_component_code := 'AP_EX_RATE_VAR_CM';
50679 l_component_type_code := 'S';
50680 l_component_appl_id := 200;
50681 l_amb_context_code := 'DEFAULT';
50682 l_entity_code := 'AP_INVOICES';
50683 l_event_class_code := 'CREDIT MEMOS';
50684 l_event_type_code := 'CREDIT MEMOS_ALL';
50685 l_line_definition_owner_code := 'S';
50686 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
50687 --
50688 l_balance_type_code := 'A';
50692 l_adr_accounting_coa_id := NULL;
50689 l_segment := NULL;
50690 l_ccid := NULL;
50691 l_adr_transaction_coa_id := NULL;
50693 l_adr_flexfield_segment_code := NULL;
50694 l_adr_flex_value_set_id := NULL;
50695 l_adr_value_type_code := NULL;
50696 l_adr_value_combination_id := NULL;
50697 l_adr_value_segment_code := NULL;
50698
50699 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50700 l_bflow_class_code := ''; -- 4219869 Business Flow
50701 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50702 l_budgetary_control_flag := 'N';
50703
50704 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50705 l_bflow_applied_to_amt := NULL; -- 5132302
50706 l_entered_amt_idx := NULL; -- 4262811
50707 l_accted_amt_idx := NULL; -- 4262811
50708 l_acc_rev_flag := NULL; -- 4262811
50709 l_accrual_line_num := NULL; -- 4262811
50710 l_tmp_amt := NULL; -- 4262811
50711 --
50712 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
50713 (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
50714 return;
50715 END IF;
50716
50717 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50718 l_balance_type_code <> 'B' THEN
50719 IF NVL(p_source_33,'
50720 ') = 'ERV' AND
50721 NVL(p_source_95,'
50722 ') = 'Y'
50723 THEN
50724
50725 --
50726 XLA_AE_LINES_PKG.SetNewLine;
50727
50728 p_balance_type_code := l_balance_type_code;
50729 -- set the flag so later we will know whether the gain loss line needs to be created
50730
50731 IF(l_balance_type_code = 'A' ) THEN
50732 p_actual_flag :='G';
50733 END IF;
50734
50735 --
50736 -- bulk performance
50737 --
50738 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50739 p_header_num => 0); -- 4262811
50740 --
50741 -- set accounting line options
50742 --
50743 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50744 p_natural_side_code => 'D'
50745 , p_gain_or_loss_flag => 'Y'
50746 , p_gl_transfer_mode_code => 'S'
50747 , p_acct_entry_type_code => 'A'
50748 , p_switch_side_flag => 'Y'
50749 , p_merge_duplicate_code => 'A'
50750 );
50751 --
50752 l_acc_rev_natural_side_code := 'C'; -- 4262811
50753 --
50754 --
50755 -- set accounting line type info
50756 --
50757 xla_ae_lines_pkg.SetAcctLineType
50758 (p_component_type => l_component_type
50759 ,p_event_type_code => l_event_type_code
50760 ,p_line_definition_owner_code => l_line_definition_owner_code
50761 ,p_line_definition_code => l_line_definition_code
50762 ,p_accounting_line_code => l_component_code
50763 ,p_accounting_line_type_code => l_component_type_code
50764 ,p_accounting_line_appl_id => l_component_appl_id
50765 ,p_amb_context_code => l_amb_context_code
50766 ,p_entity_code => l_entity_code
50767 ,p_event_class_code => l_event_class_code);
50768 --
50769 -- set accounting class
50770 --
50771 xla_ae_lines_pkg.SetAcctClass(
50772 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
50773 , p_ae_header_id => l_ae_header_id
50774 );
50775
50776 --
50777 -- set rounding class
50778 --
50779 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
50780 'EXCHANGE_RATE_VARIANCE';
50781
50782 --
50783 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
50784 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
50785 --
50786 -- bulk performance
50787 --
50788 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
50789
50790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
50791 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
50792
50793 -- 4955764
50794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
50796
50797 -- 4458381 Public Sector Enh
50798
50799 --
50800 -- set accounting attributes for the line type
50801 --
50802 l_entered_amt_idx := 23;
50803 l_accted_amt_idx := 28;
50804 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50805 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
50806 l_rec_acct_attrs.array_char_value(1) := p_source_52;
50807 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
50808 l_rec_acct_attrs.array_num_value(2) :=
50809 xla_ae_sources_pkg.GetSystemSourceNum(
50810 p_source_code => 'XLA_EVENT_APPL_ID'
50811 , p_source_type_code => 'Y'
50815 l_rec_acct_attrs.array_char_value(3) := p_source_54;
50812 , p_source_application_id => 602
50813 );
50814 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
50816 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
50817 l_rec_acct_attrs.array_char_value(4) :=
50818 xla_ae_sources_pkg.GetSystemSourceChar(
50819 p_source_code => 'XLA_ENTITY_CODE'
50820 , p_source_type_code => 'Y'
50821 , p_source_application_id => 602
50822 );
50823 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
50824 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
50825 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
50826 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
50827 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
50828 l_rec_acct_attrs.array_num_value(7) := p_source_90;
50829 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
50830 l_rec_acct_attrs.array_char_value(8) := p_source_91;
50831 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
50832 l_rec_acct_attrs.array_char_value(9) := p_source_92;
50833 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
50834 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
50835 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
50836 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
50837 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
50838 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
50839 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
50840 l_rec_acct_attrs.array_char_value(13) := p_source_54;
50841 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
50842 l_rec_acct_attrs.array_num_value(14) := p_source_64;
50843 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
50844 l_rec_acct_attrs.array_num_value(15) := p_source_65;
50845 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
50846 l_rec_acct_attrs.array_char_value(16) := p_source_66;
50847 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
50848 l_rec_acct_attrs.array_num_value(17) := p_source_67;
50849 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
50850 l_rec_acct_attrs.array_num_value(18) := p_source_68;
50851 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
50852 l_rec_acct_attrs.array_num_value(19) := p_source_69;
50853 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
50854 l_rec_acct_attrs.array_char_value(20) := p_source_66;
50855 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
50856 l_rec_acct_attrs.array_num_value(21) := p_source_70;
50857 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
50858 l_rec_acct_attrs.array_char_value(22) := p_source_71;
50859 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
50860 l_rec_acct_attrs.array_num_value(23) := p_source_72;
50861 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
50862 l_rec_acct_attrs.array_char_value(24) := p_source_66;
50863 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
50864 l_rec_acct_attrs.array_date_value(25) := p_source_136;
50865 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
50866 l_rec_acct_attrs.array_num_value(26) := p_source_137;
50867 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
50868 l_rec_acct_attrs.array_char_value(27) := p_source_138;
50869 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
50870 l_rec_acct_attrs.array_num_value(28) := p_source_21;
50871 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
50872 l_rec_acct_attrs.array_date_value(29) := p_source_76;
50873 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
50874 l_rec_acct_attrs.array_char_value(30) := p_source_77;
50875 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
50876 l_rec_acct_attrs.array_date_value(31) := p_source_78;
50877 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
50878 l_rec_acct_attrs.array_char_value(32) := p_source_79;
50879 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
50880 l_rec_acct_attrs.array_num_value(33) := p_source_80;
50881 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
50882 l_rec_acct_attrs.array_num_value(34) := p_source_81;
50883 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
50884 l_rec_acct_attrs.array_char_value(35) := p_source_82;
50885 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
50886 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
50887 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
50888 l_rec_acct_attrs.array_char_value(37) := p_source_54;
50889 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
50890 l_rec_acct_attrs.array_num_value(38) := p_source_84;
50891 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
50892 l_rec_acct_attrs.array_num_value(39) := p_source_85;
50893 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
50894 l_rec_acct_attrs.array_num_value(40) := p_source_86;
50895 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
50896 l_rec_acct_attrs.array_num_value(41) := p_source_87;
50897 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
50898 l_rec_acct_attrs.array_num_value(42) := p_source_88;
50899 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
50903 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
50900 l_rec_acct_attrs.array_num_value(43) := p_source_89;
50901
50902 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
50904
50905 ---------------------------------------------------------------------------------------------------------------
50906 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
50907 ---------------------------------------------------------------------------------------------------------------
50908 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
50909
50910 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50911 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50912
50913 IF xla_accounting_cache_pkg.GetValueChar
50914 (p_source_code => 'LEDGER_CATEGORY_CODE'
50915 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
50916 AND l_bflow_method_code = 'PRIOR_ENTRY'
50917 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
50918 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
50919 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
50920 )
50921 THEN
50922 xla_ae_lines_pkg.BflowUpgEntry
50923 (p_business_method_code => l_bflow_method_code
50924 ,p_business_class_code => l_bflow_class_code
50925 ,p_balance_type => l_balance_type_code);
50926 ELSE
50927 NULL;
50928 -- No business flow processing for business flow method of NONE.
50929 END IF;
50930
50931 --
50932 -- call analytical criteria
50933 --
50934
50935 --
50936 -- call description
50937 --
50938
50939 xla_ae_lines_pkg.SetLineDescription(
50940 p_ae_header_id => l_ae_header_id
50941 ,p_description => Description_1 (
50942 p_application_id => p_application_id
50943 , p_ae_header_id => l_ae_header_id
50944 , p_source_1 => p_source_1
50945 )
50946 );
50947
50948
50949 --
50950 -- call ADRs
50951 -- Bug 4922099
50952 --
50953 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50954 (NVL(l_actual_upg_option, 'N') = 'O') OR
50955 (NVL(l_enc_upg_option, 'N') = 'O')
50956 )
50957 THEN
50958 NULL;
50959 --
50960 --
50961
50962 l_ccid := AcctDerRule_30(
50963 p_application_id => p_application_id
50964 , p_ae_header_id => l_ae_header_id
50965 , p_source_15 => p_source_15
50966 , p_source_15_meaning => p_source_15_meaning
50967 , p_source_20 => p_source_20
50968 , p_source_21 => p_source_21
50969 , p_source_22 => p_source_22
50970 , p_source_22_meaning => p_source_22_meaning
50971 , p_source_23 => p_source_23
50972 , p_source_30 => p_source_30
50973 , p_source_47 => p_source_47
50974 , p_source_47_meaning => p_source_47_meaning
50975 , x_transaction_coa_id => l_adr_transaction_coa_id
50976 , x_accounting_coa_id => l_adr_accounting_coa_id
50977 , x_value_type_code => l_adr_value_type_code
50978 , p_side => 'NA'
50979 );
50980
50981 xla_ae_lines_pkg.set_ccid(
50982 p_code_combination_id => l_ccid
50983 , p_value_type_code => l_adr_value_type_code
50984 , p_transaction_coa_id => l_adr_transaction_coa_id
50985 , p_accounting_coa_id => l_adr_accounting_coa_id
50986 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
50987 , p_adr_type_code => 'S'
50988 , p_component_type => l_component_type
50989 , p_component_code => l_component_code
50990 , p_component_type_code => l_component_type_code
50991 , p_component_appl_id => l_component_appl_id
50992 , p_amb_context_code => l_amb_context_code
50993 , p_side => 'NA'
50994 );
50995
50996
50997 l_segment := AcctDerRule_8(
50998 p_application_id => p_application_id
50999 , p_ae_header_id => l_ae_header_id
51000 , p_source_15 => p_source_15
51001 , p_source_15_meaning => p_source_15_meaning
51002 , p_source_20 => p_source_20
51003 , p_source_21 => p_source_21
51004 , p_source_22 => p_source_22
51005 , p_source_22_meaning => p_source_22_meaning
51006 , p_source_23 => p_source_23
51007 , x_transaction_coa_id => l_adr_transaction_coa_id
51008 , x_accounting_coa_id => l_adr_accounting_coa_id
51009 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51010 , x_flex_value_set_id => l_adr_flex_value_set_id
51011 , x_value_type_code => l_adr_value_type_code
51012 , x_value_combination_id => l_adr_value_combination_id
51013 , x_value_segment_code => l_adr_value_segment_code
51014 , p_side => 'NA'
51015 , p_override_seg_flag => 'Y'
51016 );
51017
51018 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51019
51020 xla_ae_lines_pkg.set_segment(
51021 p_to_segment_code => 'GL_ACCOUNT'
51025 , p_value_type_code => l_adr_value_type_code
51022 , p_segment_value => l_segment
51023 , p_from_segment_code => l_adr_value_segment_code
51024 , p_from_combination_id => l_adr_value_combination_id
51026 , p_transaction_coa_id => l_adr_transaction_coa_id
51027 , p_accounting_coa_id => l_adr_accounting_coa_id
51028 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51029 , p_flex_value_set_id => l_adr_flex_value_set_id
51030 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
51031 , p_adr_type_code => 'S'
51032 , p_component_type => l_component_type
51033 , p_component_code => l_component_code
51034 , p_component_type_code => l_component_type_code
51035 , p_component_appl_id => l_component_appl_id
51036 , p_amb_context_code => l_amb_context_code
51037 , p_entity_code => 'AP_INVOICES'
51038 , p_event_class_code => 'CREDIT MEMOS'
51039 , p_side => 'NA'
51040 );
51041
51042 END IF;
51043
51044 l_segment := AcctDerRule_23(
51045 p_application_id => p_application_id
51046 , p_ae_header_id => l_ae_header_id
51047 , p_source_15 => p_source_15
51048 , p_source_15_meaning => p_source_15_meaning
51049 , p_source_22 => p_source_22
51050 , p_source_22_meaning => p_source_22_meaning
51051 , p_source_30 => p_source_30
51052 , x_transaction_coa_id => l_adr_transaction_coa_id
51053 , x_accounting_coa_id => l_adr_accounting_coa_id
51054 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51055 , x_flex_value_set_id => l_adr_flex_value_set_id
51056 , x_value_type_code => l_adr_value_type_code
51057 , x_value_combination_id => l_adr_value_combination_id
51058 , x_value_segment_code => l_adr_value_segment_code
51059 , p_side => 'NA'
51060 , p_override_seg_flag => 'Y'
51061 );
51062
51063 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51064
51065 xla_ae_lines_pkg.set_segment(
51066 p_to_segment_code => 'GL_BALANCING'
51067 , p_segment_value => l_segment
51068 , p_from_segment_code => l_adr_value_segment_code
51069 , p_from_combination_id => l_adr_value_combination_id
51070 , p_value_type_code => l_adr_value_type_code
51071 , p_transaction_coa_id => l_adr_transaction_coa_id
51072 , p_accounting_coa_id => l_adr_accounting_coa_id
51073 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51074 , p_flex_value_set_id => l_adr_flex_value_set_id
51075 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
51076 , p_adr_type_code => 'S'
51077 , p_component_type => l_component_type
51078 , p_component_code => l_component_code
51079 , p_component_type_code => l_component_type_code
51080 , p_component_appl_id => l_component_appl_id
51081 , p_amb_context_code => l_amb_context_code
51082 , p_entity_code => 'AP_INVOICES'
51083 , p_event_class_code => 'CREDIT MEMOS'
51084 , p_side => 'NA'
51085 );
51086
51087 END IF;
51088
51089 --
51090 --
51091 END IF;
51092 --
51093 -- Bug 4922099
51094 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51095 (NVL(l_enc_upg_option, 'N') = 'O')
51096 ) AND
51097 (l_bflow_method_code = 'PRIOR_ENTRY')
51098 )
51099 THEN
51100 IF
51101 --
51102 1 = 2
51103 --
51104 THEN
51105 xla_accounting_err_pkg.build_message
51106 (p_appli_s_name => 'XLA'
51107 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51108 ,p_token_1 => 'LINE_NUMBER'
51109 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51110 ,p_token_2 => 'LINE_TYPE_NAME'
51111 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51112 l_component_type
51113 ,l_component_code
51114 ,l_component_type_code
51115 ,l_component_appl_id
51116 ,l_amb_context_code
51117 ,l_entity_code
51118 ,l_event_class_code
51119 )
51120 ,p_token_3 => 'OWNER'
51121 ,p_value_3 => xla_lookups_pkg.get_meaning(
51122 p_lookup_type => 'XLA_OWNER_TYPE'
51126 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51123 ,p_lookup_code => l_component_type_code
51124 )
51125 ,p_token_4 => 'PRODUCT_NAME'
51127 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51128 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51129 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51130 ,p_ae_header_id => NULL
51131 );
51132
51133 IF (C_LEVEL_ERROR>= g_log_level) THEN
51134 trace
51135 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51136 ,p_level => C_LEVEL_ERROR
51137 ,p_module => l_log_module);
51138 END IF;
51139 END IF;
51140 END IF;
51141 --
51142 --
51143 ------------------------------------------------------------------------------------------------
51144 -- 4219869 Business Flow
51145 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51146 -- Prior Entry. Currently, the following code is always generated.
51147 ------------------------------------------------------------------------------------------------
51148 XLA_AE_LINES_PKG.ValidateCurrentLine;
51149
51150 ------------------------------------------------------------------------------------
51151 -- 4219869 Business Flow
51152 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
51153 ------------------------------------------------------------------------------------
51154 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51155
51156 ----------------------------------------------------------------------------------
51157 -- 4219869 Business Flow
51158 -- Update journal entry status -- Need to generate this within IF <condition>
51159 ----------------------------------------------------------------------------------
51160 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51161 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
51162 ,p_balance_type_code => l_balance_type_code
51163 );
51164
51165 -------------------------------------------------------------------------------------------
51166 -- 4262811 - Generate the Accrual Reversal lines
51167 -------------------------------------------------------------------------------------------
51168 BEGIN
51169 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
51170 (g_array_event(p_event_id).array_value_num('header_index'));
51171 IF l_acc_rev_flag IS NULL THEN
51172 l_acc_rev_flag := 'N';
51173 END IF;
51174 EXCEPTION
51175 WHEN OTHERS THEN
51176 l_acc_rev_flag := 'N';
51177 END;
51178 --
51179 IF (l_acc_rev_flag = 'Y') THEN
51180
51181 -- 4645092 ------------------------------------------------------------------------------
51182 -- To allow MPA report to determine if it should generate report process
51183 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
51184 ------------------------------------------------------------------------------------------
51185
51186 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
51187 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
51188 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
51189 -- call ADRs
51190 -- Bug 4922099
51191 --
51192 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51193 (NVL(l_actual_upg_option, 'N') = 'O') OR
51194 (NVL(l_enc_upg_option, 'N') = 'O')
51195 )
51196 THEN
51197 NULL;
51198 --
51199 --
51200
51201 l_ccid := AcctDerRule_30(
51202 p_application_id => p_application_id
51203 , p_ae_header_id => l_ae_header_id
51204 , p_source_15 => p_source_15
51205 , p_source_15_meaning => p_source_15_meaning
51206 , p_source_20 => p_source_20
51207 , p_source_21 => p_source_21
51208 , p_source_22 => p_source_22
51209 , p_source_22_meaning => p_source_22_meaning
51210 , p_source_23 => p_source_23
51211 , p_source_30 => p_source_30
51212 , p_source_47 => p_source_47
51213 , p_source_47_meaning => p_source_47_meaning
51214 , x_transaction_coa_id => l_adr_transaction_coa_id
51215 , x_accounting_coa_id => l_adr_accounting_coa_id
51216 , x_value_type_code => l_adr_value_type_code
51217 , p_side => 'NA'
51218 );
51219
51220 xla_ae_lines_pkg.set_ccid(
51221 p_code_combination_id => l_ccid
51222 , p_value_type_code => l_adr_value_type_code
51223 , p_transaction_coa_id => l_adr_transaction_coa_id
51224 , p_accounting_coa_id => l_adr_accounting_coa_id
51225 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
51226 , p_adr_type_code => 'S'
51227 , p_component_type => l_component_type
51228 , p_component_code => l_component_code
51232 , p_side => 'NA'
51229 , p_component_type_code => l_component_type_code
51230 , p_component_appl_id => l_component_appl_id
51231 , p_amb_context_code => l_amb_context_code
51233 );
51234
51235
51236 l_segment := AcctDerRule_8(
51237 p_application_id => p_application_id
51238 , p_ae_header_id => l_ae_header_id
51239 , p_source_15 => p_source_15
51240 , p_source_15_meaning => p_source_15_meaning
51241 , p_source_20 => p_source_20
51242 , p_source_21 => p_source_21
51243 , p_source_22 => p_source_22
51244 , p_source_22_meaning => p_source_22_meaning
51245 , p_source_23 => p_source_23
51246 , x_transaction_coa_id => l_adr_transaction_coa_id
51247 , x_accounting_coa_id => l_adr_accounting_coa_id
51248 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51249 , x_flex_value_set_id => l_adr_flex_value_set_id
51250 , x_value_type_code => l_adr_value_type_code
51251 , x_value_combination_id => l_adr_value_combination_id
51252 , x_value_segment_code => l_adr_value_segment_code
51253 , p_side => 'NA'
51254 , p_override_seg_flag => 'Y'
51255 );
51256
51257 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51258
51259 xla_ae_lines_pkg.set_segment(
51260 p_to_segment_code => 'GL_ACCOUNT'
51261 , p_segment_value => l_segment
51262 , p_from_segment_code => l_adr_value_segment_code
51263 , p_from_combination_id => l_adr_value_combination_id
51264 , p_value_type_code => l_adr_value_type_code
51265 , p_transaction_coa_id => l_adr_transaction_coa_id
51266 , p_accounting_coa_id => l_adr_accounting_coa_id
51267 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51268 , p_flex_value_set_id => l_adr_flex_value_set_id
51269 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
51270 , p_adr_type_code => 'S'
51271 , p_component_type => l_component_type
51272 , p_component_code => l_component_code
51273 , p_component_type_code => l_component_type_code
51274 , p_component_appl_id => l_component_appl_id
51275 , p_amb_context_code => l_amb_context_code
51276 , p_entity_code => 'AP_INVOICES'
51277 , p_event_class_code => 'CREDIT MEMOS'
51278 , p_side => 'NA'
51279 );
51280
51281 END IF;
51282
51283 l_segment := AcctDerRule_23(
51284 p_application_id => p_application_id
51285 , p_ae_header_id => l_ae_header_id
51286 , p_source_15 => p_source_15
51287 , p_source_15_meaning => p_source_15_meaning
51288 , p_source_22 => p_source_22
51289 , p_source_22_meaning => p_source_22_meaning
51290 , p_source_30 => p_source_30
51291 , x_transaction_coa_id => l_adr_transaction_coa_id
51292 , x_accounting_coa_id => l_adr_accounting_coa_id
51293 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51294 , x_flex_value_set_id => l_adr_flex_value_set_id
51295 , x_value_type_code => l_adr_value_type_code
51296 , x_value_combination_id => l_adr_value_combination_id
51297 , x_value_segment_code => l_adr_value_segment_code
51298 , p_side => 'NA'
51299 , p_override_seg_flag => 'Y'
51300 );
51301
51302 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51303
51304 xla_ae_lines_pkg.set_segment(
51305 p_to_segment_code => 'GL_BALANCING'
51306 , p_segment_value => l_segment
51307 , p_from_segment_code => l_adr_value_segment_code
51308 , p_from_combination_id => l_adr_value_combination_id
51309 , p_value_type_code => l_adr_value_type_code
51310 , p_transaction_coa_id => l_adr_transaction_coa_id
51311 , p_accounting_coa_id => l_adr_accounting_coa_id
51312 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51313 , p_flex_value_set_id => l_adr_flex_value_set_id
51314 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
51315 , p_adr_type_code => 'S'
51316 , p_component_type => l_component_type
51317 , p_component_code => l_component_code
51318 , p_component_type_code => l_component_type_code
51319 , p_component_appl_id => l_component_appl_id
51320 , p_amb_context_code => l_amb_context_code
51321 , p_entity_code => 'AP_INVOICES'
51322 , p_event_class_code => 'CREDIT MEMOS'
51323 , p_side => 'NA'
51324 );
51325
51326 END IF;
51327
51328 --
51329 --
51330 END IF;
51331
51332 --
51333 -- Update the line information that should be overwritten
51334 --
51335 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
51336 p_header_num => 1);
51337 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
51338
51339 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
51340
51341 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
51345 --
51342 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
51343 END IF;
51344
51346 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
51347 --
51348 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
51349 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
51350 ELSE
51351 ---------------------------------------------------------------------------------------------------
51352 -- 4262811a Switch Sign
51353 ---------------------------------------------------------------------------------------------------
51354 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
51355 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51356 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51357 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51358 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51359 -- 5132302
51360 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
51361 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51362
51363 END IF;
51364
51365 -- 4955764
51366 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51367 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
51368
51369
51370 XLA_AE_LINES_PKG.ValidateCurrentLine;
51371 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51372
51373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
51375 ,p_balance_type_code => l_balance_type_code);
51376
51377 END IF;
51378
51379 -----------------------------------------------------------------------------------------
51380 -- 4262811 Multiperiod Accounting
51381 -----------------------------------------------------------------------------------------
51382 -- No MPA option is assigned.
51383
51384
51385 END IF;
51386 END IF;
51387 --
51388
51389 --
51390 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51391 trace
51392 (p_msg => 'END of AcctLineType_105'
51393 ,p_level => C_LEVEL_PROCEDURE
51394 ,p_module => l_log_module);
51395 END IF;
51396 --
51397 EXCEPTION
51398 WHEN xla_exceptions_pkg.application_exception THEN
51399 RAISE;
51400 WHEN OTHERS THEN
51401 xla_exceptions_pkg.raise_message
51402 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_105');
51403 END AcctLineType_105;
51404 --
51405
51406 ---------------------------------------
51407 --
51408 -- PRIVATE FUNCTION
51409 -- AcctLineType_106
51410 --
51411 ---------------------------------------
51412 PROCEDURE AcctLineType_106 (
51413 p_application_id IN NUMBER
51414 ,p_event_id IN NUMBER
51415 ,p_calculate_acctd_flag IN VARCHAR2
51416 ,p_calculate_g_l_flag IN VARCHAR2
51417 ,p_actual_flag IN OUT VARCHAR2
51418 ,p_balance_type_code OUT VARCHAR2
51419 ,p_gain_or_loss_ref OUT VARCHAR2
51420
51421 --Invoice Distribution Description
51422 , p_source_1 IN VARCHAR2
51423 --Automatic Offsets Value
51424 , p_source_15 IN VARCHAR2
51425 , p_source_15_meaning IN VARCHAR2
51426 --Purchase Order Rate Variance Gain Account
51427 , p_source_20 IN NUMBER
51428 --Invoice Distribution Ledger Amount
51429 , p_source_21 IN NUMBER
51430 --Destination Type of the PO Distribution
51431 , p_source_22 IN VARCHAR2
51432 , p_source_22_meaning IN VARCHAR2
51433 --Purchase Order Rate Variance Loss Account
51434 , p_source_23 IN NUMBER
51435 --Invoice Distribution Account
51436 , p_source_30 IN NUMBER
51437 --Invoice Distribution Type
51438 , p_source_33 IN VARCHAR2
51439 , p_source_33_meaning IN VARCHAR2
51440 --Automatic Offsets Flag
51441 , p_source_47 IN VARCHAR2
51442 , p_source_47_meaning IN VARCHAR2
51443 --Accounting Reversal Indicator
51444 , p_source_52 IN VARCHAR2
51445 --Distribution Link Type
51446 , p_source_54 IN VARCHAR2
51447 --Allocation to Main Distribution Identifier
51448 , p_source_56 IN NUMBER
51449 --Invoice Identifier
51450 , p_source_57 IN NUMBER
51451 --Invoice Distribution Identifier
51452 , p_source_63 IN NUMBER
51453 --Payables Encumbrance Upgrade Credit Account
51454 , p_source_64 IN NUMBER
51455 --Payables Encumbrance Upgrade Credit Amount
51456 , p_source_65 IN NUMBER
51457 --Invoice Currency Code
51458 , p_source_66 IN VARCHAR2
51459 --Payables Encumbrance Upgrade Credit Base Amount
51460 , p_source_67 IN NUMBER
51461 --Payables Encumbrance Upgrade Debit Account
51462 , p_source_68 IN NUMBER
51463 --Payables Encumbrance Upgrade Debit Amount
51467 --Payables Encumbrance Upgrade Option
51464 , p_source_69 IN NUMBER
51465 --Payables Encumbrance Upgrade Debit Base Amount
51466 , p_source_70 IN NUMBER
51468 , p_source_71 IN VARCHAR2
51469 --Invoice Distribution Amount
51470 , p_source_72 IN NUMBER
51471 --Deferred Accounting End Date
51472 , p_source_76 IN DATE
51473 --Deferred Accounting Option
51474 , p_source_77 IN VARCHAR2
51475 --Deferred Accounting Start Date
51476 , p_source_78 IN DATE
51477 --Override Accounted Amount Indicator
51478 , p_source_79 IN VARCHAR2
51479 , p_source_79_meaning IN VARCHAR2
51480 --Invoice Supplier Identifier
51481 , p_source_80 IN NUMBER
51482 --Invoice Supplier Site Identifier
51483 , p_source_81 IN NUMBER
51484 --Third Party Type
51485 , p_source_82 IN VARCHAR2
51486 --Parent Reversal Identifier
51487 , p_source_83 IN NUMBER
51488 --Invoice Distribution Tax Line Identifier
51489 , p_source_85 IN NUMBER
51490 --Invoice Distribution Tax Distribution Identifier from Tax
51491 , p_source_86 IN NUMBER
51492 --Invoice Distribution Summary Tax Line Identifier
51493 , p_source_87 IN NUMBER
51494 --Payables Upgrade Credit Encumbrance Type Identifier
51495 , p_source_88 IN NUMBER
51496 --Payables Upgrade Debit Encumbrance Type Identifier
51497 , p_source_89 IN NUMBER
51498 --Business Flow Accounts Payable Application Identifier
51499 , p_source_90 IN NUMBER
51500 --Business Flow Invoice Distribution Type
51501 , p_source_91 IN VARCHAR2
51502 --Business Flow Invoice Entity Code
51503 , p_source_92 IN VARCHAR2
51504 --Business Flow Invoice Distribution Identifier
51505 , p_source_93 IN NUMBER
51506 --Business Flow Invoice Identifier
51507 , p_source_94 IN NUMBER
51508 --Accrue on Receipt Option
51509 , p_source_95 IN VARCHAR2
51510 , p_source_95_meaning IN VARCHAR2
51511 --Invoice Exchange Date
51512 , p_source_136 IN DATE
51513 --Invoice Exchange Rate
51514 , p_source_137 IN NUMBER
51515 --Invoice Exchange Rate Type
51516 , p_source_138 IN VARCHAR2
51517 )
51518 IS
51519
51520 l_component_type VARCHAR2(80);
51521 l_component_code VARCHAR2(30);
51522 l_component_type_code VARCHAR2(1);
51523 l_component_appl_id INTEGER;
51524 l_amb_context_code VARCHAR2(30);
51525 l_entity_code VARCHAR2(30);
51526 l_event_class_code VARCHAR2(30);
51527 l_ae_header_id NUMBER;
51528 l_event_type_code VARCHAR2(30);
51529 l_line_definition_code VARCHAR2(30);
51530 l_line_definition_owner_code VARCHAR2(1);
51531 --
51532 -- adr variables
51533 l_segment VARCHAR2(30);
51534 l_ccid NUMBER;
51535 l_adr_transaction_coa_id NUMBER;
51536 l_adr_accounting_coa_id NUMBER;
51537 l_adr_flexfield_segment_code VARCHAR2(30);
51538 l_adr_flex_value_set_id NUMBER;
51539 l_adr_value_type_code VARCHAR2(30);
51540 l_adr_value_combination_id NUMBER;
51541 l_adr_value_segment_code VARCHAR2(30);
51542
51543 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51544 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51545 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51546 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51547
51548 -- 4262811 Variables ------------------------------------------------------------------------------------------
51549 l_entered_amt_idx NUMBER;
51550 l_accted_amt_idx NUMBER;
51551 l_acc_rev_flag VARCHAR2(1);
51552 l_accrual_line_num NUMBER;
51553 l_tmp_amt NUMBER;
51554 l_acc_rev_natural_side_code VARCHAR2(1);
51555
51556 l_num_entries NUMBER;
51557 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51558 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51559 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51560 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51561 l_recog_line_1 NUMBER;
51562 l_recog_line_2 NUMBER;
51563
51564 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51565 l_bflow_applied_to_amt NUMBER; -- 5132302
51566 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51567
51568 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51569
51570 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51571 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51572
51573 ---------------------------------------------------------------------------------------------------------------
51574
51575
51576 --
51577 -- bulk performance
51578 --
51579 l_balance_type_code VARCHAR2(1);
51580 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51581 l_log_module VARCHAR2(240);
51582
51583 --
51584 -- Upgrade strategy
51585 --
51586 l_actual_upg_option VARCHAR2(1);
51587 l_enc_upg_option VARCHAR2(1);
51588
51589 --
51590 BEGIN
51591 --
51595 --
51592 IF g_log_enabled THEN
51593 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_106';
51594 END IF;
51596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51597
51598 trace
51599 (p_msg => 'BEGIN of AcctLineType_106'
51600 ,p_level => C_LEVEL_PROCEDURE
51601 ,p_module => l_log_module);
51602
51603 END IF;
51604 --
51605 l_component_type := 'AMB_JLT';
51606 l_component_code := 'AP_EX_RATE_VAR_DM';
51607 l_component_type_code := 'S';
51608 l_component_appl_id := 200;
51609 l_amb_context_code := 'DEFAULT';
51610 l_entity_code := 'AP_INVOICES';
51611 l_event_class_code := 'DEBIT MEMOS';
51612 l_event_type_code := 'DEBIT MEMOS_ALL';
51613 l_line_definition_owner_code := 'S';
51614 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
51615 --
51616 l_balance_type_code := 'A';
51617 l_segment := NULL;
51618 l_ccid := NULL;
51619 l_adr_transaction_coa_id := NULL;
51620 l_adr_accounting_coa_id := NULL;
51621 l_adr_flexfield_segment_code := NULL;
51622 l_adr_flex_value_set_id := NULL;
51623 l_adr_value_type_code := NULL;
51624 l_adr_value_combination_id := NULL;
51625 l_adr_value_segment_code := NULL;
51626
51627 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
51628 l_bflow_class_code := ''; -- 4219869 Business Flow
51629 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
51630 l_budgetary_control_flag := 'N';
51631
51632 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51633 l_bflow_applied_to_amt := NULL; -- 5132302
51634 l_entered_amt_idx := NULL; -- 4262811
51635 l_accted_amt_idx := NULL; -- 4262811
51636 l_acc_rev_flag := NULL; -- 4262811
51637 l_accrual_line_num := NULL; -- 4262811
51638 l_tmp_amt := NULL; -- 4262811
51639 --
51640 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
51641 (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
51642 return;
51643 END IF;
51644
51645 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
51646 l_balance_type_code <> 'B' THEN
51647 IF NVL(p_source_33,'
51648 ') = 'ERV' AND
51649 NVL(p_source_95,'
51650 ') = 'Y'
51651 THEN
51652
51653 --
51654 XLA_AE_LINES_PKG.SetNewLine;
51655
51656 p_balance_type_code := l_balance_type_code;
51657 -- set the flag so later we will know whether the gain loss line needs to be created
51658
51659 IF(l_balance_type_code = 'A' ) THEN
51660 p_actual_flag :='G';
51661 END IF;
51662
51663 --
51664 -- bulk performance
51665 --
51666 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
51667 p_header_num => 0); -- 4262811
51668 --
51669 -- set accounting line options
51670 --
51671 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
51672 p_natural_side_code => 'D'
51673 , p_gain_or_loss_flag => 'Y'
51674 , p_gl_transfer_mode_code => 'S'
51675 , p_acct_entry_type_code => 'A'
51676 , p_switch_side_flag => 'Y'
51677 , p_merge_duplicate_code => 'A'
51678 );
51679 --
51680 l_acc_rev_natural_side_code := 'C'; -- 4262811
51681 --
51682 --
51683 -- set accounting line type info
51684 --
51685 xla_ae_lines_pkg.SetAcctLineType
51686 (p_component_type => l_component_type
51687 ,p_event_type_code => l_event_type_code
51688 ,p_line_definition_owner_code => l_line_definition_owner_code
51689 ,p_line_definition_code => l_line_definition_code
51690 ,p_accounting_line_code => l_component_code
51691 ,p_accounting_line_type_code => l_component_type_code
51692 ,p_accounting_line_appl_id => l_component_appl_id
51693 ,p_amb_context_code => l_amb_context_code
51694 ,p_entity_code => l_entity_code
51695 ,p_event_class_code => l_event_class_code);
51696 --
51697 -- set accounting class
51698 --
51699 xla_ae_lines_pkg.SetAcctClass(
51700 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
51701 , p_ae_header_id => l_ae_header_id
51702 );
51703
51704 --
51705 -- set rounding class
51706 --
51707 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51708 'EXCHANGE_RATE_VARIANCE';
51709
51710 --
51711 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51712 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51713 --
51714 -- bulk performance
51715 --
51716 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51717
51721 -- 4955764
51718 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51719 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51720
51722 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51723 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51724
51725 -- 4458381 Public Sector Enh
51726
51727 --
51728 -- set accounting attributes for the line type
51729 --
51730 l_entered_amt_idx := 23;
51731 l_accted_amt_idx := 28;
51732 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51733 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51734 l_rec_acct_attrs.array_char_value(1) := p_source_52;
51735 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
51736 l_rec_acct_attrs.array_num_value(2) :=
51737 xla_ae_sources_pkg.GetSystemSourceNum(
51738 p_source_code => 'XLA_EVENT_APPL_ID'
51739 , p_source_type_code => 'Y'
51740 , p_source_application_id => 602
51741 );
51742 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
51743 l_rec_acct_attrs.array_char_value(3) := p_source_54;
51744 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
51745 l_rec_acct_attrs.array_char_value(4) :=
51746 xla_ae_sources_pkg.GetSystemSourceChar(
51747 p_source_code => 'XLA_ENTITY_CODE'
51748 , p_source_type_code => 'Y'
51749 , p_source_application_id => 602
51750 );
51751 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
51752 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
51753 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
51754 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
51755 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
51756 l_rec_acct_attrs.array_num_value(7) := p_source_90;
51757 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51758 l_rec_acct_attrs.array_char_value(8) := p_source_91;
51759 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
51760 l_rec_acct_attrs.array_char_value(9) := p_source_92;
51761 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
51762 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
51763 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51764 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
51765 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
51766 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
51767 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
51768 l_rec_acct_attrs.array_char_value(13) := p_source_54;
51769 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
51770 l_rec_acct_attrs.array_num_value(14) := p_source_64;
51771 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
51772 l_rec_acct_attrs.array_num_value(15) := p_source_65;
51773 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
51774 l_rec_acct_attrs.array_char_value(16) := p_source_66;
51775 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
51776 l_rec_acct_attrs.array_num_value(17) := p_source_67;
51777 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
51778 l_rec_acct_attrs.array_num_value(18) := p_source_68;
51779 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
51780 l_rec_acct_attrs.array_num_value(19) := p_source_69;
51781 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
51782 l_rec_acct_attrs.array_char_value(20) := p_source_66;
51783 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
51784 l_rec_acct_attrs.array_num_value(21) := p_source_70;
51785 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
51786 l_rec_acct_attrs.array_char_value(22) := p_source_71;
51787 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
51788 l_rec_acct_attrs.array_num_value(23) := p_source_72;
51789 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
51790 l_rec_acct_attrs.array_char_value(24) := p_source_66;
51791 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
51792 l_rec_acct_attrs.array_date_value(25) := p_source_136;
51793 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
51794 l_rec_acct_attrs.array_num_value(26) := p_source_137;
51795 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
51796 l_rec_acct_attrs.array_char_value(27) := p_source_138;
51797 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
51798 l_rec_acct_attrs.array_num_value(28) := p_source_21;
51799 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
51800 l_rec_acct_attrs.array_date_value(29) := p_source_76;
51801 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
51802 l_rec_acct_attrs.array_char_value(30) := p_source_77;
51803 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
51804 l_rec_acct_attrs.array_date_value(31) := p_source_78;
51805 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
51806 l_rec_acct_attrs.array_char_value(32) := p_source_79;
51807 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
51808 l_rec_acct_attrs.array_num_value(33) := p_source_80;
51809 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
51813 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
51810 l_rec_acct_attrs.array_num_value(34) := p_source_81;
51811 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
51812 l_rec_acct_attrs.array_char_value(35) := p_source_82;
51814 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
51815 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
51816 l_rec_acct_attrs.array_char_value(37) := p_source_54;
51817 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
51818 l_rec_acct_attrs.array_num_value(38) := p_source_85;
51819 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
51820 l_rec_acct_attrs.array_num_value(39) := p_source_86;
51821 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
51822 l_rec_acct_attrs.array_num_value(40) := p_source_87;
51823 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
51824 l_rec_acct_attrs.array_num_value(41) := p_source_88;
51825 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
51826 l_rec_acct_attrs.array_num_value(42) := p_source_89;
51827
51828 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51829 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51830
51831 ---------------------------------------------------------------------------------------------------------------
51832 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51833 ---------------------------------------------------------------------------------------------------------------
51834 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51835
51836 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51837 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51838
51839 IF xla_accounting_cache_pkg.GetValueChar
51840 (p_source_code => 'LEDGER_CATEGORY_CODE'
51841 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51842 AND l_bflow_method_code = 'PRIOR_ENTRY'
51843 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51844 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51845 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51846 )
51847 THEN
51848 xla_ae_lines_pkg.BflowUpgEntry
51849 (p_business_method_code => l_bflow_method_code
51850 ,p_business_class_code => l_bflow_class_code
51851 ,p_balance_type => l_balance_type_code);
51852 ELSE
51853 NULL;
51854 -- No business flow processing for business flow method of NONE.
51855 END IF;
51856
51857 --
51858 -- call analytical criteria
51859 --
51860
51861 --
51862 -- call description
51863 --
51864
51865 xla_ae_lines_pkg.SetLineDescription(
51866 p_ae_header_id => l_ae_header_id
51867 ,p_description => Description_1 (
51868 p_application_id => p_application_id
51869 , p_ae_header_id => l_ae_header_id
51870 , p_source_1 => p_source_1
51871 )
51872 );
51873
51874
51875 --
51876 -- call ADRs
51877 -- Bug 4922099
51878 --
51879 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51880 (NVL(l_actual_upg_option, 'N') = 'O') OR
51881 (NVL(l_enc_upg_option, 'N') = 'O')
51882 )
51883 THEN
51884 NULL;
51885 --
51886 --
51887
51888 l_ccid := AcctDerRule_30(
51889 p_application_id => p_application_id
51890 , p_ae_header_id => l_ae_header_id
51891 , p_source_15 => p_source_15
51892 , p_source_15_meaning => p_source_15_meaning
51893 , p_source_20 => p_source_20
51894 , p_source_21 => p_source_21
51895 , p_source_22 => p_source_22
51896 , p_source_22_meaning => p_source_22_meaning
51897 , p_source_23 => p_source_23
51898 , p_source_30 => p_source_30
51899 , p_source_47 => p_source_47
51900 , p_source_47_meaning => p_source_47_meaning
51901 , x_transaction_coa_id => l_adr_transaction_coa_id
51902 , x_accounting_coa_id => l_adr_accounting_coa_id
51903 , x_value_type_code => l_adr_value_type_code
51904 , p_side => 'NA'
51905 );
51906
51907 xla_ae_lines_pkg.set_ccid(
51908 p_code_combination_id => l_ccid
51909 , p_value_type_code => l_adr_value_type_code
51910 , p_transaction_coa_id => l_adr_transaction_coa_id
51911 , p_accounting_coa_id => l_adr_accounting_coa_id
51912 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
51913 , p_adr_type_code => 'S'
51914 , p_component_type => l_component_type
51915 , p_component_code => l_component_code
51916 , p_component_type_code => l_component_type_code
51917 , p_component_appl_id => l_component_appl_id
51918 , p_amb_context_code => l_amb_context_code
51919 , p_side => 'NA'
51920 );
51921
51922
51923 l_segment := AcctDerRule_8(
51924 p_application_id => p_application_id
51925 , p_ae_header_id => l_ae_header_id
51926 , p_source_15 => p_source_15
51927 , p_source_15_meaning => p_source_15_meaning
51931 , p_source_22_meaning => p_source_22_meaning
51928 , p_source_20 => p_source_20
51929 , p_source_21 => p_source_21
51930 , p_source_22 => p_source_22
51932 , p_source_23 => p_source_23
51933 , x_transaction_coa_id => l_adr_transaction_coa_id
51934 , x_accounting_coa_id => l_adr_accounting_coa_id
51935 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51936 , x_flex_value_set_id => l_adr_flex_value_set_id
51937 , x_value_type_code => l_adr_value_type_code
51938 , x_value_combination_id => l_adr_value_combination_id
51939 , x_value_segment_code => l_adr_value_segment_code
51940 , p_side => 'NA'
51941 , p_override_seg_flag => 'Y'
51942 );
51943
51944 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51945
51946 xla_ae_lines_pkg.set_segment(
51947 p_to_segment_code => 'GL_ACCOUNT'
51948 , p_segment_value => l_segment
51949 , p_from_segment_code => l_adr_value_segment_code
51950 , p_from_combination_id => l_adr_value_combination_id
51951 , p_value_type_code => l_adr_value_type_code
51952 , p_transaction_coa_id => l_adr_transaction_coa_id
51953 , p_accounting_coa_id => l_adr_accounting_coa_id
51954 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51955 , p_flex_value_set_id => l_adr_flex_value_set_id
51956 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
51957 , p_adr_type_code => 'S'
51958 , p_component_type => l_component_type
51959 , p_component_code => l_component_code
51960 , p_component_type_code => l_component_type_code
51961 , p_component_appl_id => l_component_appl_id
51962 , p_amb_context_code => l_amb_context_code
51963 , p_entity_code => 'AP_INVOICES'
51964 , p_event_class_code => 'DEBIT MEMOS'
51965 , p_side => 'NA'
51966 );
51967
51968 END IF;
51969
51970 l_segment := AcctDerRule_23(
51971 p_application_id => p_application_id
51972 , p_ae_header_id => l_ae_header_id
51973 , p_source_15 => p_source_15
51974 , p_source_15_meaning => p_source_15_meaning
51975 , p_source_22 => p_source_22
51976 , p_source_22_meaning => p_source_22_meaning
51977 , p_source_30 => p_source_30
51978 , x_transaction_coa_id => l_adr_transaction_coa_id
51979 , x_accounting_coa_id => l_adr_accounting_coa_id
51980 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51981 , x_flex_value_set_id => l_adr_flex_value_set_id
51982 , x_value_type_code => l_adr_value_type_code
51983 , x_value_combination_id => l_adr_value_combination_id
51984 , x_value_segment_code => l_adr_value_segment_code
51985 , p_side => 'NA'
51986 , p_override_seg_flag => 'Y'
51987 );
51988
51989 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51990
51991 xla_ae_lines_pkg.set_segment(
51992 p_to_segment_code => 'GL_BALANCING'
51993 , p_segment_value => l_segment
51994 , p_from_segment_code => l_adr_value_segment_code
51995 , p_from_combination_id => l_adr_value_combination_id
51996 , p_value_type_code => l_adr_value_type_code
51997 , p_transaction_coa_id => l_adr_transaction_coa_id
51998 , p_accounting_coa_id => l_adr_accounting_coa_id
51999 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52000 , p_flex_value_set_id => l_adr_flex_value_set_id
52001 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52002 , p_adr_type_code => 'S'
52003 , p_component_type => l_component_type
52004 , p_component_code => l_component_code
52005 , p_component_type_code => l_component_type_code
52006 , p_component_appl_id => l_component_appl_id
52007 , p_amb_context_code => l_amb_context_code
52008 , p_entity_code => 'AP_INVOICES'
52009 , p_event_class_code => 'DEBIT MEMOS'
52010 , p_side => 'NA'
52011 );
52012
52013 END IF;
52014
52015 --
52016 --
52017 END IF;
52018 --
52019 -- Bug 4922099
52020 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52021 (NVL(l_enc_upg_option, 'N') = 'O')
52022 ) AND
52023 (l_bflow_method_code = 'PRIOR_ENTRY')
52024 )
52025 THEN
52026 IF
52027 --
52028 1 = 2
52029 --
52030 THEN
52031 xla_accounting_err_pkg.build_message
52032 (p_appli_s_name => 'XLA'
52033 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52034 ,p_token_1 => 'LINE_NUMBER'
52035 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52036 ,p_token_2 => 'LINE_TYPE_NAME'
52037 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52038 l_component_type
52042 ,l_amb_context_code
52039 ,l_component_code
52040 ,l_component_type_code
52041 ,l_component_appl_id
52043 ,l_entity_code
52044 ,l_event_class_code
52045 )
52046 ,p_token_3 => 'OWNER'
52047 ,p_value_3 => xla_lookups_pkg.get_meaning(
52048 p_lookup_type => 'XLA_OWNER_TYPE'
52049 ,p_lookup_code => l_component_type_code
52050 )
52051 ,p_token_4 => 'PRODUCT_NAME'
52052 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52053 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52054 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52055 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52056 ,p_ae_header_id => NULL
52057 );
52058
52059 IF (C_LEVEL_ERROR>= g_log_level) THEN
52060 trace
52061 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52062 ,p_level => C_LEVEL_ERROR
52063 ,p_module => l_log_module);
52064 END IF;
52065 END IF;
52066 END IF;
52067 --
52068 --
52069 ------------------------------------------------------------------------------------------------
52070 -- 4219869 Business Flow
52071 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52072 -- Prior Entry. Currently, the following code is always generated.
52073 ------------------------------------------------------------------------------------------------
52074 XLA_AE_LINES_PKG.ValidateCurrentLine;
52075
52076 ------------------------------------------------------------------------------------
52077 -- 4219869 Business Flow
52078 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52079 ------------------------------------------------------------------------------------
52080 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52081
52082 ----------------------------------------------------------------------------------
52083 -- 4219869 Business Flow
52084 -- Update journal entry status -- Need to generate this within IF <condition>
52085 ----------------------------------------------------------------------------------
52086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52087 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52088 ,p_balance_type_code => l_balance_type_code
52089 );
52090
52091 -------------------------------------------------------------------------------------------
52092 -- 4262811 - Generate the Accrual Reversal lines
52093 -------------------------------------------------------------------------------------------
52094 BEGIN
52095 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52096 (g_array_event(p_event_id).array_value_num('header_index'));
52097 IF l_acc_rev_flag IS NULL THEN
52098 l_acc_rev_flag := 'N';
52099 END IF;
52100 EXCEPTION
52101 WHEN OTHERS THEN
52102 l_acc_rev_flag := 'N';
52103 END;
52104 --
52105 IF (l_acc_rev_flag = 'Y') THEN
52106
52107 -- 4645092 ------------------------------------------------------------------------------
52108 -- To allow MPA report to determine if it should generate report process
52109 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52110 ------------------------------------------------------------------------------------------
52111
52112 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52113 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52114 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52115 -- call ADRs
52116 -- Bug 4922099
52117 --
52118 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52119 (NVL(l_actual_upg_option, 'N') = 'O') OR
52120 (NVL(l_enc_upg_option, 'N') = 'O')
52121 )
52122 THEN
52123 NULL;
52124 --
52125 --
52126
52127 l_ccid := AcctDerRule_30(
52128 p_application_id => p_application_id
52129 , p_ae_header_id => l_ae_header_id
52130 , p_source_15 => p_source_15
52131 , p_source_15_meaning => p_source_15_meaning
52132 , p_source_20 => p_source_20
52133 , p_source_21 => p_source_21
52134 , p_source_22 => p_source_22
52135 , p_source_22_meaning => p_source_22_meaning
52136 , p_source_23 => p_source_23
52137 , p_source_30 => p_source_30
52138 , p_source_47 => p_source_47
52139 , p_source_47_meaning => p_source_47_meaning
52140 , x_transaction_coa_id => l_adr_transaction_coa_id
52144 );
52141 , x_accounting_coa_id => l_adr_accounting_coa_id
52142 , x_value_type_code => l_adr_value_type_code
52143 , p_side => 'NA'
52145
52146 xla_ae_lines_pkg.set_ccid(
52147 p_code_combination_id => l_ccid
52148 , p_value_type_code => l_adr_value_type_code
52149 , p_transaction_coa_id => l_adr_transaction_coa_id
52150 , p_accounting_coa_id => l_adr_accounting_coa_id
52151 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52152 , p_adr_type_code => 'S'
52153 , p_component_type => l_component_type
52154 , p_component_code => l_component_code
52155 , p_component_type_code => l_component_type_code
52156 , p_component_appl_id => l_component_appl_id
52157 , p_amb_context_code => l_amb_context_code
52158 , p_side => 'NA'
52159 );
52160
52161
52162 l_segment := AcctDerRule_8(
52163 p_application_id => p_application_id
52164 , p_ae_header_id => l_ae_header_id
52165 , p_source_15 => p_source_15
52166 , p_source_15_meaning => p_source_15_meaning
52167 , p_source_20 => p_source_20
52168 , p_source_21 => p_source_21
52169 , p_source_22 => p_source_22
52170 , p_source_22_meaning => p_source_22_meaning
52171 , p_source_23 => p_source_23
52172 , x_transaction_coa_id => l_adr_transaction_coa_id
52173 , x_accounting_coa_id => l_adr_accounting_coa_id
52174 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52175 , x_flex_value_set_id => l_adr_flex_value_set_id
52176 , x_value_type_code => l_adr_value_type_code
52177 , x_value_combination_id => l_adr_value_combination_id
52178 , x_value_segment_code => l_adr_value_segment_code
52179 , p_side => 'NA'
52180 , p_override_seg_flag => 'Y'
52181 );
52182
52183 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52184
52185 xla_ae_lines_pkg.set_segment(
52186 p_to_segment_code => 'GL_ACCOUNT'
52187 , p_segment_value => l_segment
52188 , p_from_segment_code => l_adr_value_segment_code
52189 , p_from_combination_id => l_adr_value_combination_id
52190 , p_value_type_code => l_adr_value_type_code
52191 , p_transaction_coa_id => l_adr_transaction_coa_id
52192 , p_accounting_coa_id => l_adr_accounting_coa_id
52193 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52194 , p_flex_value_set_id => l_adr_flex_value_set_id
52195 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52196 , p_adr_type_code => 'S'
52197 , p_component_type => l_component_type
52198 , p_component_code => l_component_code
52199 , p_component_type_code => l_component_type_code
52200 , p_component_appl_id => l_component_appl_id
52201 , p_amb_context_code => l_amb_context_code
52202 , p_entity_code => 'AP_INVOICES'
52203 , p_event_class_code => 'DEBIT MEMOS'
52204 , p_side => 'NA'
52205 );
52206
52207 END IF;
52208
52209 l_segment := AcctDerRule_23(
52210 p_application_id => p_application_id
52211 , p_ae_header_id => l_ae_header_id
52212 , p_source_15 => p_source_15
52213 , p_source_15_meaning => p_source_15_meaning
52214 , p_source_22 => p_source_22
52215 , p_source_22_meaning => p_source_22_meaning
52216 , p_source_30 => p_source_30
52217 , x_transaction_coa_id => l_adr_transaction_coa_id
52218 , x_accounting_coa_id => l_adr_accounting_coa_id
52219 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52220 , x_flex_value_set_id => l_adr_flex_value_set_id
52221 , x_value_type_code => l_adr_value_type_code
52222 , x_value_combination_id => l_adr_value_combination_id
52223 , x_value_segment_code => l_adr_value_segment_code
52224 , p_side => 'NA'
52225 , p_override_seg_flag => 'Y'
52226 );
52227
52228 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52229
52230 xla_ae_lines_pkg.set_segment(
52231 p_to_segment_code => 'GL_BALANCING'
52232 , p_segment_value => l_segment
52233 , p_from_segment_code => l_adr_value_segment_code
52234 , p_from_combination_id => l_adr_value_combination_id
52235 , p_value_type_code => l_adr_value_type_code
52236 , p_transaction_coa_id => l_adr_transaction_coa_id
52237 , p_accounting_coa_id => l_adr_accounting_coa_id
52238 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52239 , p_flex_value_set_id => l_adr_flex_value_set_id
52240 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52241 , p_adr_type_code => 'S'
52242 , p_component_type => l_component_type
52243 , p_component_code => l_component_code
52244 , p_component_type_code => l_component_type_code
52245 , p_component_appl_id => l_component_appl_id
52246 , p_amb_context_code => l_amb_context_code
52250 );
52247 , p_entity_code => 'AP_INVOICES'
52248 , p_event_class_code => 'DEBIT MEMOS'
52249 , p_side => 'NA'
52251
52252 END IF;
52253
52254 --
52255 --
52256 END IF;
52257
52258 --
52259 -- Update the line information that should be overwritten
52260 --
52261 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52262 p_header_num => 1);
52263 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52264
52265 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52266
52267 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52268 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52269 END IF;
52270
52271 --
52272 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52273 --
52274 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52275 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52276 ELSE
52277 ---------------------------------------------------------------------------------------------------
52278 -- 4262811a Switch Sign
52279 ---------------------------------------------------------------------------------------------------
52280 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52281 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52282 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52283 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52284 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52285 -- 5132302
52286 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52287 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52288
52289 END IF;
52290
52291 -- 4955764
52292 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52293 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52294
52295
52296 XLA_AE_LINES_PKG.ValidateCurrentLine;
52297 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52298
52299 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52300 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52301 ,p_balance_type_code => l_balance_type_code);
52302
52303 END IF;
52304
52305 -----------------------------------------------------------------------------------------
52306 -- 4262811 Multiperiod Accounting
52307 -----------------------------------------------------------------------------------------
52308 -- No MPA option is assigned.
52309
52310
52311 END IF;
52312 END IF;
52313 --
52314
52315 --
52316 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52317 trace
52318 (p_msg => 'END of AcctLineType_106'
52319 ,p_level => C_LEVEL_PROCEDURE
52320 ,p_module => l_log_module);
52321 END IF;
52322 --
52323 EXCEPTION
52324 WHEN xla_exceptions_pkg.application_exception THEN
52325 RAISE;
52326 WHEN OTHERS THEN
52327 xla_exceptions_pkg.raise_message
52328 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_106');
52329 END AcctLineType_106;
52330 --
52331
52332 ---------------------------------------
52333 --
52334 -- PRIVATE FUNCTION
52335 -- AcctLineType_107
52336 --
52337 ---------------------------------------
52338 PROCEDURE AcctLineType_107 (
52339 p_application_id IN NUMBER
52340 ,p_event_id IN NUMBER
52341 ,p_calculate_acctd_flag IN VARCHAR2
52342 ,p_calculate_g_l_flag IN VARCHAR2
52343 ,p_actual_flag IN OUT VARCHAR2
52344 ,p_balance_type_code OUT VARCHAR2
52345 ,p_gain_or_loss_ref OUT VARCHAR2
52346
52347 --Invoice Distribution Description
52348 , p_source_1 IN VARCHAR2
52349 --Automatic Offsets Value
52350 , p_source_15 IN VARCHAR2
52351 , p_source_15_meaning IN VARCHAR2
52352 --Purchase Order Rate Variance Gain Account
52353 , p_source_20 IN NUMBER
52354 --Invoice Distribution Ledger Amount
52355 , p_source_21 IN NUMBER
52356 --Destination Type of the PO Distribution
52357 , p_source_22 IN VARCHAR2
52358 , p_source_22_meaning IN VARCHAR2
52359 --Purchase Order Rate Variance Loss Account
52360 , p_source_23 IN NUMBER
52361 --Invoice Distribution Account
52362 , p_source_30 IN NUMBER
52363 --Invoice Distribution Type
52364 , p_source_33 IN VARCHAR2
52365 , p_source_33_meaning IN VARCHAR2
52366 --Automatic Offsets Flag
52367 , p_source_47 IN VARCHAR2
52368 , p_source_47_meaning IN VARCHAR2
52369 --Accounting Reversal Indicator
52370 , p_source_52 IN VARCHAR2
52374 , p_source_56 IN NUMBER
52371 --Distribution Link Type
52372 , p_source_54 IN VARCHAR2
52373 --Allocation to Main Distribution Identifier
52375 --Invoice Identifier
52376 , p_source_57 IN NUMBER
52377 --Invoice Distribution Identifier
52378 , p_source_63 IN NUMBER
52379 --Payables Encumbrance Upgrade Credit Account
52380 , p_source_64 IN NUMBER
52381 --Payables Encumbrance Upgrade Credit Amount
52382 , p_source_65 IN NUMBER
52383 --Invoice Currency Code
52384 , p_source_66 IN VARCHAR2
52385 --Payables Encumbrance Upgrade Credit Base Amount
52386 , p_source_67 IN NUMBER
52387 --Payables Encumbrance Upgrade Debit Account
52388 , p_source_68 IN NUMBER
52389 --Payables Encumbrance Upgrade Debit Amount
52390 , p_source_69 IN NUMBER
52391 --Payables Encumbrance Upgrade Debit Base Amount
52392 , p_source_70 IN NUMBER
52393 --Payables Encumbrance Upgrade Option
52394 , p_source_71 IN VARCHAR2
52395 --Invoice Distribution Amount
52396 , p_source_72 IN NUMBER
52397 --Deferred Accounting End Date
52398 , p_source_76 IN DATE
52399 --Deferred Accounting Option
52400 , p_source_77 IN VARCHAR2
52401 --Deferred Accounting Start Date
52402 , p_source_78 IN DATE
52403 --Override Accounted Amount Indicator
52404 , p_source_79 IN VARCHAR2
52405 , p_source_79_meaning IN VARCHAR2
52406 --Invoice Supplier Identifier
52407 , p_source_80 IN NUMBER
52408 --Invoice Supplier Site Identifier
52409 , p_source_81 IN NUMBER
52410 --Third Party Type
52411 , p_source_82 IN VARCHAR2
52412 --Parent Reversal Identifier
52413 , p_source_83 IN NUMBER
52414 --Invoice Distribution Statistical Amount
52415 , p_source_84 IN NUMBER
52416 --Invoice Distribution Tax Line Identifier
52417 , p_source_85 IN NUMBER
52418 --Invoice Distribution Tax Distribution Identifier from Tax
52419 , p_source_86 IN NUMBER
52420 --Invoice Distribution Summary Tax Line Identifier
52421 , p_source_87 IN NUMBER
52422 --Payables Upgrade Credit Encumbrance Type Identifier
52423 , p_source_88 IN NUMBER
52424 --Payables Upgrade Debit Encumbrance Type Identifier
52425 , p_source_89 IN NUMBER
52426 --Business Flow Accounts Payable Application Identifier
52427 , p_source_90 IN NUMBER
52428 --Business Flow Invoice Distribution Type
52429 , p_source_91 IN VARCHAR2
52430 --Business Flow Invoice Entity Code
52431 , p_source_92 IN VARCHAR2
52432 --Business Flow Invoice Distribution Identifier
52433 , p_source_93 IN NUMBER
52434 --Business Flow Invoice Identifier
52435 , p_source_94 IN NUMBER
52436 --Accrue on Receipt Option
52437 , p_source_95 IN VARCHAR2
52438 , p_source_95_meaning IN VARCHAR2
52439 --Invoice Exchange Date
52440 , p_source_136 IN DATE
52441 --Invoice Exchange Rate
52442 , p_source_137 IN NUMBER
52443 --Invoice Exchange Rate Type
52444 , p_source_138 IN VARCHAR2
52445 )
52446 IS
52447
52448 l_component_type VARCHAR2(80);
52449 l_component_code VARCHAR2(30);
52450 l_component_type_code VARCHAR2(1);
52451 l_component_appl_id INTEGER;
52452 l_amb_context_code VARCHAR2(30);
52453 l_entity_code VARCHAR2(30);
52454 l_event_class_code VARCHAR2(30);
52455 l_ae_header_id NUMBER;
52456 l_event_type_code VARCHAR2(30);
52457 l_line_definition_code VARCHAR2(30);
52458 l_line_definition_owner_code VARCHAR2(1);
52459 --
52460 -- adr variables
52461 l_segment VARCHAR2(30);
52462 l_ccid NUMBER;
52463 l_adr_transaction_coa_id NUMBER;
52464 l_adr_accounting_coa_id NUMBER;
52465 l_adr_flexfield_segment_code VARCHAR2(30);
52466 l_adr_flex_value_set_id NUMBER;
52467 l_adr_value_type_code VARCHAR2(30);
52468 l_adr_value_combination_id NUMBER;
52469 l_adr_value_segment_code VARCHAR2(30);
52470
52471 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52472 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52473 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52474 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52475
52476 -- 4262811 Variables ------------------------------------------------------------------------------------------
52477 l_entered_amt_idx NUMBER;
52478 l_accted_amt_idx NUMBER;
52479 l_acc_rev_flag VARCHAR2(1);
52480 l_accrual_line_num NUMBER;
52481 l_tmp_amt NUMBER;
52482 l_acc_rev_natural_side_code VARCHAR2(1);
52483
52484 l_num_entries NUMBER;
52485 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
52486 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
52487 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
52488 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
52489 l_recog_line_1 NUMBER;
52490 l_recog_line_2 NUMBER;
52491
52492 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
52493 l_bflow_applied_to_amt NUMBER; -- 5132302
52497
52494 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
52495
52496 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
52498 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
52499 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
52500
52501 ---------------------------------------------------------------------------------------------------------------
52502
52503
52504 --
52505 -- bulk performance
52506 --
52507 l_balance_type_code VARCHAR2(1);
52508 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52509 l_log_module VARCHAR2(240);
52510
52511 --
52512 -- Upgrade strategy
52513 --
52514 l_actual_upg_option VARCHAR2(1);
52515 l_enc_upg_option VARCHAR2(1);
52516
52517 --
52518 BEGIN
52519 --
52520 IF g_log_enabled THEN
52521 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_107';
52522 END IF;
52523 --
52524 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52525
52526 trace
52527 (p_msg => 'BEGIN of AcctLineType_107'
52528 ,p_level => C_LEVEL_PROCEDURE
52529 ,p_module => l_log_module);
52530
52531 END IF;
52532 --
52533 l_component_type := 'AMB_JLT';
52534 l_component_code := 'AP_EX_RATE_VAR_INV';
52535 l_component_type_code := 'S';
52536 l_component_appl_id := 200;
52537 l_amb_context_code := 'DEFAULT';
52538 l_entity_code := 'AP_INVOICES';
52539 l_event_class_code := 'INVOICES';
52540 l_event_type_code := 'INVOICES_ALL';
52541 l_line_definition_owner_code := 'S';
52542 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
52543 --
52544 l_balance_type_code := 'A';
52545 l_segment := NULL;
52546 l_ccid := NULL;
52547 l_adr_transaction_coa_id := NULL;
52548 l_adr_accounting_coa_id := NULL;
52549 l_adr_flexfield_segment_code := NULL;
52550 l_adr_flex_value_set_id := NULL;
52551 l_adr_value_type_code := NULL;
52552 l_adr_value_combination_id := NULL;
52553 l_adr_value_segment_code := NULL;
52554
52555 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52556 l_bflow_class_code := ''; -- 4219869 Business Flow
52557 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52558 l_budgetary_control_flag := 'N';
52559
52560 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52561 l_bflow_applied_to_amt := NULL; -- 5132302
52562 l_entered_amt_idx := NULL; -- 4262811
52563 l_accted_amt_idx := NULL; -- 4262811
52564 l_acc_rev_flag := NULL; -- 4262811
52565 l_accrual_line_num := NULL; -- 4262811
52566 l_tmp_amt := NULL; -- 4262811
52567 --
52568 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
52569 (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
52570 return;
52571 END IF;
52572
52573 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52574 l_balance_type_code <> 'B' THEN
52575 IF NVL(p_source_33,'
52576 ') = 'ERV' AND
52577 NVL(p_source_95,'
52578 ') = 'Y'
52579 THEN
52580
52581 --
52582 XLA_AE_LINES_PKG.SetNewLine;
52583
52584 p_balance_type_code := l_balance_type_code;
52585 -- set the flag so later we will know whether the gain loss line needs to be created
52586
52587 IF(l_balance_type_code = 'A' ) THEN
52588 p_actual_flag :='G';
52589 END IF;
52590
52591 --
52592 -- bulk performance
52593 --
52594 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52595 p_header_num => 0); -- 4262811
52596 --
52597 -- set accounting line options
52598 --
52599 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52600 p_natural_side_code => 'D'
52601 , p_gain_or_loss_flag => 'Y'
52602 , p_gl_transfer_mode_code => 'S'
52603 , p_acct_entry_type_code => 'A'
52604 , p_switch_side_flag => 'Y'
52605 , p_merge_duplicate_code => 'A'
52606 );
52607 --
52608 l_acc_rev_natural_side_code := 'C'; -- 4262811
52609 --
52610 --
52611 -- set accounting line type info
52612 --
52613 xla_ae_lines_pkg.SetAcctLineType
52614 (p_component_type => l_component_type
52615 ,p_event_type_code => l_event_type_code
52616 ,p_line_definition_owner_code => l_line_definition_owner_code
52617 ,p_line_definition_code => l_line_definition_code
52618 ,p_accounting_line_code => l_component_code
52619 ,p_accounting_line_type_code => l_component_type_code
52620 ,p_accounting_line_appl_id => l_component_appl_id
52621 ,p_amb_context_code => l_amb_context_code
52622 ,p_entity_code => l_entity_code
52623 ,p_event_class_code => l_event_class_code);
52624 --
52625 -- set accounting class
52626 --
52630 );
52627 xla_ae_lines_pkg.SetAcctClass(
52628 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
52629 , p_ae_header_id => l_ae_header_id
52631
52632 --
52633 -- set rounding class
52634 --
52635 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52636 'EXCHANGE_RATE_VARIANCE';
52637
52638 --
52639 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52640 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52641 --
52642 -- bulk performance
52643 --
52644 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52645
52646 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52647 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52648
52649 -- 4955764
52650 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52651 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52652
52653 -- 4458381 Public Sector Enh
52654
52655 --
52656 -- set accounting attributes for the line type
52657 --
52658 l_entered_amt_idx := 24;
52659 l_accted_amt_idx := 29;
52660 l_bflow_applied_to_amt_idx := 7; -- 5132302
52661 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52662 l_rec_acct_attrs.array_char_value(1) := p_source_52;
52663 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
52664 l_rec_acct_attrs.array_num_value(2) :=
52665 xla_ae_sources_pkg.GetSystemSourceNum(
52666 p_source_code => 'XLA_EVENT_APPL_ID'
52667 , p_source_type_code => 'Y'
52668 , p_source_application_id => 602
52669 );
52670 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
52671 l_rec_acct_attrs.array_char_value(3) := p_source_54;
52672 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
52673 l_rec_acct_attrs.array_char_value(4) :=
52674 xla_ae_sources_pkg.GetSystemSourceChar(
52675 p_source_code => 'XLA_ENTITY_CODE'
52676 , p_source_type_code => 'Y'
52677 , p_source_application_id => 602
52678 );
52679 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
52680 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
52681 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
52682 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
52683 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
52684 l_rec_acct_attrs.array_num_value(7) := p_source_72;
52685 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
52686 l_rec_acct_attrs.array_num_value(8) := p_source_90;
52687 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52688 l_rec_acct_attrs.array_char_value(9) := p_source_91;
52689 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
52690 l_rec_acct_attrs.array_char_value(10) := p_source_92;
52691 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
52692 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
52693 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
52694 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
52695 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
52696 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
52697 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
52698 l_rec_acct_attrs.array_char_value(14) := p_source_54;
52699 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
52700 l_rec_acct_attrs.array_num_value(15) := p_source_64;
52701 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
52702 l_rec_acct_attrs.array_num_value(16) := p_source_65;
52703 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
52704 l_rec_acct_attrs.array_char_value(17) := p_source_66;
52705 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
52706 l_rec_acct_attrs.array_num_value(18) := p_source_67;
52707 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
52708 l_rec_acct_attrs.array_num_value(19) := p_source_68;
52709 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
52710 l_rec_acct_attrs.array_num_value(20) := p_source_69;
52711 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
52712 l_rec_acct_attrs.array_char_value(21) := p_source_66;
52713 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
52714 l_rec_acct_attrs.array_num_value(22) := p_source_70;
52715 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
52716 l_rec_acct_attrs.array_char_value(23) := p_source_71;
52717 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
52718 l_rec_acct_attrs.array_num_value(24) := p_source_72;
52719 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
52720 l_rec_acct_attrs.array_char_value(25) := p_source_66;
52721 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
52722 l_rec_acct_attrs.array_date_value(26) := p_source_136;
52723 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
52724 l_rec_acct_attrs.array_num_value(27) := p_source_137;
52725 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
52729 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
52726 l_rec_acct_attrs.array_char_value(28) := p_source_138;
52727 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
52728 l_rec_acct_attrs.array_num_value(29) := p_source_21;
52730 l_rec_acct_attrs.array_date_value(30) := p_source_76;
52731 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
52732 l_rec_acct_attrs.array_char_value(31) := p_source_77;
52733 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
52734 l_rec_acct_attrs.array_date_value(32) := p_source_78;
52735 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
52736 l_rec_acct_attrs.array_char_value(33) := p_source_79;
52737 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
52738 l_rec_acct_attrs.array_num_value(34) := p_source_80;
52739 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
52740 l_rec_acct_attrs.array_num_value(35) := p_source_81;
52741 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
52742 l_rec_acct_attrs.array_char_value(36) := p_source_82;
52743 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
52744 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
52745 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
52746 l_rec_acct_attrs.array_char_value(38) := p_source_54;
52747 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
52748 l_rec_acct_attrs.array_num_value(39) := p_source_84;
52749 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
52750 l_rec_acct_attrs.array_num_value(40) := p_source_85;
52751 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
52752 l_rec_acct_attrs.array_num_value(41) := p_source_86;
52753 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
52754 l_rec_acct_attrs.array_num_value(42) := p_source_87;
52755 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
52756 l_rec_acct_attrs.array_num_value(43) := p_source_88;
52757 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
52758 l_rec_acct_attrs.array_num_value(44) := p_source_89;
52759
52760 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
52761 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
52762
52763 ---------------------------------------------------------------------------------------------------------------
52764 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52765 ---------------------------------------------------------------------------------------------------------------
52766 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52767
52768 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52769 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52770
52771 IF xla_accounting_cache_pkg.GetValueChar
52772 (p_source_code => 'LEDGER_CATEGORY_CODE'
52773 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52774 AND l_bflow_method_code = 'PRIOR_ENTRY'
52775 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52776 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52777 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52778 )
52779 THEN
52780 xla_ae_lines_pkg.BflowUpgEntry
52781 (p_business_method_code => l_bflow_method_code
52782 ,p_business_class_code => l_bflow_class_code
52783 ,p_balance_type => l_balance_type_code);
52784 ELSE
52785 NULL;
52786 -- No business flow processing for business flow method of NONE.
52787 END IF;
52788
52789 --
52790 -- call analytical criteria
52791 --
52792
52793 --
52794 -- call description
52795 --
52796
52797 xla_ae_lines_pkg.SetLineDescription(
52798 p_ae_header_id => l_ae_header_id
52799 ,p_description => Description_1 (
52800 p_application_id => p_application_id
52801 , p_ae_header_id => l_ae_header_id
52802 , p_source_1 => p_source_1
52803 )
52804 );
52805
52806
52807 --
52808 -- call ADRs
52809 -- Bug 4922099
52810 --
52811 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52812 (NVL(l_actual_upg_option, 'N') = 'O') OR
52813 (NVL(l_enc_upg_option, 'N') = 'O')
52814 )
52815 THEN
52816 NULL;
52817 --
52818 --
52819
52820 l_ccid := AcctDerRule_30(
52821 p_application_id => p_application_id
52822 , p_ae_header_id => l_ae_header_id
52823 , p_source_15 => p_source_15
52824 , p_source_15_meaning => p_source_15_meaning
52825 , p_source_20 => p_source_20
52826 , p_source_21 => p_source_21
52827 , p_source_22 => p_source_22
52828 , p_source_22_meaning => p_source_22_meaning
52829 , p_source_23 => p_source_23
52830 , p_source_30 => p_source_30
52831 , p_source_47 => p_source_47
52832 , p_source_47_meaning => p_source_47_meaning
52833 , x_transaction_coa_id => l_adr_transaction_coa_id
52834 , x_accounting_coa_id => l_adr_accounting_coa_id
52835 , x_value_type_code => l_adr_value_type_code
52836 , p_side => 'NA'
52837 );
52838
52842 , p_transaction_coa_id => l_adr_transaction_coa_id
52839 xla_ae_lines_pkg.set_ccid(
52840 p_code_combination_id => l_ccid
52841 , p_value_type_code => l_adr_value_type_code
52843 , p_accounting_coa_id => l_adr_accounting_coa_id
52844 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52845 , p_adr_type_code => 'S'
52846 , p_component_type => l_component_type
52847 , p_component_code => l_component_code
52848 , p_component_type_code => l_component_type_code
52849 , p_component_appl_id => l_component_appl_id
52850 , p_amb_context_code => l_amb_context_code
52851 , p_side => 'NA'
52852 );
52853
52854
52855 l_segment := AcctDerRule_8(
52856 p_application_id => p_application_id
52857 , p_ae_header_id => l_ae_header_id
52858 , p_source_15 => p_source_15
52859 , p_source_15_meaning => p_source_15_meaning
52860 , p_source_20 => p_source_20
52861 , p_source_21 => p_source_21
52862 , p_source_22 => p_source_22
52863 , p_source_22_meaning => p_source_22_meaning
52864 , p_source_23 => p_source_23
52865 , x_transaction_coa_id => l_adr_transaction_coa_id
52866 , x_accounting_coa_id => l_adr_accounting_coa_id
52867 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52868 , x_flex_value_set_id => l_adr_flex_value_set_id
52869 , x_value_type_code => l_adr_value_type_code
52870 , x_value_combination_id => l_adr_value_combination_id
52871 , x_value_segment_code => l_adr_value_segment_code
52872 , p_side => 'NA'
52873 , p_override_seg_flag => 'Y'
52874 );
52875
52876 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52877
52878 xla_ae_lines_pkg.set_segment(
52879 p_to_segment_code => 'GL_ACCOUNT'
52880 , p_segment_value => l_segment
52881 , p_from_segment_code => l_adr_value_segment_code
52882 , p_from_combination_id => l_adr_value_combination_id
52883 , p_value_type_code => l_adr_value_type_code
52884 , p_transaction_coa_id => l_adr_transaction_coa_id
52885 , p_accounting_coa_id => l_adr_accounting_coa_id
52886 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52887 , p_flex_value_set_id => l_adr_flex_value_set_id
52888 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52889 , p_adr_type_code => 'S'
52890 , p_component_type => l_component_type
52891 , p_component_code => l_component_code
52892 , p_component_type_code => l_component_type_code
52893 , p_component_appl_id => l_component_appl_id
52894 , p_amb_context_code => l_amb_context_code
52895 , p_entity_code => 'AP_INVOICES'
52896 , p_event_class_code => 'INVOICES'
52897 , p_side => 'NA'
52898 );
52899
52900 END IF;
52901
52902 l_segment := AcctDerRule_23(
52903 p_application_id => p_application_id
52904 , p_ae_header_id => l_ae_header_id
52905 , p_source_15 => p_source_15
52906 , p_source_15_meaning => p_source_15_meaning
52907 , p_source_22 => p_source_22
52908 , p_source_22_meaning => p_source_22_meaning
52909 , p_source_30 => p_source_30
52910 , x_transaction_coa_id => l_adr_transaction_coa_id
52911 , x_accounting_coa_id => l_adr_accounting_coa_id
52912 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52913 , x_flex_value_set_id => l_adr_flex_value_set_id
52914 , x_value_type_code => l_adr_value_type_code
52915 , x_value_combination_id => l_adr_value_combination_id
52916 , x_value_segment_code => l_adr_value_segment_code
52917 , p_side => 'NA'
52918 , p_override_seg_flag => 'Y'
52919 );
52920
52921 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52922
52923 xla_ae_lines_pkg.set_segment(
52924 p_to_segment_code => 'GL_BALANCING'
52925 , p_segment_value => l_segment
52926 , p_from_segment_code => l_adr_value_segment_code
52927 , p_from_combination_id => l_adr_value_combination_id
52928 , p_value_type_code => l_adr_value_type_code
52929 , p_transaction_coa_id => l_adr_transaction_coa_id
52930 , p_accounting_coa_id => l_adr_accounting_coa_id
52931 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52932 , p_flex_value_set_id => l_adr_flex_value_set_id
52933 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52934 , p_adr_type_code => 'S'
52935 , p_component_type => l_component_type
52936 , p_component_code => l_component_code
52937 , p_component_type_code => l_component_type_code
52938 , p_component_appl_id => l_component_appl_id
52939 , p_amb_context_code => l_amb_context_code
52940 , p_entity_code => 'AP_INVOICES'
52941 , p_event_class_code => 'INVOICES'
52942 , p_side => 'NA'
52943 );
52944
52945 END IF;
52946
52947 --
52951 -- Bug 4922099
52948 --
52949 END IF;
52950 --
52952 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52953 (NVL(l_enc_upg_option, 'N') = 'O')
52954 ) AND
52955 (l_bflow_method_code = 'PRIOR_ENTRY')
52956 )
52957 THEN
52958 IF
52959 --
52960 1 = 2
52961 --
52962 THEN
52963 xla_accounting_err_pkg.build_message
52964 (p_appli_s_name => 'XLA'
52965 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52966 ,p_token_1 => 'LINE_NUMBER'
52967 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52968 ,p_token_2 => 'LINE_TYPE_NAME'
52969 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52970 l_component_type
52971 ,l_component_code
52972 ,l_component_type_code
52973 ,l_component_appl_id
52974 ,l_amb_context_code
52975 ,l_entity_code
52976 ,l_event_class_code
52977 )
52978 ,p_token_3 => 'OWNER'
52979 ,p_value_3 => xla_lookups_pkg.get_meaning(
52980 p_lookup_type => 'XLA_OWNER_TYPE'
52981 ,p_lookup_code => l_component_type_code
52982 )
52983 ,p_token_4 => 'PRODUCT_NAME'
52984 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52985 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52986 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52987 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52988 ,p_ae_header_id => NULL
52989 );
52990
52991 IF (C_LEVEL_ERROR>= g_log_level) THEN
52992 trace
52993 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52994 ,p_level => C_LEVEL_ERROR
52995 ,p_module => l_log_module);
52996 END IF;
52997 END IF;
52998 END IF;
52999 --
53000 --
53001 ------------------------------------------------------------------------------------------------
53002 -- 4219869 Business Flow
53003 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53004 -- Prior Entry. Currently, the following code is always generated.
53005 ------------------------------------------------------------------------------------------------
53006 XLA_AE_LINES_PKG.ValidateCurrentLine;
53007
53008 ------------------------------------------------------------------------------------
53009 -- 4219869 Business Flow
53010 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53011 ------------------------------------------------------------------------------------
53012 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53013
53014 ----------------------------------------------------------------------------------
53015 -- 4219869 Business Flow
53016 -- Update journal entry status -- Need to generate this within IF <condition>
53017 ----------------------------------------------------------------------------------
53018 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53019 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53020 ,p_balance_type_code => l_balance_type_code
53021 );
53022
53023 -------------------------------------------------------------------------------------------
53024 -- 4262811 - Generate the Accrual Reversal lines
53025 -------------------------------------------------------------------------------------------
53026 BEGIN
53027 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53028 (g_array_event(p_event_id).array_value_num('header_index'));
53029 IF l_acc_rev_flag IS NULL THEN
53030 l_acc_rev_flag := 'N';
53031 END IF;
53032 EXCEPTION
53033 WHEN OTHERS THEN
53034 l_acc_rev_flag := 'N';
53035 END;
53036 --
53037 IF (l_acc_rev_flag = 'Y') THEN
53038
53039 -- 4645092 ------------------------------------------------------------------------------
53040 -- To allow MPA report to determine if it should generate report process
53041 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53045 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53042 ------------------------------------------------------------------------------------------
53043
53044 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53046 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53047 -- call ADRs
53048 -- Bug 4922099
53049 --
53050 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53051 (NVL(l_actual_upg_option, 'N') = 'O') OR
53052 (NVL(l_enc_upg_option, 'N') = 'O')
53053 )
53054 THEN
53055 NULL;
53056 --
53057 --
53058
53059 l_ccid := AcctDerRule_30(
53060 p_application_id => p_application_id
53061 , p_ae_header_id => l_ae_header_id
53062 , p_source_15 => p_source_15
53063 , p_source_15_meaning => p_source_15_meaning
53064 , p_source_20 => p_source_20
53065 , p_source_21 => p_source_21
53066 , p_source_22 => p_source_22
53067 , p_source_22_meaning => p_source_22_meaning
53068 , p_source_23 => p_source_23
53069 , p_source_30 => p_source_30
53070 , p_source_47 => p_source_47
53071 , p_source_47_meaning => p_source_47_meaning
53072 , x_transaction_coa_id => l_adr_transaction_coa_id
53073 , x_accounting_coa_id => l_adr_accounting_coa_id
53074 , x_value_type_code => l_adr_value_type_code
53075 , p_side => 'NA'
53076 );
53077
53078 xla_ae_lines_pkg.set_ccid(
53079 p_code_combination_id => l_ccid
53080 , p_value_type_code => l_adr_value_type_code
53081 , p_transaction_coa_id => l_adr_transaction_coa_id
53082 , p_accounting_coa_id => l_adr_accounting_coa_id
53083 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53084 , p_adr_type_code => 'S'
53085 , p_component_type => l_component_type
53086 , p_component_code => l_component_code
53087 , p_component_type_code => l_component_type_code
53088 , p_component_appl_id => l_component_appl_id
53089 , p_amb_context_code => l_amb_context_code
53090 , p_side => 'NA'
53091 );
53092
53093
53094 l_segment := AcctDerRule_8(
53095 p_application_id => p_application_id
53096 , p_ae_header_id => l_ae_header_id
53097 , p_source_15 => p_source_15
53098 , p_source_15_meaning => p_source_15_meaning
53099 , p_source_20 => p_source_20
53100 , p_source_21 => p_source_21
53101 , p_source_22 => p_source_22
53102 , p_source_22_meaning => p_source_22_meaning
53103 , p_source_23 => p_source_23
53104 , x_transaction_coa_id => l_adr_transaction_coa_id
53105 , x_accounting_coa_id => l_adr_accounting_coa_id
53106 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53107 , x_flex_value_set_id => l_adr_flex_value_set_id
53108 , x_value_type_code => l_adr_value_type_code
53109 , x_value_combination_id => l_adr_value_combination_id
53110 , x_value_segment_code => l_adr_value_segment_code
53111 , p_side => 'NA'
53112 , p_override_seg_flag => 'Y'
53113 );
53114
53115 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53116
53117 xla_ae_lines_pkg.set_segment(
53118 p_to_segment_code => 'GL_ACCOUNT'
53119 , p_segment_value => l_segment
53120 , p_from_segment_code => l_adr_value_segment_code
53121 , p_from_combination_id => l_adr_value_combination_id
53122 , p_value_type_code => l_adr_value_type_code
53123 , p_transaction_coa_id => l_adr_transaction_coa_id
53124 , p_accounting_coa_id => l_adr_accounting_coa_id
53125 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53126 , p_flex_value_set_id => l_adr_flex_value_set_id
53127 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53128 , p_adr_type_code => 'S'
53129 , p_component_type => l_component_type
53130 , p_component_code => l_component_code
53131 , p_component_type_code => l_component_type_code
53132 , p_component_appl_id => l_component_appl_id
53133 , p_amb_context_code => l_amb_context_code
53134 , p_entity_code => 'AP_INVOICES'
53135 , p_event_class_code => 'INVOICES'
53136 , p_side => 'NA'
53137 );
53138
53139 END IF;
53140
53141 l_segment := AcctDerRule_23(
53142 p_application_id => p_application_id
53143 , p_ae_header_id => l_ae_header_id
53144 , p_source_15 => p_source_15
53145 , p_source_15_meaning => p_source_15_meaning
53146 , p_source_22 => p_source_22
53147 , p_source_22_meaning => p_source_22_meaning
53148 , p_source_30 => p_source_30
53149 , x_transaction_coa_id => l_adr_transaction_coa_id
53150 , x_accounting_coa_id => l_adr_accounting_coa_id
53151 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53152 , x_flex_value_set_id => l_adr_flex_value_set_id
53153 , x_value_type_code => l_adr_value_type_code
53154 , x_value_combination_id => l_adr_value_combination_id
53155 , x_value_segment_code => l_adr_value_segment_code
53156 , p_side => 'NA'
53157 , p_override_seg_flag => 'Y'
53161
53158 );
53159
53160 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53162 xla_ae_lines_pkg.set_segment(
53163 p_to_segment_code => 'GL_BALANCING'
53164 , p_segment_value => l_segment
53165 , p_from_segment_code => l_adr_value_segment_code
53166 , p_from_combination_id => l_adr_value_combination_id
53167 , p_value_type_code => l_adr_value_type_code
53168 , p_transaction_coa_id => l_adr_transaction_coa_id
53169 , p_accounting_coa_id => l_adr_accounting_coa_id
53170 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53171 , p_flex_value_set_id => l_adr_flex_value_set_id
53172 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53173 , p_adr_type_code => 'S'
53174 , p_component_type => l_component_type
53175 , p_component_code => l_component_code
53176 , p_component_type_code => l_component_type_code
53177 , p_component_appl_id => l_component_appl_id
53178 , p_amb_context_code => l_amb_context_code
53179 , p_entity_code => 'AP_INVOICES'
53180 , p_event_class_code => 'INVOICES'
53181 , p_side => 'NA'
53182 );
53183
53184 END IF;
53185
53186 --
53187 --
53188 END IF;
53189
53190 --
53191 -- Update the line information that should be overwritten
53192 --
53193 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
53194 p_header_num => 1);
53195 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
53196
53197 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
53198
53199 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
53200 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
53201 END IF;
53202
53203 --
53204 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
53205 --
53206 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
53207 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
53208 ELSE
53209 ---------------------------------------------------------------------------------------------------
53210 -- 4262811a Switch Sign
53211 ---------------------------------------------------------------------------------------------------
53212 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
53213 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53215 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53216 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53217 -- 5132302
53218 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
53219 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53220
53221 END IF;
53222
53223 -- 4955764
53224 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53225 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
53226
53227
53228 XLA_AE_LINES_PKG.ValidateCurrentLine;
53229 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53230
53231 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53232 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
53233 ,p_balance_type_code => l_balance_type_code);
53234
53235 END IF;
53236
53237 -----------------------------------------------------------------------------------------
53238 -- 4262811 Multiperiod Accounting
53239 -----------------------------------------------------------------------------------------
53240 -- No MPA option is assigned.
53241
53242
53243 END IF;
53244 END IF;
53245 --
53246
53247 --
53248 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53249 trace
53250 (p_msg => 'END of AcctLineType_107'
53251 ,p_level => C_LEVEL_PROCEDURE
53252 ,p_module => l_log_module);
53253 END IF;
53254 --
53255 EXCEPTION
53256 WHEN xla_exceptions_pkg.application_exception THEN
53257 RAISE;
53258 WHEN OTHERS THEN
53259 xla_exceptions_pkg.raise_message
53260 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_107');
53261 END AcctLineType_107;
53262 --
53263
53264 ---------------------------------------
53265 --
53266 -- PRIVATE FUNCTION
53267 -- AcctLineType_108
53268 --
53269 ---------------------------------------
53270 PROCEDURE AcctLineType_108 (
53271 p_application_id IN NUMBER
53272 ,p_event_id IN NUMBER
53273 ,p_calculate_acctd_flag IN VARCHAR2
53274 ,p_calculate_g_l_flag IN VARCHAR2
53275 ,p_actual_flag IN OUT VARCHAR2
53276 ,p_balance_type_code OUT VARCHAR2
53277 ,p_gain_or_loss_ref OUT VARCHAR2
53281 --Automatic Offsets Value
53278
53279 --Invoice Distribution Description
53280 , p_source_1 IN VARCHAR2
53282 , p_source_15 IN VARCHAR2
53283 , p_source_15_meaning IN VARCHAR2
53284 --Purchase Order Rate Variance Gain Account
53285 , p_source_20 IN NUMBER
53286 --Invoice Distribution Ledger Amount
53287 , p_source_21 IN NUMBER
53288 --Destination Type of the PO Distribution
53289 , p_source_22 IN VARCHAR2
53290 , p_source_22_meaning IN VARCHAR2
53291 --Purchase Order Rate Variance Loss Account
53292 , p_source_23 IN NUMBER
53293 --Invoice Distribution Account
53294 , p_source_30 IN NUMBER
53295 --Invoice Distribution Type
53296 , p_source_33 IN VARCHAR2
53297 , p_source_33_meaning IN VARCHAR2
53298 --Automatic Offsets Flag
53299 , p_source_47 IN VARCHAR2
53300 , p_source_47_meaning IN VARCHAR2
53301 --Accounting Reversal Indicator
53302 , p_source_52 IN VARCHAR2
53303 --Distribution Link Type
53304 , p_source_54 IN VARCHAR2
53305 --Allocation to Main Distribution Identifier
53306 , p_source_56 IN NUMBER
53307 --Invoice Identifier
53308 , p_source_57 IN NUMBER
53309 --Invoice Distribution Identifier
53310 , p_source_63 IN NUMBER
53311 --Payables Encumbrance Upgrade Credit Account
53312 , p_source_64 IN NUMBER
53313 --Payables Encumbrance Upgrade Credit Amount
53314 , p_source_65 IN NUMBER
53315 --Invoice Currency Code
53316 , p_source_66 IN VARCHAR2
53317 --Payables Encumbrance Upgrade Credit Base Amount
53318 , p_source_67 IN NUMBER
53319 --Payables Encumbrance Upgrade Debit Account
53320 , p_source_68 IN NUMBER
53321 --Payables Encumbrance Upgrade Debit Amount
53322 , p_source_69 IN NUMBER
53323 --Payables Encumbrance Upgrade Debit Base Amount
53324 , p_source_70 IN NUMBER
53325 --Payables Encumbrance Upgrade Option
53326 , p_source_71 IN VARCHAR2
53327 --Invoice Distribution Amount
53328 , p_source_72 IN NUMBER
53329 --Deferred Accounting End Date
53330 , p_source_76 IN DATE
53331 --Deferred Accounting Option
53332 , p_source_77 IN VARCHAR2
53333 --Deferred Accounting Start Date
53334 , p_source_78 IN DATE
53335 --Override Accounted Amount Indicator
53336 , p_source_79 IN VARCHAR2
53337 , p_source_79_meaning IN VARCHAR2
53338 --Invoice Supplier Identifier
53339 , p_source_80 IN NUMBER
53340 --Invoice Supplier Site Identifier
53341 , p_source_81 IN NUMBER
53342 --Third Party Type
53343 , p_source_82 IN VARCHAR2
53344 --Parent Reversal Identifier
53345 , p_source_83 IN NUMBER
53346 --Invoice Distribution Statistical Amount
53347 , p_source_84 IN NUMBER
53348 --Invoice Distribution Tax Line Identifier
53349 , p_source_85 IN NUMBER
53350 --Invoice Distribution Tax Distribution Identifier from Tax
53351 , p_source_86 IN NUMBER
53352 --Invoice Distribution Summary Tax Line Identifier
53353 , p_source_87 IN NUMBER
53354 --Payables Upgrade Credit Encumbrance Type Identifier
53355 , p_source_88 IN NUMBER
53356 --Payables Upgrade Debit Encumbrance Type Identifier
53357 , p_source_89 IN NUMBER
53358 --Business Flow Accounts Payable Application Identifier
53359 , p_source_90 IN NUMBER
53360 --Business Flow Invoice Distribution Type
53361 , p_source_91 IN VARCHAR2
53362 --Business Flow Invoice Entity Code
53363 , p_source_92 IN VARCHAR2
53364 --Business Flow Invoice Distribution Identifier
53365 , p_source_93 IN NUMBER
53366 --Business Flow Invoice Identifier
53367 , p_source_94 IN NUMBER
53368 --Accrue on Receipt Option
53369 , p_source_95 IN VARCHAR2
53370 , p_source_95_meaning IN VARCHAR2
53371 --Invoice Exchange Date
53372 , p_source_136 IN DATE
53373 --Invoice Exchange Rate
53374 , p_source_137 IN NUMBER
53375 --Invoice Exchange Rate Type
53376 , p_source_138 IN VARCHAR2
53377 )
53378 IS
53379
53380 l_component_type VARCHAR2(80);
53381 l_component_code VARCHAR2(30);
53382 l_component_type_code VARCHAR2(1);
53383 l_component_appl_id INTEGER;
53384 l_amb_context_code VARCHAR2(30);
53385 l_entity_code VARCHAR2(30);
53386 l_event_class_code VARCHAR2(30);
53387 l_ae_header_id NUMBER;
53388 l_event_type_code VARCHAR2(30);
53389 l_line_definition_code VARCHAR2(30);
53390 l_line_definition_owner_code VARCHAR2(1);
53391 --
53392 -- adr variables
53393 l_segment VARCHAR2(30);
53394 l_ccid NUMBER;
53395 l_adr_transaction_coa_id NUMBER;
53396 l_adr_accounting_coa_id NUMBER;
53397 l_adr_flexfield_segment_code VARCHAR2(30);
53398 l_adr_flex_value_set_id NUMBER;
53399 l_adr_value_type_code VARCHAR2(30);
53400 l_adr_value_combination_id NUMBER;
53401 l_adr_value_segment_code VARCHAR2(30);
53402
53403 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
53404 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
53405 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
53406 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
53407
53411 l_acc_rev_flag VARCHAR2(1);
53408 -- 4262811 Variables ------------------------------------------------------------------------------------------
53409 l_entered_amt_idx NUMBER;
53410 l_accted_amt_idx NUMBER;
53412 l_accrual_line_num NUMBER;
53413 l_tmp_amt NUMBER;
53414 l_acc_rev_natural_side_code VARCHAR2(1);
53415
53416 l_num_entries NUMBER;
53417 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53418 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53419 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53420 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53421 l_recog_line_1 NUMBER;
53422 l_recog_line_2 NUMBER;
53423
53424 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53425 l_bflow_applied_to_amt NUMBER; -- 5132302
53426 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53427
53428 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53429
53430 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53431 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53432
53433 ---------------------------------------------------------------------------------------------------------------
53434
53435
53436 --
53437 -- bulk performance
53438 --
53439 l_balance_type_code VARCHAR2(1);
53440 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53441 l_log_module VARCHAR2(240);
53442
53443 --
53444 -- Upgrade strategy
53445 --
53446 l_actual_upg_option VARCHAR2(1);
53447 l_enc_upg_option VARCHAR2(1);
53448
53449 --
53450 BEGIN
53451 --
53452 IF g_log_enabled THEN
53453 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_108';
53454 END IF;
53455 --
53456 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53457
53458 trace
53459 (p_msg => 'BEGIN of AcctLineType_108'
53460 ,p_level => C_LEVEL_PROCEDURE
53461 ,p_module => l_log_module);
53462
53463 END IF;
53464 --
53465 l_component_type := 'AMB_JLT';
53466 l_component_code := 'AP_EX_RATE_VAR_PREPAY';
53467 l_component_type_code := 'S';
53468 l_component_appl_id := 200;
53469 l_amb_context_code := 'DEFAULT';
53470 l_entity_code := 'AP_INVOICES';
53471 l_event_class_code := 'PREPAYMENTS';
53472 l_event_type_code := 'PREPAYMENTS_ALL';
53473 l_line_definition_owner_code := 'S';
53474 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
53475 --
53476 l_balance_type_code := 'A';
53477 l_segment := NULL;
53478 l_ccid := NULL;
53479 l_adr_transaction_coa_id := NULL;
53480 l_adr_accounting_coa_id := NULL;
53481 l_adr_flexfield_segment_code := NULL;
53482 l_adr_flex_value_set_id := NULL;
53483 l_adr_value_type_code := NULL;
53484 l_adr_value_combination_id := NULL;
53485 l_adr_value_segment_code := NULL;
53486
53487 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
53488 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
53489 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53490 l_budgetary_control_flag := 'N';
53491
53492 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53493 l_bflow_applied_to_amt := NULL; -- 5132302
53494 l_entered_amt_idx := NULL; -- 4262811
53495 l_accted_amt_idx := NULL; -- 4262811
53496 l_acc_rev_flag := NULL; -- 4262811
53497 l_accrual_line_num := NULL; -- 4262811
53498 l_tmp_amt := NULL; -- 4262811
53499 --
53500 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
53501 (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
53502 return;
53503 END IF;
53504
53505 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53506 l_balance_type_code <> 'B' THEN
53507 IF NVL(p_source_33,'
53508 ') = 'ERV' AND
53509 NVL(p_source_95,'
53510 ') = 'Y'
53511 THEN
53512
53513 --
53514 XLA_AE_LINES_PKG.SetNewLine;
53515
53516 p_balance_type_code := l_balance_type_code;
53517 -- set the flag so later we will know whether the gain loss line needs to be created
53518
53519 IF(l_balance_type_code = 'A' ) THEN
53520 p_actual_flag :='G';
53521 END IF;
53522
53523 --
53524 -- bulk performance
53525 --
53526 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53527 p_header_num => 0); -- 4262811
53528 --
53529 -- set accounting line options
53530 --
53531 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53532 p_natural_side_code => 'D'
53533 , p_gain_or_loss_flag => 'Y'
53534 , p_gl_transfer_mode_code => 'S'
53538 );
53535 , p_acct_entry_type_code => 'A'
53536 , p_switch_side_flag => 'Y'
53537 , p_merge_duplicate_code => 'A'
53539 --
53540 l_acc_rev_natural_side_code := 'C'; -- 4262811
53541 --
53542 --
53543 -- set accounting line type info
53544 --
53545 xla_ae_lines_pkg.SetAcctLineType
53546 (p_component_type => l_component_type
53547 ,p_event_type_code => l_event_type_code
53548 ,p_line_definition_owner_code => l_line_definition_owner_code
53549 ,p_line_definition_code => l_line_definition_code
53550 ,p_accounting_line_code => l_component_code
53551 ,p_accounting_line_type_code => l_component_type_code
53552 ,p_accounting_line_appl_id => l_component_appl_id
53553 ,p_amb_context_code => l_amb_context_code
53554 ,p_entity_code => l_entity_code
53555 ,p_event_class_code => l_event_class_code);
53556 --
53557 -- set accounting class
53558 --
53559 xla_ae_lines_pkg.SetAcctClass(
53560 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
53561 , p_ae_header_id => l_ae_header_id
53562 );
53563
53564 --
53565 -- set rounding class
53566 --
53567 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53568 'EXCHANGE_RATE_VARIANCE';
53569
53570 --
53571 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53572 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53573 --
53574 -- bulk performance
53575 --
53576 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53577
53578 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53579 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53580
53581 -- 4955764
53582 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53583 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53584
53585 -- 4458381 Public Sector Enh
53586
53587 --
53588 -- set accounting attributes for the line type
53589 --
53590 l_entered_amt_idx := 23;
53591 l_accted_amt_idx := 28;
53592 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53593 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53594 l_rec_acct_attrs.array_char_value(1) := p_source_52;
53595 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53596 l_rec_acct_attrs.array_num_value(2) :=
53597 xla_ae_sources_pkg.GetSystemSourceNum(
53598 p_source_code => 'XLA_EVENT_APPL_ID'
53599 , p_source_type_code => 'Y'
53600 , p_source_application_id => 602
53601 );
53602 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53603 l_rec_acct_attrs.array_char_value(3) := p_source_54;
53604 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53605 l_rec_acct_attrs.array_char_value(4) :=
53606 xla_ae_sources_pkg.GetSystemSourceChar(
53607 p_source_code => 'XLA_ENTITY_CODE'
53608 , p_source_type_code => 'Y'
53609 , p_source_application_id => 602
53610 );
53611 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53612 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
53613 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53614 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
53615 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
53616 l_rec_acct_attrs.array_num_value(7) := p_source_90;
53617 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53618 l_rec_acct_attrs.array_char_value(8) := p_source_91;
53619 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
53620 l_rec_acct_attrs.array_char_value(9) := p_source_92;
53621 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53622 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
53623 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53624 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
53625 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
53626 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
53627 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
53628 l_rec_acct_attrs.array_char_value(13) := p_source_54;
53629 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
53630 l_rec_acct_attrs.array_num_value(14) := p_source_64;
53631 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
53632 l_rec_acct_attrs.array_num_value(15) := p_source_65;
53633 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
53634 l_rec_acct_attrs.array_char_value(16) := p_source_66;
53635 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
53636 l_rec_acct_attrs.array_num_value(17) := p_source_67;
53637 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
53638 l_rec_acct_attrs.array_num_value(18) := p_source_68;
53639 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
53643 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
53640 l_rec_acct_attrs.array_num_value(19) := p_source_69;
53641 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
53642 l_rec_acct_attrs.array_char_value(20) := p_source_66;
53644 l_rec_acct_attrs.array_num_value(21) := p_source_70;
53645 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
53646 l_rec_acct_attrs.array_char_value(22) := p_source_71;
53647 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
53648 l_rec_acct_attrs.array_num_value(23) := p_source_72;
53649 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
53650 l_rec_acct_attrs.array_char_value(24) := p_source_66;
53651 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
53652 l_rec_acct_attrs.array_date_value(25) := p_source_136;
53653 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
53654 l_rec_acct_attrs.array_num_value(26) := p_source_137;
53655 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
53656 l_rec_acct_attrs.array_char_value(27) := p_source_138;
53657 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
53658 l_rec_acct_attrs.array_num_value(28) := p_source_21;
53659 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
53660 l_rec_acct_attrs.array_date_value(29) := p_source_76;
53661 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
53662 l_rec_acct_attrs.array_char_value(30) := p_source_77;
53663 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
53664 l_rec_acct_attrs.array_date_value(31) := p_source_78;
53665 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
53666 l_rec_acct_attrs.array_char_value(32) := p_source_79;
53667 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
53668 l_rec_acct_attrs.array_num_value(33) := p_source_80;
53669 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
53670 l_rec_acct_attrs.array_num_value(34) := p_source_81;
53671 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
53672 l_rec_acct_attrs.array_char_value(35) := p_source_82;
53673 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
53674 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
53675 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
53676 l_rec_acct_attrs.array_char_value(37) := p_source_54;
53677 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
53678 l_rec_acct_attrs.array_num_value(38) := p_source_84;
53679 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
53680 l_rec_acct_attrs.array_num_value(39) := p_source_85;
53681 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
53682 l_rec_acct_attrs.array_num_value(40) := p_source_86;
53683 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
53684 l_rec_acct_attrs.array_num_value(41) := p_source_87;
53685 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
53686 l_rec_acct_attrs.array_num_value(42) := p_source_88;
53687 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
53688 l_rec_acct_attrs.array_num_value(43) := p_source_89;
53689
53690 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53691 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53692
53693 ---------------------------------------------------------------------------------------------------------------
53694 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53695 ---------------------------------------------------------------------------------------------------------------
53696 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53697
53698 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53699 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53700
53701 IF xla_accounting_cache_pkg.GetValueChar
53702 (p_source_code => 'LEDGER_CATEGORY_CODE'
53703 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53704 AND l_bflow_method_code = 'PRIOR_ENTRY'
53705 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53706 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53707 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53708 )
53709 THEN
53710 xla_ae_lines_pkg.BflowUpgEntry
53711 (p_business_method_code => l_bflow_method_code
53712 ,p_business_class_code => l_bflow_class_code
53713 ,p_balance_type => l_balance_type_code);
53714 ELSE
53715 NULL;
53716 -- No business flow processing for business flow method of NONE.
53717 END IF;
53718
53719 --
53720 -- call analytical criteria
53721 --
53722
53723 --
53724 -- call description
53725 --
53726
53727 xla_ae_lines_pkg.SetLineDescription(
53728 p_ae_header_id => l_ae_header_id
53729 ,p_description => Description_1 (
53730 p_application_id => p_application_id
53731 , p_ae_header_id => l_ae_header_id
53732 , p_source_1 => p_source_1
53733 )
53734 );
53735
53736
53737 --
53738 -- call ADRs
53739 -- Bug 4922099
53740 --
53741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53745 THEN
53742 (NVL(l_actual_upg_option, 'N') = 'O') OR
53743 (NVL(l_enc_upg_option, 'N') = 'O')
53744 )
53746 NULL;
53747 --
53748 --
53749
53750 l_ccid := AcctDerRule_30(
53751 p_application_id => p_application_id
53752 , p_ae_header_id => l_ae_header_id
53753 , p_source_15 => p_source_15
53754 , p_source_15_meaning => p_source_15_meaning
53755 , p_source_20 => p_source_20
53756 , p_source_21 => p_source_21
53757 , p_source_22 => p_source_22
53758 , p_source_22_meaning => p_source_22_meaning
53759 , p_source_23 => p_source_23
53760 , p_source_30 => p_source_30
53761 , p_source_47 => p_source_47
53762 , p_source_47_meaning => p_source_47_meaning
53763 , x_transaction_coa_id => l_adr_transaction_coa_id
53764 , x_accounting_coa_id => l_adr_accounting_coa_id
53765 , x_value_type_code => l_adr_value_type_code
53766 , p_side => 'NA'
53767 );
53768
53769 xla_ae_lines_pkg.set_ccid(
53770 p_code_combination_id => l_ccid
53771 , p_value_type_code => l_adr_value_type_code
53772 , p_transaction_coa_id => l_adr_transaction_coa_id
53773 , p_accounting_coa_id => l_adr_accounting_coa_id
53774 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53775 , p_adr_type_code => 'S'
53776 , p_component_type => l_component_type
53777 , p_component_code => l_component_code
53778 , p_component_type_code => l_component_type_code
53779 , p_component_appl_id => l_component_appl_id
53780 , p_amb_context_code => l_amb_context_code
53781 , p_side => 'NA'
53782 );
53783
53784
53785 l_segment := AcctDerRule_8(
53786 p_application_id => p_application_id
53787 , p_ae_header_id => l_ae_header_id
53788 , p_source_15 => p_source_15
53789 , p_source_15_meaning => p_source_15_meaning
53790 , p_source_20 => p_source_20
53791 , p_source_21 => p_source_21
53792 , p_source_22 => p_source_22
53793 , p_source_22_meaning => p_source_22_meaning
53794 , p_source_23 => p_source_23
53795 , x_transaction_coa_id => l_adr_transaction_coa_id
53796 , x_accounting_coa_id => l_adr_accounting_coa_id
53797 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53798 , x_flex_value_set_id => l_adr_flex_value_set_id
53799 , x_value_type_code => l_adr_value_type_code
53800 , x_value_combination_id => l_adr_value_combination_id
53801 , x_value_segment_code => l_adr_value_segment_code
53802 , p_side => 'NA'
53803 , p_override_seg_flag => 'Y'
53804 );
53805
53806 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53807
53808 xla_ae_lines_pkg.set_segment(
53809 p_to_segment_code => 'GL_ACCOUNT'
53810 , p_segment_value => l_segment
53811 , p_from_segment_code => l_adr_value_segment_code
53812 , p_from_combination_id => l_adr_value_combination_id
53813 , p_value_type_code => l_adr_value_type_code
53814 , p_transaction_coa_id => l_adr_transaction_coa_id
53815 , p_accounting_coa_id => l_adr_accounting_coa_id
53816 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53817 , p_flex_value_set_id => l_adr_flex_value_set_id
53818 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53819 , p_adr_type_code => 'S'
53820 , p_component_type => l_component_type
53821 , p_component_code => l_component_code
53822 , p_component_type_code => l_component_type_code
53823 , p_component_appl_id => l_component_appl_id
53824 , p_amb_context_code => l_amb_context_code
53825 , p_entity_code => 'AP_INVOICES'
53826 , p_event_class_code => 'PREPAYMENTS'
53827 , p_side => 'NA'
53828 );
53829
53830 END IF;
53831
53832 l_segment := AcctDerRule_23(
53833 p_application_id => p_application_id
53834 , p_ae_header_id => l_ae_header_id
53835 , p_source_15 => p_source_15
53836 , p_source_15_meaning => p_source_15_meaning
53837 , p_source_22 => p_source_22
53838 , p_source_22_meaning => p_source_22_meaning
53839 , p_source_30 => p_source_30
53840 , x_transaction_coa_id => l_adr_transaction_coa_id
53841 , x_accounting_coa_id => l_adr_accounting_coa_id
53842 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53843 , x_flex_value_set_id => l_adr_flex_value_set_id
53844 , x_value_type_code => l_adr_value_type_code
53845 , x_value_combination_id => l_adr_value_combination_id
53846 , x_value_segment_code => l_adr_value_segment_code
53847 , p_side => 'NA'
53848 , p_override_seg_flag => 'Y'
53849 );
53850
53851 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53852
53853 xla_ae_lines_pkg.set_segment(
53854 p_to_segment_code => 'GL_BALANCING'
53855 , p_segment_value => l_segment
53856 , p_from_segment_code => l_adr_value_segment_code
53857 , p_from_combination_id => l_adr_value_combination_id
53861 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53858 , p_value_type_code => l_adr_value_type_code
53859 , p_transaction_coa_id => l_adr_transaction_coa_id
53860 , p_accounting_coa_id => l_adr_accounting_coa_id
53862 , p_flex_value_set_id => l_adr_flex_value_set_id
53863 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53864 , p_adr_type_code => 'S'
53865 , p_component_type => l_component_type
53866 , p_component_code => l_component_code
53867 , p_component_type_code => l_component_type_code
53868 , p_component_appl_id => l_component_appl_id
53869 , p_amb_context_code => l_amb_context_code
53870 , p_entity_code => 'AP_INVOICES'
53871 , p_event_class_code => 'PREPAYMENTS'
53872 , p_side => 'NA'
53873 );
53874
53875 END IF;
53876
53877 --
53878 --
53879 END IF;
53880 --
53881 -- Bug 4922099
53882 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
53883 (NVL(l_enc_upg_option, 'N') = 'O')
53884 ) AND
53885 (l_bflow_method_code = 'PRIOR_ENTRY')
53886 )
53887 THEN
53888 IF
53889 --
53890 1 = 2
53891 --
53892 THEN
53893 xla_accounting_err_pkg.build_message
53894 (p_appli_s_name => 'XLA'
53895 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53896 ,p_token_1 => 'LINE_NUMBER'
53897 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
53898 ,p_token_2 => 'LINE_TYPE_NAME'
53899 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
53900 l_component_type
53901 ,l_component_code
53902 ,l_component_type_code
53903 ,l_component_appl_id
53904 ,l_amb_context_code
53905 ,l_entity_code
53906 ,l_event_class_code
53907 )
53908 ,p_token_3 => 'OWNER'
53909 ,p_value_3 => xla_lookups_pkg.get_meaning(
53910 p_lookup_type => 'XLA_OWNER_TYPE'
53911 ,p_lookup_code => l_component_type_code
53912 )
53913 ,p_token_4 => 'PRODUCT_NAME'
53914 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
53915 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
53916 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
53917 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
53918 ,p_ae_header_id => NULL
53919 );
53920
53921 IF (C_LEVEL_ERROR>= g_log_level) THEN
53922 trace
53923 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53924 ,p_level => C_LEVEL_ERROR
53925 ,p_module => l_log_module);
53926 END IF;
53927 END IF;
53928 END IF;
53929 --
53930 --
53931 ------------------------------------------------------------------------------------------------
53932 -- 4219869 Business Flow
53933 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53934 -- Prior Entry. Currently, the following code is always generated.
53935 ------------------------------------------------------------------------------------------------
53936 XLA_AE_LINES_PKG.ValidateCurrentLine;
53937
53938 ------------------------------------------------------------------------------------
53939 -- 4219869 Business Flow
53940 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53941 ------------------------------------------------------------------------------------
53942 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53943
53944 ----------------------------------------------------------------------------------
53945 -- 4219869 Business Flow
53946 -- Update journal entry status -- Need to generate this within IF <condition>
53947 ----------------------------------------------------------------------------------
53948 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53949 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53950 ,p_balance_type_code => l_balance_type_code
53951 );
53952
53953 -------------------------------------------------------------------------------------------
53957 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53954 -- 4262811 - Generate the Accrual Reversal lines
53955 -------------------------------------------------------------------------------------------
53956 BEGIN
53958 (g_array_event(p_event_id).array_value_num('header_index'));
53959 IF l_acc_rev_flag IS NULL THEN
53960 l_acc_rev_flag := 'N';
53961 END IF;
53962 EXCEPTION
53963 WHEN OTHERS THEN
53964 l_acc_rev_flag := 'N';
53965 END;
53966 --
53967 IF (l_acc_rev_flag = 'Y') THEN
53968
53969 -- 4645092 ------------------------------------------------------------------------------
53970 -- To allow MPA report to determine if it should generate report process
53971 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53972 ------------------------------------------------------------------------------------------
53973
53974 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53975 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53976 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53977 -- call ADRs
53978 -- Bug 4922099
53979 --
53980 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53981 (NVL(l_actual_upg_option, 'N') = 'O') OR
53982 (NVL(l_enc_upg_option, 'N') = 'O')
53983 )
53984 THEN
53985 NULL;
53986 --
53987 --
53988
53989 l_ccid := AcctDerRule_30(
53990 p_application_id => p_application_id
53991 , p_ae_header_id => l_ae_header_id
53992 , p_source_15 => p_source_15
53993 , p_source_15_meaning => p_source_15_meaning
53994 , p_source_20 => p_source_20
53995 , p_source_21 => p_source_21
53996 , p_source_22 => p_source_22
53997 , p_source_22_meaning => p_source_22_meaning
53998 , p_source_23 => p_source_23
53999 , p_source_30 => p_source_30
54000 , p_source_47 => p_source_47
54001 , p_source_47_meaning => p_source_47_meaning
54002 , x_transaction_coa_id => l_adr_transaction_coa_id
54003 , x_accounting_coa_id => l_adr_accounting_coa_id
54004 , x_value_type_code => l_adr_value_type_code
54005 , p_side => 'NA'
54006 );
54007
54008 xla_ae_lines_pkg.set_ccid(
54009 p_code_combination_id => l_ccid
54010 , p_value_type_code => l_adr_value_type_code
54011 , p_transaction_coa_id => l_adr_transaction_coa_id
54012 , p_accounting_coa_id => l_adr_accounting_coa_id
54013 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
54014 , p_adr_type_code => 'S'
54015 , p_component_type => l_component_type
54016 , p_component_code => l_component_code
54017 , p_component_type_code => l_component_type_code
54018 , p_component_appl_id => l_component_appl_id
54019 , p_amb_context_code => l_amb_context_code
54020 , p_side => 'NA'
54021 );
54022
54023
54024 l_segment := AcctDerRule_8(
54025 p_application_id => p_application_id
54026 , p_ae_header_id => l_ae_header_id
54027 , p_source_15 => p_source_15
54028 , p_source_15_meaning => p_source_15_meaning
54029 , p_source_20 => p_source_20
54030 , p_source_21 => p_source_21
54031 , p_source_22 => p_source_22
54032 , p_source_22_meaning => p_source_22_meaning
54033 , p_source_23 => p_source_23
54034 , x_transaction_coa_id => l_adr_transaction_coa_id
54035 , x_accounting_coa_id => l_adr_accounting_coa_id
54036 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54037 , x_flex_value_set_id => l_adr_flex_value_set_id
54038 , x_value_type_code => l_adr_value_type_code
54039 , x_value_combination_id => l_adr_value_combination_id
54040 , x_value_segment_code => l_adr_value_segment_code
54041 , p_side => 'NA'
54042 , p_override_seg_flag => 'Y'
54043 );
54044
54045 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54046
54047 xla_ae_lines_pkg.set_segment(
54048 p_to_segment_code => 'GL_ACCOUNT'
54049 , p_segment_value => l_segment
54050 , p_from_segment_code => l_adr_value_segment_code
54051 , p_from_combination_id => l_adr_value_combination_id
54052 , p_value_type_code => l_adr_value_type_code
54053 , p_transaction_coa_id => l_adr_transaction_coa_id
54054 , p_accounting_coa_id => l_adr_accounting_coa_id
54055 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54056 , p_flex_value_set_id => l_adr_flex_value_set_id
54057 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54058 , p_adr_type_code => 'S'
54059 , p_component_type => l_component_type
54060 , p_component_code => l_component_code
54061 , p_component_type_code => l_component_type_code
54062 , p_component_appl_id => l_component_appl_id
54063 , p_amb_context_code => l_amb_context_code
54064 , p_entity_code => 'AP_INVOICES'
54065 , p_event_class_code => 'PREPAYMENTS'
54066 , p_side => 'NA'
54067 );
54068
54069 END IF;
54070
54071 l_segment := AcctDerRule_23(
54075 , p_source_15_meaning => p_source_15_meaning
54072 p_application_id => p_application_id
54073 , p_ae_header_id => l_ae_header_id
54074 , p_source_15 => p_source_15
54076 , p_source_22 => p_source_22
54077 , p_source_22_meaning => p_source_22_meaning
54078 , p_source_30 => p_source_30
54079 , x_transaction_coa_id => l_adr_transaction_coa_id
54080 , x_accounting_coa_id => l_adr_accounting_coa_id
54081 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54082 , x_flex_value_set_id => l_adr_flex_value_set_id
54083 , x_value_type_code => l_adr_value_type_code
54084 , x_value_combination_id => l_adr_value_combination_id
54085 , x_value_segment_code => l_adr_value_segment_code
54086 , p_side => 'NA'
54087 , p_override_seg_flag => 'Y'
54088 );
54089
54090 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54091
54092 xla_ae_lines_pkg.set_segment(
54093 p_to_segment_code => 'GL_BALANCING'
54094 , p_segment_value => l_segment
54095 , p_from_segment_code => l_adr_value_segment_code
54096 , p_from_combination_id => l_adr_value_combination_id
54097 , p_value_type_code => l_adr_value_type_code
54098 , p_transaction_coa_id => l_adr_transaction_coa_id
54099 , p_accounting_coa_id => l_adr_accounting_coa_id
54100 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54101 , p_flex_value_set_id => l_adr_flex_value_set_id
54102 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54103 , p_adr_type_code => 'S'
54104 , p_component_type => l_component_type
54105 , p_component_code => l_component_code
54106 , p_component_type_code => l_component_type_code
54107 , p_component_appl_id => l_component_appl_id
54108 , p_amb_context_code => l_amb_context_code
54109 , p_entity_code => 'AP_INVOICES'
54110 , p_event_class_code => 'PREPAYMENTS'
54111 , p_side => 'NA'
54112 );
54113
54114 END IF;
54115
54116 --
54117 --
54118 END IF;
54119
54120 --
54121 -- Update the line information that should be overwritten
54122 --
54123 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54124 p_header_num => 1);
54125 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54126
54127 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54128
54129 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54130 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54131 END IF;
54132
54133 --
54134 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54135 --
54136 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54137 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54138 ELSE
54139 ---------------------------------------------------------------------------------------------------
54140 -- 4262811a Switch Sign
54141 ---------------------------------------------------------------------------------------------------
54142 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54143 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54144 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54145 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54146 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54147 -- 5132302
54148 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54149 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54150
54151 END IF;
54152
54153 -- 4955764
54154 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54155 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54156
54157
54158 XLA_AE_LINES_PKG.ValidateCurrentLine;
54159 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54160
54161 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54162 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54163 ,p_balance_type_code => l_balance_type_code);
54164
54165 END IF;
54166
54167 -----------------------------------------------------------------------------------------
54168 -- 4262811 Multiperiod Accounting
54169 -----------------------------------------------------------------------------------------
54170 -- No MPA option is assigned.
54171
54172
54173 END IF;
54174 END IF;
54175 --
54176
54177 --
54178 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54179 trace
54183 END IF;
54180 (p_msg => 'END of AcctLineType_108'
54181 ,p_level => C_LEVEL_PROCEDURE
54182 ,p_module => l_log_module);
54184 --
54185 EXCEPTION
54186 WHEN xla_exceptions_pkg.application_exception THEN
54187 RAISE;
54188 WHEN OTHERS THEN
54189 xla_exceptions_pkg.raise_message
54190 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_108');
54191 END AcctLineType_108;
54192 --
54193
54194 ---------------------------------------
54195 --
54196 -- PRIVATE FUNCTION
54197 -- AcctLineType_109
54198 --
54199 ---------------------------------------
54200 PROCEDURE AcctLineType_109 (
54201 p_application_id IN NUMBER
54202 ,p_event_id IN NUMBER
54203 ,p_calculate_acctd_flag IN VARCHAR2
54204 ,p_calculate_g_l_flag IN VARCHAR2
54205 ,p_actual_flag IN OUT VARCHAR2
54206 ,p_balance_type_code OUT VARCHAR2
54207 ,p_gain_or_loss_ref OUT VARCHAR2
54208
54209 --Automatic Offsets Value
54210 , p_source_15 IN VARCHAR2
54211 , p_source_15_meaning IN VARCHAR2
54212 --Invoice Distribution Account
54213 , p_source_30 IN NUMBER
54214 --Payables Options Rounding Account
54215 , p_source_48 IN NUMBER
54216 --Accounting Reversal Indicator
54217 , p_source_52 IN VARCHAR2
54218 --Distribution Link Type
54219 , p_source_54 IN VARCHAR2
54220 --Invoice Identifier
54221 , p_source_57 IN NUMBER
54222 --Payables Encumbrance Upgrade Credit Account
54223 , p_source_64 IN NUMBER
54224 --Payables Encumbrance Upgrade Credit Amount
54225 , p_source_65 IN NUMBER
54226 --Invoice Currency Code
54227 , p_source_66 IN VARCHAR2
54228 --Payables Encumbrance Upgrade Credit Base Amount
54229 , p_source_67 IN NUMBER
54230 --Payables Encumbrance Upgrade Debit Account
54231 , p_source_68 IN NUMBER
54232 --Payables Encumbrance Upgrade Debit Amount
54233 , p_source_69 IN NUMBER
54234 --Payables Encumbrance Upgrade Debit Base Amount
54235 , p_source_70 IN NUMBER
54236 --Payables Encumbrance Upgrade Option
54237 , p_source_71 IN VARCHAR2
54238 --Deferred Accounting End Date
54239 , p_source_76 IN DATE
54240 --Deferred Accounting Option
54241 , p_source_77 IN VARCHAR2
54242 --Deferred Accounting Start Date
54243 , p_source_78 IN DATE
54244 --Override Accounted Amount Indicator
54245 , p_source_79 IN VARCHAR2
54246 , p_source_79_meaning IN VARCHAR2
54247 --Invoice Supplier Identifier
54248 , p_source_80 IN NUMBER
54249 --Invoice Supplier Site Identifier
54250 , p_source_81 IN NUMBER
54251 --Third Party Type
54252 , p_source_82 IN VARCHAR2
54253 --Invoice Distribution Tax Line Identifier
54254 , p_source_85 IN NUMBER
54255 --Invoice Distribution Tax Distribution Identifier from Tax
54256 , p_source_86 IN NUMBER
54257 --Invoice Distribution Summary Tax Line Identifier
54258 , p_source_87 IN NUMBER
54259 --Payables Upgrade Credit Encumbrance Type Identifier
54260 , p_source_88 IN NUMBER
54261 --Payables Upgrade Debit Encumbrance Type Identifier
54262 , p_source_89 IN NUMBER
54263 --Business Flow Accounts Payable Application Identifier
54264 , p_source_90 IN NUMBER
54265 --Prepayment Application Distribution Identifier
54266 , p_source_127 IN NUMBER
54267 --Upgrade Encumbrance Credit Account Class
54268 , p_source_130 IN VARCHAR2
54269 --Upgrade Encumbrance Debit Account Class
54270 , p_source_131 IN VARCHAR2
54271 --Prepayment Distribution Amount
54272 , p_source_132 IN NUMBER
54273 --Identifier of the Prepayment Application Reversed
54274 , p_source_134 IN NUMBER
54275 --Invoice Exchange Date
54276 , p_source_136 IN DATE
54277 --Invoice Exchange Rate
54278 , p_source_137 IN NUMBER
54279 --Invoice Exchange Rate Type
54280 , p_source_138 IN VARCHAR2
54281 --Business Flow Prepayment Invoice Distribution Type
54282 , p_source_139 IN VARCHAR2
54283 --Business Flow Prepayment Invoice Entity Code
54284 , p_source_140 IN VARCHAR2
54285 --Business Flow Prepayment Invoice Distribution Identifier
54286 , p_source_141 IN NUMBER
54287 --Business Flow Prepayment Invoice Identifier
54288 , p_source_142 IN NUMBER
54289 --Prepayment Distribution Type
54290 , p_source_143 IN VARCHAR2
54291 --Prepayment Distribution (Prepayment Rate) Ledger Amount
54292 , p_source_144 IN NUMBER
54293 --Project Identifier
54294 , p_source_146 IN NUMBER
54295 )
54296 IS
54297
54298 l_component_type VARCHAR2(80);
54299 l_component_code VARCHAR2(30);
54300 l_component_type_code VARCHAR2(1);
54301 l_component_appl_id INTEGER;
54302 l_amb_context_code VARCHAR2(30);
54303 l_entity_code VARCHAR2(30);
54304 l_event_class_code VARCHAR2(30);
54305 l_ae_header_id NUMBER;
54306 l_event_type_code VARCHAR2(30);
54307 l_line_definition_code VARCHAR2(30);
54308 l_line_definition_owner_code VARCHAR2(1);
54309 --
54310 -- adr variables
54314 l_adr_accounting_coa_id NUMBER;
54311 l_segment VARCHAR2(30);
54312 l_ccid NUMBER;
54313 l_adr_transaction_coa_id NUMBER;
54315 l_adr_flexfield_segment_code VARCHAR2(30);
54316 l_adr_flex_value_set_id NUMBER;
54317 l_adr_value_type_code VARCHAR2(30);
54318 l_adr_value_combination_id NUMBER;
54319 l_adr_value_segment_code VARCHAR2(30);
54320
54321 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54322 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54323 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54324 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54325
54326 -- 4262811 Variables ------------------------------------------------------------------------------------------
54327 l_entered_amt_idx NUMBER;
54328 l_accted_amt_idx NUMBER;
54329 l_acc_rev_flag VARCHAR2(1);
54330 l_accrual_line_num NUMBER;
54331 l_tmp_amt NUMBER;
54332 l_acc_rev_natural_side_code VARCHAR2(1);
54333
54334 l_num_entries NUMBER;
54335 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54336 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54337 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54338 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54339 l_recog_line_1 NUMBER;
54340 l_recog_line_2 NUMBER;
54341
54342 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54343 l_bflow_applied_to_amt NUMBER; -- 5132302
54344 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54345
54346 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54347
54348 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54349 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54350
54351 ---------------------------------------------------------------------------------------------------------------
54352
54353
54354 --
54355 -- bulk performance
54356 --
54357 l_balance_type_code VARCHAR2(1);
54358 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
54359 l_log_module VARCHAR2(240);
54360
54361 --
54362 -- Upgrade strategy
54363 --
54364 l_actual_upg_option VARCHAR2(1);
54365 l_enc_upg_option VARCHAR2(1);
54366
54367 --
54368 BEGIN
54369 --
54370 IF g_log_enabled THEN
54371 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_109';
54372 END IF;
54373 --
54374 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54375
54376 trace
54377 (p_msg => 'BEGIN of AcctLineType_109'
54378 ,p_level => C_LEVEL_PROCEDURE
54379 ,p_module => l_log_module);
54380
54381 END IF;
54382 --
54383 l_component_type := 'AMB_JLT';
54384 l_component_code := 'AP_FINAL_APP_ROUND_ACCR';
54385 l_component_type_code := 'S';
54386 l_component_appl_id := 200;
54387 l_amb_context_code := 'DEFAULT';
54388 l_entity_code := 'AP_INVOICES';
54389 l_event_class_code := 'PREPAYMENT APPLICATIONS';
54390 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
54391 l_line_definition_owner_code := 'S';
54392 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
54393 --
54394 l_balance_type_code := 'A';
54395 l_segment := NULL;
54396 l_ccid := NULL;
54397 l_adr_transaction_coa_id := NULL;
54398 l_adr_accounting_coa_id := NULL;
54399 l_adr_flexfield_segment_code := NULL;
54400 l_adr_flex_value_set_id := NULL;
54401 l_adr_value_type_code := NULL;
54402 l_adr_value_combination_id := NULL;
54403 l_adr_value_segment_code := NULL;
54404
54405 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
54406 l_bflow_class_code := ''; -- 4219869 Business Flow
54407 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
54408 l_budgetary_control_flag := 'N';
54409
54410 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54411 l_bflow_applied_to_amt := NULL; -- 5132302
54412 l_entered_amt_idx := NULL; -- 4262811
54413 l_accted_amt_idx := NULL; -- 4262811
54414 l_acc_rev_flag := NULL; -- 4262811
54415 l_accrual_line_num := NULL; -- 4262811
54416 l_tmp_amt := NULL; -- 4262811
54417 --
54418
54419 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
54420 l_balance_type_code <> 'B' THEN
54421 IF NVL(p_source_143,'
54422 ') = 'FINAL APPLICATION ROUNDING'
54423 THEN
54424
54425 --
54426 XLA_AE_LINES_PKG.SetNewLine;
54427
54428 p_balance_type_code := l_balance_type_code;
54429 -- set the flag so later we will know whether the gain loss line needs to be created
54430
54431 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
54432 p_actual_flag :='A';
54433 END IF;
54434
54435 --
54436 -- bulk performance
54437 --
54438 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
54439 p_header_num => 0); -- 4262811
54443 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
54440 --
54441 -- set accounting line options
54442 --
54444 p_natural_side_code => 'C'
54445 , p_gain_or_loss_flag => 'N'
54446 , p_gl_transfer_mode_code => 'S'
54447 , p_acct_entry_type_code => 'A'
54448 , p_switch_side_flag => 'Y'
54449 , p_merge_duplicate_code => 'A'
54450 );
54451 --
54452 l_acc_rev_natural_side_code := 'D'; -- 4262811
54453 --
54454 --
54455 -- set accounting line type info
54456 --
54457 xla_ae_lines_pkg.SetAcctLineType
54458 (p_component_type => l_component_type
54459 ,p_event_type_code => l_event_type_code
54460 ,p_line_definition_owner_code => l_line_definition_owner_code
54461 ,p_line_definition_code => l_line_definition_code
54462 ,p_accounting_line_code => l_component_code
54463 ,p_accounting_line_type_code => l_component_type_code
54464 ,p_accounting_line_appl_id => l_component_appl_id
54465 ,p_amb_context_code => l_amb_context_code
54466 ,p_entity_code => l_entity_code
54467 ,p_event_class_code => l_event_class_code);
54468 --
54469 -- set accounting class
54470 --
54471 xla_ae_lines_pkg.SetAcctClass(
54472 p_accounting_class_code => 'ROUNDING'
54473 , p_ae_header_id => l_ae_header_id
54474 );
54475
54476 --
54477 -- set rounding class
54478 --
54479 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
54480 'ROUNDING';
54481
54482 --
54483 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
54484 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
54485 --
54486 -- bulk performance
54487 --
54488 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
54489
54490 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
54491 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
54492
54493 -- 4955764
54494 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54495 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
54496
54497 -- 4458381 Public Sector Enh
54498
54499 --
54500 -- set accounting attributes for the line type
54501 --
54502 l_entered_amt_idx := 25;
54503 l_accted_amt_idx := 30;
54504 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54505 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
54506 l_rec_acct_attrs.array_char_value(1) := p_source_52;
54507 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
54508 l_rec_acct_attrs.array_num_value(2) :=
54509 xla_ae_sources_pkg.GetSystemSourceNum(
54510 p_source_code => 'XLA_EVENT_APPL_ID'
54511 , p_source_type_code => 'Y'
54512 , p_source_application_id => 602
54513 );
54514 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
54515 l_rec_acct_attrs.array_char_value(3) := p_source_54;
54516 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
54517 l_rec_acct_attrs.array_char_value(4) :=
54518 xla_ae_sources_pkg.GetSystemSourceChar(
54519 p_source_code => 'XLA_ENTITY_CODE'
54520 , p_source_type_code => 'Y'
54521 , p_source_application_id => 602
54522 );
54523 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
54524 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
54525 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
54526 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
54527 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
54528 l_rec_acct_attrs.array_num_value(7) := p_source_90;
54529 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
54530 l_rec_acct_attrs.array_char_value(8) := p_source_139;
54531 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
54532 l_rec_acct_attrs.array_char_value(9) := p_source_140;
54533 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
54534 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
54535 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
54536 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
54537 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
54538 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
54539 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
54540 l_rec_acct_attrs.array_char_value(13) := p_source_54;
54541 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
54542 l_rec_acct_attrs.array_char_value(14) := p_source_130;
54543 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
54544 l_rec_acct_attrs.array_num_value(15) := p_source_64;
54545 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
54546 l_rec_acct_attrs.array_num_value(16) := p_source_65;
54547 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
54548 l_rec_acct_attrs.array_char_value(17) := p_source_66;
54552 l_rec_acct_attrs.array_char_value(19) := p_source_131;
54549 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
54550 l_rec_acct_attrs.array_num_value(18) := p_source_67;
54551 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
54553 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
54554 l_rec_acct_attrs.array_num_value(20) := p_source_68;
54555 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
54556 l_rec_acct_attrs.array_num_value(21) := p_source_69;
54557 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
54558 l_rec_acct_attrs.array_char_value(22) := p_source_66;
54559 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
54560 l_rec_acct_attrs.array_num_value(23) := p_source_70;
54561 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
54562 l_rec_acct_attrs.array_char_value(24) := p_source_71;
54563 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
54564 l_rec_acct_attrs.array_num_value(25) := p_source_132;
54565 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
54566 l_rec_acct_attrs.array_char_value(26) := p_source_66;
54567 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
54568 l_rec_acct_attrs.array_date_value(27) := p_source_136;
54569 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
54570 l_rec_acct_attrs.array_num_value(28) := p_source_137;
54571 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
54572 l_rec_acct_attrs.array_char_value(29) := p_source_138;
54573 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
54574 l_rec_acct_attrs.array_num_value(30) := p_source_144;
54575 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
54576 l_rec_acct_attrs.array_date_value(31) := p_source_76;
54577 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
54578 l_rec_acct_attrs.array_char_value(32) := p_source_77;
54579 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
54580 l_rec_acct_attrs.array_date_value(33) := p_source_78;
54581 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
54582 l_rec_acct_attrs.array_char_value(34) := p_source_79;
54583 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
54584 l_rec_acct_attrs.array_num_value(35) := p_source_80;
54585 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
54586 l_rec_acct_attrs.array_num_value(36) := p_source_81;
54587 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
54588 l_rec_acct_attrs.array_char_value(37) := p_source_82;
54589 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
54590 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
54591 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
54592 l_rec_acct_attrs.array_char_value(39) := p_source_54;
54593 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
54594 l_rec_acct_attrs.array_num_value(40) := p_source_85;
54595 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
54596 l_rec_acct_attrs.array_num_value(41) := p_source_86;
54597 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
54598 l_rec_acct_attrs.array_num_value(42) := p_source_87;
54599 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
54600 l_rec_acct_attrs.array_num_value(43) := p_source_88;
54601 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
54602 l_rec_acct_attrs.array_num_value(44) := p_source_89;
54603
54604 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
54605 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
54606
54607 ---------------------------------------------------------------------------------------------------------------
54608 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
54609 ---------------------------------------------------------------------------------------------------------------
54610 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
54611
54612 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54613 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54614
54615 IF xla_accounting_cache_pkg.GetValueChar
54616 (p_source_code => 'LEDGER_CATEGORY_CODE'
54617 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
54618 AND l_bflow_method_code = 'PRIOR_ENTRY'
54619 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
54620 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
54621 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
54622 )
54623 THEN
54624 xla_ae_lines_pkg.BflowUpgEntry
54625 (p_business_method_code => l_bflow_method_code
54626 ,p_business_class_code => l_bflow_class_code
54627 ,p_balance_type => l_balance_type_code);
54628 ELSE
54629 NULL;
54630 -- No business flow processing for business flow method of NONE.
54631 END IF;
54632
54633 --
54634 -- call analytical criteria
54635 --
54636
54637
54638 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
54639 xla_ae_lines_pkg.SetAnalyticalCriteria(
54640 p_analytical_criterion_name => 'Project Number'
54641 , p_analytical_criterion_owner => 'S'
54645
54642 , p_analytical_criterion_code => 'PROJECT_NUMBER'
54643 , p_amb_context_code => 'DEFAULT'
54644 , p_balancing_flag => 'N'
54646 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
54647 p_source_146))
54648 , p_analytical_detail_num_1 => NULL
54649 , p_analytical_detail_date_1 => NULL
54650
54651 , p_ae_header_id => l_ae_header_id
54652 )
54653 ;
54654 --
54655
54656 --
54657 -- call description
54658 --
54659 -- No description or it is inherited.
54660 --
54661 -- call ADRs
54662 -- Bug 4922099
54663 --
54664 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54665 (NVL(l_actual_upg_option, 'N') = 'O') OR
54666 (NVL(l_enc_upg_option, 'N') = 'O')
54667 )
54668 THEN
54669 NULL;
54670 --
54671 --
54672
54673 l_ccid := AcctDerRule_40(
54674 p_application_id => p_application_id
54675 , p_ae_header_id => l_ae_header_id
54676 , p_source_15 => p_source_15
54677 , p_source_15_meaning => p_source_15_meaning
54678 , p_source_30 => p_source_30
54679 , p_source_48 => p_source_48
54680 , x_transaction_coa_id => l_adr_transaction_coa_id
54681 , x_accounting_coa_id => l_adr_accounting_coa_id
54682 , x_value_type_code => l_adr_value_type_code
54683 , p_side => 'NA'
54684 );
54685
54686 xla_ae_lines_pkg.set_ccid(
54687 p_code_combination_id => l_ccid
54688 , p_value_type_code => l_adr_value_type_code
54689 , p_transaction_coa_id => l_adr_transaction_coa_id
54690 , p_accounting_coa_id => l_adr_accounting_coa_id
54691 , p_adr_code => 'AP_ROUNDING'
54692 , p_adr_type_code => 'S'
54693 , p_component_type => l_component_type
54694 , p_component_code => l_component_code
54695 , p_component_type_code => l_component_type_code
54696 , p_component_appl_id => l_component_appl_id
54697 , p_amb_context_code => l_amb_context_code
54698 , p_side => 'NA'
54699 );
54700
54701
54702 --
54703 --
54704 END IF;
54705 --
54706 -- Bug 4922099
54707 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54708 (NVL(l_enc_upg_option, 'N') = 'O')
54709 ) AND
54710 (l_bflow_method_code = 'PRIOR_ENTRY')
54711 )
54712 THEN
54713 IF
54714 --
54715 1 = 2
54716 --
54717 THEN
54718 xla_accounting_err_pkg.build_message
54719 (p_appli_s_name => 'XLA'
54720 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54721 ,p_token_1 => 'LINE_NUMBER'
54722 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54723 ,p_token_2 => 'LINE_TYPE_NAME'
54724 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54725 l_component_type
54726 ,l_component_code
54727 ,l_component_type_code
54728 ,l_component_appl_id
54729 ,l_amb_context_code
54730 ,l_entity_code
54731 ,l_event_class_code
54732 )
54733 ,p_token_3 => 'OWNER'
54734 ,p_value_3 => xla_lookups_pkg.get_meaning(
54735 p_lookup_type => 'XLA_OWNER_TYPE'
54736 ,p_lookup_code => l_component_type_code
54737 )
54738 ,p_token_4 => 'PRODUCT_NAME'
54739 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54740 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54741 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54742 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54743 ,p_ae_header_id => NULL
54744 );
54745
54746 IF (C_LEVEL_ERROR>= g_log_level) THEN
54747 trace
54748 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54749 ,p_level => C_LEVEL_ERROR
54750 ,p_module => l_log_module);
54751 END IF;
54752 END IF;
54753 END IF;
54757 -- 4219869 Business Flow
54754 --
54755 --
54756 ------------------------------------------------------------------------------------------------
54758 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54759 -- Prior Entry. Currently, the following code is always generated.
54760 ------------------------------------------------------------------------------------------------
54761 XLA_AE_LINES_PKG.ValidateCurrentLine;
54762
54763 ------------------------------------------------------------------------------------
54764 -- 4219869 Business Flow
54765 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54766 ------------------------------------------------------------------------------------
54767 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54768
54769 ----------------------------------------------------------------------------------
54770 -- 4219869 Business Flow
54771 -- Update journal entry status -- Need to generate this within IF <condition>
54772 ----------------------------------------------------------------------------------
54773 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54774 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54775 ,p_balance_type_code => l_balance_type_code
54776 );
54777
54778 -------------------------------------------------------------------------------------------
54779 -- 4262811 - Generate the Accrual Reversal lines
54780 -------------------------------------------------------------------------------------------
54781 BEGIN
54782 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54783 (g_array_event(p_event_id).array_value_num('header_index'));
54784 IF l_acc_rev_flag IS NULL THEN
54785 l_acc_rev_flag := 'N';
54786 END IF;
54787 EXCEPTION
54788 WHEN OTHERS THEN
54789 l_acc_rev_flag := 'N';
54790 END;
54791 --
54792 IF (l_acc_rev_flag = 'Y') THEN
54793
54794 -- 4645092 ------------------------------------------------------------------------------
54795 -- To allow MPA report to determine if it should generate report process
54796 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54797 ------------------------------------------------------------------------------------------
54798
54799 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54800 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54801 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54802 -- call ADRs
54803 -- Bug 4922099
54804 --
54805 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54806 (NVL(l_actual_upg_option, 'N') = 'O') OR
54807 (NVL(l_enc_upg_option, 'N') = 'O')
54808 )
54809 THEN
54810 NULL;
54811 --
54812 --
54813
54814 l_ccid := AcctDerRule_40(
54815 p_application_id => p_application_id
54816 , p_ae_header_id => l_ae_header_id
54817 , p_source_15 => p_source_15
54818 , p_source_15_meaning => p_source_15_meaning
54819 , p_source_30 => p_source_30
54820 , p_source_48 => p_source_48
54821 , x_transaction_coa_id => l_adr_transaction_coa_id
54822 , x_accounting_coa_id => l_adr_accounting_coa_id
54823 , x_value_type_code => l_adr_value_type_code
54824 , p_side => 'NA'
54825 );
54826
54827 xla_ae_lines_pkg.set_ccid(
54828 p_code_combination_id => l_ccid
54829 , p_value_type_code => l_adr_value_type_code
54830 , p_transaction_coa_id => l_adr_transaction_coa_id
54831 , p_accounting_coa_id => l_adr_accounting_coa_id
54832 , p_adr_code => 'AP_ROUNDING'
54833 , p_adr_type_code => 'S'
54834 , p_component_type => l_component_type
54835 , p_component_code => l_component_code
54836 , p_component_type_code => l_component_type_code
54837 , p_component_appl_id => l_component_appl_id
54838 , p_amb_context_code => l_amb_context_code
54839 , p_side => 'NA'
54840 );
54841
54842
54843 --
54844 --
54845 END IF;
54846
54847 --
54848 -- Update the line information that should be overwritten
54849 --
54850 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54851 p_header_num => 1);
54852 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54853
54854 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54855
54856 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54857 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54858 END IF;
54859
54860 --
54861 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54862 --
54863 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54864 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54865 ELSE
54869 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54866 ---------------------------------------------------------------------------------------------------
54867 -- 4262811a Switch Sign
54868 ---------------------------------------------------------------------------------------------------
54870 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54871 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54872 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54873 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54874 -- 5132302
54875 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54876 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54877
54878 END IF;
54879
54880 -- 4955764
54881 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54882 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54883
54884
54885 XLA_AE_LINES_PKG.ValidateCurrentLine;
54886 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54887
54888 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54889 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54890 ,p_balance_type_code => l_balance_type_code);
54891
54892 END IF;
54893
54894 -----------------------------------------------------------------------------------------
54895 -- 4262811 Multiperiod Accounting
54896 -----------------------------------------------------------------------------------------
54897 -- No MPA option is assigned.
54898
54899
54900 END IF;
54901 END IF;
54902 --
54903
54904 --
54905 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54906 trace
54907 (p_msg => 'END of AcctLineType_109'
54908 ,p_level => C_LEVEL_PROCEDURE
54909 ,p_module => l_log_module);
54910 END IF;
54911 --
54912 EXCEPTION
54913 WHEN xla_exceptions_pkg.application_exception THEN
54914 RAISE;
54915 WHEN OTHERS THEN
54916 xla_exceptions_pkg.raise_message
54917 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_109');
54918 END AcctLineType_109;
54919 --
54920
54921 ---------------------------------------
54922 --
54923 -- PRIVATE FUNCTION
54924 -- AcctLineType_110
54925 --
54926 ---------------------------------------
54927 PROCEDURE AcctLineType_110 (
54928 p_application_id IN NUMBER
54929 ,p_event_id IN NUMBER
54930 ,p_calculate_acctd_flag IN VARCHAR2
54931 ,p_calculate_g_l_flag IN VARCHAR2
54932 ,p_actual_flag IN OUT VARCHAR2
54933 ,p_balance_type_code OUT VARCHAR2
54934 ,p_gain_or_loss_ref OUT VARCHAR2
54935
54936 --Automatic Offsets Value
54937 , p_source_15 IN VARCHAR2
54938 , p_source_15_meaning IN VARCHAR2
54939 --Invoice Distribution Account
54940 , p_source_30 IN NUMBER
54941 --Payables Options Rounding Account
54942 , p_source_48 IN NUMBER
54943 --Accounting Reversal Indicator
54944 , p_source_52 IN VARCHAR2
54945 --Distribution Link Type
54946 , p_source_54 IN VARCHAR2
54947 --Invoice Currency Code
54948 , p_source_66 IN VARCHAR2
54949 --Override Accounted Amount Indicator
54950 , p_source_79 IN VARCHAR2
54951 , p_source_79_meaning IN VARCHAR2
54952 --Third Party Type
54953 , p_source_82 IN VARCHAR2
54954 --Invoice Distribution Tax Line Identifier
54955 , p_source_85 IN NUMBER
54956 --Invoice Distribution Summary Tax Line Identifier
54957 , p_source_87 IN NUMBER
54958 --Business Flow Accounts Payable Application Identifier
54959 , p_source_90 IN NUMBER
54960 --When to Account for Payment Option
54961 , p_source_96 IN VARCHAR2
54962 --Payment Distribution Type
54963 , p_source_97 IN VARCHAR2
54964 , p_source_97_meaning IN VARCHAR2
54965 --Payment Distribution Amount
54966 , p_source_98 IN NUMBER
54967 --Business Flow Payment Distribution Type
54968 , p_source_99 IN VARCHAR2
54969 --Business Flow Payment Entity Code
54970 , p_source_100 IN VARCHAR2
54971 --Business Flow Payment Distribution Identifier
54972 , p_source_101 IN NUMBER
54973 --Business Flow Payment Identifier
54974 , p_source_102 IN NUMBER
54975 --Payment Distribution Identifier
54976 , p_source_103 IN NUMBER
54977 --Payment Supplier Identifier
54978 , p_source_109 IN NUMBER
54979 --Payment Supplier Site Identifier
54980 , p_source_110 IN NUMBER
54981 --Payment Distribution Reversed Identifier
54982 , p_source_111 IN NUMBER
54983 --Payment Identifier
54984 , p_source_112 IN NUMBER
54985 --Payment Distribution (Invoice Rate) Ledger Amount
54986 , p_source_116 IN NUMBER
54987 --Invoice Exchange Date
54988 , p_source_136 IN DATE
54989 --Invoice Exchange Rate
54990 , p_source_137 IN NUMBER
54991 --Invoice Exchange Rate Type
54992 , p_source_138 IN VARCHAR2
54993 )
54994 IS
54995
54999 l_component_appl_id INTEGER;
54996 l_component_type VARCHAR2(80);
54997 l_component_code VARCHAR2(30);
54998 l_component_type_code VARCHAR2(1);
55000 l_amb_context_code VARCHAR2(30);
55001 l_entity_code VARCHAR2(30);
55002 l_event_class_code VARCHAR2(30);
55003 l_ae_header_id NUMBER;
55004 l_event_type_code VARCHAR2(30);
55005 l_line_definition_code VARCHAR2(30);
55006 l_line_definition_owner_code VARCHAR2(1);
55007 --
55008 -- adr variables
55009 l_segment VARCHAR2(30);
55010 l_ccid NUMBER;
55011 l_adr_transaction_coa_id NUMBER;
55012 l_adr_accounting_coa_id NUMBER;
55013 l_adr_flexfield_segment_code VARCHAR2(30);
55014 l_adr_flex_value_set_id NUMBER;
55015 l_adr_value_type_code VARCHAR2(30);
55016 l_adr_value_combination_id NUMBER;
55017 l_adr_value_segment_code VARCHAR2(30);
55018
55019 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55020 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55021 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55022 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55023
55024 -- 4262811 Variables ------------------------------------------------------------------------------------------
55025 l_entered_amt_idx NUMBER;
55026 l_accted_amt_idx NUMBER;
55027 l_acc_rev_flag VARCHAR2(1);
55028 l_accrual_line_num NUMBER;
55029 l_tmp_amt NUMBER;
55030 l_acc_rev_natural_side_code VARCHAR2(1);
55031
55032 l_num_entries NUMBER;
55033 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55034 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55035 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55036 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55037 l_recog_line_1 NUMBER;
55038 l_recog_line_2 NUMBER;
55039
55040 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55041 l_bflow_applied_to_amt NUMBER; -- 5132302
55042 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55043
55044 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55045
55046 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55047 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55048
55049 ---------------------------------------------------------------------------------------------------------------
55050
55051
55052 --
55053 -- bulk performance
55054 --
55055 l_balance_type_code VARCHAR2(1);
55056 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55057 l_log_module VARCHAR2(240);
55058
55059 --
55060 -- Upgrade strategy
55061 --
55062 l_actual_upg_option VARCHAR2(1);
55063 l_enc_upg_option VARCHAR2(1);
55064
55065 --
55066 BEGIN
55067 --
55068 IF g_log_enabled THEN
55069 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_110';
55070 END IF;
55071 --
55072 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55073
55074 trace
55075 (p_msg => 'BEGIN of AcctLineType_110'
55076 ,p_level => C_LEVEL_PROCEDURE
55077 ,p_module => l_log_module);
55078
55079 END IF;
55080 --
55081 l_component_type := 'AMB_JLT';
55082 l_component_code := 'AP_FINAL_PMT_ROUNDING_CLEAR';
55083 l_component_type_code := 'S';
55084 l_component_appl_id := 200;
55085 l_amb_context_code := 'DEFAULT';
55086 l_entity_code := 'AP_PAYMENTS';
55087 l_event_class_code := 'RECONCILED PAYMENTS';
55088 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
55089 l_line_definition_owner_code := 'S';
55090 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
55091 --
55092 l_balance_type_code := 'A';
55093 l_segment := NULL;
55094 l_ccid := NULL;
55095 l_adr_transaction_coa_id := NULL;
55096 l_adr_accounting_coa_id := NULL;
55097 l_adr_flexfield_segment_code := NULL;
55098 l_adr_flex_value_set_id := NULL;
55099 l_adr_value_type_code := NULL;
55100 l_adr_value_combination_id := NULL;
55101 l_adr_value_segment_code := NULL;
55102
55103 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55104 l_bflow_class_code := ''; -- 4219869 Business Flow
55105 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55106 l_budgetary_control_flag := 'N';
55107
55108 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55109 l_bflow_applied_to_amt := NULL; -- 5132302
55110 l_entered_amt_idx := NULL; -- 4262811
55111 l_accted_amt_idx := NULL; -- 4262811
55112 l_acc_rev_flag := NULL; -- 4262811
55113 l_accrual_line_num := NULL; -- 4262811
55114 l_tmp_amt := NULL; -- 4262811
55115 --
55116
55117 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55118 l_balance_type_code <> 'B' THEN
55119 IF NVL(p_source_96,'
55123 THEN
55120 ') = 'CLEAR_CLEAR' AND
55121 NVL(p_source_97,'
55122 ') = 'FINAL PAYMENT ROUNDING'
55124
55125 --
55126 XLA_AE_LINES_PKG.SetNewLine;
55127
55128 p_balance_type_code := l_balance_type_code;
55129 -- set the flag so later we will know whether the gain loss line needs to be created
55130
55131 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55132 p_actual_flag :='A';
55133 END IF;
55134
55135 --
55136 -- bulk performance
55137 --
55138 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55139 p_header_num => 0); -- 4262811
55140 --
55141 -- set accounting line options
55142 --
55143 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55144 p_natural_side_code => 'D'
55145 , p_gain_or_loss_flag => 'N'
55146 , p_gl_transfer_mode_code => 'S'
55147 , p_acct_entry_type_code => 'A'
55148 , p_switch_side_flag => 'Y'
55149 , p_merge_duplicate_code => 'A'
55150 );
55151 --
55152 l_acc_rev_natural_side_code := 'C'; -- 4262811
55153 --
55154 --
55155 -- set accounting line type info
55156 --
55157 xla_ae_lines_pkg.SetAcctLineType
55158 (p_component_type => l_component_type
55159 ,p_event_type_code => l_event_type_code
55160 ,p_line_definition_owner_code => l_line_definition_owner_code
55161 ,p_line_definition_code => l_line_definition_code
55162 ,p_accounting_line_code => l_component_code
55163 ,p_accounting_line_type_code => l_component_type_code
55164 ,p_accounting_line_appl_id => l_component_appl_id
55165 ,p_amb_context_code => l_amb_context_code
55166 ,p_entity_code => l_entity_code
55167 ,p_event_class_code => l_event_class_code);
55168 --
55169 -- set accounting class
55170 --
55171 xla_ae_lines_pkg.SetAcctClass(
55172 p_accounting_class_code => 'ROUNDING'
55173 , p_ae_header_id => l_ae_header_id
55174 );
55175
55176 --
55177 -- set rounding class
55178 --
55179 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55180 'ROUNDING';
55181
55182 --
55183 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55184 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55185 --
55186 -- bulk performance
55187 --
55188 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55189
55190 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55191 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55192
55193 -- 4955764
55194 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55195 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55196
55197 -- 4458381 Public Sector Enh
55198
55199 --
55200 -- set accounting attributes for the line type
55201 --
55202 l_entered_amt_idx := 10;
55203 l_accted_amt_idx := 15;
55204 l_bflow_applied_to_amt_idx := 2; -- 5132302
55205 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55206 l_rec_acct_attrs.array_char_value(1) := p_source_52;
55207 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
55208 l_rec_acct_attrs.array_num_value(2) := p_source_98;
55209 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
55210 l_rec_acct_attrs.array_num_value(3) := p_source_90;
55211 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55212 l_rec_acct_attrs.array_char_value(4) := p_source_99;
55213 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
55214 l_rec_acct_attrs.array_char_value(5) := p_source_100;
55215 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
55216 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
55217 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55218 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
55219 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
55220 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
55221 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
55222 l_rec_acct_attrs.array_char_value(9) := p_source_54;
55223 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
55224 l_rec_acct_attrs.array_num_value(10) := p_source_98;
55225 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
55226 l_rec_acct_attrs.array_char_value(11) := p_source_66;
55227 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
55228 l_rec_acct_attrs.array_date_value(12) := p_source_136;
55229 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
55230 l_rec_acct_attrs.array_num_value(13) := p_source_137;
55231 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
55232 l_rec_acct_attrs.array_char_value(14) := p_source_138;
55233 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
55234 l_rec_acct_attrs.array_num_value(15) := p_source_116;
55235 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
55239 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
55236 l_rec_acct_attrs.array_char_value(16) := p_source_79;
55237 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
55238 l_rec_acct_attrs.array_num_value(17) := p_source_109;
55240 l_rec_acct_attrs.array_num_value(18) := p_source_110;
55241 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
55242 l_rec_acct_attrs.array_char_value(19) := p_source_82;
55243 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
55244 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
55245 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
55246 l_rec_acct_attrs.array_char_value(21) := p_source_54;
55247 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
55248 l_rec_acct_attrs.array_num_value(22) := p_source_85;
55249 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
55250 l_rec_acct_attrs.array_num_value(23) := p_source_85;
55251 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
55252 l_rec_acct_attrs.array_num_value(24) := p_source_87;
55253
55254 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55255 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55256
55257 ---------------------------------------------------------------------------------------------------------------
55258 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55259 ---------------------------------------------------------------------------------------------------------------
55260 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55261
55262 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55263 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55264
55265 IF xla_accounting_cache_pkg.GetValueChar
55266 (p_source_code => 'LEDGER_CATEGORY_CODE'
55267 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55268 AND l_bflow_method_code = 'PRIOR_ENTRY'
55269 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55270 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55271 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55272 )
55273 THEN
55274 xla_ae_lines_pkg.BflowUpgEntry
55275 (p_business_method_code => l_bflow_method_code
55276 ,p_business_class_code => l_bflow_class_code
55277 ,p_balance_type => l_balance_type_code);
55278 ELSE
55279 NULL;
55280 -- No business flow processing for business flow method of NONE.
55281 END IF;
55282
55283 --
55284 -- call analytical criteria
55285 --
55286
55287
55288 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
55289 xla_ae_lines_pkg.SetAnalyticalCriteria(
55290 p_analytical_criterion_name => 'Check Id'
55291 , p_analytical_criterion_owner => 'S'
55292 , p_analytical_criterion_code => 'CHECK_ID'
55293 , p_amb_context_code => 'DEFAULT'
55294 , p_balancing_flag => 'N'
55295
55296 , p_analytical_detail_char_1 => NULL
55297 , p_analytical_detail_num_1 => p_source_112
55298 , p_analytical_detail_date_1 => NULL
55299
55300 , p_ae_header_id => l_ae_header_id
55301 )
55302 ;
55303 --
55304
55305 --
55306 -- call description
55307 --
55308 -- No description or it is inherited.
55309 --
55310 -- call ADRs
55311 -- Bug 4922099
55312 --
55313 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55314 (NVL(l_actual_upg_option, 'N') = 'O') OR
55315 (NVL(l_enc_upg_option, 'N') = 'O')
55316 )
55317 THEN
55318 NULL;
55319 --
55320 --
55321
55322 l_ccid := AcctDerRule_40(
55323 p_application_id => p_application_id
55324 , p_ae_header_id => l_ae_header_id
55325 , p_source_15 => p_source_15
55326 , p_source_15_meaning => p_source_15_meaning
55327 , p_source_30 => p_source_30
55328 , p_source_48 => p_source_48
55329 , x_transaction_coa_id => l_adr_transaction_coa_id
55330 , x_accounting_coa_id => l_adr_accounting_coa_id
55331 , x_value_type_code => l_adr_value_type_code
55332 , p_side => 'NA'
55333 );
55334
55335 xla_ae_lines_pkg.set_ccid(
55336 p_code_combination_id => l_ccid
55337 , p_value_type_code => l_adr_value_type_code
55338 , p_transaction_coa_id => l_adr_transaction_coa_id
55339 , p_accounting_coa_id => l_adr_accounting_coa_id
55340 , p_adr_code => 'AP_ROUNDING'
55341 , p_adr_type_code => 'S'
55342 , p_component_type => l_component_type
55343 , p_component_code => l_component_code
55344 , p_component_type_code => l_component_type_code
55345 , p_component_appl_id => l_component_appl_id
55346 , p_amb_context_code => l_amb_context_code
55347 , p_side => 'NA'
55348 );
55349
55350
55351 --
55352 --
55356 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55353 END IF;
55354 --
55355 -- Bug 4922099
55357 (NVL(l_enc_upg_option, 'N') = 'O')
55358 ) AND
55359 (l_bflow_method_code = 'PRIOR_ENTRY')
55360 )
55361 THEN
55362 IF
55363 --
55364 1 = 2
55365 --
55366 THEN
55367 xla_accounting_err_pkg.build_message
55368 (p_appli_s_name => 'XLA'
55369 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55370 ,p_token_1 => 'LINE_NUMBER'
55371 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55372 ,p_token_2 => 'LINE_TYPE_NAME'
55373 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55374 l_component_type
55375 ,l_component_code
55376 ,l_component_type_code
55377 ,l_component_appl_id
55378 ,l_amb_context_code
55379 ,l_entity_code
55380 ,l_event_class_code
55381 )
55382 ,p_token_3 => 'OWNER'
55383 ,p_value_3 => xla_lookups_pkg.get_meaning(
55384 p_lookup_type => 'XLA_OWNER_TYPE'
55385 ,p_lookup_code => l_component_type_code
55386 )
55387 ,p_token_4 => 'PRODUCT_NAME'
55388 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55389 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55390 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55391 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55392 ,p_ae_header_id => NULL
55393 );
55394
55395 IF (C_LEVEL_ERROR>= g_log_level) THEN
55396 trace
55397 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55398 ,p_level => C_LEVEL_ERROR
55399 ,p_module => l_log_module);
55400 END IF;
55401 END IF;
55402 END IF;
55403 --
55404 --
55405 ------------------------------------------------------------------------------------------------
55406 -- 4219869 Business Flow
55407 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55408 -- Prior Entry. Currently, the following code is always generated.
55409 ------------------------------------------------------------------------------------------------
55410 XLA_AE_LINES_PKG.ValidateCurrentLine;
55411
55412 ------------------------------------------------------------------------------------
55413 -- 4219869 Business Flow
55414 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55415 ------------------------------------------------------------------------------------
55416 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55417
55418 ----------------------------------------------------------------------------------
55419 -- 4219869 Business Flow
55420 -- Update journal entry status -- Need to generate this within IF <condition>
55421 ----------------------------------------------------------------------------------
55422 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55423 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55424 ,p_balance_type_code => l_balance_type_code
55425 );
55426
55427 -------------------------------------------------------------------------------------------
55428 -- 4262811 - Generate the Accrual Reversal lines
55429 -------------------------------------------------------------------------------------------
55430 BEGIN
55431 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55432 (g_array_event(p_event_id).array_value_num('header_index'));
55433 IF l_acc_rev_flag IS NULL THEN
55434 l_acc_rev_flag := 'N';
55435 END IF;
55436 EXCEPTION
55437 WHEN OTHERS THEN
55438 l_acc_rev_flag := 'N';
55439 END;
55440 --
55441 IF (l_acc_rev_flag = 'Y') THEN
55442
55443 -- 4645092 ------------------------------------------------------------------------------
55444 -- To allow MPA report to determine if it should generate report process
55445 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55446 ------------------------------------------------------------------------------------------
55447
55451 -- call ADRs
55448 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55449 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55450 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
55452 -- Bug 4922099
55453 --
55454 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55455 (NVL(l_actual_upg_option, 'N') = 'O') OR
55456 (NVL(l_enc_upg_option, 'N') = 'O')
55457 )
55458 THEN
55459 NULL;
55460 --
55461 --
55462
55463 l_ccid := AcctDerRule_40(
55464 p_application_id => p_application_id
55465 , p_ae_header_id => l_ae_header_id
55466 , p_source_15 => p_source_15
55467 , p_source_15_meaning => p_source_15_meaning
55468 , p_source_30 => p_source_30
55469 , p_source_48 => p_source_48
55470 , x_transaction_coa_id => l_adr_transaction_coa_id
55471 , x_accounting_coa_id => l_adr_accounting_coa_id
55472 , x_value_type_code => l_adr_value_type_code
55473 , p_side => 'NA'
55474 );
55475
55476 xla_ae_lines_pkg.set_ccid(
55477 p_code_combination_id => l_ccid
55478 , p_value_type_code => l_adr_value_type_code
55479 , p_transaction_coa_id => l_adr_transaction_coa_id
55480 , p_accounting_coa_id => l_adr_accounting_coa_id
55481 , p_adr_code => 'AP_ROUNDING'
55482 , p_adr_type_code => 'S'
55483 , p_component_type => l_component_type
55484 , p_component_code => l_component_code
55485 , p_component_type_code => l_component_type_code
55486 , p_component_appl_id => l_component_appl_id
55487 , p_amb_context_code => l_amb_context_code
55488 , p_side => 'NA'
55489 );
55490
55491
55492 --
55493 --
55494 END IF;
55495
55496 --
55497 -- Update the line information that should be overwritten
55498 --
55499 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55500 p_header_num => 1);
55501 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55502
55503 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55504
55505 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55506 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55507 END IF;
55508
55509 --
55510 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55511 --
55512 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55513 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55514 ELSE
55515 ---------------------------------------------------------------------------------------------------
55516 -- 4262811a Switch Sign
55517 ---------------------------------------------------------------------------------------------------
55518 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55519 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55520 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55521 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55522 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55523 -- 5132302
55524 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55525 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55526
55527 END IF;
55528
55529 -- 4955764
55530 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55531 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55532
55533
55534 XLA_AE_LINES_PKG.ValidateCurrentLine;
55535 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55536
55537 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55538 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55539 ,p_balance_type_code => l_balance_type_code);
55540
55541 END IF;
55542
55543 -----------------------------------------------------------------------------------------
55544 -- 4262811 Multiperiod Accounting
55545 -----------------------------------------------------------------------------------------
55546 -- No MPA option is assigned.
55547
55548
55549 END IF;
55550 END IF;
55551 --
55552
55553 --
55554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55555 trace
55556 (p_msg => 'END of AcctLineType_110'
55557 ,p_level => C_LEVEL_PROCEDURE
55558 ,p_module => l_log_module);
55559 END IF;
55560 --
55561 EXCEPTION
55562 WHEN xla_exceptions_pkg.application_exception THEN
55563 RAISE;
55564 WHEN OTHERS THEN
55565 xla_exceptions_pkg.raise_message
55569
55566 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_110');
55567 END AcctLineType_110;
55568 --
55570 ---------------------------------------
55571 --
55572 -- PRIVATE FUNCTION
55573 -- AcctLineType_111
55574 --
55575 ---------------------------------------
55576 PROCEDURE AcctLineType_111 (
55577 p_application_id IN NUMBER
55578 ,p_event_id IN NUMBER
55579 ,p_calculate_acctd_flag IN VARCHAR2
55580 ,p_calculate_g_l_flag IN VARCHAR2
55581 ,p_actual_flag IN OUT VARCHAR2
55582 ,p_balance_type_code OUT VARCHAR2
55583 ,p_gain_or_loss_ref OUT VARCHAR2
55584
55585 --Automatic Offsets Value
55586 , p_source_15 IN VARCHAR2
55587 , p_source_15_meaning IN VARCHAR2
55588 --Invoice Distribution Account
55589 , p_source_30 IN NUMBER
55590 --Payables Options Rounding Account
55591 , p_source_48 IN NUMBER
55592 --Accounting Reversal Indicator
55593 , p_source_52 IN VARCHAR2
55594 --Distribution Link Type
55595 , p_source_54 IN VARCHAR2
55596 --Invoice Currency Code
55597 , p_source_66 IN VARCHAR2
55598 --Override Accounted Amount Indicator
55599 , p_source_79 IN VARCHAR2
55600 , p_source_79_meaning IN VARCHAR2
55601 --Third Party Type
55602 , p_source_82 IN VARCHAR2
55603 --Invoice Distribution Tax Line Identifier
55604 , p_source_85 IN NUMBER
55605 --Invoice Distribution Tax Distribution Identifier from Tax
55606 , p_source_86 IN NUMBER
55607 --Invoice Distribution Summary Tax Line Identifier
55608 , p_source_87 IN NUMBER
55609 --Business Flow Accounts Payable Application Identifier
55610 , p_source_90 IN NUMBER
55611 --Business Flow Invoice Distribution Type
55612 , p_source_91 IN VARCHAR2
55613 --Business Flow Invoice Entity Code
55614 , p_source_92 IN VARCHAR2
55615 --Business Flow Invoice Distribution Identifier
55616 , p_source_93 IN NUMBER
55617 --Business Flow Invoice Identifier
55618 , p_source_94 IN NUMBER
55619 --When to Account for Payment Option
55620 , p_source_96 IN VARCHAR2
55621 --Payment Distribution Type
55622 , p_source_97 IN VARCHAR2
55623 , p_source_97_meaning IN VARCHAR2
55624 --Payment Distribution Amount
55625 , p_source_98 IN NUMBER
55626 --Payment Distribution Identifier
55627 , p_source_103 IN NUMBER
55628 --Payment Supplier Identifier
55629 , p_source_109 IN NUMBER
55630 --Payment Supplier Site Identifier
55631 , p_source_110 IN NUMBER
55632 --Payment Distribution Reversed Identifier
55633 , p_source_111 IN NUMBER
55634 --Payment Identifier
55635 , p_source_112 IN NUMBER
55636 --Payment Distribution (Invoice Rate) Ledger Amount
55637 , p_source_116 IN NUMBER
55638 --Payment Type
55639 , p_source_122 IN VARCHAR2
55640 , p_source_122_meaning IN VARCHAR2
55641 --Payment Processing Type
55642 , p_source_123 IN VARCHAR2
55643 --Invoice Distribution Amount of the Payment Distribution
55644 , p_source_124 IN NUMBER
55645 --Invoice Exchange Date
55646 , p_source_136 IN DATE
55647 --Invoice Exchange Rate
55648 , p_source_137 IN NUMBER
55649 --Invoice Exchange Rate Type
55650 , p_source_138 IN VARCHAR2
55651 )
55652 IS
55653
55654 l_component_type VARCHAR2(80);
55655 l_component_code VARCHAR2(30);
55656 l_component_type_code VARCHAR2(1);
55657 l_component_appl_id INTEGER;
55658 l_amb_context_code VARCHAR2(30);
55659 l_entity_code VARCHAR2(30);
55660 l_event_class_code VARCHAR2(30);
55661 l_ae_header_id NUMBER;
55662 l_event_type_code VARCHAR2(30);
55663 l_line_definition_code VARCHAR2(30);
55664 l_line_definition_owner_code VARCHAR2(1);
55665 --
55666 -- adr variables
55667 l_segment VARCHAR2(30);
55668 l_ccid NUMBER;
55669 l_adr_transaction_coa_id NUMBER;
55670 l_adr_accounting_coa_id NUMBER;
55671 l_adr_flexfield_segment_code VARCHAR2(30);
55672 l_adr_flex_value_set_id NUMBER;
55673 l_adr_value_type_code VARCHAR2(30);
55674 l_adr_value_combination_id NUMBER;
55675 l_adr_value_segment_code VARCHAR2(30);
55676
55677 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55678 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55679 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55680 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55681
55682 -- 4262811 Variables ------------------------------------------------------------------------------------------
55683 l_entered_amt_idx NUMBER;
55684 l_accted_amt_idx NUMBER;
55685 l_acc_rev_flag VARCHAR2(1);
55686 l_accrual_line_num NUMBER;
55687 l_tmp_amt NUMBER;
55688 l_acc_rev_natural_side_code VARCHAR2(1);
55689
55690 l_num_entries NUMBER;
55691 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55692 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55693 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55694 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55698 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55695 l_recog_line_1 NUMBER;
55696 l_recog_line_2 NUMBER;
55697
55699 l_bflow_applied_to_amt NUMBER; -- 5132302
55700 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55701
55702 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55703
55704 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55705 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55706
55707 ---------------------------------------------------------------------------------------------------------------
55708
55709
55710 --
55711 -- bulk performance
55712 --
55713 l_balance_type_code VARCHAR2(1);
55714 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55715 l_log_module VARCHAR2(240);
55716
55717 --
55718 -- Upgrade strategy
55719 --
55720 l_actual_upg_option VARCHAR2(1);
55721 l_enc_upg_option VARCHAR2(1);
55722
55723 --
55724 BEGIN
55725 --
55726 IF g_log_enabled THEN
55727 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_111';
55728 END IF;
55729 --
55730 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55731
55732 trace
55733 (p_msg => 'BEGIN of AcctLineType_111'
55734 ,p_level => C_LEVEL_PROCEDURE
55735 ,p_module => l_log_module);
55736
55737 END IF;
55738 --
55739 l_component_type := 'AMB_JLT';
55740 l_component_code := 'AP_FINAL_PMT_ROUNDING_PMT';
55741 l_component_type_code := 'S';
55742 l_component_appl_id := 200;
55743 l_amb_context_code := 'DEFAULT';
55744 l_entity_code := 'AP_PAYMENTS';
55745 l_event_class_code := 'PAYMENTS';
55746 l_event_type_code := 'PAYMENTS_ALL';
55747 l_line_definition_owner_code := 'S';
55748 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
55749 --
55750 l_balance_type_code := 'A';
55751 l_segment := NULL;
55752 l_ccid := NULL;
55753 l_adr_transaction_coa_id := NULL;
55754 l_adr_accounting_coa_id := NULL;
55755 l_adr_flexfield_segment_code := NULL;
55756 l_adr_flex_value_set_id := NULL;
55757 l_adr_value_type_code := NULL;
55758 l_adr_value_combination_id := NULL;
55759 l_adr_value_segment_code := NULL;
55760
55761 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55762 l_bflow_class_code := ''; -- 4219869 Business Flow
55763 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55764 l_budgetary_control_flag := 'N';
55765
55766 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55767 l_bflow_applied_to_amt := NULL; -- 5132302
55768 l_entered_amt_idx := NULL; -- 4262811
55769 l_accted_amt_idx := NULL; -- 4262811
55770 l_acc_rev_flag := NULL; -- 4262811
55771 l_accrual_line_num := NULL; -- 4262811
55772 l_tmp_amt := NULL; -- 4262811
55773 --
55774
55775 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55776 l_balance_type_code <> 'B' THEN
55777 IF NVL(p_source_96,'
55778 ') <> 'CLEAR_CLEAR' AND
55779 NVL(p_source_97,'
55780 ') = 'FINAL PAYMENT ROUNDING' AND
55781 NVL(p_source_122,'
55782 ') <> 'R' AND
55783 NVL(p_source_123,'
55784 ') <> 'PAYMENTCARD'
55785 THEN
55786
55787 --
55788 XLA_AE_LINES_PKG.SetNewLine;
55789
55790 p_balance_type_code := l_balance_type_code;
55791 -- set the flag so later we will know whether the gain loss line needs to be created
55792
55793 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55794 p_actual_flag :='A';
55795 END IF;
55796
55797 --
55798 -- bulk performance
55799 --
55800 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55801 p_header_num => 0); -- 4262811
55802 --
55803 -- set accounting line options
55804 --
55805 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55806 p_natural_side_code => 'D'
55807 , p_gain_or_loss_flag => 'N'
55808 , p_gl_transfer_mode_code => 'S'
55809 , p_acct_entry_type_code => 'A'
55810 , p_switch_side_flag => 'Y'
55811 , p_merge_duplicate_code => 'A'
55812 );
55813 --
55814 l_acc_rev_natural_side_code := 'C'; -- 4262811
55815 --
55816 --
55817 -- set accounting line type info
55818 --
55819 xla_ae_lines_pkg.SetAcctLineType
55820 (p_component_type => l_component_type
55821 ,p_event_type_code => l_event_type_code
55822 ,p_line_definition_owner_code => l_line_definition_owner_code
55823 ,p_line_definition_code => l_line_definition_code
55824 ,p_accounting_line_code => l_component_code
55825 ,p_accounting_line_type_code => l_component_type_code
55826 ,p_accounting_line_appl_id => l_component_appl_id
55827 ,p_amb_context_code => l_amb_context_code
55828 ,p_entity_code => l_entity_code
55829 ,p_event_class_code => l_event_class_code);
55833 xla_ae_lines_pkg.SetAcctClass(
55830 --
55831 -- set accounting class
55832 --
55834 p_accounting_class_code => 'ROUNDING'
55835 , p_ae_header_id => l_ae_header_id
55836 );
55837
55838 --
55839 -- set rounding class
55840 --
55841 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55842 'ROUNDING';
55843
55844 --
55845 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55846 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55847 --
55848 -- bulk performance
55849 --
55850 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55851
55852 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55853 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55854
55855 -- 4955764
55856 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55857 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55858
55859 -- 4458381 Public Sector Enh
55860
55861 --
55862 -- set accounting attributes for the line type
55863 --
55864 l_entered_amt_idx := 10;
55865 l_accted_amt_idx := 15;
55866 l_bflow_applied_to_amt_idx := 2; -- 5132302
55867 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55868 l_rec_acct_attrs.array_char_value(1) := p_source_52;
55869 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
55870 l_rec_acct_attrs.array_num_value(2) := p_source_124;
55871 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
55872 l_rec_acct_attrs.array_num_value(3) := p_source_90;
55873 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55874 l_rec_acct_attrs.array_char_value(4) := p_source_91;
55875 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
55876 l_rec_acct_attrs.array_char_value(5) := p_source_92;
55877 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
55878 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
55879 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55880 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
55881 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
55882 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
55883 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
55884 l_rec_acct_attrs.array_char_value(9) := p_source_54;
55885 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
55886 l_rec_acct_attrs.array_num_value(10) := p_source_98;
55887 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
55888 l_rec_acct_attrs.array_char_value(11) := p_source_66;
55889 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
55890 l_rec_acct_attrs.array_date_value(12) := p_source_136;
55891 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
55892 l_rec_acct_attrs.array_num_value(13) := p_source_137;
55893 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
55894 l_rec_acct_attrs.array_char_value(14) := p_source_138;
55895 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
55896 l_rec_acct_attrs.array_num_value(15) := p_source_116;
55897 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
55898 l_rec_acct_attrs.array_char_value(16) := p_source_79;
55899 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
55900 l_rec_acct_attrs.array_num_value(17) := p_source_109;
55901 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
55902 l_rec_acct_attrs.array_num_value(18) := p_source_110;
55903 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
55904 l_rec_acct_attrs.array_char_value(19) := p_source_82;
55905 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
55906 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
55907 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
55908 l_rec_acct_attrs.array_char_value(21) := p_source_54;
55909 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
55910 l_rec_acct_attrs.array_num_value(22) := p_source_85;
55911 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
55912 l_rec_acct_attrs.array_num_value(23) := p_source_86;
55913 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
55914 l_rec_acct_attrs.array_num_value(24) := p_source_87;
55915
55916 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55917 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55918
55919 ---------------------------------------------------------------------------------------------------------------
55920 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55921 ---------------------------------------------------------------------------------------------------------------
55922 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55923
55924 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55928 (p_source_code => 'LEDGER_CATEGORY_CODE'
55925 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55926
55927 IF xla_accounting_cache_pkg.GetValueChar
55929 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55930 AND l_bflow_method_code = 'PRIOR_ENTRY'
55931 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55932 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55933 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55934 )
55935 THEN
55936 xla_ae_lines_pkg.BflowUpgEntry
55937 (p_business_method_code => l_bflow_method_code
55938 ,p_business_class_code => l_bflow_class_code
55939 ,p_balance_type => l_balance_type_code);
55940 ELSE
55941 NULL;
55942 -- No business flow processing for business flow method of NONE.
55943 END IF;
55944
55945 --
55946 -- call analytical criteria
55947 --
55948
55949
55950 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
55951 xla_ae_lines_pkg.SetAnalyticalCriteria(
55952 p_analytical_criterion_name => 'Check Id'
55953 , p_analytical_criterion_owner => 'S'
55954 , p_analytical_criterion_code => 'CHECK_ID'
55955 , p_amb_context_code => 'DEFAULT'
55956 , p_balancing_flag => 'N'
55957
55958 , p_analytical_detail_char_1 => NULL
55959 , p_analytical_detail_num_1 => p_source_112
55960 , p_analytical_detail_date_1 => NULL
55961
55962 , p_ae_header_id => l_ae_header_id
55963 )
55964 ;
55965 --
55966
55967 --
55968 -- call description
55969 --
55970 -- No description or it is inherited.
55971 --
55972 -- call ADRs
55973 -- Bug 4922099
55974 --
55975 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55976 (NVL(l_actual_upg_option, 'N') = 'O') OR
55977 (NVL(l_enc_upg_option, 'N') = 'O')
55978 )
55979 THEN
55980 NULL;
55981 --
55982 --
55983
55984 l_ccid := AcctDerRule_40(
55985 p_application_id => p_application_id
55986 , p_ae_header_id => l_ae_header_id
55987 , p_source_15 => p_source_15
55988 , p_source_15_meaning => p_source_15_meaning
55989 , p_source_30 => p_source_30
55990 , p_source_48 => p_source_48
55991 , x_transaction_coa_id => l_adr_transaction_coa_id
55992 , x_accounting_coa_id => l_adr_accounting_coa_id
55993 , x_value_type_code => l_adr_value_type_code
55994 , p_side => 'NA'
55995 );
55996
55997 xla_ae_lines_pkg.set_ccid(
55998 p_code_combination_id => l_ccid
55999 , p_value_type_code => l_adr_value_type_code
56000 , p_transaction_coa_id => l_adr_transaction_coa_id
56001 , p_accounting_coa_id => l_adr_accounting_coa_id
56002 , p_adr_code => 'AP_ROUNDING'
56003 , p_adr_type_code => 'S'
56004 , p_component_type => l_component_type
56005 , p_component_code => l_component_code
56006 , p_component_type_code => l_component_type_code
56007 , p_component_appl_id => l_component_appl_id
56008 , p_amb_context_code => l_amb_context_code
56009 , p_side => 'NA'
56010 );
56011
56012
56013 --
56014 --
56015 END IF;
56016 --
56017 -- Bug 4922099
56018 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56019 (NVL(l_enc_upg_option, 'N') = 'O')
56020 ) AND
56021 (l_bflow_method_code = 'PRIOR_ENTRY')
56022 )
56023 THEN
56024 IF
56025 --
56026 1 = 2
56027 --
56028 THEN
56029 xla_accounting_err_pkg.build_message
56030 (p_appli_s_name => 'XLA'
56031 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56032 ,p_token_1 => 'LINE_NUMBER'
56033 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56034 ,p_token_2 => 'LINE_TYPE_NAME'
56035 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56036 l_component_type
56037 ,l_component_code
56038 ,l_component_type_code
56039 ,l_component_appl_id
56040 ,l_amb_context_code
56041 ,l_entity_code
56042 ,l_event_class_code
56043 )
56044 ,p_token_3 => 'OWNER'
56045 ,p_value_3 => xla_lookups_pkg.get_meaning(
56049 ,p_token_4 => 'PRODUCT_NAME'
56046 p_lookup_type => 'XLA_OWNER_TYPE'
56047 ,p_lookup_code => l_component_type_code
56048 )
56050 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56051 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56052 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56053 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56054 ,p_ae_header_id => NULL
56055 );
56056
56057 IF (C_LEVEL_ERROR>= g_log_level) THEN
56058 trace
56059 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56060 ,p_level => C_LEVEL_ERROR
56061 ,p_module => l_log_module);
56062 END IF;
56063 END IF;
56064 END IF;
56065 --
56066 --
56067 ------------------------------------------------------------------------------------------------
56068 -- 4219869 Business Flow
56069 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56070 -- Prior Entry. Currently, the following code is always generated.
56071 ------------------------------------------------------------------------------------------------
56072 XLA_AE_LINES_PKG.ValidateCurrentLine;
56073
56074 ------------------------------------------------------------------------------------
56075 -- 4219869 Business Flow
56076 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56077 ------------------------------------------------------------------------------------
56078 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56079
56080 ----------------------------------------------------------------------------------
56081 -- 4219869 Business Flow
56082 -- Update journal entry status -- Need to generate this within IF <condition>
56083 ----------------------------------------------------------------------------------
56084 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56085 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56086 ,p_balance_type_code => l_balance_type_code
56087 );
56088
56089 -------------------------------------------------------------------------------------------
56090 -- 4262811 - Generate the Accrual Reversal lines
56091 -------------------------------------------------------------------------------------------
56092 BEGIN
56093 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56094 (g_array_event(p_event_id).array_value_num('header_index'));
56095 IF l_acc_rev_flag IS NULL THEN
56096 l_acc_rev_flag := 'N';
56097 END IF;
56098 EXCEPTION
56099 WHEN OTHERS THEN
56100 l_acc_rev_flag := 'N';
56101 END;
56102 --
56103 IF (l_acc_rev_flag = 'Y') THEN
56104
56105 -- 4645092 ------------------------------------------------------------------------------
56106 -- To allow MPA report to determine if it should generate report process
56107 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56108 ------------------------------------------------------------------------------------------
56109
56110 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56111 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56112 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56113 -- call ADRs
56114 -- Bug 4922099
56115 --
56116 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56117 (NVL(l_actual_upg_option, 'N') = 'O') OR
56118 (NVL(l_enc_upg_option, 'N') = 'O')
56119 )
56120 THEN
56121 NULL;
56122 --
56123 --
56124
56125 l_ccid := AcctDerRule_40(
56126 p_application_id => p_application_id
56127 , p_ae_header_id => l_ae_header_id
56128 , p_source_15 => p_source_15
56129 , p_source_15_meaning => p_source_15_meaning
56130 , p_source_30 => p_source_30
56131 , p_source_48 => p_source_48
56132 , x_transaction_coa_id => l_adr_transaction_coa_id
56133 , x_accounting_coa_id => l_adr_accounting_coa_id
56134 , x_value_type_code => l_adr_value_type_code
56135 , p_side => 'NA'
56136 );
56137
56138 xla_ae_lines_pkg.set_ccid(
56139 p_code_combination_id => l_ccid
56140 , p_value_type_code => l_adr_value_type_code
56141 , p_transaction_coa_id => l_adr_transaction_coa_id
56142 , p_accounting_coa_id => l_adr_accounting_coa_id
56143 , p_adr_code => 'AP_ROUNDING'
56144 , p_adr_type_code => 'S'
56145 , p_component_type => l_component_type
56146 , p_component_code => l_component_code
56147 , p_component_type_code => l_component_type_code
56148 , p_component_appl_id => l_component_appl_id
56152
56149 , p_amb_context_code => l_amb_context_code
56150 , p_side => 'NA'
56151 );
56153
56154 --
56155 --
56156 END IF;
56157
56158 --
56159 -- Update the line information that should be overwritten
56160 --
56161 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56162 p_header_num => 1);
56163 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56164
56165 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56166
56167 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56168 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56169 END IF;
56170
56171 --
56172 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56173 --
56174 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56175 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56176 ELSE
56177 ---------------------------------------------------------------------------------------------------
56178 -- 4262811a Switch Sign
56179 ---------------------------------------------------------------------------------------------------
56180 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56181 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56182 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56183 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56184 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56185 -- 5132302
56186 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56187 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56188
56189 END IF;
56190
56191 -- 4955764
56192 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56193 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56194
56195
56196 XLA_AE_LINES_PKG.ValidateCurrentLine;
56197 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56198
56199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56200 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56201 ,p_balance_type_code => l_balance_type_code);
56202
56203 END IF;
56204
56205 -----------------------------------------------------------------------------------------
56206 -- 4262811 Multiperiod Accounting
56207 -----------------------------------------------------------------------------------------
56208 -- No MPA option is assigned.
56209
56210
56211 END IF;
56212 END IF;
56213 --
56214
56215 --
56216 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56217 trace
56218 (p_msg => 'END of AcctLineType_111'
56219 ,p_level => C_LEVEL_PROCEDURE
56220 ,p_module => l_log_module);
56221 END IF;
56222 --
56223 EXCEPTION
56224 WHEN xla_exceptions_pkg.application_exception THEN
56225 RAISE;
56226 WHEN OTHERS THEN
56227 xla_exceptions_pkg.raise_message
56228 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_111');
56229 END AcctLineType_111;
56230 --
56231
56232 ---------------------------------------
56233 --
56234 -- PRIVATE FUNCTION
56235 -- AcctLineType_112
56236 --
56237 ---------------------------------------
56238 PROCEDURE AcctLineType_112 (
56239 p_application_id IN NUMBER
56240 ,p_event_id IN NUMBER
56241 ,p_calculate_acctd_flag IN VARCHAR2
56242 ,p_calculate_g_l_flag IN VARCHAR2
56243 ,p_actual_flag IN OUT VARCHAR2
56244 ,p_balance_type_code OUT VARCHAR2
56245 ,p_gain_or_loss_ref OUT VARCHAR2
56246
56247 --Automatic Offsets Value
56248 , p_source_15 IN VARCHAR2
56249 , p_source_15_meaning IN VARCHAR2
56250 --Invoice Distribution Account
56251 , p_source_30 IN NUMBER
56252 --Payables Options Rounding Account
56253 , p_source_48 IN NUMBER
56254 --Accounting Reversal Indicator
56255 , p_source_52 IN VARCHAR2
56256 --Distribution Link Type
56257 , p_source_54 IN VARCHAR2
56258 --Invoice Currency Code
56259 , p_source_66 IN VARCHAR2
56260 --Override Accounted Amount Indicator
56261 , p_source_79 IN VARCHAR2
56262 , p_source_79_meaning IN VARCHAR2
56263 --Third Party Type
56264 , p_source_82 IN VARCHAR2
56265 --Invoice Distribution Tax Line Identifier
56266 , p_source_85 IN NUMBER
56267 --Invoice Distribution Tax Distribution Identifier from Tax
56268 , p_source_86 IN NUMBER
56269 --Invoice Distribution Summary Tax Line Identifier
56270 , p_source_87 IN NUMBER
56271 --Business Flow Accounts Payable Application Identifier
56272 , p_source_90 IN NUMBER
56273 --Business Flow Invoice Distribution Type
56274 , p_source_91 IN VARCHAR2
56278 , p_source_93 IN NUMBER
56275 --Business Flow Invoice Entity Code
56276 , p_source_92 IN VARCHAR2
56277 --Business Flow Invoice Distribution Identifier
56279 --Business Flow Invoice Identifier
56280 , p_source_94 IN NUMBER
56281 --When to Account for Payment Option
56282 , p_source_96 IN VARCHAR2
56283 --Payment Distribution Type
56284 , p_source_97 IN VARCHAR2
56285 , p_source_97_meaning IN VARCHAR2
56286 --Payment Distribution Amount
56287 , p_source_98 IN NUMBER
56288 --Payment Distribution Identifier
56289 , p_source_103 IN NUMBER
56290 --Payment Supplier Identifier
56291 , p_source_109 IN NUMBER
56292 --Payment Supplier Site Identifier
56293 , p_source_110 IN NUMBER
56294 --Payment Distribution Reversed Identifier
56295 , p_source_111 IN NUMBER
56296 --Payment Identifier
56297 , p_source_112 IN NUMBER
56298 --Payment Distribution (Invoice Rate) Ledger Amount
56299 , p_source_116 IN NUMBER
56300 --Payment Type
56301 , p_source_122 IN VARCHAR2
56302 , p_source_122_meaning IN VARCHAR2
56303 --Invoice Exchange Date
56304 , p_source_136 IN DATE
56305 --Invoice Exchange Rate
56306 , p_source_137 IN NUMBER
56307 --Invoice Exchange Rate Type
56308 , p_source_138 IN VARCHAR2
56309 )
56310 IS
56311
56312 l_component_type VARCHAR2(80);
56313 l_component_code VARCHAR2(30);
56314 l_component_type_code VARCHAR2(1);
56315 l_component_appl_id INTEGER;
56316 l_amb_context_code VARCHAR2(30);
56317 l_entity_code VARCHAR2(30);
56318 l_event_class_code VARCHAR2(30);
56319 l_ae_header_id NUMBER;
56320 l_event_type_code VARCHAR2(30);
56321 l_line_definition_code VARCHAR2(30);
56322 l_line_definition_owner_code VARCHAR2(1);
56323 --
56324 -- adr variables
56325 l_segment VARCHAR2(30);
56326 l_ccid NUMBER;
56327 l_adr_transaction_coa_id NUMBER;
56328 l_adr_accounting_coa_id NUMBER;
56329 l_adr_flexfield_segment_code VARCHAR2(30);
56330 l_adr_flex_value_set_id NUMBER;
56331 l_adr_value_type_code VARCHAR2(30);
56332 l_adr_value_combination_id NUMBER;
56333 l_adr_value_segment_code VARCHAR2(30);
56334
56335 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56336 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56337 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56338 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56339
56340 -- 4262811 Variables ------------------------------------------------------------------------------------------
56341 l_entered_amt_idx NUMBER;
56342 l_accted_amt_idx NUMBER;
56343 l_acc_rev_flag VARCHAR2(1);
56344 l_accrual_line_num NUMBER;
56345 l_tmp_amt NUMBER;
56346 l_acc_rev_natural_side_code VARCHAR2(1);
56347
56348 l_num_entries NUMBER;
56349 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56350 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56351 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56352 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56353 l_recog_line_1 NUMBER;
56354 l_recog_line_2 NUMBER;
56355
56356 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56357 l_bflow_applied_to_amt NUMBER; -- 5132302
56358 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56359
56360 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56361
56362 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56363 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56364
56365 ---------------------------------------------------------------------------------------------------------------
56366
56367
56368 --
56369 -- bulk performance
56370 --
56371 l_balance_type_code VARCHAR2(1);
56372 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56373 l_log_module VARCHAR2(240);
56374
56375 --
56376 -- Upgrade strategy
56377 --
56378 l_actual_upg_option VARCHAR2(1);
56379 l_enc_upg_option VARCHAR2(1);
56380
56381 --
56382 BEGIN
56383 --
56384 IF g_log_enabled THEN
56385 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_112';
56386 END IF;
56387 --
56388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56389
56390 trace
56391 (p_msg => 'BEGIN of AcctLineType_112'
56392 ,p_level => C_LEVEL_PROCEDURE
56393 ,p_module => l_log_module);
56394
56395 END IF;
56396 --
56397 l_component_type := 'AMB_JLT';
56398 l_component_code := 'AP_FINAL_PMT_ROUNDING_REF';
56399 l_component_type_code := 'S';
56400 l_component_appl_id := 200;
56401 l_amb_context_code := 'DEFAULT';
56402 l_entity_code := 'AP_PAYMENTS';
56403 l_event_class_code := 'REFUNDS';
56404 l_event_type_code := 'REFUNDS_ALL';
56408 l_balance_type_code := 'A';
56405 l_line_definition_owner_code := 'S';
56406 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
56407 --
56409 l_segment := NULL;
56410 l_ccid := NULL;
56411 l_adr_transaction_coa_id := NULL;
56412 l_adr_accounting_coa_id := NULL;
56413 l_adr_flexfield_segment_code := NULL;
56414 l_adr_flex_value_set_id := NULL;
56415 l_adr_value_type_code := NULL;
56416 l_adr_value_combination_id := NULL;
56417 l_adr_value_segment_code := NULL;
56418
56419 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
56420 l_bflow_class_code := ''; -- 4219869 Business Flow
56421 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56422 l_budgetary_control_flag := 'N';
56423
56424 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56425 l_bflow_applied_to_amt := NULL; -- 5132302
56426 l_entered_amt_idx := NULL; -- 4262811
56427 l_accted_amt_idx := NULL; -- 4262811
56428 l_acc_rev_flag := NULL; -- 4262811
56429 l_accrual_line_num := NULL; -- 4262811
56430 l_tmp_amt := NULL; -- 4262811
56431 --
56432
56433 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56434 l_balance_type_code <> 'B' THEN
56435 IF NVL(p_source_96,'
56436 ') <> 'CLEAR_CLEAR' AND
56437 NVL(p_source_97,'
56438 ') = 'FINAL PAYMENT ROUNDING' AND
56439 NVL(p_source_122,'
56440 ') = 'R'
56441 THEN
56442
56443 --
56444 XLA_AE_LINES_PKG.SetNewLine;
56445
56446 p_balance_type_code := l_balance_type_code;
56447 -- set the flag so later we will know whether the gain loss line needs to be created
56448
56449 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
56450 p_actual_flag :='A';
56451 END IF;
56452
56453 --
56454 -- bulk performance
56455 --
56456 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56457 p_header_num => 0); -- 4262811
56458 --
56459 -- set accounting line options
56460 --
56461 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56462 p_natural_side_code => 'D'
56463 , p_gain_or_loss_flag => 'N'
56464 , p_gl_transfer_mode_code => 'S'
56465 , p_acct_entry_type_code => 'A'
56466 , p_switch_side_flag => 'Y'
56467 , p_merge_duplicate_code => 'A'
56468 );
56469 --
56470 l_acc_rev_natural_side_code := 'C'; -- 4262811
56471 --
56472 --
56473 -- set accounting line type info
56474 --
56475 xla_ae_lines_pkg.SetAcctLineType
56476 (p_component_type => l_component_type
56477 ,p_event_type_code => l_event_type_code
56478 ,p_line_definition_owner_code => l_line_definition_owner_code
56479 ,p_line_definition_code => l_line_definition_code
56480 ,p_accounting_line_code => l_component_code
56481 ,p_accounting_line_type_code => l_component_type_code
56482 ,p_accounting_line_appl_id => l_component_appl_id
56483 ,p_amb_context_code => l_amb_context_code
56484 ,p_entity_code => l_entity_code
56485 ,p_event_class_code => l_event_class_code);
56486 --
56487 -- set accounting class
56488 --
56489 xla_ae_lines_pkg.SetAcctClass(
56490 p_accounting_class_code => 'ROUNDING'
56491 , p_ae_header_id => l_ae_header_id
56492 );
56493
56494 --
56495 -- set rounding class
56496 --
56497 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56498 'ROUNDING';
56499
56500 --
56501 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56502 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56503 --
56504 -- bulk performance
56505 --
56506 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56507
56508 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56509 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56510
56511 -- 4955764
56512 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56513 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56514
56515 -- 4458381 Public Sector Enh
56516
56517 --
56518 -- set accounting attributes for the line type
56519 --
56520 l_entered_amt_idx := 9;
56521 l_accted_amt_idx := 14;
56522 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56523 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56524 l_rec_acct_attrs.array_char_value(1) := p_source_52;
56525 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
56526 l_rec_acct_attrs.array_num_value(2) := p_source_90;
56527 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56528 l_rec_acct_attrs.array_char_value(3) := p_source_91;
56529 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
56530 l_rec_acct_attrs.array_char_value(4) := p_source_92;
56534 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
56531 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
56532 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
56533 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56535 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
56536 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
56537 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
56538 l_rec_acct_attrs.array_char_value(8) := p_source_54;
56539 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
56540 l_rec_acct_attrs.array_num_value(9) := p_source_98;
56541 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
56542 l_rec_acct_attrs.array_char_value(10) := p_source_66;
56543 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
56544 l_rec_acct_attrs.array_date_value(11) := p_source_136;
56545 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
56546 l_rec_acct_attrs.array_num_value(12) := p_source_137;
56547 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
56548 l_rec_acct_attrs.array_char_value(13) := p_source_138;
56549 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
56550 l_rec_acct_attrs.array_num_value(14) := p_source_116;
56551 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
56552 l_rec_acct_attrs.array_char_value(15) := p_source_79;
56553 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
56554 l_rec_acct_attrs.array_num_value(16) := p_source_109;
56555 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
56556 l_rec_acct_attrs.array_num_value(17) := p_source_110;
56557 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
56558 l_rec_acct_attrs.array_char_value(18) := p_source_82;
56559 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
56560 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
56561 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
56562 l_rec_acct_attrs.array_char_value(20) := p_source_54;
56563 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
56564 l_rec_acct_attrs.array_num_value(21) := p_source_85;
56565 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
56566 l_rec_acct_attrs.array_num_value(22) := p_source_86;
56567 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
56568 l_rec_acct_attrs.array_num_value(23) := p_source_87;
56569
56570 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56571 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56572
56573 ---------------------------------------------------------------------------------------------------------------
56574 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56575 ---------------------------------------------------------------------------------------------------------------
56576 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56577
56578 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56579 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56580
56581 IF xla_accounting_cache_pkg.GetValueChar
56582 (p_source_code => 'LEDGER_CATEGORY_CODE'
56583 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56584 AND l_bflow_method_code = 'PRIOR_ENTRY'
56585 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56586 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56587 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56588 )
56589 THEN
56590 xla_ae_lines_pkg.BflowUpgEntry
56591 (p_business_method_code => l_bflow_method_code
56592 ,p_business_class_code => l_bflow_class_code
56593 ,p_balance_type => l_balance_type_code);
56594 ELSE
56595 NULL;
56596 -- No business flow processing for business flow method of NONE.
56597 END IF;
56598
56599 --
56600 -- call analytical criteria
56601 --
56602
56603
56604 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
56605 xla_ae_lines_pkg.SetAnalyticalCriteria(
56606 p_analytical_criterion_name => 'Check Id'
56607 , p_analytical_criterion_owner => 'S'
56608 , p_analytical_criterion_code => 'CHECK_ID'
56609 , p_amb_context_code => 'DEFAULT'
56610 , p_balancing_flag => 'N'
56611
56612 , p_analytical_detail_char_1 => NULL
56613 , p_analytical_detail_num_1 => p_source_112
56614 , p_analytical_detail_date_1 => NULL
56615
56616 , p_ae_header_id => l_ae_header_id
56617 )
56618 ;
56619 --
56620
56621 --
56622 -- call description
56623 --
56624 -- No description or it is inherited.
56625 --
56626 -- call ADRs
56627 -- Bug 4922099
56628 --
56629 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56630 (NVL(l_actual_upg_option, 'N') = 'O') OR
56631 (NVL(l_enc_upg_option, 'N') = 'O')
56632 )
56633 THEN
56634 NULL;
56635 --
56636 --
56640 , p_ae_header_id => l_ae_header_id
56637
56638 l_ccid := AcctDerRule_40(
56639 p_application_id => p_application_id
56641 , p_source_15 => p_source_15
56642 , p_source_15_meaning => p_source_15_meaning
56643 , p_source_30 => p_source_30
56644 , p_source_48 => p_source_48
56645 , x_transaction_coa_id => l_adr_transaction_coa_id
56646 , x_accounting_coa_id => l_adr_accounting_coa_id
56647 , x_value_type_code => l_adr_value_type_code
56648 , p_side => 'NA'
56649 );
56650
56651 xla_ae_lines_pkg.set_ccid(
56652 p_code_combination_id => l_ccid
56653 , p_value_type_code => l_adr_value_type_code
56654 , p_transaction_coa_id => l_adr_transaction_coa_id
56655 , p_accounting_coa_id => l_adr_accounting_coa_id
56656 , p_adr_code => 'AP_ROUNDING'
56657 , p_adr_type_code => 'S'
56658 , p_component_type => l_component_type
56659 , p_component_code => l_component_code
56660 , p_component_type_code => l_component_type_code
56661 , p_component_appl_id => l_component_appl_id
56662 , p_amb_context_code => l_amb_context_code
56663 , p_side => 'NA'
56664 );
56665
56666
56667 --
56668 --
56669 END IF;
56670 --
56671 -- Bug 4922099
56672 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56673 (NVL(l_enc_upg_option, 'N') = 'O')
56674 ) AND
56675 (l_bflow_method_code = 'PRIOR_ENTRY')
56676 )
56677 THEN
56678 IF
56679 --
56680 1 = 2
56681 --
56682 THEN
56683 xla_accounting_err_pkg.build_message
56684 (p_appli_s_name => 'XLA'
56685 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56686 ,p_token_1 => 'LINE_NUMBER'
56687 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56688 ,p_token_2 => 'LINE_TYPE_NAME'
56689 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56690 l_component_type
56691 ,l_component_code
56692 ,l_component_type_code
56693 ,l_component_appl_id
56694 ,l_amb_context_code
56695 ,l_entity_code
56696 ,l_event_class_code
56697 )
56698 ,p_token_3 => 'OWNER'
56699 ,p_value_3 => xla_lookups_pkg.get_meaning(
56700 p_lookup_type => 'XLA_OWNER_TYPE'
56701 ,p_lookup_code => l_component_type_code
56702 )
56703 ,p_token_4 => 'PRODUCT_NAME'
56704 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56705 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56706 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56707 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56708 ,p_ae_header_id => NULL
56709 );
56710
56711 IF (C_LEVEL_ERROR>= g_log_level) THEN
56712 trace
56713 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56714 ,p_level => C_LEVEL_ERROR
56715 ,p_module => l_log_module);
56716 END IF;
56717 END IF;
56718 END IF;
56719 --
56720 --
56721 ------------------------------------------------------------------------------------------------
56722 -- 4219869 Business Flow
56723 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56724 -- Prior Entry. Currently, the following code is always generated.
56725 ------------------------------------------------------------------------------------------------
56726 XLA_AE_LINES_PKG.ValidateCurrentLine;
56727
56728 ------------------------------------------------------------------------------------
56729 -- 4219869 Business Flow
56730 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56731 ------------------------------------------------------------------------------------
56732 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56733
56734 ----------------------------------------------------------------------------------
56735 -- 4219869 Business Flow
56739 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56736 -- Update journal entry status -- Need to generate this within IF <condition>
56737 ----------------------------------------------------------------------------------
56738 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56740 ,p_balance_type_code => l_balance_type_code
56741 );
56742
56743 -------------------------------------------------------------------------------------------
56744 -- 4262811 - Generate the Accrual Reversal lines
56745 -------------------------------------------------------------------------------------------
56746 BEGIN
56747 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56748 (g_array_event(p_event_id).array_value_num('header_index'));
56749 IF l_acc_rev_flag IS NULL THEN
56750 l_acc_rev_flag := 'N';
56751 END IF;
56752 EXCEPTION
56753 WHEN OTHERS THEN
56754 l_acc_rev_flag := 'N';
56755 END;
56756 --
56757 IF (l_acc_rev_flag = 'Y') THEN
56758
56759 -- 4645092 ------------------------------------------------------------------------------
56760 -- To allow MPA report to determine if it should generate report process
56761 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56762 ------------------------------------------------------------------------------------------
56763
56764 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56765 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56766 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56767 -- call ADRs
56768 -- Bug 4922099
56769 --
56770 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56771 (NVL(l_actual_upg_option, 'N') = 'O') OR
56772 (NVL(l_enc_upg_option, 'N') = 'O')
56773 )
56774 THEN
56775 NULL;
56776 --
56777 --
56778
56779 l_ccid := AcctDerRule_40(
56780 p_application_id => p_application_id
56781 , p_ae_header_id => l_ae_header_id
56782 , p_source_15 => p_source_15
56783 , p_source_15_meaning => p_source_15_meaning
56784 , p_source_30 => p_source_30
56785 , p_source_48 => p_source_48
56786 , x_transaction_coa_id => l_adr_transaction_coa_id
56787 , x_accounting_coa_id => l_adr_accounting_coa_id
56788 , x_value_type_code => l_adr_value_type_code
56789 , p_side => 'NA'
56790 );
56791
56792 xla_ae_lines_pkg.set_ccid(
56793 p_code_combination_id => l_ccid
56794 , p_value_type_code => l_adr_value_type_code
56795 , p_transaction_coa_id => l_adr_transaction_coa_id
56796 , p_accounting_coa_id => l_adr_accounting_coa_id
56797 , p_adr_code => 'AP_ROUNDING'
56798 , p_adr_type_code => 'S'
56799 , p_component_type => l_component_type
56800 , p_component_code => l_component_code
56801 , p_component_type_code => l_component_type_code
56802 , p_component_appl_id => l_component_appl_id
56803 , p_amb_context_code => l_amb_context_code
56804 , p_side => 'NA'
56805 );
56806
56807
56808 --
56809 --
56810 END IF;
56811
56812 --
56813 -- Update the line information that should be overwritten
56814 --
56815 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56816 p_header_num => 1);
56817 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56818
56819 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56820
56821 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56822 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56823 END IF;
56824
56825 --
56826 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56827 --
56828 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56829 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56830 ELSE
56831 ---------------------------------------------------------------------------------------------------
56832 -- 4262811a Switch Sign
56833 ---------------------------------------------------------------------------------------------------
56834 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56835 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56836 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56837 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56838 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56839 -- 5132302
56840 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56841 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56842
56843 END IF;
56844
56845 -- 4955764
56849
56846 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56847 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56848
56850 XLA_AE_LINES_PKG.ValidateCurrentLine;
56851 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56852
56853 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56854 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56855 ,p_balance_type_code => l_balance_type_code);
56856
56857 END IF;
56858
56859 -----------------------------------------------------------------------------------------
56860 -- 4262811 Multiperiod Accounting
56861 -----------------------------------------------------------------------------------------
56862 -- No MPA option is assigned.
56863
56864
56865 END IF;
56866 END IF;
56867 --
56868
56869 --
56870 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56871 trace
56872 (p_msg => 'END of AcctLineType_112'
56873 ,p_level => C_LEVEL_PROCEDURE
56874 ,p_module => l_log_module);
56875 END IF;
56876 --
56877 EXCEPTION
56878 WHEN xla_exceptions_pkg.application_exception THEN
56879 RAISE;
56880 WHEN OTHERS THEN
56881 xla_exceptions_pkg.raise_message
56882 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_112');
56883 END AcctLineType_112;
56884 --
56885
56886 ---------------------------------------
56887 --
56888 -- PRIVATE FUNCTION
56889 -- AcctLineType_113
56890 --
56891 ---------------------------------------
56892 PROCEDURE AcctLineType_113 (
56893 p_application_id IN NUMBER
56894 ,p_event_id IN NUMBER
56895 ,p_calculate_acctd_flag IN VARCHAR2
56896 ,p_calculate_g_l_flag IN VARCHAR2
56897 ,p_actual_flag IN OUT VARCHAR2
56898 ,p_balance_type_code OUT VARCHAR2
56899 ,p_gain_or_loss_ref OUT VARCHAR2
56900
56901 --Automatic Offsets Value
56902 , p_source_15 IN VARCHAR2
56903 , p_source_15_meaning IN VARCHAR2
56904 --Invoice Distribution Account
56905 , p_source_30 IN NUMBER
56906 --Payables Options Rounding Account
56907 , p_source_48 IN NUMBER
56908 --Accounting Reversal Indicator
56909 , p_source_52 IN VARCHAR2
56910 --Distribution Link Type
56911 , p_source_54 IN VARCHAR2
56912 --Invoice Identifier
56913 , p_source_57 IN NUMBER
56914 --Payables Encumbrance Upgrade Credit Account
56915 , p_source_64 IN NUMBER
56916 --Payables Encumbrance Upgrade Credit Amount
56917 , p_source_65 IN NUMBER
56918 --Invoice Currency Code
56919 , p_source_66 IN VARCHAR2
56920 --Payables Encumbrance Upgrade Credit Base Amount
56921 , p_source_67 IN NUMBER
56922 --Payables Encumbrance Upgrade Debit Account
56923 , p_source_68 IN NUMBER
56924 --Payables Encumbrance Upgrade Debit Amount
56925 , p_source_69 IN NUMBER
56926 --Payables Encumbrance Upgrade Debit Base Amount
56927 , p_source_70 IN NUMBER
56928 --Payables Encumbrance Upgrade Option
56929 , p_source_71 IN VARCHAR2
56930 --Deferred Accounting End Date
56931 , p_source_76 IN DATE
56932 --Deferred Accounting Option
56933 , p_source_77 IN VARCHAR2
56934 --Deferred Accounting Start Date
56935 , p_source_78 IN DATE
56936 --Override Accounted Amount Indicator
56937 , p_source_79 IN VARCHAR2
56938 , p_source_79_meaning IN VARCHAR2
56939 --Invoice Supplier Identifier
56940 , p_source_80 IN NUMBER
56941 --Invoice Supplier Site Identifier
56942 , p_source_81 IN NUMBER
56943 --Third Party Type
56944 , p_source_82 IN VARCHAR2
56945 --Invoice Distribution Tax Line Identifier
56946 , p_source_85 IN NUMBER
56947 --Invoice Distribution Tax Distribution Identifier from Tax
56948 , p_source_86 IN NUMBER
56949 --Invoice Distribution Summary Tax Line Identifier
56950 , p_source_87 IN NUMBER
56951 --Payables Upgrade Credit Encumbrance Type Identifier
56952 , p_source_88 IN NUMBER
56953 --Payables Upgrade Debit Encumbrance Type Identifier
56954 , p_source_89 IN NUMBER
56955 --Business Flow Accounts Payable Application Identifier
56956 , p_source_90 IN NUMBER
56957 --Prepayment Application Distribution Identifier
56958 , p_source_127 IN NUMBER
56959 --Upgrade Encumbrance Credit Account Class
56960 , p_source_130 IN VARCHAR2
56961 --Upgrade Encumbrance Debit Account Class
56962 , p_source_131 IN VARCHAR2
56963 --Prepayment Distribution Amount
56964 , p_source_132 IN NUMBER
56965 --Identifier of the Prepayment Application Reversed
56966 , p_source_134 IN NUMBER
56967 --Invoice Exchange Date
56968 , p_source_136 IN DATE
56969 --Invoice Exchange Rate
56970 , p_source_137 IN NUMBER
56971 --Invoice Exchange Rate Type
56972 , p_source_138 IN VARCHAR2
56973 --Business Flow Prepayment Invoice Distribution Type
56974 , p_source_139 IN VARCHAR2
56975 --Business Flow Prepayment Invoice Entity Code
56976 , p_source_140 IN VARCHAR2
56977 --Business Flow Prepayment Invoice Distribution Identifier
56978 , p_source_141 IN NUMBER
56982 , p_source_143 IN VARCHAR2
56979 --Business Flow Prepayment Invoice Identifier
56980 , p_source_142 IN NUMBER
56981 --Prepayment Distribution Type
56983 --Prepayment Distribution (Prepayment Payment Rate) Ledger Amount
56984 , p_source_147 IN NUMBER
56985 )
56986 IS
56987
56988 l_component_type VARCHAR2(80);
56989 l_component_code VARCHAR2(30);
56990 l_component_type_code VARCHAR2(1);
56991 l_component_appl_id INTEGER;
56992 l_amb_context_code VARCHAR2(30);
56993 l_entity_code VARCHAR2(30);
56994 l_event_class_code VARCHAR2(30);
56995 l_ae_header_id NUMBER;
56996 l_event_type_code VARCHAR2(30);
56997 l_line_definition_code VARCHAR2(30);
56998 l_line_definition_owner_code VARCHAR2(1);
56999 --
57000 -- adr variables
57001 l_segment VARCHAR2(30);
57002 l_ccid NUMBER;
57003 l_adr_transaction_coa_id NUMBER;
57004 l_adr_accounting_coa_id NUMBER;
57005 l_adr_flexfield_segment_code VARCHAR2(30);
57006 l_adr_flex_value_set_id NUMBER;
57007 l_adr_value_type_code VARCHAR2(30);
57008 l_adr_value_combination_id NUMBER;
57009 l_adr_value_segment_code VARCHAR2(30);
57010
57011 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57012 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57013 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57014 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57015
57016 -- 4262811 Variables ------------------------------------------------------------------------------------------
57017 l_entered_amt_idx NUMBER;
57018 l_accted_amt_idx NUMBER;
57019 l_acc_rev_flag VARCHAR2(1);
57020 l_accrual_line_num NUMBER;
57021 l_tmp_amt NUMBER;
57022 l_acc_rev_natural_side_code VARCHAR2(1);
57023
57024 l_num_entries NUMBER;
57025 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57026 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57027 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57028 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57029 l_recog_line_1 NUMBER;
57030 l_recog_line_2 NUMBER;
57031
57032 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57033 l_bflow_applied_to_amt NUMBER; -- 5132302
57034 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57035
57036 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57037
57038 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57039 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57040
57041 ---------------------------------------------------------------------------------------------------------------
57042
57043
57044 --
57045 -- bulk performance
57046 --
57047 l_balance_type_code VARCHAR2(1);
57048 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57049 l_log_module VARCHAR2(240);
57050
57051 --
57052 -- Upgrade strategy
57053 --
57054 l_actual_upg_option VARCHAR2(1);
57055 l_enc_upg_option VARCHAR2(1);
57056
57057 --
57058 BEGIN
57059 --
57060 IF g_log_enabled THEN
57061 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_113';
57062 END IF;
57063 --
57064 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57065
57066 trace
57067 (p_msg => 'BEGIN of AcctLineType_113'
57068 ,p_level => C_LEVEL_PROCEDURE
57069 ,p_module => l_log_module);
57070
57071 END IF;
57072 --
57073 l_component_type := 'AMB_JLT';
57074 l_component_code := 'AP_FINAL_PMT_ROUND_PREPAY_APP';
57075 l_component_type_code := 'S';
57076 l_component_appl_id := 200;
57077 l_amb_context_code := 'DEFAULT';
57078 l_entity_code := 'AP_INVOICES';
57079 l_event_class_code := 'PREPAYMENT APPLICATIONS';
57080 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
57081 l_line_definition_owner_code := 'S';
57082 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
57083 --
57084 l_balance_type_code := 'A';
57085 l_segment := NULL;
57086 l_ccid := NULL;
57087 l_adr_transaction_coa_id := NULL;
57088 l_adr_accounting_coa_id := NULL;
57089 l_adr_flexfield_segment_code := NULL;
57090 l_adr_flex_value_set_id := NULL;
57091 l_adr_value_type_code := NULL;
57092 l_adr_value_combination_id := NULL;
57093 l_adr_value_segment_code := NULL;
57094
57095 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57096 l_bflow_class_code := ''; -- 4219869 Business Flow
57097 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57098 l_budgetary_control_flag := 'N';
57099
57100 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57101 l_bflow_applied_to_amt := NULL; -- 5132302
57102 l_entered_amt_idx := NULL; -- 4262811
57103 l_accted_amt_idx := NULL; -- 4262811
57104 l_acc_rev_flag := NULL; -- 4262811
57105 l_accrual_line_num := NULL; -- 4262811
57109 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57106 l_tmp_amt := NULL; -- 4262811
57107 --
57108
57110 l_balance_type_code <> 'B' THEN
57111 IF NVL(p_source_143,'
57112 ') = 'FINAL PAYMENT ROUNDING'
57113 THEN
57114
57115 --
57116 XLA_AE_LINES_PKG.SetNewLine;
57117
57118 p_balance_type_code := l_balance_type_code;
57119 -- set the flag so later we will know whether the gain loss line needs to be created
57120
57121 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57122 p_actual_flag :='A';
57123 END IF;
57124
57125 --
57126 -- bulk performance
57127 --
57128 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57129 p_header_num => 0); -- 4262811
57130 --
57131 -- set accounting line options
57132 --
57133 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57134 p_natural_side_code => 'C'
57135 , p_gain_or_loss_flag => 'N'
57136 , p_gl_transfer_mode_code => 'S'
57137 , p_acct_entry_type_code => 'A'
57138 , p_switch_side_flag => 'Y'
57139 , p_merge_duplicate_code => 'A'
57140 );
57141 --
57142 l_acc_rev_natural_side_code := 'D'; -- 4262811
57143 --
57144 --
57145 -- set accounting line type info
57146 --
57147 xla_ae_lines_pkg.SetAcctLineType
57148 (p_component_type => l_component_type
57149 ,p_event_type_code => l_event_type_code
57150 ,p_line_definition_owner_code => l_line_definition_owner_code
57151 ,p_line_definition_code => l_line_definition_code
57152 ,p_accounting_line_code => l_component_code
57153 ,p_accounting_line_type_code => l_component_type_code
57154 ,p_accounting_line_appl_id => l_component_appl_id
57155 ,p_amb_context_code => l_amb_context_code
57156 ,p_entity_code => l_entity_code
57157 ,p_event_class_code => l_event_class_code);
57158 --
57159 -- set accounting class
57160 --
57161 xla_ae_lines_pkg.SetAcctClass(
57162 p_accounting_class_code => 'ROUNDING'
57163 , p_ae_header_id => l_ae_header_id
57164 );
57165
57166 --
57167 -- set rounding class
57168 --
57169 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57170 'ROUNDING';
57171
57172 --
57173 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57174 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57175 --
57176 -- bulk performance
57177 --
57178 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57179
57180 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57181 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57182
57183 -- 4955764
57184 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57185 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57186
57187 -- 4458381 Public Sector Enh
57188
57189 --
57190 -- set accounting attributes for the line type
57191 --
57192 l_entered_amt_idx := 25;
57193 l_accted_amt_idx := 30;
57194 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57195 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57196 l_rec_acct_attrs.array_char_value(1) := p_source_52;
57197 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57198 l_rec_acct_attrs.array_num_value(2) :=
57199 xla_ae_sources_pkg.GetSystemSourceNum(
57200 p_source_code => 'XLA_EVENT_APPL_ID'
57201 , p_source_type_code => 'Y'
57202 , p_source_application_id => 602
57203 );
57204 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57205 l_rec_acct_attrs.array_char_value(3) := p_source_54;
57206 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57207 l_rec_acct_attrs.array_char_value(4) :=
57208 xla_ae_sources_pkg.GetSystemSourceChar(
57209 p_source_code => 'XLA_ENTITY_CODE'
57210 , p_source_type_code => 'Y'
57211 , p_source_application_id => 602
57212 );
57213 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57214 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
57215 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57216 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
57217 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57218 l_rec_acct_attrs.array_num_value(7) := p_source_90;
57219 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57220 l_rec_acct_attrs.array_char_value(8) := p_source_139;
57221 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57222 l_rec_acct_attrs.array_char_value(9) := p_source_140;
57223 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57224 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
57228 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
57225 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57226 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
57227 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
57229 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
57230 l_rec_acct_attrs.array_char_value(13) := p_source_54;
57231 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
57232 l_rec_acct_attrs.array_char_value(14) := p_source_130;
57233 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
57234 l_rec_acct_attrs.array_num_value(15) := p_source_64;
57235 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
57236 l_rec_acct_attrs.array_num_value(16) := p_source_65;
57237 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
57238 l_rec_acct_attrs.array_char_value(17) := p_source_66;
57239 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
57240 l_rec_acct_attrs.array_num_value(18) := p_source_67;
57241 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
57242 l_rec_acct_attrs.array_char_value(19) := p_source_131;
57243 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
57244 l_rec_acct_attrs.array_num_value(20) := p_source_68;
57245 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
57246 l_rec_acct_attrs.array_num_value(21) := p_source_69;
57247 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
57248 l_rec_acct_attrs.array_char_value(22) := p_source_66;
57249 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
57250 l_rec_acct_attrs.array_num_value(23) := p_source_70;
57251 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
57252 l_rec_acct_attrs.array_char_value(24) := p_source_71;
57253 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
57254 l_rec_acct_attrs.array_num_value(25) := p_source_132;
57255 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
57256 l_rec_acct_attrs.array_char_value(26) := p_source_66;
57257 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
57258 l_rec_acct_attrs.array_date_value(27) := p_source_136;
57259 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
57260 l_rec_acct_attrs.array_num_value(28) := p_source_137;
57261 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
57262 l_rec_acct_attrs.array_char_value(29) := p_source_138;
57263 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
57264 l_rec_acct_attrs.array_num_value(30) := p_source_147;
57265 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
57266 l_rec_acct_attrs.array_date_value(31) := p_source_76;
57267 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
57268 l_rec_acct_attrs.array_char_value(32) := p_source_77;
57269 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
57270 l_rec_acct_attrs.array_date_value(33) := p_source_78;
57271 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
57272 l_rec_acct_attrs.array_char_value(34) := p_source_79;
57273 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
57274 l_rec_acct_attrs.array_num_value(35) := p_source_80;
57275 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
57276 l_rec_acct_attrs.array_num_value(36) := p_source_81;
57277 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
57278 l_rec_acct_attrs.array_char_value(37) := p_source_82;
57279 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
57280 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
57281 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
57282 l_rec_acct_attrs.array_char_value(39) := p_source_54;
57283 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
57284 l_rec_acct_attrs.array_num_value(40) := p_source_85;
57285 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
57286 l_rec_acct_attrs.array_num_value(41) := p_source_86;
57287 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
57288 l_rec_acct_attrs.array_num_value(42) := p_source_87;
57289 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
57290 l_rec_acct_attrs.array_num_value(43) := p_source_88;
57291 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
57292 l_rec_acct_attrs.array_num_value(44) := p_source_89;
57293
57294 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57295 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57296
57297 ---------------------------------------------------------------------------------------------------------------
57298 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57299 ---------------------------------------------------------------------------------------------------------------
57300 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57301
57302 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57303 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57304
57305 IF xla_accounting_cache_pkg.GetValueChar
57306 (p_source_code => 'LEDGER_CATEGORY_CODE'
57310 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57307 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57308 AND l_bflow_method_code = 'PRIOR_ENTRY'
57309 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57311 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57312 )
57313 THEN
57314 xla_ae_lines_pkg.BflowUpgEntry
57315 (p_business_method_code => l_bflow_method_code
57316 ,p_business_class_code => l_bflow_class_code
57317 ,p_balance_type => l_balance_type_code);
57318 ELSE
57319 NULL;
57320 -- No business flow processing for business flow method of NONE.
57321 END IF;
57322
57323 --
57324 -- call analytical criteria
57325 --
57326
57327 --
57328 -- call description
57329 --
57330 -- No description or it is inherited.
57331 --
57332 -- call ADRs
57333 -- Bug 4922099
57334 --
57335 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57336 (NVL(l_actual_upg_option, 'N') = 'O') OR
57337 (NVL(l_enc_upg_option, 'N') = 'O')
57338 )
57339 THEN
57340 NULL;
57341 --
57342 --
57343
57344 l_ccid := AcctDerRule_40(
57345 p_application_id => p_application_id
57346 , p_ae_header_id => l_ae_header_id
57347 , p_source_15 => p_source_15
57348 , p_source_15_meaning => p_source_15_meaning
57349 , p_source_30 => p_source_30
57350 , p_source_48 => p_source_48
57351 , x_transaction_coa_id => l_adr_transaction_coa_id
57352 , x_accounting_coa_id => l_adr_accounting_coa_id
57353 , x_value_type_code => l_adr_value_type_code
57354 , p_side => 'NA'
57355 );
57356
57357 xla_ae_lines_pkg.set_ccid(
57358 p_code_combination_id => l_ccid
57359 , p_value_type_code => l_adr_value_type_code
57360 , p_transaction_coa_id => l_adr_transaction_coa_id
57361 , p_accounting_coa_id => l_adr_accounting_coa_id
57362 , p_adr_code => 'AP_ROUNDING'
57363 , p_adr_type_code => 'S'
57364 , p_component_type => l_component_type
57365 , p_component_code => l_component_code
57366 , p_component_type_code => l_component_type_code
57367 , p_component_appl_id => l_component_appl_id
57368 , p_amb_context_code => l_amb_context_code
57369 , p_side => 'NA'
57370 );
57371
57372
57373 --
57374 --
57375 END IF;
57376 --
57377 -- Bug 4922099
57378 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57379 (NVL(l_enc_upg_option, 'N') = 'O')
57380 ) AND
57381 (l_bflow_method_code = 'PRIOR_ENTRY')
57382 )
57383 THEN
57384 IF
57385 --
57386 1 = 2
57387 --
57388 THEN
57389 xla_accounting_err_pkg.build_message
57390 (p_appli_s_name => 'XLA'
57391 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57392 ,p_token_1 => 'LINE_NUMBER'
57393 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57394 ,p_token_2 => 'LINE_TYPE_NAME'
57395 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57396 l_component_type
57397 ,l_component_code
57398 ,l_component_type_code
57399 ,l_component_appl_id
57400 ,l_amb_context_code
57401 ,l_entity_code
57402 ,l_event_class_code
57403 )
57404 ,p_token_3 => 'OWNER'
57405 ,p_value_3 => xla_lookups_pkg.get_meaning(
57406 p_lookup_type => 'XLA_OWNER_TYPE'
57407 ,p_lookup_code => l_component_type_code
57408 )
57409 ,p_token_4 => 'PRODUCT_NAME'
57410 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57411 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57412 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57413 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57414 ,p_ae_header_id => NULL
57415 );
57416
57420 ,p_level => C_LEVEL_ERROR
57417 IF (C_LEVEL_ERROR>= g_log_level) THEN
57418 trace
57419 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57421 ,p_module => l_log_module);
57422 END IF;
57423 END IF;
57424 END IF;
57425 --
57426 --
57427 ------------------------------------------------------------------------------------------------
57428 -- 4219869 Business Flow
57429 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57430 -- Prior Entry. Currently, the following code is always generated.
57431 ------------------------------------------------------------------------------------------------
57432 XLA_AE_LINES_PKG.ValidateCurrentLine;
57433
57434 ------------------------------------------------------------------------------------
57435 -- 4219869 Business Flow
57436 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57437 ------------------------------------------------------------------------------------
57438 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57439
57440 ----------------------------------------------------------------------------------
57441 -- 4219869 Business Flow
57442 -- Update journal entry status -- Need to generate this within IF <condition>
57443 ----------------------------------------------------------------------------------
57444 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57445 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57446 ,p_balance_type_code => l_balance_type_code
57447 );
57448
57449 -------------------------------------------------------------------------------------------
57450 -- 4262811 - Generate the Accrual Reversal lines
57451 -------------------------------------------------------------------------------------------
57452 BEGIN
57453 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57454 (g_array_event(p_event_id).array_value_num('header_index'));
57455 IF l_acc_rev_flag IS NULL THEN
57456 l_acc_rev_flag := 'N';
57457 END IF;
57458 EXCEPTION
57459 WHEN OTHERS THEN
57460 l_acc_rev_flag := 'N';
57461 END;
57462 --
57463 IF (l_acc_rev_flag = 'Y') THEN
57464
57465 -- 4645092 ------------------------------------------------------------------------------
57466 -- To allow MPA report to determine if it should generate report process
57467 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57468 ------------------------------------------------------------------------------------------
57469
57470 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57471 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57472 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57473 -- call ADRs
57474 -- Bug 4922099
57475 --
57476 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57477 (NVL(l_actual_upg_option, 'N') = 'O') OR
57478 (NVL(l_enc_upg_option, 'N') = 'O')
57479 )
57480 THEN
57481 NULL;
57482 --
57483 --
57484
57485 l_ccid := AcctDerRule_40(
57486 p_application_id => p_application_id
57487 , p_ae_header_id => l_ae_header_id
57488 , p_source_15 => p_source_15
57489 , p_source_15_meaning => p_source_15_meaning
57490 , p_source_30 => p_source_30
57491 , p_source_48 => p_source_48
57492 , x_transaction_coa_id => l_adr_transaction_coa_id
57493 , x_accounting_coa_id => l_adr_accounting_coa_id
57494 , x_value_type_code => l_adr_value_type_code
57495 , p_side => 'NA'
57496 );
57497
57498 xla_ae_lines_pkg.set_ccid(
57499 p_code_combination_id => l_ccid
57500 , p_value_type_code => l_adr_value_type_code
57501 , p_transaction_coa_id => l_adr_transaction_coa_id
57502 , p_accounting_coa_id => l_adr_accounting_coa_id
57503 , p_adr_code => 'AP_ROUNDING'
57504 , p_adr_type_code => 'S'
57505 , p_component_type => l_component_type
57506 , p_component_code => l_component_code
57507 , p_component_type_code => l_component_type_code
57508 , p_component_appl_id => l_component_appl_id
57509 , p_amb_context_code => l_amb_context_code
57510 , p_side => 'NA'
57511 );
57512
57513
57514 --
57515 --
57516 END IF;
57517
57518 --
57519 -- Update the line information that should be overwritten
57520 --
57521 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57522 p_header_num => 1);
57523 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57524
57525 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57526
57527 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57528 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57529 END IF;
57530
57531 --
57532 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57533 --
57537 ---------------------------------------------------------------------------------------------------
57534 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57535 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57536 ELSE
57538 -- 4262811a Switch Sign
57539 ---------------------------------------------------------------------------------------------------
57540 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57541 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57542 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57543 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57544 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57545 -- 5132302
57546 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57547 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57548
57549 END IF;
57550
57551 -- 4955764
57552 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57553 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57554
57555
57556 XLA_AE_LINES_PKG.ValidateCurrentLine;
57557 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57558
57559 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57560 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57561 ,p_balance_type_code => l_balance_type_code);
57562
57563 END IF;
57564
57565 -----------------------------------------------------------------------------------------
57566 -- 4262811 Multiperiod Accounting
57567 -----------------------------------------------------------------------------------------
57568 -- No MPA option is assigned.
57569
57570
57571 END IF;
57572 END IF;
57573 --
57574
57575 --
57576 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57577 trace
57578 (p_msg => 'END of AcctLineType_113'
57579 ,p_level => C_LEVEL_PROCEDURE
57580 ,p_module => l_log_module);
57581 END IF;
57582 --
57583 EXCEPTION
57584 WHEN xla_exceptions_pkg.application_exception THEN
57585 RAISE;
57586 WHEN OTHERS THEN
57587 xla_exceptions_pkg.raise_message
57588 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_113');
57589 END AcctLineType_113;
57590 --
57591
57592 ---------------------------------------
57593 --
57594 -- PRIVATE FUNCTION
57595 -- AcctLineType_114
57596 --
57597 ---------------------------------------
57598 PROCEDURE AcctLineType_114 (
57599 p_application_id IN NUMBER
57600 ,p_event_id IN NUMBER
57601 ,p_calculate_acctd_flag IN VARCHAR2
57602 ,p_calculate_g_l_flag IN VARCHAR2
57603 ,p_actual_flag IN OUT VARCHAR2
57604 ,p_balance_type_code OUT VARCHAR2
57605 ,p_gain_or_loss_ref OUT VARCHAR2
57606
57607 --Invoice Distribution Description
57608 , p_source_1 IN VARCHAR2
57609 --Invoice Distribution Ledger Amount
57610 , p_source_21 IN NUMBER
57611 --Invoice Distribution Account
57612 , p_source_30 IN NUMBER
57613 --Invoice Distribution Type
57614 , p_source_33 IN VARCHAR2
57615 , p_source_33_meaning IN VARCHAR2
57616 --Accounting Reversal Indicator
57617 , p_source_52 IN VARCHAR2
57618 --Distribution Link Type
57619 , p_source_54 IN VARCHAR2
57620 --Allocation to Main Distribution Identifier
57621 , p_source_56 IN NUMBER
57622 --Invoice Identifier
57623 , p_source_57 IN NUMBER
57624 --Invoice Distribution Identifier
57625 , p_source_63 IN NUMBER
57626 --Payables Encumbrance Upgrade Credit Account
57627 , p_source_64 IN NUMBER
57628 --Payables Encumbrance Upgrade Credit Amount
57629 , p_source_65 IN NUMBER
57630 --Invoice Currency Code
57631 , p_source_66 IN VARCHAR2
57632 --Payables Encumbrance Upgrade Credit Base Amount
57633 , p_source_67 IN NUMBER
57634 --Payables Encumbrance Upgrade Debit Account
57635 , p_source_68 IN NUMBER
57636 --Payables Encumbrance Upgrade Debit Amount
57637 , p_source_69 IN NUMBER
57638 --Payables Encumbrance Upgrade Debit Base Amount
57639 , p_source_70 IN NUMBER
57640 --Payables Encumbrance Upgrade Option
57641 , p_source_71 IN VARCHAR2
57642 --Invoice Distribution Amount
57643 , p_source_72 IN NUMBER
57644 --Deferred Accounting End Date
57645 , p_source_76 IN DATE
57646 --Deferred Accounting Option
57647 , p_source_77 IN VARCHAR2
57648 --Deferred Accounting Start Date
57649 , p_source_78 IN DATE
57650 --Override Accounted Amount Indicator
57651 , p_source_79 IN VARCHAR2
57652 , p_source_79_meaning IN VARCHAR2
57653 --Invoice Supplier Identifier
57654 , p_source_80 IN NUMBER
57655 --Invoice Supplier Site Identifier
57656 , p_source_81 IN NUMBER
57657 --Third Party Type
57661 --Invoice Distribution Statistical Amount
57658 , p_source_82 IN VARCHAR2
57659 --Parent Reversal Identifier
57660 , p_source_83 IN NUMBER
57662 , p_source_84 IN NUMBER
57663 --Invoice Distribution Tax Line Identifier
57664 , p_source_85 IN NUMBER
57665 --Invoice Distribution Tax Distribution Identifier from Tax
57666 , p_source_86 IN NUMBER
57667 --Invoice Distribution Summary Tax Line Identifier
57668 , p_source_87 IN NUMBER
57669 --Payables Upgrade Credit Encumbrance Type Identifier
57670 , p_source_88 IN NUMBER
57671 --Payables Upgrade Debit Encumbrance Type Identifier
57672 , p_source_89 IN NUMBER
57673 --Business Flow Accounts Payable Application Identifier
57674 , p_source_90 IN NUMBER
57675 --Business Flow Invoice Distribution Type
57676 , p_source_91 IN VARCHAR2
57677 --Business Flow Invoice Entity Code
57678 , p_source_92 IN VARCHAR2
57679 --Business Flow Invoice Distribution Identifier
57680 , p_source_93 IN NUMBER
57681 --Business Flow Invoice Identifier
57682 , p_source_94 IN NUMBER
57683 --Invoice Exchange Date
57684 , p_source_136 IN DATE
57685 --Invoice Exchange Rate
57686 , p_source_137 IN NUMBER
57687 --Invoice Exchange Rate Type
57688 , p_source_138 IN VARCHAR2
57689 --Project Identifier
57690 , p_source_146 IN NUMBER
57691 )
57692 IS
57693
57694 l_component_type VARCHAR2(80);
57695 l_component_code VARCHAR2(30);
57696 l_component_type_code VARCHAR2(1);
57697 l_component_appl_id INTEGER;
57698 l_amb_context_code VARCHAR2(30);
57699 l_entity_code VARCHAR2(30);
57700 l_event_class_code VARCHAR2(30);
57701 l_ae_header_id NUMBER;
57702 l_event_type_code VARCHAR2(30);
57703 l_line_definition_code VARCHAR2(30);
57704 l_line_definition_owner_code VARCHAR2(1);
57705 --
57706 -- adr variables
57707 l_segment VARCHAR2(30);
57708 l_ccid NUMBER;
57709 l_adr_transaction_coa_id NUMBER;
57710 l_adr_accounting_coa_id NUMBER;
57711 l_adr_flexfield_segment_code VARCHAR2(30);
57712 l_adr_flex_value_set_id NUMBER;
57713 l_adr_value_type_code VARCHAR2(30);
57714 l_adr_value_combination_id NUMBER;
57715 l_adr_value_segment_code VARCHAR2(30);
57716
57717 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57718 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57719 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57720 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57721
57722 -- 4262811 Variables ------------------------------------------------------------------------------------------
57723 l_entered_amt_idx NUMBER;
57724 l_accted_amt_idx NUMBER;
57725 l_acc_rev_flag VARCHAR2(1);
57726 l_accrual_line_num NUMBER;
57727 l_tmp_amt NUMBER;
57728 l_acc_rev_natural_side_code VARCHAR2(1);
57729
57730 l_num_entries NUMBER;
57731 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57732 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57733 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57734 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57735 l_recog_line_1 NUMBER;
57736 l_recog_line_2 NUMBER;
57737
57738 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57739 l_bflow_applied_to_amt NUMBER; -- 5132302
57740 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57741
57742 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57743
57744 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57745 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57746
57747 ---------------------------------------------------------------------------------------------------------------
57748
57749
57750 --
57751 -- bulk performance
57752 --
57753 l_balance_type_code VARCHAR2(1);
57754 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57755 l_log_module VARCHAR2(240);
57756
57757 --
57758 -- Upgrade strategy
57759 --
57760 l_actual_upg_option VARCHAR2(1);
57761 l_enc_upg_option VARCHAR2(1);
57762
57763 --
57764 BEGIN
57765 --
57766 IF g_log_enabled THEN
57767 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_114';
57768 END IF;
57769 --
57770 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57771
57772 trace
57773 (p_msg => 'BEGIN of AcctLineType_114'
57774 ,p_level => C_LEVEL_PROCEDURE
57775 ,p_module => l_log_module);
57776
57777 END IF;
57778 --
57779 l_component_type := 'AMB_JLT';
57780 l_component_code := 'AP_FREIGHT_EXPENSE_CM';
57781 l_component_type_code := 'S';
57782 l_component_appl_id := 200;
57783 l_amb_context_code := 'DEFAULT';
57784 l_entity_code := 'AP_INVOICES';
57785 l_event_class_code := 'CREDIT MEMOS';
57786 l_event_type_code := 'CREDIT MEMOS_ALL';
57787 l_line_definition_owner_code := 'S';
57791 l_segment := NULL;
57788 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
57789 --
57790 l_balance_type_code := 'A';
57792 l_ccid := NULL;
57793 l_adr_transaction_coa_id := NULL;
57794 l_adr_accounting_coa_id := NULL;
57795 l_adr_flexfield_segment_code := NULL;
57796 l_adr_flex_value_set_id := NULL;
57797 l_adr_value_type_code := NULL;
57798 l_adr_value_combination_id := NULL;
57799 l_adr_value_segment_code := NULL;
57800
57801 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57802 l_bflow_class_code := ''; -- 4219869 Business Flow
57803 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57804 l_budgetary_control_flag := 'N';
57805
57806 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57807 l_bflow_applied_to_amt := NULL; -- 5132302
57808 l_entered_amt_idx := NULL; -- 4262811
57809 l_accted_amt_idx := NULL; -- 4262811
57810 l_acc_rev_flag := NULL; -- 4262811
57811 l_accrual_line_num := NULL; -- 4262811
57812 l_tmp_amt := NULL; -- 4262811
57813 --
57814
57815 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57816 l_balance_type_code <> 'B' THEN
57817 IF NVL(p_source_33,'
57818 ') = 'FREIGHT'
57819 THEN
57820
57821 --
57822 XLA_AE_LINES_PKG.SetNewLine;
57823
57824 p_balance_type_code := l_balance_type_code;
57825 -- set the flag so later we will know whether the gain loss line needs to be created
57826
57827 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57828 p_actual_flag :='A';
57829 END IF;
57830
57831 --
57832 -- bulk performance
57833 --
57834 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57835 p_header_num => 0); -- 4262811
57836 --
57837 -- set accounting line options
57838 --
57839 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57840 p_natural_side_code => 'D'
57841 , p_gain_or_loss_flag => 'N'
57842 , p_gl_transfer_mode_code => 'S'
57843 , p_acct_entry_type_code => 'A'
57844 , p_switch_side_flag => 'Y'
57845 , p_merge_duplicate_code => 'A'
57846 );
57847 --
57848 l_acc_rev_natural_side_code := 'C'; -- 4262811
57849 --
57850 --
57851 -- set accounting line type info
57852 --
57853 xla_ae_lines_pkg.SetAcctLineType
57854 (p_component_type => l_component_type
57855 ,p_event_type_code => l_event_type_code
57856 ,p_line_definition_owner_code => l_line_definition_owner_code
57857 ,p_line_definition_code => l_line_definition_code
57858 ,p_accounting_line_code => l_component_code
57859 ,p_accounting_line_type_code => l_component_type_code
57860 ,p_accounting_line_appl_id => l_component_appl_id
57861 ,p_amb_context_code => l_amb_context_code
57862 ,p_entity_code => l_entity_code
57863 ,p_event_class_code => l_event_class_code);
57864 --
57865 -- set accounting class
57866 --
57867 xla_ae_lines_pkg.SetAcctClass(
57868 p_accounting_class_code => 'FREIGHT'
57869 , p_ae_header_id => l_ae_header_id
57870 );
57871
57872 --
57873 -- set rounding class
57874 --
57875 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57876 'FREIGHT';
57877
57878 --
57879 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57880 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57881 --
57882 -- bulk performance
57883 --
57884 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57885
57886 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57887 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57888
57889 -- 4955764
57890 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57891 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57892
57893 -- 4458381 Public Sector Enh
57894
57895 --
57896 -- set accounting attributes for the line type
57897 --
57898 l_entered_amt_idx := 23;
57899 l_accted_amt_idx := 28;
57900 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57901 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57902 l_rec_acct_attrs.array_char_value(1) := p_source_52;
57903 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57904 l_rec_acct_attrs.array_num_value(2) :=
57905 xla_ae_sources_pkg.GetSystemSourceNum(
57906 p_source_code => 'XLA_EVENT_APPL_ID'
57907 , p_source_type_code => 'Y'
57908 , p_source_application_id => 602
57909 );
57910 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57914 xla_ae_sources_pkg.GetSystemSourceChar(
57911 l_rec_acct_attrs.array_char_value(3) := p_source_54;
57912 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57913 l_rec_acct_attrs.array_char_value(4) :=
57915 p_source_code => 'XLA_ENTITY_CODE'
57916 , p_source_type_code => 'Y'
57917 , p_source_application_id => 602
57918 );
57919 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57920 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
57921 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57922 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
57923 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57924 l_rec_acct_attrs.array_num_value(7) := p_source_90;
57925 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57926 l_rec_acct_attrs.array_char_value(8) := p_source_91;
57927 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57928 l_rec_acct_attrs.array_char_value(9) := p_source_92;
57929 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57930 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
57931 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57932 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
57933 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
57934 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
57935 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
57936 l_rec_acct_attrs.array_char_value(13) := p_source_54;
57937 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
57938 l_rec_acct_attrs.array_num_value(14) := p_source_64;
57939 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
57940 l_rec_acct_attrs.array_num_value(15) := p_source_65;
57941 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
57942 l_rec_acct_attrs.array_char_value(16) := p_source_66;
57943 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
57944 l_rec_acct_attrs.array_num_value(17) := p_source_67;
57945 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
57946 l_rec_acct_attrs.array_num_value(18) := p_source_68;
57947 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
57948 l_rec_acct_attrs.array_num_value(19) := p_source_69;
57949 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
57950 l_rec_acct_attrs.array_char_value(20) := p_source_66;
57951 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
57952 l_rec_acct_attrs.array_num_value(21) := p_source_70;
57953 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
57954 l_rec_acct_attrs.array_char_value(22) := p_source_71;
57955 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
57956 l_rec_acct_attrs.array_num_value(23) := p_source_72;
57957 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
57958 l_rec_acct_attrs.array_char_value(24) := p_source_66;
57959 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
57960 l_rec_acct_attrs.array_date_value(25) := p_source_136;
57961 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
57962 l_rec_acct_attrs.array_num_value(26) := p_source_137;
57963 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
57964 l_rec_acct_attrs.array_char_value(27) := p_source_138;
57965 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
57966 l_rec_acct_attrs.array_num_value(28) := p_source_21;
57967 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
57968 l_rec_acct_attrs.array_date_value(29) := p_source_76;
57969 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
57970 l_rec_acct_attrs.array_char_value(30) := p_source_77;
57971 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
57972 l_rec_acct_attrs.array_date_value(31) := p_source_78;
57973 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
57974 l_rec_acct_attrs.array_char_value(32) := p_source_79;
57975 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
57976 l_rec_acct_attrs.array_num_value(33) := p_source_80;
57977 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
57978 l_rec_acct_attrs.array_num_value(34) := p_source_81;
57979 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
57980 l_rec_acct_attrs.array_char_value(35) := p_source_82;
57981 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
57982 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
57983 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
57984 l_rec_acct_attrs.array_char_value(37) := p_source_54;
57985 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
57986 l_rec_acct_attrs.array_num_value(38) := p_source_84;
57987 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
57988 l_rec_acct_attrs.array_num_value(39) := p_source_85;
57989 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
57990 l_rec_acct_attrs.array_num_value(40) := p_source_86;
57991 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
57992 l_rec_acct_attrs.array_num_value(41) := p_source_87;
57993 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
57994 l_rec_acct_attrs.array_num_value(42) := p_source_88;
57995 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
57999 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57996 l_rec_acct_attrs.array_num_value(43) := p_source_89;
57997
57998 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58000
58001 ---------------------------------------------------------------------------------------------------------------
58002 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58003 ---------------------------------------------------------------------------------------------------------------
58004 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58005
58006 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58007 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58008
58009 IF xla_accounting_cache_pkg.GetValueChar
58010 (p_source_code => 'LEDGER_CATEGORY_CODE'
58011 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58012 AND l_bflow_method_code = 'PRIOR_ENTRY'
58013 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58014 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58015 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58016 )
58017 THEN
58018 xla_ae_lines_pkg.BflowUpgEntry
58019 (p_business_method_code => l_bflow_method_code
58020 ,p_business_class_code => l_bflow_class_code
58021 ,p_balance_type => l_balance_type_code);
58022 ELSE
58023 NULL;
58024 -- No business flow processing for business flow method of NONE.
58025 END IF;
58026
58027 --
58028 -- call analytical criteria
58029 --
58030
58031
58032 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
58033 xla_ae_lines_pkg.SetAnalyticalCriteria(
58034 p_analytical_criterion_name => 'Project Number'
58035 , p_analytical_criterion_owner => 'S'
58036 , p_analytical_criterion_code => 'PROJECT_NUMBER'
58037 , p_amb_context_code => 'DEFAULT'
58038 , p_balancing_flag => 'N'
58039
58040 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
58041 p_source_146))
58042 , p_analytical_detail_num_1 => NULL
58043 , p_analytical_detail_date_1 => NULL
58044
58045 , p_ae_header_id => l_ae_header_id
58046 )
58047 ;
58048 --
58049
58050 --
58051 -- call description
58052 --
58053
58054 xla_ae_lines_pkg.SetLineDescription(
58055 p_ae_header_id => l_ae_header_id
58056 ,p_description => Description_1 (
58057 p_application_id => p_application_id
58058 , p_ae_header_id => l_ae_header_id
58059 , p_source_1 => p_source_1
58060 )
58061 );
58062
58063
58064 --
58065 -- call ADRs
58066 -- Bug 4922099
58067 --
58068 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58069 (NVL(l_actual_upg_option, 'N') = 'O') OR
58070 (NVL(l_enc_upg_option, 'N') = 'O')
58071 )
58072 THEN
58073 NULL;
58074 --
58075 --
58076
58077 l_ccid := AcctDerRule_33(
58078 p_application_id => p_application_id
58079 , p_ae_header_id => l_ae_header_id
58080 , p_source_30 => p_source_30
58081 , x_transaction_coa_id => l_adr_transaction_coa_id
58082 , x_accounting_coa_id => l_adr_accounting_coa_id
58083 , x_value_type_code => l_adr_value_type_code
58084 , p_side => 'NA'
58085 );
58086
58087 xla_ae_lines_pkg.set_ccid(
58088 p_code_combination_id => l_ccid
58089 , p_value_type_code => l_adr_value_type_code
58090 , p_transaction_coa_id => l_adr_transaction_coa_id
58091 , p_accounting_coa_id => l_adr_accounting_coa_id
58092 , p_adr_code => 'AP_INVOICE_DIST'
58093 , p_adr_type_code => 'S'
58094 , p_component_type => l_component_type
58095 , p_component_code => l_component_code
58096 , p_component_type_code => l_component_type_code
58097 , p_component_appl_id => l_component_appl_id
58098 , p_amb_context_code => l_amb_context_code
58099 , p_side => 'NA'
58100 );
58101
58102
58103 --
58104 --
58105 END IF;
58106 --
58107 -- Bug 4922099
58108 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58109 (NVL(l_enc_upg_option, 'N') = 'O')
58110 ) AND
58111 (l_bflow_method_code = 'PRIOR_ENTRY')
58112 )
58113 THEN
58114 IF
58115 --
58116 1 = 2
58117 --
58118 THEN
58119 xla_accounting_err_pkg.build_message
58120 (p_appli_s_name => 'XLA'
58121 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58122 ,p_token_1 => 'LINE_NUMBER'
58123 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58124 ,p_token_2 => 'LINE_TYPE_NAME'
58128 ,l_component_type_code
58125 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58126 l_component_type
58127 ,l_component_code
58129 ,l_component_appl_id
58130 ,l_amb_context_code
58131 ,l_entity_code
58132 ,l_event_class_code
58133 )
58134 ,p_token_3 => 'OWNER'
58135 ,p_value_3 => xla_lookups_pkg.get_meaning(
58136 p_lookup_type => 'XLA_OWNER_TYPE'
58137 ,p_lookup_code => l_component_type_code
58138 )
58139 ,p_token_4 => 'PRODUCT_NAME'
58140 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58141 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58142 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58143 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58144 ,p_ae_header_id => NULL
58145 );
58146
58147 IF (C_LEVEL_ERROR>= g_log_level) THEN
58148 trace
58149 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58150 ,p_level => C_LEVEL_ERROR
58151 ,p_module => l_log_module);
58152 END IF;
58153 END IF;
58154 END IF;
58155 --
58156 --
58157 ------------------------------------------------------------------------------------------------
58158 -- 4219869 Business Flow
58159 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58160 -- Prior Entry. Currently, the following code is always generated.
58161 ------------------------------------------------------------------------------------------------
58162 XLA_AE_LINES_PKG.ValidateCurrentLine;
58163
58164 ------------------------------------------------------------------------------------
58165 -- 4219869 Business Flow
58166 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58167 ------------------------------------------------------------------------------------
58168 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58169
58170 ----------------------------------------------------------------------------------
58171 -- 4219869 Business Flow
58172 -- Update journal entry status -- Need to generate this within IF <condition>
58173 ----------------------------------------------------------------------------------
58174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58176 ,p_balance_type_code => l_balance_type_code
58177 );
58178
58179 -------------------------------------------------------------------------------------------
58180 -- 4262811 - Generate the Accrual Reversal lines
58181 -------------------------------------------------------------------------------------------
58182 BEGIN
58183 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58184 (g_array_event(p_event_id).array_value_num('header_index'));
58185 IF l_acc_rev_flag IS NULL THEN
58186 l_acc_rev_flag := 'N';
58187 END IF;
58188 EXCEPTION
58189 WHEN OTHERS THEN
58190 l_acc_rev_flag := 'N';
58191 END;
58192 --
58193 IF (l_acc_rev_flag = 'Y') THEN
58194
58195 -- 4645092 ------------------------------------------------------------------------------
58196 -- To allow MPA report to determine if it should generate report process
58197 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58198 ------------------------------------------------------------------------------------------
58199
58200 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58201 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58202 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58203 -- call ADRs
58204 -- Bug 4922099
58205 --
58206 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58207 (NVL(l_actual_upg_option, 'N') = 'O') OR
58208 (NVL(l_enc_upg_option, 'N') = 'O')
58209 )
58210 THEN
58211 NULL;
58212 --
58213 --
58214
58215 l_ccid := AcctDerRule_33(
58216 p_application_id => p_application_id
58217 , p_ae_header_id => l_ae_header_id
58218 , p_source_30 => p_source_30
58219 , x_transaction_coa_id => l_adr_transaction_coa_id
58220 , x_accounting_coa_id => l_adr_accounting_coa_id
58224
58221 , x_value_type_code => l_adr_value_type_code
58222 , p_side => 'NA'
58223 );
58225 xla_ae_lines_pkg.set_ccid(
58226 p_code_combination_id => l_ccid
58227 , p_value_type_code => l_adr_value_type_code
58228 , p_transaction_coa_id => l_adr_transaction_coa_id
58229 , p_accounting_coa_id => l_adr_accounting_coa_id
58230 , p_adr_code => 'AP_INVOICE_DIST'
58231 , p_adr_type_code => 'S'
58232 , p_component_type => l_component_type
58233 , p_component_code => l_component_code
58234 , p_component_type_code => l_component_type_code
58235 , p_component_appl_id => l_component_appl_id
58236 , p_amb_context_code => l_amb_context_code
58237 , p_side => 'NA'
58238 );
58239
58240
58241 --
58242 --
58243 END IF;
58244
58245 --
58246 -- Update the line information that should be overwritten
58247 --
58248 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58249 p_header_num => 1);
58250 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58251
58252 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58253
58254 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58255 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58256 END IF;
58257
58258 --
58259 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58260 --
58261 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58262 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58263 ELSE
58264 ---------------------------------------------------------------------------------------------------
58265 -- 4262811a Switch Sign
58266 ---------------------------------------------------------------------------------------------------
58267 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58268 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58269 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58270 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58271 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58272 -- 5132302
58273 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58274 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58275
58276 END IF;
58277
58278 -- 4955764
58279 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58280 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58281
58282
58283 XLA_AE_LINES_PKG.ValidateCurrentLine;
58284 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58285
58286 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58287 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58288 ,p_balance_type_code => l_balance_type_code);
58289
58290 END IF;
58291
58292 -----------------------------------------------------------------------------------------
58293 -- 4262811 Multiperiod Accounting
58294 -----------------------------------------------------------------------------------------
58295 -- No MPA option is assigned.
58296
58297
58298 END IF;
58299 END IF;
58300 --
58301
58302 --
58303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58304 trace
58305 (p_msg => 'END of AcctLineType_114'
58306 ,p_level => C_LEVEL_PROCEDURE
58307 ,p_module => l_log_module);
58308 END IF;
58309 --
58310 EXCEPTION
58311 WHEN xla_exceptions_pkg.application_exception THEN
58312 RAISE;
58313 WHEN OTHERS THEN
58314 xla_exceptions_pkg.raise_message
58315 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_114');
58316 END AcctLineType_114;
58317 --
58318
58319 ---------------------------------------
58320 --
58321 -- PRIVATE FUNCTION
58322 -- AcctLineType_115
58323 --
58324 ---------------------------------------
58325 PROCEDURE AcctLineType_115 (
58326 p_application_id IN NUMBER
58327 ,p_event_id IN NUMBER
58328 ,p_calculate_acctd_flag IN VARCHAR2
58329 ,p_calculate_g_l_flag IN VARCHAR2
58330 ,p_actual_flag IN OUT VARCHAR2
58331 ,p_balance_type_code OUT VARCHAR2
58332 ,p_gain_or_loss_ref OUT VARCHAR2
58333
58334 --Invoice Distribution Description
58335 , p_source_1 IN VARCHAR2
58336 --Invoice Distribution Ledger Amount
58337 , p_source_21 IN NUMBER
58338 --Invoice Distribution Account
58339 , p_source_30 IN NUMBER
58340 --Invoice Distribution Type
58341 , p_source_33 IN VARCHAR2
58342 , p_source_33_meaning IN VARCHAR2
58343 --Accounting Reversal Indicator
58344 , p_source_52 IN VARCHAR2
58348 , p_source_56 IN NUMBER
58345 --Distribution Link Type
58346 , p_source_54 IN VARCHAR2
58347 --Allocation to Main Distribution Identifier
58349 --Invoice Identifier
58350 , p_source_57 IN NUMBER
58351 --Invoice Distribution Identifier
58352 , p_source_63 IN NUMBER
58353 --Payables Encumbrance Upgrade Credit Account
58354 , p_source_64 IN NUMBER
58355 --Payables Encumbrance Upgrade Credit Amount
58356 , p_source_65 IN NUMBER
58357 --Invoice Currency Code
58358 , p_source_66 IN VARCHAR2
58359 --Payables Encumbrance Upgrade Credit Base Amount
58360 , p_source_67 IN NUMBER
58361 --Payables Encumbrance Upgrade Debit Account
58362 , p_source_68 IN NUMBER
58363 --Payables Encumbrance Upgrade Debit Amount
58364 , p_source_69 IN NUMBER
58365 --Payables Encumbrance Upgrade Debit Base Amount
58366 , p_source_70 IN NUMBER
58367 --Payables Encumbrance Upgrade Option
58368 , p_source_71 IN VARCHAR2
58369 --Invoice Distribution Amount
58370 , p_source_72 IN NUMBER
58371 --Deferred Accounting End Date
58372 , p_source_76 IN DATE
58373 --Deferred Accounting Option
58374 , p_source_77 IN VARCHAR2
58375 --Deferred Accounting Start Date
58376 , p_source_78 IN DATE
58377 --Override Accounted Amount Indicator
58378 , p_source_79 IN VARCHAR2
58379 , p_source_79_meaning IN VARCHAR2
58380 --Invoice Supplier Identifier
58381 , p_source_80 IN NUMBER
58382 --Invoice Supplier Site Identifier
58383 , p_source_81 IN NUMBER
58384 --Third Party Type
58385 , p_source_82 IN VARCHAR2
58386 --Parent Reversal Identifier
58387 , p_source_83 IN NUMBER
58388 --Invoice Distribution Tax Line Identifier
58389 , p_source_85 IN NUMBER
58390 --Invoice Distribution Tax Distribution Identifier from Tax
58391 , p_source_86 IN NUMBER
58392 --Invoice Distribution Summary Tax Line Identifier
58393 , p_source_87 IN NUMBER
58394 --Payables Upgrade Credit Encumbrance Type Identifier
58395 , p_source_88 IN NUMBER
58396 --Payables Upgrade Debit Encumbrance Type Identifier
58397 , p_source_89 IN NUMBER
58398 --Business Flow Accounts Payable Application Identifier
58399 , p_source_90 IN NUMBER
58400 --Business Flow Invoice Distribution Type
58401 , p_source_91 IN VARCHAR2
58402 --Business Flow Invoice Entity Code
58403 , p_source_92 IN VARCHAR2
58404 --Business Flow Invoice Distribution Identifier
58405 , p_source_93 IN NUMBER
58406 --Business Flow Invoice Identifier
58407 , p_source_94 IN NUMBER
58408 --Invoice Exchange Date
58409 , p_source_136 IN DATE
58410 --Invoice Exchange Rate
58411 , p_source_137 IN NUMBER
58412 --Invoice Exchange Rate Type
58413 , p_source_138 IN VARCHAR2
58414 --Project Identifier
58415 , p_source_146 IN NUMBER
58416 )
58417 IS
58418
58419 l_component_type VARCHAR2(80);
58420 l_component_code VARCHAR2(30);
58421 l_component_type_code VARCHAR2(1);
58422 l_component_appl_id INTEGER;
58423 l_amb_context_code VARCHAR2(30);
58424 l_entity_code VARCHAR2(30);
58425 l_event_class_code VARCHAR2(30);
58426 l_ae_header_id NUMBER;
58427 l_event_type_code VARCHAR2(30);
58428 l_line_definition_code VARCHAR2(30);
58429 l_line_definition_owner_code VARCHAR2(1);
58430 --
58431 -- adr variables
58432 l_segment VARCHAR2(30);
58433 l_ccid NUMBER;
58434 l_adr_transaction_coa_id NUMBER;
58435 l_adr_accounting_coa_id NUMBER;
58436 l_adr_flexfield_segment_code VARCHAR2(30);
58437 l_adr_flex_value_set_id NUMBER;
58438 l_adr_value_type_code VARCHAR2(30);
58439 l_adr_value_combination_id NUMBER;
58440 l_adr_value_segment_code VARCHAR2(30);
58441
58442 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58443 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58444 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58445 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58446
58447 -- 4262811 Variables ------------------------------------------------------------------------------------------
58448 l_entered_amt_idx NUMBER;
58449 l_accted_amt_idx NUMBER;
58450 l_acc_rev_flag VARCHAR2(1);
58451 l_accrual_line_num NUMBER;
58452 l_tmp_amt NUMBER;
58453 l_acc_rev_natural_side_code VARCHAR2(1);
58454
58455 l_num_entries NUMBER;
58456 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58457 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58458 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58459 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58460 l_recog_line_1 NUMBER;
58461 l_recog_line_2 NUMBER;
58462
58463 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58464 l_bflow_applied_to_amt NUMBER; -- 5132302
58465 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58466
58470 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58467 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58468
58469 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58471
58472 ---------------------------------------------------------------------------------------------------------------
58473
58474
58475 --
58476 -- bulk performance
58477 --
58478 l_balance_type_code VARCHAR2(1);
58479 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58480 l_log_module VARCHAR2(240);
58481
58482 --
58483 -- Upgrade strategy
58484 --
58485 l_actual_upg_option VARCHAR2(1);
58486 l_enc_upg_option VARCHAR2(1);
58487
58488 --
58489 BEGIN
58490 --
58491 IF g_log_enabled THEN
58492 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_115';
58493 END IF;
58494 --
58495 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58496
58497 trace
58498 (p_msg => 'BEGIN of AcctLineType_115'
58499 ,p_level => C_LEVEL_PROCEDURE
58500 ,p_module => l_log_module);
58501
58502 END IF;
58503 --
58504 l_component_type := 'AMB_JLT';
58505 l_component_code := 'AP_FREIGHT_EXPENSE_DM';
58506 l_component_type_code := 'S';
58507 l_component_appl_id := 200;
58508 l_amb_context_code := 'DEFAULT';
58509 l_entity_code := 'AP_INVOICES';
58510 l_event_class_code := 'DEBIT MEMOS';
58511 l_event_type_code := 'DEBIT MEMOS_ALL';
58512 l_line_definition_owner_code := 'S';
58513 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
58514 --
58515 l_balance_type_code := 'A';
58516 l_segment := NULL;
58517 l_ccid := NULL;
58518 l_adr_transaction_coa_id := NULL;
58519 l_adr_accounting_coa_id := NULL;
58520 l_adr_flexfield_segment_code := NULL;
58521 l_adr_flex_value_set_id := NULL;
58522 l_adr_value_type_code := NULL;
58523 l_adr_value_combination_id := NULL;
58524 l_adr_value_segment_code := NULL;
58525
58526 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58527 l_bflow_class_code := ''; -- 4219869 Business Flow
58528 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58529 l_budgetary_control_flag := 'N';
58530
58531 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58532 l_bflow_applied_to_amt := NULL; -- 5132302
58533 l_entered_amt_idx := NULL; -- 4262811
58534 l_accted_amt_idx := NULL; -- 4262811
58535 l_acc_rev_flag := NULL; -- 4262811
58536 l_accrual_line_num := NULL; -- 4262811
58537 l_tmp_amt := NULL; -- 4262811
58538 --
58539
58540 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58541 l_balance_type_code <> 'B' THEN
58542 IF NVL(p_source_33,'
58543 ') = 'FREIGHT'
58544 THEN
58545
58546 --
58547 XLA_AE_LINES_PKG.SetNewLine;
58548
58549 p_balance_type_code := l_balance_type_code;
58550 -- set the flag so later we will know whether the gain loss line needs to be created
58551
58552 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
58553 p_actual_flag :='A';
58554 END IF;
58555
58556 --
58557 -- bulk performance
58558 --
58559 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58560 p_header_num => 0); -- 4262811
58561 --
58562 -- set accounting line options
58563 --
58564 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58565 p_natural_side_code => 'D'
58566 , p_gain_or_loss_flag => 'N'
58567 , p_gl_transfer_mode_code => 'S'
58568 , p_acct_entry_type_code => 'A'
58569 , p_switch_side_flag => 'Y'
58570 , p_merge_duplicate_code => 'A'
58571 );
58572 --
58573 l_acc_rev_natural_side_code := 'C'; -- 4262811
58574 --
58575 --
58576 -- set accounting line type info
58577 --
58578 xla_ae_lines_pkg.SetAcctLineType
58579 (p_component_type => l_component_type
58580 ,p_event_type_code => l_event_type_code
58581 ,p_line_definition_owner_code => l_line_definition_owner_code
58582 ,p_line_definition_code => l_line_definition_code
58583 ,p_accounting_line_code => l_component_code
58584 ,p_accounting_line_type_code => l_component_type_code
58585 ,p_accounting_line_appl_id => l_component_appl_id
58586 ,p_amb_context_code => l_amb_context_code
58587 ,p_entity_code => l_entity_code
58588 ,p_event_class_code => l_event_class_code);
58589 --
58590 -- set accounting class
58591 --
58592 xla_ae_lines_pkg.SetAcctClass(
58593 p_accounting_class_code => 'FREIGHT'
58594 , p_ae_header_id => l_ae_header_id
58595 );
58596
58597 --
58598 -- set rounding class
58599 --
58600 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58604 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58601 'FREIGHT';
58602
58603 --
58605 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58606 --
58607 -- bulk performance
58608 --
58609 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58610
58611 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58612 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58613
58614 -- 4955764
58615 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58616 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58617
58618 -- 4458381 Public Sector Enh
58619
58620 --
58621 -- set accounting attributes for the line type
58622 --
58623 l_entered_amt_idx := 23;
58624 l_accted_amt_idx := 28;
58625 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58626 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58627 l_rec_acct_attrs.array_char_value(1) := p_source_52;
58628 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58629 l_rec_acct_attrs.array_num_value(2) :=
58630 xla_ae_sources_pkg.GetSystemSourceNum(
58631 p_source_code => 'XLA_EVENT_APPL_ID'
58632 , p_source_type_code => 'Y'
58633 , p_source_application_id => 602
58634 );
58635 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58636 l_rec_acct_attrs.array_char_value(3) := p_source_54;
58637 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58638 l_rec_acct_attrs.array_char_value(4) :=
58639 xla_ae_sources_pkg.GetSystemSourceChar(
58640 p_source_code => 'XLA_ENTITY_CODE'
58641 , p_source_type_code => 'Y'
58642 , p_source_application_id => 602
58643 );
58644 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58645 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
58646 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58647 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
58648 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58649 l_rec_acct_attrs.array_num_value(7) := p_source_90;
58650 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58651 l_rec_acct_attrs.array_char_value(8) := p_source_91;
58652 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58653 l_rec_acct_attrs.array_char_value(9) := p_source_92;
58654 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58655 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
58656 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58657 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
58658 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
58659 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
58660 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
58661 l_rec_acct_attrs.array_char_value(13) := p_source_54;
58662 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
58663 l_rec_acct_attrs.array_num_value(14) := p_source_64;
58664 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
58665 l_rec_acct_attrs.array_num_value(15) := p_source_65;
58666 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
58667 l_rec_acct_attrs.array_char_value(16) := p_source_66;
58668 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
58669 l_rec_acct_attrs.array_num_value(17) := p_source_67;
58670 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
58671 l_rec_acct_attrs.array_num_value(18) := p_source_68;
58672 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
58673 l_rec_acct_attrs.array_num_value(19) := p_source_69;
58674 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
58675 l_rec_acct_attrs.array_char_value(20) := p_source_66;
58676 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
58677 l_rec_acct_attrs.array_num_value(21) := p_source_70;
58678 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
58679 l_rec_acct_attrs.array_char_value(22) := p_source_71;
58680 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
58681 l_rec_acct_attrs.array_num_value(23) := p_source_72;
58682 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
58683 l_rec_acct_attrs.array_char_value(24) := p_source_66;
58684 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
58685 l_rec_acct_attrs.array_date_value(25) := p_source_136;
58686 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
58687 l_rec_acct_attrs.array_num_value(26) := p_source_137;
58688 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
58689 l_rec_acct_attrs.array_char_value(27) := p_source_138;
58690 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
58691 l_rec_acct_attrs.array_num_value(28) := p_source_21;
58692 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
58693 l_rec_acct_attrs.array_date_value(29) := p_source_76;
58694 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
58695 l_rec_acct_attrs.array_char_value(30) := p_source_77;
58699 l_rec_acct_attrs.array_char_value(32) := p_source_79;
58696 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
58697 l_rec_acct_attrs.array_date_value(31) := p_source_78;
58698 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
58700 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
58701 l_rec_acct_attrs.array_num_value(33) := p_source_80;
58702 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
58703 l_rec_acct_attrs.array_num_value(34) := p_source_81;
58704 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
58705 l_rec_acct_attrs.array_char_value(35) := p_source_82;
58706 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
58707 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
58708 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
58709 l_rec_acct_attrs.array_char_value(37) := p_source_54;
58710 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
58711 l_rec_acct_attrs.array_num_value(38) := p_source_85;
58712 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
58713 l_rec_acct_attrs.array_num_value(39) := p_source_86;
58714 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
58715 l_rec_acct_attrs.array_num_value(40) := p_source_87;
58716 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
58717 l_rec_acct_attrs.array_num_value(41) := p_source_88;
58718 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
58719 l_rec_acct_attrs.array_num_value(42) := p_source_89;
58720
58721 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58722 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
58723
58724 ---------------------------------------------------------------------------------------------------------------
58725 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58726 ---------------------------------------------------------------------------------------------------------------
58727 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58728
58729 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58730 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58731
58732 IF xla_accounting_cache_pkg.GetValueChar
58733 (p_source_code => 'LEDGER_CATEGORY_CODE'
58734 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58735 AND l_bflow_method_code = 'PRIOR_ENTRY'
58736 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58737 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58738 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58739 )
58740 THEN
58741 xla_ae_lines_pkg.BflowUpgEntry
58742 (p_business_method_code => l_bflow_method_code
58743 ,p_business_class_code => l_bflow_class_code
58744 ,p_balance_type => l_balance_type_code);
58745 ELSE
58746 NULL;
58747 -- No business flow processing for business flow method of NONE.
58748 END IF;
58749
58750 --
58751 -- call analytical criteria
58752 --
58753
58754
58755 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
58756 xla_ae_lines_pkg.SetAnalyticalCriteria(
58757 p_analytical_criterion_name => 'Project Number'
58758 , p_analytical_criterion_owner => 'S'
58759 , p_analytical_criterion_code => 'PROJECT_NUMBER'
58760 , p_amb_context_code => 'DEFAULT'
58761 , p_balancing_flag => 'N'
58762
58763 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
58764 p_source_146))
58765 , p_analytical_detail_num_1 => NULL
58766 , p_analytical_detail_date_1 => NULL
58767
58768 , p_ae_header_id => l_ae_header_id
58769 )
58770 ;
58771 --
58772
58773 --
58774 -- call description
58775 --
58776
58777 xla_ae_lines_pkg.SetLineDescription(
58778 p_ae_header_id => l_ae_header_id
58779 ,p_description => Description_1 (
58780 p_application_id => p_application_id
58781 , p_ae_header_id => l_ae_header_id
58782 , p_source_1 => p_source_1
58783 )
58784 );
58785
58786
58787 --
58788 -- call ADRs
58789 -- Bug 4922099
58790 --
58791 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58792 (NVL(l_actual_upg_option, 'N') = 'O') OR
58793 (NVL(l_enc_upg_option, 'N') = 'O')
58794 )
58795 THEN
58796 NULL;
58797 --
58798 --
58799
58800 l_ccid := AcctDerRule_33(
58801 p_application_id => p_application_id
58802 , p_ae_header_id => l_ae_header_id
58803 , p_source_30 => p_source_30
58804 , x_transaction_coa_id => l_adr_transaction_coa_id
58805 , x_accounting_coa_id => l_adr_accounting_coa_id
58806 , x_value_type_code => l_adr_value_type_code
58807 , p_side => 'NA'
58808 );
58809
58810 xla_ae_lines_pkg.set_ccid(
58811 p_code_combination_id => l_ccid
58812 , p_value_type_code => l_adr_value_type_code
58813 , p_transaction_coa_id => l_adr_transaction_coa_id
58817 , p_component_type => l_component_type
58814 , p_accounting_coa_id => l_adr_accounting_coa_id
58815 , p_adr_code => 'AP_INVOICE_DIST'
58816 , p_adr_type_code => 'S'
58818 , p_component_code => l_component_code
58819 , p_component_type_code => l_component_type_code
58820 , p_component_appl_id => l_component_appl_id
58821 , p_amb_context_code => l_amb_context_code
58822 , p_side => 'NA'
58823 );
58824
58825
58826 --
58827 --
58828 END IF;
58829 --
58830 -- Bug 4922099
58831 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58832 (NVL(l_enc_upg_option, 'N') = 'O')
58833 ) AND
58834 (l_bflow_method_code = 'PRIOR_ENTRY')
58835 )
58836 THEN
58837 IF
58838 --
58839 1 = 2
58840 --
58841 THEN
58842 xla_accounting_err_pkg.build_message
58843 (p_appli_s_name => 'XLA'
58844 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58845 ,p_token_1 => 'LINE_NUMBER'
58846 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58847 ,p_token_2 => 'LINE_TYPE_NAME'
58848 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58849 l_component_type
58850 ,l_component_code
58851 ,l_component_type_code
58852 ,l_component_appl_id
58853 ,l_amb_context_code
58854 ,l_entity_code
58855 ,l_event_class_code
58856 )
58857 ,p_token_3 => 'OWNER'
58858 ,p_value_3 => xla_lookups_pkg.get_meaning(
58859 p_lookup_type => 'XLA_OWNER_TYPE'
58860 ,p_lookup_code => l_component_type_code
58861 )
58862 ,p_token_4 => 'PRODUCT_NAME'
58863 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58864 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58865 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58866 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58867 ,p_ae_header_id => NULL
58868 );
58869
58870 IF (C_LEVEL_ERROR>= g_log_level) THEN
58871 trace
58872 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58873 ,p_level => C_LEVEL_ERROR
58874 ,p_module => l_log_module);
58875 END IF;
58876 END IF;
58877 END IF;
58878 --
58879 --
58880 ------------------------------------------------------------------------------------------------
58881 -- 4219869 Business Flow
58882 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58883 -- Prior Entry. Currently, the following code is always generated.
58884 ------------------------------------------------------------------------------------------------
58885 XLA_AE_LINES_PKG.ValidateCurrentLine;
58886
58887 ------------------------------------------------------------------------------------
58888 -- 4219869 Business Flow
58889 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58890 ------------------------------------------------------------------------------------
58891 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58892
58893 ----------------------------------------------------------------------------------
58894 -- 4219869 Business Flow
58895 -- Update journal entry status -- Need to generate this within IF <condition>
58896 ----------------------------------------------------------------------------------
58897 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58898 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58899 ,p_balance_type_code => l_balance_type_code
58900 );
58901
58902 -------------------------------------------------------------------------------------------
58903 -- 4262811 - Generate the Accrual Reversal lines
58904 -------------------------------------------------------------------------------------------
58905 BEGIN
58906 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58907 (g_array_event(p_event_id).array_value_num('header_index'));
58908 IF l_acc_rev_flag IS NULL THEN
58912 WHEN OTHERS THEN
58909 l_acc_rev_flag := 'N';
58910 END IF;
58911 EXCEPTION
58913 l_acc_rev_flag := 'N';
58914 END;
58915 --
58916 IF (l_acc_rev_flag = 'Y') THEN
58917
58918 -- 4645092 ------------------------------------------------------------------------------
58919 -- To allow MPA report to determine if it should generate report process
58920 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58921 ------------------------------------------------------------------------------------------
58922
58923 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58924 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58925 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58926 -- call ADRs
58927 -- Bug 4922099
58928 --
58929 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58930 (NVL(l_actual_upg_option, 'N') = 'O') OR
58931 (NVL(l_enc_upg_option, 'N') = 'O')
58932 )
58933 THEN
58934 NULL;
58935 --
58936 --
58937
58938 l_ccid := AcctDerRule_33(
58939 p_application_id => p_application_id
58940 , p_ae_header_id => l_ae_header_id
58941 , p_source_30 => p_source_30
58942 , x_transaction_coa_id => l_adr_transaction_coa_id
58943 , x_accounting_coa_id => l_adr_accounting_coa_id
58944 , x_value_type_code => l_adr_value_type_code
58945 , p_side => 'NA'
58946 );
58947
58948 xla_ae_lines_pkg.set_ccid(
58949 p_code_combination_id => l_ccid
58950 , p_value_type_code => l_adr_value_type_code
58951 , p_transaction_coa_id => l_adr_transaction_coa_id
58952 , p_accounting_coa_id => l_adr_accounting_coa_id
58953 , p_adr_code => 'AP_INVOICE_DIST'
58954 , p_adr_type_code => 'S'
58955 , p_component_type => l_component_type
58956 , p_component_code => l_component_code
58957 , p_component_type_code => l_component_type_code
58958 , p_component_appl_id => l_component_appl_id
58959 , p_amb_context_code => l_amb_context_code
58960 , p_side => 'NA'
58961 );
58962
58963
58964 --
58965 --
58966 END IF;
58967
58968 --
58969 -- Update the line information that should be overwritten
58970 --
58971 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58972 p_header_num => 1);
58973 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58974
58975 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58976
58977 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58978 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58979 END IF;
58980
58981 --
58982 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58983 --
58984 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58985 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58986 ELSE
58987 ---------------------------------------------------------------------------------------------------
58988 -- 4262811a Switch Sign
58989 ---------------------------------------------------------------------------------------------------
58990 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58991 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58992 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58993 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58994 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58995 -- 5132302
58996 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58997 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58998
58999 END IF;
59000
59001 -- 4955764
59002 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59003 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59004
59005
59006 XLA_AE_LINES_PKG.ValidateCurrentLine;
59007 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59008
59009 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59010 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59011 ,p_balance_type_code => l_balance_type_code);
59012
59013 END IF;
59014
59015 -----------------------------------------------------------------------------------------
59016 -- 4262811 Multiperiod Accounting
59017 -----------------------------------------------------------------------------------------
59018 -- No MPA option is assigned.
59019
59020
59021 END IF;
59022 END IF;
59023 --
59024
59025 --
59026 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59027 trace
59031 END IF;
59028 (p_msg => 'END of AcctLineType_115'
59029 ,p_level => C_LEVEL_PROCEDURE
59030 ,p_module => l_log_module);
59032 --
59033 EXCEPTION
59034 WHEN xla_exceptions_pkg.application_exception THEN
59035 RAISE;
59036 WHEN OTHERS THEN
59037 xla_exceptions_pkg.raise_message
59038 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_115');
59039 END AcctLineType_115;
59040 --
59041
59042 ---------------------------------------
59043 --
59044 -- PRIVATE FUNCTION
59045 -- AcctLineType_116
59046 --
59047 ---------------------------------------
59048 PROCEDURE AcctLineType_116 (
59049 p_application_id IN NUMBER
59050 ,p_event_id IN NUMBER
59051 ,p_calculate_acctd_flag IN VARCHAR2
59052 ,p_calculate_g_l_flag IN VARCHAR2
59053 ,p_actual_flag IN OUT VARCHAR2
59054 ,p_balance_type_code OUT VARCHAR2
59055 ,p_gain_or_loss_ref OUT VARCHAR2
59056
59057 --Invoice Distribution Description
59058 , p_source_1 IN VARCHAR2
59059 --Invoice Distribution Ledger Amount
59060 , p_source_21 IN NUMBER
59061 --Invoice Distribution Account
59062 , p_source_30 IN NUMBER
59063 --Invoice Distribution Type
59064 , p_source_33 IN VARCHAR2
59065 , p_source_33_meaning IN VARCHAR2
59066 --Accounting Reversal Indicator
59067 , p_source_52 IN VARCHAR2
59068 --Distribution Link Type
59069 , p_source_54 IN VARCHAR2
59070 --Allocation to Main Distribution Identifier
59071 , p_source_56 IN NUMBER
59072 --Invoice Identifier
59073 , p_source_57 IN NUMBER
59074 --Invoice Distribution Identifier
59075 , p_source_63 IN NUMBER
59076 --Payables Encumbrance Upgrade Credit Account
59077 , p_source_64 IN NUMBER
59078 --Payables Encumbrance Upgrade Credit Amount
59079 , p_source_65 IN NUMBER
59080 --Invoice Currency Code
59081 , p_source_66 IN VARCHAR2
59082 --Payables Encumbrance Upgrade Credit Base Amount
59083 , p_source_67 IN NUMBER
59084 --Payables Encumbrance Upgrade Debit Account
59085 , p_source_68 IN NUMBER
59086 --Payables Encumbrance Upgrade Debit Amount
59087 , p_source_69 IN NUMBER
59088 --Payables Encumbrance Upgrade Debit Base Amount
59089 , p_source_70 IN NUMBER
59090 --Payables Encumbrance Upgrade Option
59091 , p_source_71 IN VARCHAR2
59092 --Invoice Distribution Amount
59093 , p_source_72 IN NUMBER
59094 --Deferred Accounting End Date
59095 , p_source_76 IN DATE
59096 --Deferred Accounting Option
59097 , p_source_77 IN VARCHAR2
59098 --Deferred Accounting Start Date
59099 , p_source_78 IN DATE
59100 --Override Accounted Amount Indicator
59101 , p_source_79 IN VARCHAR2
59102 , p_source_79_meaning IN VARCHAR2
59103 --Invoice Supplier Identifier
59104 , p_source_80 IN NUMBER
59105 --Invoice Supplier Site Identifier
59106 , p_source_81 IN NUMBER
59107 --Third Party Type
59108 , p_source_82 IN VARCHAR2
59109 --Parent Reversal Identifier
59110 , p_source_83 IN NUMBER
59111 --Invoice Distribution Statistical Amount
59112 , p_source_84 IN NUMBER
59113 --Invoice Distribution Tax Line Identifier
59114 , p_source_85 IN NUMBER
59115 --Invoice Distribution Tax Distribution Identifier from Tax
59116 , p_source_86 IN NUMBER
59117 --Invoice Distribution Summary Tax Line Identifier
59118 , p_source_87 IN NUMBER
59119 --Payables Upgrade Credit Encumbrance Type Identifier
59120 , p_source_88 IN NUMBER
59121 --Payables Upgrade Debit Encumbrance Type Identifier
59122 , p_source_89 IN NUMBER
59123 --Business Flow Accounts Payable Application Identifier
59124 , p_source_90 IN NUMBER
59125 --Business Flow Invoice Distribution Type
59126 , p_source_91 IN VARCHAR2
59127 --Business Flow Invoice Entity Code
59128 , p_source_92 IN VARCHAR2
59129 --Business Flow Invoice Distribution Identifier
59130 , p_source_93 IN NUMBER
59131 --Business Flow Invoice Identifier
59132 , p_source_94 IN NUMBER
59133 --Invoice Exchange Date
59134 , p_source_136 IN DATE
59135 --Invoice Exchange Rate
59136 , p_source_137 IN NUMBER
59137 --Invoice Exchange Rate Type
59138 , p_source_138 IN VARCHAR2
59139 --Project Identifier
59140 , p_source_146 IN NUMBER
59141 )
59142 IS
59143
59144 l_component_type VARCHAR2(80);
59145 l_component_code VARCHAR2(30);
59146 l_component_type_code VARCHAR2(1);
59147 l_component_appl_id INTEGER;
59148 l_amb_context_code VARCHAR2(30);
59149 l_entity_code VARCHAR2(30);
59150 l_event_class_code VARCHAR2(30);
59151 l_ae_header_id NUMBER;
59152 l_event_type_code VARCHAR2(30);
59153 l_line_definition_code VARCHAR2(30);
59154 l_line_definition_owner_code VARCHAR2(1);
59155 --
59156 -- adr variables
59157 l_segment VARCHAR2(30);
59158 l_ccid NUMBER;
59159 l_adr_transaction_coa_id NUMBER;
59160 l_adr_accounting_coa_id NUMBER;
59164 l_adr_value_combination_id NUMBER;
59161 l_adr_flexfield_segment_code VARCHAR2(30);
59162 l_adr_flex_value_set_id NUMBER;
59163 l_adr_value_type_code VARCHAR2(30);
59165 l_adr_value_segment_code VARCHAR2(30);
59166
59167 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59168 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59169 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59170 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59171
59172 -- 4262811 Variables ------------------------------------------------------------------------------------------
59173 l_entered_amt_idx NUMBER;
59174 l_accted_amt_idx NUMBER;
59175 l_acc_rev_flag VARCHAR2(1);
59176 l_accrual_line_num NUMBER;
59177 l_tmp_amt NUMBER;
59178 l_acc_rev_natural_side_code VARCHAR2(1);
59179
59180 l_num_entries NUMBER;
59181 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59182 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59183 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59184 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59185 l_recog_line_1 NUMBER;
59186 l_recog_line_2 NUMBER;
59187
59188 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59189 l_bflow_applied_to_amt NUMBER; -- 5132302
59190 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59191
59192 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59193
59194 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59195 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59196
59197 ---------------------------------------------------------------------------------------------------------------
59198
59199
59200 --
59201 -- bulk performance
59202 --
59203 l_balance_type_code VARCHAR2(1);
59204 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59205 l_log_module VARCHAR2(240);
59206
59207 --
59208 -- Upgrade strategy
59209 --
59210 l_actual_upg_option VARCHAR2(1);
59211 l_enc_upg_option VARCHAR2(1);
59212
59213 --
59214 BEGIN
59215 --
59216 IF g_log_enabled THEN
59217 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_116';
59218 END IF;
59219 --
59220 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59221
59222 trace
59223 (p_msg => 'BEGIN of AcctLineType_116'
59224 ,p_level => C_LEVEL_PROCEDURE
59225 ,p_module => l_log_module);
59226
59227 END IF;
59228 --
59229 l_component_type := 'AMB_JLT';
59230 l_component_code := 'AP_FREIGHT_EXPENSE_INV';
59231 l_component_type_code := 'S';
59232 l_component_appl_id := 200;
59233 l_amb_context_code := 'DEFAULT';
59234 l_entity_code := 'AP_INVOICES';
59235 l_event_class_code := 'INVOICES';
59236 l_event_type_code := 'INVOICES_ALL';
59237 l_line_definition_owner_code := 'S';
59238 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
59239 --
59240 l_balance_type_code := 'A';
59241 l_segment := NULL;
59242 l_ccid := NULL;
59243 l_adr_transaction_coa_id := NULL;
59244 l_adr_accounting_coa_id := NULL;
59245 l_adr_flexfield_segment_code := NULL;
59246 l_adr_flex_value_set_id := NULL;
59247 l_adr_value_type_code := NULL;
59248 l_adr_value_combination_id := NULL;
59249 l_adr_value_segment_code := NULL;
59250
59251 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59252 l_bflow_class_code := ''; -- 4219869 Business Flow
59253 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59254 l_budgetary_control_flag := 'N';
59255
59256 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59257 l_bflow_applied_to_amt := NULL; -- 5132302
59258 l_entered_amt_idx := NULL; -- 4262811
59259 l_accted_amt_idx := NULL; -- 4262811
59260 l_acc_rev_flag := NULL; -- 4262811
59261 l_accrual_line_num := NULL; -- 4262811
59262 l_tmp_amt := NULL; -- 4262811
59263 --
59264
59265 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59266 l_balance_type_code <> 'B' THEN
59267 IF NVL(p_source_33,'
59268 ') = 'FREIGHT'
59269 THEN
59270
59271 --
59272 XLA_AE_LINES_PKG.SetNewLine;
59273
59274 p_balance_type_code := l_balance_type_code;
59275 -- set the flag so later we will know whether the gain loss line needs to be created
59276
59277 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59278 p_actual_flag :='A';
59279 END IF;
59280
59281 --
59282 -- bulk performance
59283 --
59284 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59285 p_header_num => 0); -- 4262811
59286 --
59287 -- set accounting line options
59288 --
59292 , p_gl_transfer_mode_code => 'S'
59289 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59290 p_natural_side_code => 'D'
59291 , p_gain_or_loss_flag => 'N'
59293 , p_acct_entry_type_code => 'A'
59294 , p_switch_side_flag => 'Y'
59295 , p_merge_duplicate_code => 'A'
59296 );
59297 --
59298 l_acc_rev_natural_side_code := 'C'; -- 4262811
59299 --
59300 --
59301 -- set accounting line type info
59302 --
59303 xla_ae_lines_pkg.SetAcctLineType
59304 (p_component_type => l_component_type
59305 ,p_event_type_code => l_event_type_code
59306 ,p_line_definition_owner_code => l_line_definition_owner_code
59307 ,p_line_definition_code => l_line_definition_code
59308 ,p_accounting_line_code => l_component_code
59309 ,p_accounting_line_type_code => l_component_type_code
59310 ,p_accounting_line_appl_id => l_component_appl_id
59311 ,p_amb_context_code => l_amb_context_code
59312 ,p_entity_code => l_entity_code
59313 ,p_event_class_code => l_event_class_code);
59314 --
59315 -- set accounting class
59316 --
59317 xla_ae_lines_pkg.SetAcctClass(
59318 p_accounting_class_code => 'FREIGHT'
59319 , p_ae_header_id => l_ae_header_id
59320 );
59321
59322 --
59323 -- set rounding class
59324 --
59325 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59326 'FREIGHT';
59327
59328 --
59329 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59330 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59331 --
59332 -- bulk performance
59333 --
59334 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59335
59336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59337 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59338
59339 -- 4955764
59340 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59341 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59342
59343 -- 4458381 Public Sector Enh
59344
59345 --
59346 -- set accounting attributes for the line type
59347 --
59348 l_entered_amt_idx := 24;
59349 l_accted_amt_idx := 29;
59350 l_bflow_applied_to_amt_idx := 7; -- 5132302
59351 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59352 l_rec_acct_attrs.array_char_value(1) := p_source_52;
59353 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59354 l_rec_acct_attrs.array_num_value(2) :=
59355 xla_ae_sources_pkg.GetSystemSourceNum(
59356 p_source_code => 'XLA_EVENT_APPL_ID'
59357 , p_source_type_code => 'Y'
59358 , p_source_application_id => 602
59359 );
59360 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59361 l_rec_acct_attrs.array_char_value(3) := p_source_54;
59362 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59363 l_rec_acct_attrs.array_char_value(4) :=
59364 xla_ae_sources_pkg.GetSystemSourceChar(
59365 p_source_code => 'XLA_ENTITY_CODE'
59366 , p_source_type_code => 'Y'
59367 , p_source_application_id => 602
59368 );
59369 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59370 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
59371 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59372 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
59373 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
59374 l_rec_acct_attrs.array_num_value(7) := p_source_72;
59375 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
59376 l_rec_acct_attrs.array_num_value(8) := p_source_90;
59377 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59378 l_rec_acct_attrs.array_char_value(9) := p_source_91;
59379 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
59380 l_rec_acct_attrs.array_char_value(10) := p_source_92;
59381 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
59382 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
59383 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59384 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
59385 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
59386 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
59387 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
59388 l_rec_acct_attrs.array_char_value(14) := p_source_54;
59389 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
59390 l_rec_acct_attrs.array_num_value(15) := p_source_64;
59391 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
59392 l_rec_acct_attrs.array_num_value(16) := p_source_65;
59393 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
59394 l_rec_acct_attrs.array_char_value(17) := p_source_66;
59395 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
59396 l_rec_acct_attrs.array_num_value(18) := p_source_67;
59400 l_rec_acct_attrs.array_num_value(20) := p_source_69;
59397 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
59398 l_rec_acct_attrs.array_num_value(19) := p_source_68;
59399 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
59401 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
59402 l_rec_acct_attrs.array_char_value(21) := p_source_66;
59403 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
59404 l_rec_acct_attrs.array_num_value(22) := p_source_70;
59405 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
59406 l_rec_acct_attrs.array_char_value(23) := p_source_71;
59407 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
59408 l_rec_acct_attrs.array_num_value(24) := p_source_72;
59409 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
59410 l_rec_acct_attrs.array_char_value(25) := p_source_66;
59411 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
59412 l_rec_acct_attrs.array_date_value(26) := p_source_136;
59413 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
59414 l_rec_acct_attrs.array_num_value(27) := p_source_137;
59415 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
59416 l_rec_acct_attrs.array_char_value(28) := p_source_138;
59417 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
59418 l_rec_acct_attrs.array_num_value(29) := p_source_21;
59419 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
59420 l_rec_acct_attrs.array_date_value(30) := p_source_76;
59421 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
59422 l_rec_acct_attrs.array_char_value(31) := p_source_77;
59423 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
59424 l_rec_acct_attrs.array_date_value(32) := p_source_78;
59425 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
59426 l_rec_acct_attrs.array_char_value(33) := p_source_79;
59427 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
59428 l_rec_acct_attrs.array_num_value(34) := p_source_80;
59429 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
59430 l_rec_acct_attrs.array_num_value(35) := p_source_81;
59431 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
59432 l_rec_acct_attrs.array_char_value(36) := p_source_82;
59433 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
59434 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
59435 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
59436 l_rec_acct_attrs.array_char_value(38) := p_source_54;
59437 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
59438 l_rec_acct_attrs.array_num_value(39) := p_source_84;
59439 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
59440 l_rec_acct_attrs.array_num_value(40) := p_source_85;
59441 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
59442 l_rec_acct_attrs.array_num_value(41) := p_source_86;
59443 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
59444 l_rec_acct_attrs.array_num_value(42) := p_source_87;
59445 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
59446 l_rec_acct_attrs.array_num_value(43) := p_source_88;
59447 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
59448 l_rec_acct_attrs.array_num_value(44) := p_source_89;
59449
59450 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59451 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59452
59453 ---------------------------------------------------------------------------------------------------------------
59454 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59455 ---------------------------------------------------------------------------------------------------------------
59456 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59457
59458 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59459 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59460
59461 IF xla_accounting_cache_pkg.GetValueChar
59462 (p_source_code => 'LEDGER_CATEGORY_CODE'
59463 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59464 AND l_bflow_method_code = 'PRIOR_ENTRY'
59465 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59466 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59467 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59468 )
59469 THEN
59470 xla_ae_lines_pkg.BflowUpgEntry
59471 (p_business_method_code => l_bflow_method_code
59472 ,p_business_class_code => l_bflow_class_code
59473 ,p_balance_type => l_balance_type_code);
59474 ELSE
59475 NULL;
59476 -- No business flow processing for business flow method of NONE.
59477 END IF;
59478
59479 --
59480 -- call analytical criteria
59481 --
59482
59483
59484 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
59485 xla_ae_lines_pkg.SetAnalyticalCriteria(
59486 p_analytical_criterion_name => 'Project Number'
59487 , p_analytical_criterion_owner => 'S'
59488 , p_analytical_criterion_code => 'PROJECT_NUMBER'
59492 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
59489 , p_amb_context_code => 'DEFAULT'
59490 , p_balancing_flag => 'N'
59491
59493 p_source_146))
59494 , p_analytical_detail_num_1 => NULL
59495 , p_analytical_detail_date_1 => NULL
59496
59497 , p_ae_header_id => l_ae_header_id
59498 )
59499 ;
59500 --
59501
59502 --
59503 -- call description
59504 --
59505
59506 xla_ae_lines_pkg.SetLineDescription(
59507 p_ae_header_id => l_ae_header_id
59508 ,p_description => Description_1 (
59509 p_application_id => p_application_id
59510 , p_ae_header_id => l_ae_header_id
59511 , p_source_1 => p_source_1
59512 )
59513 );
59514
59515
59516 --
59517 -- call ADRs
59518 -- Bug 4922099
59519 --
59520 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59521 (NVL(l_actual_upg_option, 'N') = 'O') OR
59522 (NVL(l_enc_upg_option, 'N') = 'O')
59523 )
59524 THEN
59525 NULL;
59526 --
59527 --
59528
59529 l_ccid := AcctDerRule_33(
59530 p_application_id => p_application_id
59531 , p_ae_header_id => l_ae_header_id
59532 , p_source_30 => p_source_30
59533 , x_transaction_coa_id => l_adr_transaction_coa_id
59534 , x_accounting_coa_id => l_adr_accounting_coa_id
59535 , x_value_type_code => l_adr_value_type_code
59536 , p_side => 'NA'
59537 );
59538
59539 xla_ae_lines_pkg.set_ccid(
59540 p_code_combination_id => l_ccid
59541 , p_value_type_code => l_adr_value_type_code
59542 , p_transaction_coa_id => l_adr_transaction_coa_id
59543 , p_accounting_coa_id => l_adr_accounting_coa_id
59544 , p_adr_code => 'AP_INVOICE_DIST'
59545 , p_adr_type_code => 'S'
59546 , p_component_type => l_component_type
59547 , p_component_code => l_component_code
59548 , p_component_type_code => l_component_type_code
59549 , p_component_appl_id => l_component_appl_id
59550 , p_amb_context_code => l_amb_context_code
59551 , p_side => 'NA'
59552 );
59553
59554
59555 --
59556 --
59557 END IF;
59558 --
59559 -- Bug 4922099
59560 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59561 (NVL(l_enc_upg_option, 'N') = 'O')
59562 ) AND
59563 (l_bflow_method_code = 'PRIOR_ENTRY')
59564 )
59565 THEN
59566 IF
59567 --
59568 1 = 2
59569 --
59570 THEN
59571 xla_accounting_err_pkg.build_message
59572 (p_appli_s_name => 'XLA'
59573 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59574 ,p_token_1 => 'LINE_NUMBER'
59575 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59576 ,p_token_2 => 'LINE_TYPE_NAME'
59577 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59578 l_component_type
59579 ,l_component_code
59580 ,l_component_type_code
59581 ,l_component_appl_id
59582 ,l_amb_context_code
59583 ,l_entity_code
59584 ,l_event_class_code
59585 )
59586 ,p_token_3 => 'OWNER'
59587 ,p_value_3 => xla_lookups_pkg.get_meaning(
59588 p_lookup_type => 'XLA_OWNER_TYPE'
59589 ,p_lookup_code => l_component_type_code
59590 )
59591 ,p_token_4 => 'PRODUCT_NAME'
59592 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59593 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59594 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59595 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59596 ,p_ae_header_id => NULL
59597 );
59598
59599 IF (C_LEVEL_ERROR>= g_log_level) THEN
59600 trace
59601 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59602 ,p_level => C_LEVEL_ERROR
59603 ,p_module => l_log_module);
59604 END IF;
59605 END IF;
59606 END IF;
59607 --
59608 --
59612 -- Prior Entry. Currently, the following code is always generated.
59609 ------------------------------------------------------------------------------------------------
59610 -- 4219869 Business Flow
59611 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59613 ------------------------------------------------------------------------------------------------
59614 XLA_AE_LINES_PKG.ValidateCurrentLine;
59615
59616 ------------------------------------------------------------------------------------
59617 -- 4219869 Business Flow
59618 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59619 ------------------------------------------------------------------------------------
59620 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59621
59622 ----------------------------------------------------------------------------------
59623 -- 4219869 Business Flow
59624 -- Update journal entry status -- Need to generate this within IF <condition>
59625 ----------------------------------------------------------------------------------
59626 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59627 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59628 ,p_balance_type_code => l_balance_type_code
59629 );
59630
59631 -------------------------------------------------------------------------------------------
59632 -- 4262811 - Generate the Accrual Reversal lines
59633 -------------------------------------------------------------------------------------------
59634 BEGIN
59635 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59636 (g_array_event(p_event_id).array_value_num('header_index'));
59637 IF l_acc_rev_flag IS NULL THEN
59638 l_acc_rev_flag := 'N';
59639 END IF;
59640 EXCEPTION
59641 WHEN OTHERS THEN
59642 l_acc_rev_flag := 'N';
59643 END;
59644 --
59645 IF (l_acc_rev_flag = 'Y') THEN
59646
59647 -- 4645092 ------------------------------------------------------------------------------
59648 -- To allow MPA report to determine if it should generate report process
59649 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59650 ------------------------------------------------------------------------------------------
59651
59652 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59653 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59654 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59655 -- call ADRs
59656 -- Bug 4922099
59657 --
59658 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59659 (NVL(l_actual_upg_option, 'N') = 'O') OR
59660 (NVL(l_enc_upg_option, 'N') = 'O')
59661 )
59662 THEN
59663 NULL;
59664 --
59665 --
59666
59667 l_ccid := AcctDerRule_33(
59668 p_application_id => p_application_id
59669 , p_ae_header_id => l_ae_header_id
59670 , p_source_30 => p_source_30
59671 , x_transaction_coa_id => l_adr_transaction_coa_id
59672 , x_accounting_coa_id => l_adr_accounting_coa_id
59673 , x_value_type_code => l_adr_value_type_code
59674 , p_side => 'NA'
59675 );
59676
59677 xla_ae_lines_pkg.set_ccid(
59678 p_code_combination_id => l_ccid
59679 , p_value_type_code => l_adr_value_type_code
59680 , p_transaction_coa_id => l_adr_transaction_coa_id
59681 , p_accounting_coa_id => l_adr_accounting_coa_id
59682 , p_adr_code => 'AP_INVOICE_DIST'
59683 , p_adr_type_code => 'S'
59684 , p_component_type => l_component_type
59685 , p_component_code => l_component_code
59686 , p_component_type_code => l_component_type_code
59687 , p_component_appl_id => l_component_appl_id
59688 , p_amb_context_code => l_amb_context_code
59689 , p_side => 'NA'
59690 );
59691
59692
59693 --
59694 --
59695 END IF;
59696
59697 --
59698 -- Update the line information that should be overwritten
59699 --
59700 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59701 p_header_num => 1);
59702 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59703
59704 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59705
59706 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59707 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59708 END IF;
59709
59710 --
59711 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59712 --
59713 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59714 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59715 ELSE
59716 ---------------------------------------------------------------------------------------------------
59717 -- 4262811a Switch Sign
59721 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59718 ---------------------------------------------------------------------------------------------------
59719 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59720 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59722 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59723 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59724 -- 5132302
59725 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59726 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59727
59728 END IF;
59729
59730 -- 4955764
59731 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59732 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59733
59734
59735 XLA_AE_LINES_PKG.ValidateCurrentLine;
59736 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59737
59738 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59739 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59740 ,p_balance_type_code => l_balance_type_code);
59741
59742 END IF;
59743
59744 -----------------------------------------------------------------------------------------
59745 -- 4262811 Multiperiod Accounting
59746 -----------------------------------------------------------------------------------------
59747 -- No MPA option is assigned.
59748
59749
59750 END IF;
59751 END IF;
59752 --
59753
59754 --
59755 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59756 trace
59757 (p_msg => 'END of AcctLineType_116'
59758 ,p_level => C_LEVEL_PROCEDURE
59759 ,p_module => l_log_module);
59760 END IF;
59761 --
59762 EXCEPTION
59763 WHEN xla_exceptions_pkg.application_exception THEN
59764 RAISE;
59765 WHEN OTHERS THEN
59766 xla_exceptions_pkg.raise_message
59767 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_116');
59768 END AcctLineType_116;
59769 --
59770
59771 ---------------------------------------
59772 --
59773 -- PRIVATE FUNCTION
59774 -- AcctLineType_117
59775 --
59776 ---------------------------------------
59777 PROCEDURE AcctLineType_117 (
59778 p_application_id IN NUMBER
59779 ,p_event_id IN NUMBER
59780 ,p_calculate_acctd_flag IN VARCHAR2
59781 ,p_calculate_g_l_flag IN VARCHAR2
59782 ,p_actual_flag IN OUT VARCHAR2
59783 ,p_balance_type_code OUT VARCHAR2
59784 ,p_gain_or_loss_ref OUT VARCHAR2
59785
59786 --Invoice Distribution Description
59787 , p_source_1 IN VARCHAR2
59788 --Invoice Distribution Ledger Amount
59789 , p_source_21 IN NUMBER
59790 --Invoice Distribution Account
59791 , p_source_30 IN NUMBER
59792 --Invoice Distribution Type
59793 , p_source_33 IN VARCHAR2
59794 , p_source_33_meaning IN VARCHAR2
59795 --Accounting Reversal Indicator
59796 , p_source_52 IN VARCHAR2
59797 --Distribution Link Type
59798 , p_source_54 IN VARCHAR2
59799 --Allocation to Main Distribution Identifier
59800 , p_source_56 IN NUMBER
59801 --Invoice Identifier
59802 , p_source_57 IN NUMBER
59803 --Invoice Distribution Identifier
59804 , p_source_63 IN NUMBER
59805 --Payables Encumbrance Upgrade Credit Account
59806 , p_source_64 IN NUMBER
59807 --Payables Encumbrance Upgrade Credit Amount
59808 , p_source_65 IN NUMBER
59809 --Invoice Currency Code
59810 , p_source_66 IN VARCHAR2
59811 --Payables Encumbrance Upgrade Credit Base Amount
59812 , p_source_67 IN NUMBER
59813 --Payables Encumbrance Upgrade Debit Account
59814 , p_source_68 IN NUMBER
59815 --Payables Encumbrance Upgrade Debit Amount
59816 , p_source_69 IN NUMBER
59817 --Payables Encumbrance Upgrade Debit Base Amount
59818 , p_source_70 IN NUMBER
59819 --Payables Encumbrance Upgrade Option
59820 , p_source_71 IN VARCHAR2
59821 --Invoice Distribution Amount
59822 , p_source_72 IN NUMBER
59823 --Deferred Accounting End Date
59824 , p_source_76 IN DATE
59825 --Deferred Accounting Option
59826 , p_source_77 IN VARCHAR2
59827 --Deferred Accounting Start Date
59828 , p_source_78 IN DATE
59829 --Override Accounted Amount Indicator
59830 , p_source_79 IN VARCHAR2
59831 , p_source_79_meaning IN VARCHAR2
59832 --Invoice Supplier Identifier
59833 , p_source_80 IN NUMBER
59834 --Invoice Supplier Site Identifier
59835 , p_source_81 IN NUMBER
59836 --Third Party Type
59837 , p_source_82 IN VARCHAR2
59838 --Parent Reversal Identifier
59839 , p_source_83 IN NUMBER
59840 --Invoice Distribution Statistical Amount
59841 , p_source_84 IN NUMBER
59842 --Invoice Distribution Tax Line Identifier
59843 , p_source_85 IN NUMBER
59844 --Invoice Distribution Tax Distribution Identifier from Tax
59848 --Payables Upgrade Credit Encumbrance Type Identifier
59845 , p_source_86 IN NUMBER
59846 --Invoice Distribution Summary Tax Line Identifier
59847 , p_source_87 IN NUMBER
59849 , p_source_88 IN NUMBER
59850 --Payables Upgrade Debit Encumbrance Type Identifier
59851 , p_source_89 IN NUMBER
59852 --Business Flow Accounts Payable Application Identifier
59853 , p_source_90 IN NUMBER
59854 --Business Flow Invoice Distribution Type
59855 , p_source_91 IN VARCHAR2
59856 --Business Flow Invoice Entity Code
59857 , p_source_92 IN VARCHAR2
59858 --Business Flow Invoice Distribution Identifier
59859 , p_source_93 IN NUMBER
59860 --Business Flow Invoice Identifier
59861 , p_source_94 IN NUMBER
59862 --Invoice Exchange Date
59863 , p_source_136 IN DATE
59864 --Invoice Exchange Rate
59865 , p_source_137 IN NUMBER
59866 --Invoice Exchange Rate Type
59867 , p_source_138 IN VARCHAR2
59868 --Project Identifier
59869 , p_source_146 IN NUMBER
59870 )
59871 IS
59872
59873 l_component_type VARCHAR2(80);
59874 l_component_code VARCHAR2(30);
59875 l_component_type_code VARCHAR2(1);
59876 l_component_appl_id INTEGER;
59877 l_amb_context_code VARCHAR2(30);
59878 l_entity_code VARCHAR2(30);
59879 l_event_class_code VARCHAR2(30);
59880 l_ae_header_id NUMBER;
59881 l_event_type_code VARCHAR2(30);
59882 l_line_definition_code VARCHAR2(30);
59883 l_line_definition_owner_code VARCHAR2(1);
59884 --
59885 -- adr variables
59886 l_segment VARCHAR2(30);
59887 l_ccid NUMBER;
59888 l_adr_transaction_coa_id NUMBER;
59889 l_adr_accounting_coa_id NUMBER;
59890 l_adr_flexfield_segment_code VARCHAR2(30);
59891 l_adr_flex_value_set_id NUMBER;
59892 l_adr_value_type_code VARCHAR2(30);
59893 l_adr_value_combination_id NUMBER;
59894 l_adr_value_segment_code VARCHAR2(30);
59895
59896 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59897 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59898 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59899 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59900
59901 -- 4262811 Variables ------------------------------------------------------------------------------------------
59902 l_entered_amt_idx NUMBER;
59903 l_accted_amt_idx NUMBER;
59904 l_acc_rev_flag VARCHAR2(1);
59905 l_accrual_line_num NUMBER;
59906 l_tmp_amt NUMBER;
59907 l_acc_rev_natural_side_code VARCHAR2(1);
59908
59909 l_num_entries NUMBER;
59910 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59911 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59912 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59913 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59914 l_recog_line_1 NUMBER;
59915 l_recog_line_2 NUMBER;
59916
59917 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59918 l_bflow_applied_to_amt NUMBER; -- 5132302
59919 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59920
59921 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59922
59923 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59924 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59925
59926 ---------------------------------------------------------------------------------------------------------------
59927
59928
59929 --
59930 -- bulk performance
59931 --
59932 l_balance_type_code VARCHAR2(1);
59933 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59934 l_log_module VARCHAR2(240);
59935
59936 --
59937 -- Upgrade strategy
59938 --
59939 l_actual_upg_option VARCHAR2(1);
59940 l_enc_upg_option VARCHAR2(1);
59941
59942 --
59943 BEGIN
59944 --
59945 IF g_log_enabled THEN
59946 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_117';
59947 END IF;
59948 --
59949 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59950
59951 trace
59952 (p_msg => 'BEGIN of AcctLineType_117'
59953 ,p_level => C_LEVEL_PROCEDURE
59954 ,p_module => l_log_module);
59955
59956 END IF;
59957 --
59958 l_component_type := 'AMB_JLT';
59959 l_component_code := 'AP_FREIGHT_EXPENSE_PREPAY';
59960 l_component_type_code := 'S';
59961 l_component_appl_id := 200;
59962 l_amb_context_code := 'DEFAULT';
59963 l_entity_code := 'AP_INVOICES';
59964 l_event_class_code := 'PREPAYMENTS';
59965 l_event_type_code := 'PREPAYMENTS_ALL';
59966 l_line_definition_owner_code := 'S';
59967 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
59968 --
59969 l_balance_type_code := 'A';
59970 l_segment := NULL;
59971 l_ccid := NULL;
59972 l_adr_transaction_coa_id := NULL;
59976 l_adr_value_type_code := NULL;
59973 l_adr_accounting_coa_id := NULL;
59974 l_adr_flexfield_segment_code := NULL;
59975 l_adr_flex_value_set_id := NULL;
59977 l_adr_value_combination_id := NULL;
59978 l_adr_value_segment_code := NULL;
59979
59980 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59981 l_bflow_class_code := ''; -- 4219869 Business Flow
59982 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59983 l_budgetary_control_flag := 'N';
59984
59985 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59986 l_bflow_applied_to_amt := NULL; -- 5132302
59987 l_entered_amt_idx := NULL; -- 4262811
59988 l_accted_amt_idx := NULL; -- 4262811
59989 l_acc_rev_flag := NULL; -- 4262811
59990 l_accrual_line_num := NULL; -- 4262811
59991 l_tmp_amt := NULL; -- 4262811
59992 --
59993
59994 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59995 l_balance_type_code <> 'B' THEN
59996 IF NVL(p_source_33,'
59997 ') = 'FREIGHT'
59998 THEN
59999
60000 --
60001 XLA_AE_LINES_PKG.SetNewLine;
60002
60003 p_balance_type_code := l_balance_type_code;
60004 -- set the flag so later we will know whether the gain loss line needs to be created
60005
60006 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60007 p_actual_flag :='A';
60008 END IF;
60009
60010 --
60011 -- bulk performance
60012 --
60013 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60014 p_header_num => 0); -- 4262811
60015 --
60016 -- set accounting line options
60017 --
60018 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60019 p_natural_side_code => 'D'
60020 , p_gain_or_loss_flag => 'N'
60021 , p_gl_transfer_mode_code => 'S'
60022 , p_acct_entry_type_code => 'A'
60023 , p_switch_side_flag => 'Y'
60024 , p_merge_duplicate_code => 'A'
60025 );
60026 --
60027 l_acc_rev_natural_side_code := 'C'; -- 4262811
60028 --
60029 --
60030 -- set accounting line type info
60031 --
60032 xla_ae_lines_pkg.SetAcctLineType
60033 (p_component_type => l_component_type
60034 ,p_event_type_code => l_event_type_code
60035 ,p_line_definition_owner_code => l_line_definition_owner_code
60036 ,p_line_definition_code => l_line_definition_code
60037 ,p_accounting_line_code => l_component_code
60038 ,p_accounting_line_type_code => l_component_type_code
60039 ,p_accounting_line_appl_id => l_component_appl_id
60040 ,p_amb_context_code => l_amb_context_code
60041 ,p_entity_code => l_entity_code
60042 ,p_event_class_code => l_event_class_code);
60043 --
60044 -- set accounting class
60045 --
60046 xla_ae_lines_pkg.SetAcctClass(
60047 p_accounting_class_code => 'FREIGHT'
60048 , p_ae_header_id => l_ae_header_id
60049 );
60050
60051 --
60052 -- set rounding class
60053 --
60054 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60055 'FREIGHT';
60056
60057 --
60058 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60059 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60060 --
60061 -- bulk performance
60062 --
60063 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60064
60065 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60066 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60067
60068 -- 4955764
60069 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60070 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60071
60072 -- 4458381 Public Sector Enh
60073
60074 --
60075 -- set accounting attributes for the line type
60076 --
60077 l_entered_amt_idx := 23;
60078 l_accted_amt_idx := 28;
60079 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60080 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60081 l_rec_acct_attrs.array_char_value(1) := p_source_52;
60082 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
60083 l_rec_acct_attrs.array_num_value(2) :=
60084 xla_ae_sources_pkg.GetSystemSourceNum(
60085 p_source_code => 'XLA_EVENT_APPL_ID'
60086 , p_source_type_code => 'Y'
60087 , p_source_application_id => 602
60088 );
60089 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
60090 l_rec_acct_attrs.array_char_value(3) := p_source_54;
60091 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
60092 l_rec_acct_attrs.array_char_value(4) :=
60093 xla_ae_sources_pkg.GetSystemSourceChar(
60094 p_source_code => 'XLA_ENTITY_CODE'
60095 , p_source_type_code => 'Y'
60096 , p_source_application_id => 602
60097 );
60098 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
60102 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
60099 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
60100 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
60101 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
60103 l_rec_acct_attrs.array_num_value(7) := p_source_90;
60104 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60105 l_rec_acct_attrs.array_char_value(8) := p_source_91;
60106 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
60107 l_rec_acct_attrs.array_char_value(9) := p_source_92;
60108 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
60109 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
60110 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60111 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
60112 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
60113 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
60114 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
60115 l_rec_acct_attrs.array_char_value(13) := p_source_54;
60116 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
60117 l_rec_acct_attrs.array_num_value(14) := p_source_64;
60118 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
60119 l_rec_acct_attrs.array_num_value(15) := p_source_65;
60120 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
60121 l_rec_acct_attrs.array_char_value(16) := p_source_66;
60122 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
60123 l_rec_acct_attrs.array_num_value(17) := p_source_67;
60124 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
60125 l_rec_acct_attrs.array_num_value(18) := p_source_68;
60126 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
60127 l_rec_acct_attrs.array_num_value(19) := p_source_69;
60128 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
60129 l_rec_acct_attrs.array_char_value(20) := p_source_66;
60130 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
60131 l_rec_acct_attrs.array_num_value(21) := p_source_70;
60132 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
60133 l_rec_acct_attrs.array_char_value(22) := p_source_71;
60134 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
60135 l_rec_acct_attrs.array_num_value(23) := p_source_72;
60136 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
60137 l_rec_acct_attrs.array_char_value(24) := p_source_66;
60138 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
60139 l_rec_acct_attrs.array_date_value(25) := p_source_136;
60140 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
60141 l_rec_acct_attrs.array_num_value(26) := p_source_137;
60142 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
60143 l_rec_acct_attrs.array_char_value(27) := p_source_138;
60144 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
60145 l_rec_acct_attrs.array_num_value(28) := p_source_21;
60146 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
60147 l_rec_acct_attrs.array_date_value(29) := p_source_76;
60148 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
60149 l_rec_acct_attrs.array_char_value(30) := p_source_77;
60150 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
60151 l_rec_acct_attrs.array_date_value(31) := p_source_78;
60152 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
60153 l_rec_acct_attrs.array_char_value(32) := p_source_79;
60154 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
60155 l_rec_acct_attrs.array_num_value(33) := p_source_80;
60156 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
60157 l_rec_acct_attrs.array_num_value(34) := p_source_81;
60158 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
60159 l_rec_acct_attrs.array_char_value(35) := p_source_82;
60160 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
60161 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
60162 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
60163 l_rec_acct_attrs.array_char_value(37) := p_source_54;
60164 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
60165 l_rec_acct_attrs.array_num_value(38) := p_source_84;
60166 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
60167 l_rec_acct_attrs.array_num_value(39) := p_source_85;
60168 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
60169 l_rec_acct_attrs.array_num_value(40) := p_source_86;
60170 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
60171 l_rec_acct_attrs.array_num_value(41) := p_source_87;
60172 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
60173 l_rec_acct_attrs.array_num_value(42) := p_source_88;
60174 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
60175 l_rec_acct_attrs.array_num_value(43) := p_source_89;
60176
60177 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60178 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60179
60180 ---------------------------------------------------------------------------------------------------------------
60181 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60185 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60182 ---------------------------------------------------------------------------------------------------------------
60183 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60184
60186 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60187
60188 IF xla_accounting_cache_pkg.GetValueChar
60189 (p_source_code => 'LEDGER_CATEGORY_CODE'
60190 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60191 AND l_bflow_method_code = 'PRIOR_ENTRY'
60192 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60193 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60194 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60195 )
60196 THEN
60197 xla_ae_lines_pkg.BflowUpgEntry
60198 (p_business_method_code => l_bflow_method_code
60199 ,p_business_class_code => l_bflow_class_code
60200 ,p_balance_type => l_balance_type_code);
60201 ELSE
60202 NULL;
60203 -- No business flow processing for business flow method of NONE.
60204 END IF;
60205
60206 --
60207 -- call analytical criteria
60208 --
60209
60210
60211 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
60212 xla_ae_lines_pkg.SetAnalyticalCriteria(
60213 p_analytical_criterion_name => 'Project Number'
60214 , p_analytical_criterion_owner => 'S'
60215 , p_analytical_criterion_code => 'PROJECT_NUMBER'
60216 , p_amb_context_code => 'DEFAULT'
60217 , p_balancing_flag => 'N'
60218
60219 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
60220 p_source_146))
60221 , p_analytical_detail_num_1 => NULL
60222 , p_analytical_detail_date_1 => NULL
60223
60224 , p_ae_header_id => l_ae_header_id
60225 )
60226 ;
60227 --
60228
60229 --
60230 -- call description
60231 --
60232
60233 xla_ae_lines_pkg.SetLineDescription(
60234 p_ae_header_id => l_ae_header_id
60235 ,p_description => Description_1 (
60236 p_application_id => p_application_id
60237 , p_ae_header_id => l_ae_header_id
60238 , p_source_1 => p_source_1
60239 )
60240 );
60241
60242
60243 --
60244 -- call ADRs
60245 -- Bug 4922099
60246 --
60247 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60248 (NVL(l_actual_upg_option, 'N') = 'O') OR
60249 (NVL(l_enc_upg_option, 'N') = 'O')
60250 )
60251 THEN
60252 NULL;
60253 --
60254 --
60255
60256 l_ccid := AcctDerRule_33(
60257 p_application_id => p_application_id
60258 , p_ae_header_id => l_ae_header_id
60259 , p_source_30 => p_source_30
60260 , x_transaction_coa_id => l_adr_transaction_coa_id
60261 , x_accounting_coa_id => l_adr_accounting_coa_id
60262 , x_value_type_code => l_adr_value_type_code
60263 , p_side => 'NA'
60264 );
60265
60266 xla_ae_lines_pkg.set_ccid(
60267 p_code_combination_id => l_ccid
60268 , p_value_type_code => l_adr_value_type_code
60269 , p_transaction_coa_id => l_adr_transaction_coa_id
60270 , p_accounting_coa_id => l_adr_accounting_coa_id
60271 , p_adr_code => 'AP_INVOICE_DIST'
60272 , p_adr_type_code => 'S'
60273 , p_component_type => l_component_type
60274 , p_component_code => l_component_code
60275 , p_component_type_code => l_component_type_code
60276 , p_component_appl_id => l_component_appl_id
60277 , p_amb_context_code => l_amb_context_code
60278 , p_side => 'NA'
60279 );
60280
60281
60282 --
60283 --
60284 END IF;
60285 --
60286 -- Bug 4922099
60287 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60288 (NVL(l_enc_upg_option, 'N') = 'O')
60289 ) AND
60290 (l_bflow_method_code = 'PRIOR_ENTRY')
60291 )
60292 THEN
60293 IF
60294 --
60295 1 = 2
60296 --
60297 THEN
60298 xla_accounting_err_pkg.build_message
60299 (p_appli_s_name => 'XLA'
60300 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60301 ,p_token_1 => 'LINE_NUMBER'
60302 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60303 ,p_token_2 => 'LINE_TYPE_NAME'
60304 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60305 l_component_type
60306 ,l_component_code
60307 ,l_component_type_code
60308 ,l_component_appl_id
60312 )
60309 ,l_amb_context_code
60310 ,l_entity_code
60311 ,l_event_class_code
60313 ,p_token_3 => 'OWNER'
60314 ,p_value_3 => xla_lookups_pkg.get_meaning(
60315 p_lookup_type => 'XLA_OWNER_TYPE'
60316 ,p_lookup_code => l_component_type_code
60317 )
60318 ,p_token_4 => 'PRODUCT_NAME'
60319 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60320 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60321 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60322 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60323 ,p_ae_header_id => NULL
60324 );
60325
60326 IF (C_LEVEL_ERROR>= g_log_level) THEN
60327 trace
60328 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60329 ,p_level => C_LEVEL_ERROR
60330 ,p_module => l_log_module);
60331 END IF;
60332 END IF;
60333 END IF;
60334 --
60335 --
60336 ------------------------------------------------------------------------------------------------
60337 -- 4219869 Business Flow
60338 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60339 -- Prior Entry. Currently, the following code is always generated.
60340 ------------------------------------------------------------------------------------------------
60341 XLA_AE_LINES_PKG.ValidateCurrentLine;
60342
60343 ------------------------------------------------------------------------------------
60344 -- 4219869 Business Flow
60345 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60346 ------------------------------------------------------------------------------------
60347 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60348
60349 ----------------------------------------------------------------------------------
60350 -- 4219869 Business Flow
60351 -- Update journal entry status -- Need to generate this within IF <condition>
60352 ----------------------------------------------------------------------------------
60353 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60354 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60355 ,p_balance_type_code => l_balance_type_code
60356 );
60357
60358 -------------------------------------------------------------------------------------------
60359 -- 4262811 - Generate the Accrual Reversal lines
60360 -------------------------------------------------------------------------------------------
60361 BEGIN
60362 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60363 (g_array_event(p_event_id).array_value_num('header_index'));
60364 IF l_acc_rev_flag IS NULL THEN
60365 l_acc_rev_flag := 'N';
60366 END IF;
60367 EXCEPTION
60368 WHEN OTHERS THEN
60369 l_acc_rev_flag := 'N';
60370 END;
60371 --
60372 IF (l_acc_rev_flag = 'Y') THEN
60373
60374 -- 4645092 ------------------------------------------------------------------------------
60375 -- To allow MPA report to determine if it should generate report process
60376 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60377 ------------------------------------------------------------------------------------------
60378
60379 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60380 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60381 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60382 -- call ADRs
60383 -- Bug 4922099
60384 --
60385 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60386 (NVL(l_actual_upg_option, 'N') = 'O') OR
60387 (NVL(l_enc_upg_option, 'N') = 'O')
60388 )
60389 THEN
60390 NULL;
60391 --
60392 --
60393
60394 l_ccid := AcctDerRule_33(
60395 p_application_id => p_application_id
60396 , p_ae_header_id => l_ae_header_id
60397 , p_source_30 => p_source_30
60398 , x_transaction_coa_id => l_adr_transaction_coa_id
60399 , x_accounting_coa_id => l_adr_accounting_coa_id
60400 , x_value_type_code => l_adr_value_type_code
60401 , p_side => 'NA'
60402 );
60403
60404 xla_ae_lines_pkg.set_ccid(
60405 p_code_combination_id => l_ccid
60406 , p_value_type_code => l_adr_value_type_code
60407 , p_transaction_coa_id => l_adr_transaction_coa_id
60411 , p_component_type => l_component_type
60408 , p_accounting_coa_id => l_adr_accounting_coa_id
60409 , p_adr_code => 'AP_INVOICE_DIST'
60410 , p_adr_type_code => 'S'
60412 , p_component_code => l_component_code
60413 , p_component_type_code => l_component_type_code
60414 , p_component_appl_id => l_component_appl_id
60415 , p_amb_context_code => l_amb_context_code
60416 , p_side => 'NA'
60417 );
60418
60419
60420 --
60421 --
60422 END IF;
60423
60424 --
60425 -- Update the line information that should be overwritten
60426 --
60427 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60428 p_header_num => 1);
60429 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60430
60431 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60432
60433 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60434 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60435 END IF;
60436
60437 --
60438 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60439 --
60440 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60441 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60442 ELSE
60443 ---------------------------------------------------------------------------------------------------
60444 -- 4262811a Switch Sign
60445 ---------------------------------------------------------------------------------------------------
60446 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60447 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60448 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60449 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60450 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60451 -- 5132302
60452 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60453 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60454
60455 END IF;
60456
60457 -- 4955764
60458 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60459 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60460
60461
60462 XLA_AE_LINES_PKG.ValidateCurrentLine;
60463 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60464
60465 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60466 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60467 ,p_balance_type_code => l_balance_type_code);
60468
60469 END IF;
60470
60471 -----------------------------------------------------------------------------------------
60472 -- 4262811 Multiperiod Accounting
60473 -----------------------------------------------------------------------------------------
60474 -- No MPA option is assigned.
60475
60476
60477 END IF;
60478 END IF;
60479 --
60480
60481 --
60482 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60483 trace
60484 (p_msg => 'END of AcctLineType_117'
60485 ,p_level => C_LEVEL_PROCEDURE
60486 ,p_module => l_log_module);
60487 END IF;
60488 --
60489 EXCEPTION
60490 WHEN xla_exceptions_pkg.application_exception THEN
60491 RAISE;
60492 WHEN OTHERS THEN
60493 xla_exceptions_pkg.raise_message
60494 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_117');
60495 END AcctLineType_117;
60496 --
60497
60498 ---------------------------------------
60499 --
60500 -- PRIVATE FUNCTION
60501 -- AcctLineType_118
60502 --
60503 ---------------------------------------
60504 PROCEDURE AcctLineType_118 (
60505 p_application_id IN NUMBER
60506 ,p_event_id IN NUMBER
60507 ,p_calculate_acctd_flag IN VARCHAR2
60508 ,p_calculate_g_l_flag IN VARCHAR2
60509 ,p_actual_flag IN OUT VARCHAR2
60510 ,p_balance_type_code OUT VARCHAR2
60511 ,p_gain_or_loss_ref OUT VARCHAR2
60512
60513 --Payment Currency Code
60514 , p_source_13 IN VARCHAR2
60515 --Automatic Offsets Value
60516 , p_source_15 IN VARCHAR2
60517 , p_source_15_meaning IN VARCHAR2
60518 --Bank Future Dated Payment Account
60519 , p_source_24 IN NUMBER
60520 --Future Dated Payment Account Source Option
60521 , p_source_25 IN VARCHAR2
60522 , p_source_25_meaning IN VARCHAR2
60523 --Financials Options Future Dated Payment Account
60524 , p_source_26 IN NUMBER
60525 --Supplier Site Future Dated Payment Account
60526 , p_source_27 IN NUMBER
60527 --Invoice Distribution Account
60531 --Distribution Link Type
60528 , p_source_30 IN NUMBER
60529 --Accounting Reversal Indicator
60530 , p_source_52 IN VARCHAR2
60532 , p_source_54 IN VARCHAR2
60533 --Override Accounted Amount Indicator
60534 , p_source_79 IN VARCHAR2
60535 , p_source_79_meaning IN VARCHAR2
60536 --Third Party Type
60537 , p_source_82 IN VARCHAR2
60538 --Invoice Distribution Tax Line Identifier
60539 , p_source_85 IN NUMBER
60540 --Invoice Distribution Tax Distribution Identifier from Tax
60541 , p_source_86 IN NUMBER
60542 --Invoice Distribution Summary Tax Line Identifier
60543 , p_source_87 IN NUMBER
60544 --Business Flow Accounts Payable Application Identifier
60545 , p_source_90 IN NUMBER
60546 --Business Flow Invoice Distribution Type
60547 , p_source_91 IN VARCHAR2
60548 --Business Flow Invoice Entity Code
60549 , p_source_92 IN VARCHAR2
60550 --Business Flow Invoice Distribution Identifier
60551 , p_source_93 IN NUMBER
60552 --Business Flow Invoice Identifier
60553 , p_source_94 IN NUMBER
60554 --When to Account for Payment Option
60555 , p_source_96 IN VARCHAR2
60556 --Payment Distribution Type
60557 , p_source_97 IN VARCHAR2
60558 , p_source_97_meaning IN VARCHAR2
60559 --Payment Distribution Amount
60560 , p_source_98 IN NUMBER
60561 --Payment Distribution Identifier
60562 , p_source_103 IN NUMBER
60563 --Payment Supplier Identifier
60564 , p_source_109 IN NUMBER
60565 --Payment Supplier Site Identifier
60566 , p_source_110 IN NUMBER
60567 --Payment Distribution Reversed Identifier
60568 , p_source_111 IN NUMBER
60569 --Payment Identifier
60570 , p_source_112 IN NUMBER
60571 --Payment Maturity Date
60572 , p_source_114 IN DATE
60573 --Payment Distribution (Payment Rate) Ledger Amount
60574 , p_source_115 IN NUMBER
60575 --Payment Exchange Date
60576 , p_source_117 IN DATE
60577 --Payment Exchange Rate
60578 , p_source_118 IN NUMBER
60579 --Payment Exchange Rate Type
60580 , p_source_119 IN VARCHAR2
60581 --Payment Processing Type
60582 , p_source_123 IN VARCHAR2
60583 --Invoice Distribution Amount of the Payment Distribution
60584 , p_source_124 IN NUMBER
60585 )
60586 IS
60587
60588 l_component_type VARCHAR2(80);
60589 l_component_code VARCHAR2(30);
60590 l_component_type_code VARCHAR2(1);
60591 l_component_appl_id INTEGER;
60592 l_amb_context_code VARCHAR2(30);
60593 l_entity_code VARCHAR2(30);
60594 l_event_class_code VARCHAR2(30);
60595 l_ae_header_id NUMBER;
60596 l_event_type_code VARCHAR2(30);
60597 l_line_definition_code VARCHAR2(30);
60598 l_line_definition_owner_code VARCHAR2(1);
60599 --
60600 -- adr variables
60601 l_segment VARCHAR2(30);
60602 l_ccid NUMBER;
60603 l_adr_transaction_coa_id NUMBER;
60604 l_adr_accounting_coa_id NUMBER;
60605 l_adr_flexfield_segment_code VARCHAR2(30);
60606 l_adr_flex_value_set_id NUMBER;
60607 l_adr_value_type_code VARCHAR2(30);
60608 l_adr_value_combination_id NUMBER;
60609 l_adr_value_segment_code VARCHAR2(30);
60610
60611 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60612 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60613 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60614 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60615
60616 -- 4262811 Variables ------------------------------------------------------------------------------------------
60617 l_entered_amt_idx NUMBER;
60618 l_accted_amt_idx NUMBER;
60619 l_acc_rev_flag VARCHAR2(1);
60620 l_accrual_line_num NUMBER;
60621 l_tmp_amt NUMBER;
60622 l_acc_rev_natural_side_code VARCHAR2(1);
60623
60624 l_num_entries NUMBER;
60625 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60626 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60627 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60628 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60629 l_recog_line_1 NUMBER;
60630 l_recog_line_2 NUMBER;
60631
60632 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60633 l_bflow_applied_to_amt NUMBER; -- 5132302
60634 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60635
60636 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60637
60638 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60639 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60640
60641 ---------------------------------------------------------------------------------------------------------------
60642
60643
60644 --
60645 -- bulk performance
60646 --
60647 l_balance_type_code VARCHAR2(1);
60648 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60649 l_log_module VARCHAR2(240);
60650
60651 --
60652 -- Upgrade strategy
60653 --
60657 --
60654 l_actual_upg_option VARCHAR2(1);
60655 l_enc_upg_option VARCHAR2(1);
60656
60658 BEGIN
60659 --
60660 IF g_log_enabled THEN
60661 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_118';
60662 END IF;
60663 --
60664 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60665
60666 trace
60667 (p_msg => 'BEGIN of AcctLineType_118'
60668 ,p_level => C_LEVEL_PROCEDURE
60669 ,p_module => l_log_module);
60670
60671 END IF;
60672 --
60673 l_component_type := 'AMB_JLT';
60674 l_component_code := 'AP_FUTURE_DATED_PMT';
60675 l_component_type_code := 'S';
60676 l_component_appl_id := 200;
60677 l_amb_context_code := 'DEFAULT';
60678 l_entity_code := 'AP_PAYMENTS';
60679 l_event_class_code := 'PAYMENTS';
60680 l_event_type_code := 'PAYMENTS_ALL';
60681 l_line_definition_owner_code := 'S';
60682 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
60683 --
60684 l_balance_type_code := 'A';
60685 l_segment := NULL;
60686 l_ccid := NULL;
60687 l_adr_transaction_coa_id := NULL;
60688 l_adr_accounting_coa_id := NULL;
60689 l_adr_flexfield_segment_code := NULL;
60690 l_adr_flex_value_set_id := NULL;
60691 l_adr_value_type_code := NULL;
60692 l_adr_value_combination_id := NULL;
60693 l_adr_value_segment_code := NULL;
60694
60695 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
60696 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
60697 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60698 l_budgetary_control_flag := 'N';
60699
60700 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60701 l_bflow_applied_to_amt := NULL; -- 5132302
60702 l_entered_amt_idx := NULL; -- 4262811
60703 l_accted_amt_idx := NULL; -- 4262811
60704 l_acc_rev_flag := NULL; -- 4262811
60705 l_accrual_line_num := NULL; -- 4262811
60706 l_tmp_amt := NULL; -- 4262811
60707 --
60708
60709 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60710 l_balance_type_code <> 'B' THEN
60711 IF NVL(p_source_96,'
60712 ') <> 'CLEAR_CLEAR' AND
60713 NVL(p_source_96,'
60714 ') <> 'ALWAYS_CLEAR' AND
60715 NVL(p_source_97,'
60716 ') = 'CASH' AND
60717 p_source_114 IS NOT NULL AND
60718 NVL(p_source_123,'
60719 ') <> 'PAYMENTCARD'
60720 THEN
60721
60722 --
60723 XLA_AE_LINES_PKG.SetNewLine;
60724
60725 p_balance_type_code := l_balance_type_code;
60726 -- set the flag so later we will know whether the gain loss line needs to be created
60727
60728 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60729 p_actual_flag :='A';
60730 END IF;
60731
60732 --
60733 -- bulk performance
60734 --
60735 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60736 p_header_num => 0); -- 4262811
60737 --
60738 -- set accounting line options
60739 --
60740 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60741 p_natural_side_code => 'C'
60742 , p_gain_or_loss_flag => 'N'
60743 , p_gl_transfer_mode_code => 'S'
60744 , p_acct_entry_type_code => 'A'
60745 , p_switch_side_flag => 'Y'
60746 , p_merge_duplicate_code => 'A'
60747 );
60748 --
60749 l_acc_rev_natural_side_code := 'D'; -- 4262811
60750 --
60751 --
60752 -- set accounting line type info
60753 --
60754 xla_ae_lines_pkg.SetAcctLineType
60755 (p_component_type => l_component_type
60756 ,p_event_type_code => l_event_type_code
60757 ,p_line_definition_owner_code => l_line_definition_owner_code
60758 ,p_line_definition_code => l_line_definition_code
60759 ,p_accounting_line_code => l_component_code
60760 ,p_accounting_line_type_code => l_component_type_code
60761 ,p_accounting_line_appl_id => l_component_appl_id
60762 ,p_amb_context_code => l_amb_context_code
60763 ,p_entity_code => l_entity_code
60764 ,p_event_class_code => l_event_class_code);
60765 --
60766 -- set accounting class
60767 --
60768 xla_ae_lines_pkg.SetAcctClass(
60769 p_accounting_class_code => 'FUTURE_DATED_PMT'
60770 , p_ae_header_id => l_ae_header_id
60771 );
60772
60773 --
60774 -- set rounding class
60775 --
60776 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60777 'FUTURE_DATED_PMT';
60778
60779 --
60780 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60781 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60782 --
60783 -- bulk performance
60784 --
60785 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60786
60787 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60791 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60788 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60789
60790 -- 4955764
60792 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60793
60794 -- 4458381 Public Sector Enh
60795
60796 --
60797 -- set accounting attributes for the line type
60798 --
60799 l_entered_amt_idx := 10;
60800 l_accted_amt_idx := 15;
60801 l_bflow_applied_to_amt_idx := 2; -- 5132302
60802 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60803 l_rec_acct_attrs.array_char_value(1) := p_source_52;
60804 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
60805 l_rec_acct_attrs.array_num_value(2) := p_source_124;
60806 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
60807 l_rec_acct_attrs.array_num_value(3) := p_source_90;
60808 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60809 l_rec_acct_attrs.array_char_value(4) := p_source_91;
60810 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
60811 l_rec_acct_attrs.array_char_value(5) := p_source_92;
60812 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
60813 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
60814 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60815 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
60816 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
60817 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
60818 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
60819 l_rec_acct_attrs.array_char_value(9) := p_source_54;
60820 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
60821 l_rec_acct_attrs.array_num_value(10) := p_source_98;
60822 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
60823 l_rec_acct_attrs.array_char_value(11) := p_source_13;
60824 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
60825 l_rec_acct_attrs.array_date_value(12) := p_source_117;
60826 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
60827 l_rec_acct_attrs.array_num_value(13) := p_source_118;
60828 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
60829 l_rec_acct_attrs.array_char_value(14) := p_source_119;
60830 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
60831 l_rec_acct_attrs.array_num_value(15) := p_source_115;
60832 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
60833 l_rec_acct_attrs.array_char_value(16) := p_source_79;
60834 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
60835 l_rec_acct_attrs.array_num_value(17) := p_source_109;
60836 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
60837 l_rec_acct_attrs.array_num_value(18) := p_source_110;
60838 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
60839 l_rec_acct_attrs.array_char_value(19) := p_source_82;
60840 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
60841 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
60842 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
60843 l_rec_acct_attrs.array_char_value(21) := p_source_54;
60844 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
60845 l_rec_acct_attrs.array_num_value(22) := p_source_85;
60846 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
60847 l_rec_acct_attrs.array_num_value(23) := p_source_86;
60848 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
60849 l_rec_acct_attrs.array_num_value(24) := p_source_87;
60850
60851 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60852 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60853
60854 ---------------------------------------------------------------------------------------------------------------
60855 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60856 ---------------------------------------------------------------------------------------------------------------
60857 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60858
60859 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60860 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60861
60862 IF xla_accounting_cache_pkg.GetValueChar
60863 (p_source_code => 'LEDGER_CATEGORY_CODE'
60864 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60865 AND l_bflow_method_code = 'PRIOR_ENTRY'
60866 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60867 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60868 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60869 )
60870 THEN
60871 xla_ae_lines_pkg.BflowUpgEntry
60872 (p_business_method_code => l_bflow_method_code
60873 ,p_business_class_code => l_bflow_class_code
60874 ,p_balance_type => l_balance_type_code);
60875 ELSE
60876 NULL;
60877 -- No business flow processing for business flow method of NONE.
60878 END IF;
60879
60880 --
60881 -- call analytical criteria
60882 --
60883
60884
60885 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
60889 , p_analytical_criterion_code => 'CHECK_ID'
60886 xla_ae_lines_pkg.SetAnalyticalCriteria(
60887 p_analytical_criterion_name => 'Check Id'
60888 , p_analytical_criterion_owner => 'S'
60890 , p_amb_context_code => 'DEFAULT'
60891 , p_balancing_flag => 'N'
60892
60893 , p_analytical_detail_char_1 => NULL
60894 , p_analytical_detail_num_1 => p_source_112
60895 , p_analytical_detail_date_1 => NULL
60896
60897 , p_ae_header_id => l_ae_header_id
60898 )
60899 ;
60900 --
60901
60902 --
60903 -- call description
60904 --
60905 -- No description or it is inherited.
60906 --
60907 -- call ADRs
60908 -- Bug 4922099
60909 --
60910 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60911 (NVL(l_actual_upg_option, 'N') = 'O') OR
60912 (NVL(l_enc_upg_option, 'N') = 'O')
60913 )
60914 THEN
60915 NULL;
60916 --
60917 --
60918
60919 l_ccid := AcctDerRule_31(
60920 p_application_id => p_application_id
60921 , p_ae_header_id => l_ae_header_id
60922 , p_source_15 => p_source_15
60923 , p_source_15_meaning => p_source_15_meaning
60924 , p_source_24 => p_source_24
60925 , p_source_25 => p_source_25
60926 , p_source_25_meaning => p_source_25_meaning
60927 , p_source_26 => p_source_26
60928 , p_source_27 => p_source_27
60929 , p_source_30 => p_source_30
60930 , x_transaction_coa_id => l_adr_transaction_coa_id
60931 , x_accounting_coa_id => l_adr_accounting_coa_id
60932 , x_value_type_code => l_adr_value_type_code
60933 , p_side => 'NA'
60934 );
60935
60936 xla_ae_lines_pkg.set_ccid(
60937 p_code_combination_id => l_ccid
60938 , p_value_type_code => l_adr_value_type_code
60939 , p_transaction_coa_id => l_adr_transaction_coa_id
60940 , p_accounting_coa_id => l_adr_accounting_coa_id
60941 , p_adr_code => 'AP_FUTURE_DATED_PMT'
60942 , p_adr_type_code => 'S'
60943 , p_component_type => l_component_type
60944 , p_component_code => l_component_code
60945 , p_component_type_code => l_component_type_code
60946 , p_component_appl_id => l_component_appl_id
60947 , p_amb_context_code => l_amb_context_code
60948 , p_side => 'NA'
60949 );
60950
60951
60952 l_segment := AcctDerRule_11(
60953 p_application_id => p_application_id
60954 , p_ae_header_id => l_ae_header_id
60955 , p_source_15 => p_source_15
60956 , p_source_15_meaning => p_source_15_meaning
60957 , p_source_24 => p_source_24
60958 , p_source_25 => p_source_25
60959 , p_source_25_meaning => p_source_25_meaning
60960 , p_source_26 => p_source_26
60961 , p_source_27 => p_source_27
60962 , x_transaction_coa_id => l_adr_transaction_coa_id
60963 , x_accounting_coa_id => l_adr_accounting_coa_id
60964 , x_flexfield_segment_code => l_adr_flexfield_segment_code
60965 , x_flex_value_set_id => l_adr_flex_value_set_id
60966 , x_value_type_code => l_adr_value_type_code
60967 , x_value_combination_id => l_adr_value_combination_id
60968 , x_value_segment_code => l_adr_value_segment_code
60969 , p_side => 'NA'
60970 , p_override_seg_flag => 'Y'
60971 );
60972
60973 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
60974
60975 xla_ae_lines_pkg.set_segment(
60976 p_to_segment_code => 'GL_ACCOUNT'
60977 , p_segment_value => l_segment
60978 , p_from_segment_code => l_adr_value_segment_code
60979 , p_from_combination_id => l_adr_value_combination_id
60980 , p_value_type_code => l_adr_value_type_code
60981 , p_transaction_coa_id => l_adr_transaction_coa_id
60982 , p_accounting_coa_id => l_adr_accounting_coa_id
60983 , p_flexfield_segment_code => l_adr_flexfield_segment_code
60984 , p_flex_value_set_id => l_adr_flex_value_set_id
60985 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
60986 , p_adr_type_code => 'S'
60987 , p_component_type => l_component_type
60988 , p_component_code => l_component_code
60989 , p_component_type_code => l_component_type_code
60990 , p_component_appl_id => l_component_appl_id
60991 , p_amb_context_code => l_amb_context_code
60992 , p_entity_code => 'AP_PAYMENTS'
60993 , p_event_class_code => 'PAYMENTS'
60994 , p_side => 'NA'
60995 );
60996
60997 END IF;
60998
60999 l_segment := AcctDerRule_22(
61000 p_application_id => p_application_id
61001 , p_ae_header_id => l_ae_header_id
61002 , p_source_15 => p_source_15
61003 , p_source_15_meaning => p_source_15_meaning
61004 , p_source_30 => p_source_30
61005 , x_transaction_coa_id => l_adr_transaction_coa_id
61006 , x_accounting_coa_id => l_adr_accounting_coa_id
61007 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61011 , x_value_segment_code => l_adr_value_segment_code
61008 , x_flex_value_set_id => l_adr_flex_value_set_id
61009 , x_value_type_code => l_adr_value_type_code
61010 , x_value_combination_id => l_adr_value_combination_id
61012 , p_side => 'NA'
61013 , p_override_seg_flag => 'Y'
61014 );
61015
61016 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61017
61018 xla_ae_lines_pkg.set_segment(
61019 p_to_segment_code => 'GL_BALANCING'
61020 , p_segment_value => l_segment
61021 , p_from_segment_code => l_adr_value_segment_code
61022 , p_from_combination_id => l_adr_value_combination_id
61023 , p_value_type_code => l_adr_value_type_code
61024 , p_transaction_coa_id => l_adr_transaction_coa_id
61025 , p_accounting_coa_id => l_adr_accounting_coa_id
61026 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61027 , p_flex_value_set_id => l_adr_flex_value_set_id
61028 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61029 , p_adr_type_code => 'S'
61030 , p_component_type => l_component_type
61031 , p_component_code => l_component_code
61032 , p_component_type_code => l_component_type_code
61033 , p_component_appl_id => l_component_appl_id
61034 , p_amb_context_code => l_amb_context_code
61035 , p_entity_code => 'AP_PAYMENTS'
61036 , p_event_class_code => 'PAYMENTS'
61037 , p_side => 'NA'
61038 );
61039
61040 END IF;
61041
61042 --
61043 --
61044 END IF;
61045 --
61046 -- Bug 4922099
61047 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61048 (NVL(l_enc_upg_option, 'N') = 'O')
61049 ) AND
61050 (l_bflow_method_code = 'PRIOR_ENTRY')
61051 )
61052 THEN
61053 IF
61054 --
61055 1 = 2
61056 --
61057 THEN
61058 xla_accounting_err_pkg.build_message
61059 (p_appli_s_name => 'XLA'
61060 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61061 ,p_token_1 => 'LINE_NUMBER'
61062 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61063 ,p_token_2 => 'LINE_TYPE_NAME'
61064 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61065 l_component_type
61066 ,l_component_code
61067 ,l_component_type_code
61068 ,l_component_appl_id
61069 ,l_amb_context_code
61070 ,l_entity_code
61071 ,l_event_class_code
61072 )
61073 ,p_token_3 => 'OWNER'
61074 ,p_value_3 => xla_lookups_pkg.get_meaning(
61075 p_lookup_type => 'XLA_OWNER_TYPE'
61076 ,p_lookup_code => l_component_type_code
61077 )
61078 ,p_token_4 => 'PRODUCT_NAME'
61079 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61080 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61081 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61082 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61083 ,p_ae_header_id => NULL
61084 );
61085
61086 IF (C_LEVEL_ERROR>= g_log_level) THEN
61087 trace
61088 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61089 ,p_level => C_LEVEL_ERROR
61090 ,p_module => l_log_module);
61091 END IF;
61092 END IF;
61093 END IF;
61094 --
61095 --
61096 ------------------------------------------------------------------------------------------------
61097 -- 4219869 Business Flow
61098 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61099 -- Prior Entry. Currently, the following code is always generated.
61100 ------------------------------------------------------------------------------------------------
61101 XLA_AE_LINES_PKG.ValidateCurrentLine;
61102
61103 ------------------------------------------------------------------------------------
61104 -- 4219869 Business Flow
61108
61105 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61106 ------------------------------------------------------------------------------------
61107 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61109 ----------------------------------------------------------------------------------
61110 -- 4219869 Business Flow
61111 -- Update journal entry status -- Need to generate this within IF <condition>
61112 ----------------------------------------------------------------------------------
61113 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61114 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61115 ,p_balance_type_code => l_balance_type_code
61116 );
61117
61118 -------------------------------------------------------------------------------------------
61119 -- 4262811 - Generate the Accrual Reversal lines
61120 -------------------------------------------------------------------------------------------
61121 BEGIN
61122 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61123 (g_array_event(p_event_id).array_value_num('header_index'));
61124 IF l_acc_rev_flag IS NULL THEN
61125 l_acc_rev_flag := 'N';
61126 END IF;
61127 EXCEPTION
61128 WHEN OTHERS THEN
61129 l_acc_rev_flag := 'N';
61130 END;
61131 --
61132 IF (l_acc_rev_flag = 'Y') THEN
61133
61134 -- 4645092 ------------------------------------------------------------------------------
61135 -- To allow MPA report to determine if it should generate report process
61136 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61137 ------------------------------------------------------------------------------------------
61138
61139 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61140 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61141 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61142 -- call ADRs
61143 -- Bug 4922099
61144 --
61145 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61146 (NVL(l_actual_upg_option, 'N') = 'O') OR
61147 (NVL(l_enc_upg_option, 'N') = 'O')
61148 )
61149 THEN
61150 NULL;
61151 --
61152 --
61153
61154 l_ccid := AcctDerRule_31(
61155 p_application_id => p_application_id
61156 , p_ae_header_id => l_ae_header_id
61157 , p_source_15 => p_source_15
61158 , p_source_15_meaning => p_source_15_meaning
61159 , p_source_24 => p_source_24
61160 , p_source_25 => p_source_25
61161 , p_source_25_meaning => p_source_25_meaning
61162 , p_source_26 => p_source_26
61163 , p_source_27 => p_source_27
61164 , p_source_30 => p_source_30
61165 , x_transaction_coa_id => l_adr_transaction_coa_id
61166 , x_accounting_coa_id => l_adr_accounting_coa_id
61167 , x_value_type_code => l_adr_value_type_code
61168 , p_side => 'NA'
61169 );
61170
61171 xla_ae_lines_pkg.set_ccid(
61172 p_code_combination_id => l_ccid
61173 , p_value_type_code => l_adr_value_type_code
61174 , p_transaction_coa_id => l_adr_transaction_coa_id
61175 , p_accounting_coa_id => l_adr_accounting_coa_id
61176 , p_adr_code => 'AP_FUTURE_DATED_PMT'
61177 , p_adr_type_code => 'S'
61178 , p_component_type => l_component_type
61179 , p_component_code => l_component_code
61180 , p_component_type_code => l_component_type_code
61181 , p_component_appl_id => l_component_appl_id
61182 , p_amb_context_code => l_amb_context_code
61183 , p_side => 'NA'
61184 );
61185
61186
61187 l_segment := AcctDerRule_11(
61188 p_application_id => p_application_id
61189 , p_ae_header_id => l_ae_header_id
61190 , p_source_15 => p_source_15
61191 , p_source_15_meaning => p_source_15_meaning
61192 , p_source_24 => p_source_24
61193 , p_source_25 => p_source_25
61194 , p_source_25_meaning => p_source_25_meaning
61195 , p_source_26 => p_source_26
61196 , p_source_27 => p_source_27
61197 , x_transaction_coa_id => l_adr_transaction_coa_id
61198 , x_accounting_coa_id => l_adr_accounting_coa_id
61199 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61200 , x_flex_value_set_id => l_adr_flex_value_set_id
61201 , x_value_type_code => l_adr_value_type_code
61202 , x_value_combination_id => l_adr_value_combination_id
61203 , x_value_segment_code => l_adr_value_segment_code
61204 , p_side => 'NA'
61205 , p_override_seg_flag => 'Y'
61206 );
61207
61208 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61209
61210 xla_ae_lines_pkg.set_segment(
61211 p_to_segment_code => 'GL_ACCOUNT'
61212 , p_segment_value => l_segment
61213 , p_from_segment_code => l_adr_value_segment_code
61214 , p_from_combination_id => l_adr_value_combination_id
61215 , p_value_type_code => l_adr_value_type_code
61216 , p_transaction_coa_id => l_adr_transaction_coa_id
61217 , p_accounting_coa_id => l_adr_accounting_coa_id
61221 , p_adr_type_code => 'S'
61218 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61219 , p_flex_value_set_id => l_adr_flex_value_set_id
61220 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61222 , p_component_type => l_component_type
61223 , p_component_code => l_component_code
61224 , p_component_type_code => l_component_type_code
61225 , p_component_appl_id => l_component_appl_id
61226 , p_amb_context_code => l_amb_context_code
61227 , p_entity_code => 'AP_PAYMENTS'
61228 , p_event_class_code => 'PAYMENTS'
61229 , p_side => 'NA'
61230 );
61231
61232 END IF;
61233
61234 l_segment := AcctDerRule_22(
61235 p_application_id => p_application_id
61236 , p_ae_header_id => l_ae_header_id
61237 , p_source_15 => p_source_15
61238 , p_source_15_meaning => p_source_15_meaning
61239 , p_source_30 => p_source_30
61240 , x_transaction_coa_id => l_adr_transaction_coa_id
61241 , x_accounting_coa_id => l_adr_accounting_coa_id
61242 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61243 , x_flex_value_set_id => l_adr_flex_value_set_id
61244 , x_value_type_code => l_adr_value_type_code
61245 , x_value_combination_id => l_adr_value_combination_id
61246 , x_value_segment_code => l_adr_value_segment_code
61247 , p_side => 'NA'
61248 , p_override_seg_flag => 'Y'
61249 );
61250
61251 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61252
61253 xla_ae_lines_pkg.set_segment(
61254 p_to_segment_code => 'GL_BALANCING'
61255 , p_segment_value => l_segment
61256 , p_from_segment_code => l_adr_value_segment_code
61257 , p_from_combination_id => l_adr_value_combination_id
61258 , p_value_type_code => l_adr_value_type_code
61259 , p_transaction_coa_id => l_adr_transaction_coa_id
61260 , p_accounting_coa_id => l_adr_accounting_coa_id
61261 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61262 , p_flex_value_set_id => l_adr_flex_value_set_id
61263 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61264 , p_adr_type_code => 'S'
61265 , p_component_type => l_component_type
61266 , p_component_code => l_component_code
61267 , p_component_type_code => l_component_type_code
61268 , p_component_appl_id => l_component_appl_id
61269 , p_amb_context_code => l_amb_context_code
61270 , p_entity_code => 'AP_PAYMENTS'
61271 , p_event_class_code => 'PAYMENTS'
61272 , p_side => 'NA'
61273 );
61274
61275 END IF;
61276
61277 --
61278 --
61279 END IF;
61280
61281 --
61282 -- Update the line information that should be overwritten
61283 --
61284 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61285 p_header_num => 1);
61286 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61287
61288 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61289
61290 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61291 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61292 END IF;
61293
61294 --
61295 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61296 --
61297 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61298 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61299 ELSE
61300 ---------------------------------------------------------------------------------------------------
61301 -- 4262811a Switch Sign
61302 ---------------------------------------------------------------------------------------------------
61303 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61304 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61306 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61307 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61308 -- 5132302
61309 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61310 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61311
61312 END IF;
61313
61314 -- 4955764
61315 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61316 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61317
61318
61319 XLA_AE_LINES_PKG.ValidateCurrentLine;
61320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61321
61322 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61326 END IF;
61323 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61324 ,p_balance_type_code => l_balance_type_code);
61325
61327
61328 -----------------------------------------------------------------------------------------
61329 -- 4262811 Multiperiod Accounting
61330 -----------------------------------------------------------------------------------------
61331 -- No MPA option is assigned.
61332
61333
61334 END IF;
61335 END IF;
61336 --
61337
61338 --
61339 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61340 trace
61341 (p_msg => 'END of AcctLineType_118'
61342 ,p_level => C_LEVEL_PROCEDURE
61343 ,p_module => l_log_module);
61344 END IF;
61345 --
61346 EXCEPTION
61347 WHEN xla_exceptions_pkg.application_exception THEN
61348 RAISE;
61349 WHEN OTHERS THEN
61350 xla_exceptions_pkg.raise_message
61351 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_118');
61352 END AcctLineType_118;
61353 --
61354
61355 ---------------------------------------
61356 --
61357 -- PRIVATE FUNCTION
61358 -- AcctLineType_119
61359 --
61360 ---------------------------------------
61361 PROCEDURE AcctLineType_119 (
61362 p_application_id IN NUMBER
61363 ,p_event_id IN NUMBER
61364 ,p_calculate_acctd_flag IN VARCHAR2
61365 ,p_calculate_g_l_flag IN VARCHAR2
61366 ,p_actual_flag IN OUT VARCHAR2
61367 ,p_balance_type_code OUT VARCHAR2
61368 ,p_gain_or_loss_ref OUT VARCHAR2
61369
61370 --Payment Currency Code
61371 , p_source_13 IN VARCHAR2
61372 --Automatic Offsets Value
61373 , p_source_15 IN VARCHAR2
61374 , p_source_15_meaning IN VARCHAR2
61375 --Bank Future Dated Payment Account
61376 , p_source_24 IN NUMBER
61377 --Future Dated Payment Account Source Option
61378 , p_source_25 IN VARCHAR2
61379 , p_source_25_meaning IN VARCHAR2
61380 --Financials Options Future Dated Payment Account
61381 , p_source_26 IN NUMBER
61382 --Supplier Site Future Dated Payment Account
61383 , p_source_27 IN NUMBER
61384 --Invoice Distribution Account
61385 , p_source_30 IN NUMBER
61386 --Accounting Reversal Indicator
61387 , p_source_52 IN VARCHAR2
61388 --Distribution Link Type
61389 , p_source_54 IN VARCHAR2
61390 --Override Accounted Amount Indicator
61391 , p_source_79 IN VARCHAR2
61392 , p_source_79_meaning IN VARCHAR2
61393 --Third Party Type
61394 , p_source_82 IN VARCHAR2
61395 --Invoice Distribution Tax Line Identifier
61396 , p_source_85 IN NUMBER
61397 --Invoice Distribution Tax Distribution Identifier from Tax
61398 , p_source_86 IN NUMBER
61399 --Invoice Distribution Summary Tax Line Identifier
61400 , p_source_87 IN NUMBER
61401 --Business Flow Accounts Payable Application Identifier
61402 , p_source_90 IN NUMBER
61403 --Business Flow Invoice Distribution Type
61404 , p_source_91 IN VARCHAR2
61405 --Business Flow Invoice Entity Code
61406 , p_source_92 IN VARCHAR2
61407 --Business Flow Invoice Distribution Identifier
61408 , p_source_93 IN NUMBER
61409 --Business Flow Invoice Identifier
61410 , p_source_94 IN NUMBER
61411 --When to Account for Payment Option
61412 , p_source_96 IN VARCHAR2
61413 --Payment Distribution Type
61414 , p_source_97 IN VARCHAR2
61415 , p_source_97_meaning IN VARCHAR2
61416 --Payment Distribution Amount
61417 , p_source_98 IN NUMBER
61418 --Payment Distribution Identifier
61419 , p_source_103 IN NUMBER
61420 --Payment Supplier Identifier
61421 , p_source_109 IN NUMBER
61422 --Payment Supplier Site Identifier
61423 , p_source_110 IN NUMBER
61424 --Payment Distribution Reversed Identifier
61425 , p_source_111 IN NUMBER
61426 --Payment Identifier
61427 , p_source_112 IN NUMBER
61428 --Payment Maturity Date
61429 , p_source_114 IN DATE
61430 --Payment Distribution (Invoice Rate) Ledger Amount
61431 , p_source_116 IN NUMBER
61432 --Payment Exchange Date
61433 , p_source_117 IN DATE
61434 --Payment Exchange Rate
61435 , p_source_118 IN NUMBER
61436 --Payment Exchange Rate Type
61437 , p_source_119 IN VARCHAR2
61438 --Payment Processing Type
61439 , p_source_123 IN VARCHAR2
61440 --Invoice Distribution Amount of the Payment Distribution
61441 , p_source_124 IN NUMBER
61442 )
61443 IS
61444
61445 l_component_type VARCHAR2(80);
61446 l_component_code VARCHAR2(30);
61447 l_component_type_code VARCHAR2(1);
61448 l_component_appl_id INTEGER;
61449 l_amb_context_code VARCHAR2(30);
61450 l_entity_code VARCHAR2(30);
61451 l_event_class_code VARCHAR2(30);
61452 l_ae_header_id NUMBER;
61453 l_event_type_code VARCHAR2(30);
61454 l_line_definition_code VARCHAR2(30);
61455 l_line_definition_owner_code VARCHAR2(1);
61456 --
61457 -- adr variables
61458 l_segment VARCHAR2(30);
61459 l_ccid NUMBER;
61460 l_adr_transaction_coa_id NUMBER;
61464 l_adr_value_type_code VARCHAR2(30);
61461 l_adr_accounting_coa_id NUMBER;
61462 l_adr_flexfield_segment_code VARCHAR2(30);
61463 l_adr_flex_value_set_id NUMBER;
61465 l_adr_value_combination_id NUMBER;
61466 l_adr_value_segment_code VARCHAR2(30);
61467
61468 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
61469 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
61470 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
61471 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
61472
61473 -- 4262811 Variables ------------------------------------------------------------------------------------------
61474 l_entered_amt_idx NUMBER;
61475 l_accted_amt_idx NUMBER;
61476 l_acc_rev_flag VARCHAR2(1);
61477 l_accrual_line_num NUMBER;
61478 l_tmp_amt NUMBER;
61479 l_acc_rev_natural_side_code VARCHAR2(1);
61480
61481 l_num_entries NUMBER;
61482 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61483 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61484 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61485 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61486 l_recog_line_1 NUMBER;
61487 l_recog_line_2 NUMBER;
61488
61489 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61490 l_bflow_applied_to_amt NUMBER; -- 5132302
61491 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61492
61493 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61494
61495 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61496 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61497
61498 ---------------------------------------------------------------------------------------------------------------
61499
61500
61501 --
61502 -- bulk performance
61503 --
61504 l_balance_type_code VARCHAR2(1);
61505 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61506 l_log_module VARCHAR2(240);
61507
61508 --
61509 -- Upgrade strategy
61510 --
61511 l_actual_upg_option VARCHAR2(1);
61512 l_enc_upg_option VARCHAR2(1);
61513
61514 --
61515 BEGIN
61516 --
61517 IF g_log_enabled THEN
61518 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_119';
61519 END IF;
61520 --
61521 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61522
61523 trace
61524 (p_msg => 'BEGIN of AcctLineType_119'
61525 ,p_level => C_LEVEL_PROCEDURE
61526 ,p_module => l_log_module);
61527
61528 END IF;
61529 --
61530 l_component_type := 'AMB_JLT';
61531 l_component_code := 'AP_FUTURE_DATED_PMT_INVXRATE';
61532 l_component_type_code := 'S';
61533 l_component_appl_id := 200;
61534 l_amb_context_code := 'DEFAULT';
61535 l_entity_code := 'AP_PAYMENTS';
61536 l_event_class_code := 'PAYMENTS';
61537 l_event_type_code := 'PAYMENTS_ALL';
61538 l_line_definition_owner_code := 'S';
61539 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
61540 --
61541 l_balance_type_code := 'A';
61542 l_segment := NULL;
61543 l_ccid := NULL;
61544 l_adr_transaction_coa_id := NULL;
61545 l_adr_accounting_coa_id := NULL;
61546 l_adr_flexfield_segment_code := NULL;
61547 l_adr_flex_value_set_id := NULL;
61548 l_adr_value_type_code := NULL;
61549 l_adr_value_combination_id := NULL;
61550 l_adr_value_segment_code := NULL;
61551
61552 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
61553 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
61554 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61555 l_budgetary_control_flag := 'N';
61556
61557 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61558 l_bflow_applied_to_amt := NULL; -- 5132302
61559 l_entered_amt_idx := NULL; -- 4262811
61560 l_accted_amt_idx := NULL; -- 4262811
61561 l_acc_rev_flag := NULL; -- 4262811
61562 l_accrual_line_num := NULL; -- 4262811
61563 l_tmp_amt := NULL; -- 4262811
61564 --
61565
61566 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61567 l_balance_type_code <> 'B' THEN
61568 IF NVL(p_source_96,'
61569 ') = 'ALWAYS_CLEAR' AND
61570 NVL(p_source_97,'
61571 ') = 'CASH' AND
61572 p_source_114 IS NOT NULL AND
61573 NVL(p_source_123,'
61574 ') <> 'PAYMENTCARD'
61575 THEN
61576
61577 --
61578 XLA_AE_LINES_PKG.SetNewLine;
61579
61580 p_balance_type_code := l_balance_type_code;
61581 -- set the flag so later we will know whether the gain loss line needs to be created
61582
61583 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61584 p_actual_flag :='A';
61585 END IF;
61586
61587 --
61588 -- bulk performance
61589 --
61590 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61594 --
61591 p_header_num => 0); -- 4262811
61592 --
61593 -- set accounting line options
61595 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61596 p_natural_side_code => 'C'
61597 , p_gain_or_loss_flag => 'N'
61598 , p_gl_transfer_mode_code => 'S'
61599 , p_acct_entry_type_code => 'A'
61600 , p_switch_side_flag => 'Y'
61601 , p_merge_duplicate_code => 'A'
61602 );
61603 --
61604 l_acc_rev_natural_side_code := 'D'; -- 4262811
61605 --
61606 --
61607 -- set accounting line type info
61608 --
61609 xla_ae_lines_pkg.SetAcctLineType
61610 (p_component_type => l_component_type
61611 ,p_event_type_code => l_event_type_code
61612 ,p_line_definition_owner_code => l_line_definition_owner_code
61613 ,p_line_definition_code => l_line_definition_code
61614 ,p_accounting_line_code => l_component_code
61615 ,p_accounting_line_type_code => l_component_type_code
61616 ,p_accounting_line_appl_id => l_component_appl_id
61617 ,p_amb_context_code => l_amb_context_code
61618 ,p_entity_code => l_entity_code
61619 ,p_event_class_code => l_event_class_code);
61620 --
61621 -- set accounting class
61622 --
61623 xla_ae_lines_pkg.SetAcctClass(
61624 p_accounting_class_code => 'FUTURE_DATED_PMT'
61625 , p_ae_header_id => l_ae_header_id
61626 );
61627
61628 --
61629 -- set rounding class
61630 --
61631 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61632 'FUTURE_DATED_PMT';
61633
61634 --
61635 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61636 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61637 --
61638 -- bulk performance
61639 --
61640 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61641
61642 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61643 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61644
61645 -- 4955764
61646 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61647 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61648
61649 -- 4458381 Public Sector Enh
61650
61651 --
61652 -- set accounting attributes for the line type
61653 --
61654 l_entered_amt_idx := 10;
61655 l_accted_amt_idx := 15;
61656 l_bflow_applied_to_amt_idx := 2; -- 5132302
61657 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61658 l_rec_acct_attrs.array_char_value(1) := p_source_52;
61659 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
61660 l_rec_acct_attrs.array_num_value(2) := p_source_124;
61661 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
61662 l_rec_acct_attrs.array_num_value(3) := p_source_90;
61663 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61664 l_rec_acct_attrs.array_char_value(4) := p_source_91;
61665 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
61666 l_rec_acct_attrs.array_char_value(5) := p_source_92;
61667 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
61668 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
61669 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61670 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
61671 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
61672 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
61673 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
61674 l_rec_acct_attrs.array_char_value(9) := p_source_54;
61675 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
61676 l_rec_acct_attrs.array_num_value(10) := p_source_98;
61677 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
61678 l_rec_acct_attrs.array_char_value(11) := p_source_13;
61679 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
61680 l_rec_acct_attrs.array_date_value(12) := p_source_117;
61681 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
61682 l_rec_acct_attrs.array_num_value(13) := p_source_118;
61683 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
61684 l_rec_acct_attrs.array_char_value(14) := p_source_119;
61685 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
61686 l_rec_acct_attrs.array_num_value(15) := p_source_116;
61687 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
61688 l_rec_acct_attrs.array_char_value(16) := p_source_79;
61689 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
61690 l_rec_acct_attrs.array_num_value(17) := p_source_109;
61691 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
61692 l_rec_acct_attrs.array_num_value(18) := p_source_110;
61693 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
61694 l_rec_acct_attrs.array_char_value(19) := p_source_82;
61695 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
61699 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
61696 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
61697 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
61698 l_rec_acct_attrs.array_char_value(21) := p_source_54;
61700 l_rec_acct_attrs.array_num_value(22) := p_source_85;
61701 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
61702 l_rec_acct_attrs.array_num_value(23) := p_source_86;
61703 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
61704 l_rec_acct_attrs.array_num_value(24) := p_source_87;
61705
61706 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61707 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61708
61709 ---------------------------------------------------------------------------------------------------------------
61710 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61711 ---------------------------------------------------------------------------------------------------------------
61712 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61713
61714 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61715 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61716
61717 IF xla_accounting_cache_pkg.GetValueChar
61718 (p_source_code => 'LEDGER_CATEGORY_CODE'
61719 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61720 AND l_bflow_method_code = 'PRIOR_ENTRY'
61721 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61722 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61723 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61724 )
61725 THEN
61726 xla_ae_lines_pkg.BflowUpgEntry
61727 (p_business_method_code => l_bflow_method_code
61728 ,p_business_class_code => l_bflow_class_code
61729 ,p_balance_type => l_balance_type_code);
61730 ELSE
61731 NULL;
61732 -- No business flow processing for business flow method of NONE.
61733 END IF;
61734
61735 --
61736 -- call analytical criteria
61737 --
61738
61739
61740 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
61741 xla_ae_lines_pkg.SetAnalyticalCriteria(
61742 p_analytical_criterion_name => 'Check Id'
61743 , p_analytical_criterion_owner => 'S'
61744 , p_analytical_criterion_code => 'CHECK_ID'
61745 , p_amb_context_code => 'DEFAULT'
61746 , p_balancing_flag => 'N'
61747
61748 , p_analytical_detail_char_1 => NULL
61749 , p_analytical_detail_num_1 => p_source_112
61750 , p_analytical_detail_date_1 => NULL
61751
61752 , p_ae_header_id => l_ae_header_id
61753 )
61754 ;
61755 --
61756
61757 --
61758 -- call description
61759 --
61760 -- No description or it is inherited.
61761 --
61762 -- call ADRs
61763 -- Bug 4922099
61764 --
61765 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61766 (NVL(l_actual_upg_option, 'N') = 'O') OR
61767 (NVL(l_enc_upg_option, 'N') = 'O')
61768 )
61769 THEN
61770 NULL;
61771 --
61772 --
61773
61774 l_ccid := AcctDerRule_31(
61775 p_application_id => p_application_id
61776 , p_ae_header_id => l_ae_header_id
61777 , p_source_15 => p_source_15
61778 , p_source_15_meaning => p_source_15_meaning
61779 , p_source_24 => p_source_24
61780 , p_source_25 => p_source_25
61781 , p_source_25_meaning => p_source_25_meaning
61782 , p_source_26 => p_source_26
61783 , p_source_27 => p_source_27
61784 , p_source_30 => p_source_30
61785 , x_transaction_coa_id => l_adr_transaction_coa_id
61786 , x_accounting_coa_id => l_adr_accounting_coa_id
61787 , x_value_type_code => l_adr_value_type_code
61788 , p_side => 'NA'
61789 );
61790
61791 xla_ae_lines_pkg.set_ccid(
61792 p_code_combination_id => l_ccid
61793 , p_value_type_code => l_adr_value_type_code
61794 , p_transaction_coa_id => l_adr_transaction_coa_id
61795 , p_accounting_coa_id => l_adr_accounting_coa_id
61796 , p_adr_code => 'AP_FUTURE_DATED_PMT'
61797 , p_adr_type_code => 'S'
61798 , p_component_type => l_component_type
61799 , p_component_code => l_component_code
61800 , p_component_type_code => l_component_type_code
61801 , p_component_appl_id => l_component_appl_id
61802 , p_amb_context_code => l_amb_context_code
61803 , p_side => 'NA'
61804 );
61805
61806
61807 l_segment := AcctDerRule_11(
61808 p_application_id => p_application_id
61809 , p_ae_header_id => l_ae_header_id
61810 , p_source_15 => p_source_15
61811 , p_source_15_meaning => p_source_15_meaning
61812 , p_source_24 => p_source_24
61813 , p_source_25 => p_source_25
61814 , p_source_25_meaning => p_source_25_meaning
61818 , x_accounting_coa_id => l_adr_accounting_coa_id
61815 , p_source_26 => p_source_26
61816 , p_source_27 => p_source_27
61817 , x_transaction_coa_id => l_adr_transaction_coa_id
61819 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61820 , x_flex_value_set_id => l_adr_flex_value_set_id
61821 , x_value_type_code => l_adr_value_type_code
61822 , x_value_combination_id => l_adr_value_combination_id
61823 , x_value_segment_code => l_adr_value_segment_code
61824 , p_side => 'NA'
61825 , p_override_seg_flag => 'Y'
61826 );
61827
61828 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61829
61830 xla_ae_lines_pkg.set_segment(
61831 p_to_segment_code => 'GL_ACCOUNT'
61832 , p_segment_value => l_segment
61833 , p_from_segment_code => l_adr_value_segment_code
61834 , p_from_combination_id => l_adr_value_combination_id
61835 , p_value_type_code => l_adr_value_type_code
61836 , p_transaction_coa_id => l_adr_transaction_coa_id
61837 , p_accounting_coa_id => l_adr_accounting_coa_id
61838 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61839 , p_flex_value_set_id => l_adr_flex_value_set_id
61840 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61841 , p_adr_type_code => 'S'
61842 , p_component_type => l_component_type
61843 , p_component_code => l_component_code
61844 , p_component_type_code => l_component_type_code
61845 , p_component_appl_id => l_component_appl_id
61846 , p_amb_context_code => l_amb_context_code
61847 , p_entity_code => 'AP_PAYMENTS'
61848 , p_event_class_code => 'PAYMENTS'
61849 , p_side => 'NA'
61850 );
61851
61852 END IF;
61853
61854 l_segment := AcctDerRule_22(
61855 p_application_id => p_application_id
61856 , p_ae_header_id => l_ae_header_id
61857 , p_source_15 => p_source_15
61858 , p_source_15_meaning => p_source_15_meaning
61859 , p_source_30 => p_source_30
61860 , x_transaction_coa_id => l_adr_transaction_coa_id
61861 , x_accounting_coa_id => l_adr_accounting_coa_id
61862 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61863 , x_flex_value_set_id => l_adr_flex_value_set_id
61864 , x_value_type_code => l_adr_value_type_code
61865 , x_value_combination_id => l_adr_value_combination_id
61866 , x_value_segment_code => l_adr_value_segment_code
61867 , p_side => 'NA'
61868 , p_override_seg_flag => 'Y'
61869 );
61870
61871 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61872
61873 xla_ae_lines_pkg.set_segment(
61874 p_to_segment_code => 'GL_BALANCING'
61875 , p_segment_value => l_segment
61876 , p_from_segment_code => l_adr_value_segment_code
61877 , p_from_combination_id => l_adr_value_combination_id
61878 , p_value_type_code => l_adr_value_type_code
61879 , p_transaction_coa_id => l_adr_transaction_coa_id
61880 , p_accounting_coa_id => l_adr_accounting_coa_id
61881 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61882 , p_flex_value_set_id => l_adr_flex_value_set_id
61883 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61884 , p_adr_type_code => 'S'
61885 , p_component_type => l_component_type
61886 , p_component_code => l_component_code
61887 , p_component_type_code => l_component_type_code
61888 , p_component_appl_id => l_component_appl_id
61889 , p_amb_context_code => l_amb_context_code
61890 , p_entity_code => 'AP_PAYMENTS'
61891 , p_event_class_code => 'PAYMENTS'
61892 , p_side => 'NA'
61893 );
61894
61895 END IF;
61896
61897 --
61898 --
61899 END IF;
61900 --
61901 -- Bug 4922099
61902 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61903 (NVL(l_enc_upg_option, 'N') = 'O')
61904 ) AND
61905 (l_bflow_method_code = 'PRIOR_ENTRY')
61906 )
61907 THEN
61908 IF
61909 --
61910 1 = 2
61911 --
61912 THEN
61913 xla_accounting_err_pkg.build_message
61914 (p_appli_s_name => 'XLA'
61915 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61916 ,p_token_1 => 'LINE_NUMBER'
61917 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61918 ,p_token_2 => 'LINE_TYPE_NAME'
61919 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61920 l_component_type
61921 ,l_component_code
61922 ,l_component_type_code
61923 ,l_component_appl_id
61927 )
61924 ,l_amb_context_code
61925 ,l_entity_code
61926 ,l_event_class_code
61928 ,p_token_3 => 'OWNER'
61929 ,p_value_3 => xla_lookups_pkg.get_meaning(
61930 p_lookup_type => 'XLA_OWNER_TYPE'
61931 ,p_lookup_code => l_component_type_code
61932 )
61933 ,p_token_4 => 'PRODUCT_NAME'
61934 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61935 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61936 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61937 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61938 ,p_ae_header_id => NULL
61939 );
61940
61941 IF (C_LEVEL_ERROR>= g_log_level) THEN
61942 trace
61943 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61944 ,p_level => C_LEVEL_ERROR
61945 ,p_module => l_log_module);
61946 END IF;
61947 END IF;
61948 END IF;
61949 --
61950 --
61951 ------------------------------------------------------------------------------------------------
61952 -- 4219869 Business Flow
61953 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61954 -- Prior Entry. Currently, the following code is always generated.
61955 ------------------------------------------------------------------------------------------------
61956 XLA_AE_LINES_PKG.ValidateCurrentLine;
61957
61958 ------------------------------------------------------------------------------------
61959 -- 4219869 Business Flow
61960 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61961 ------------------------------------------------------------------------------------
61962 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61963
61964 ----------------------------------------------------------------------------------
61965 -- 4219869 Business Flow
61966 -- Update journal entry status -- Need to generate this within IF <condition>
61967 ----------------------------------------------------------------------------------
61968 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61969 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61970 ,p_balance_type_code => l_balance_type_code
61971 );
61972
61973 -------------------------------------------------------------------------------------------
61974 -- 4262811 - Generate the Accrual Reversal lines
61975 -------------------------------------------------------------------------------------------
61976 BEGIN
61977 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61978 (g_array_event(p_event_id).array_value_num('header_index'));
61979 IF l_acc_rev_flag IS NULL THEN
61980 l_acc_rev_flag := 'N';
61981 END IF;
61982 EXCEPTION
61983 WHEN OTHERS THEN
61984 l_acc_rev_flag := 'N';
61985 END;
61986 --
61987 IF (l_acc_rev_flag = 'Y') THEN
61988
61989 -- 4645092 ------------------------------------------------------------------------------
61990 -- To allow MPA report to determine if it should generate report process
61991 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61992 ------------------------------------------------------------------------------------------
61993
61994 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61995 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61996 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61997 -- call ADRs
61998 -- Bug 4922099
61999 --
62000 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62001 (NVL(l_actual_upg_option, 'N') = 'O') OR
62002 (NVL(l_enc_upg_option, 'N') = 'O')
62003 )
62004 THEN
62005 NULL;
62006 --
62007 --
62008
62009 l_ccid := AcctDerRule_31(
62010 p_application_id => p_application_id
62011 , p_ae_header_id => l_ae_header_id
62012 , p_source_15 => p_source_15
62013 , p_source_15_meaning => p_source_15_meaning
62014 , p_source_24 => p_source_24
62015 , p_source_25 => p_source_25
62016 , p_source_25_meaning => p_source_25_meaning
62017 , p_source_26 => p_source_26
62018 , p_source_27 => p_source_27
62019 , p_source_30 => p_source_30
62020 , x_transaction_coa_id => l_adr_transaction_coa_id
62021 , x_accounting_coa_id => l_adr_accounting_coa_id
62022 , x_value_type_code => l_adr_value_type_code
62023 , p_side => 'NA'
62024 );
62025
62029 , p_transaction_coa_id => l_adr_transaction_coa_id
62026 xla_ae_lines_pkg.set_ccid(
62027 p_code_combination_id => l_ccid
62028 , p_value_type_code => l_adr_value_type_code
62030 , p_accounting_coa_id => l_adr_accounting_coa_id
62031 , p_adr_code => 'AP_FUTURE_DATED_PMT'
62032 , p_adr_type_code => 'S'
62033 , p_component_type => l_component_type
62034 , p_component_code => l_component_code
62035 , p_component_type_code => l_component_type_code
62036 , p_component_appl_id => l_component_appl_id
62037 , p_amb_context_code => l_amb_context_code
62038 , p_side => 'NA'
62039 );
62040
62041
62042 l_segment := AcctDerRule_11(
62043 p_application_id => p_application_id
62044 , p_ae_header_id => l_ae_header_id
62045 , p_source_15 => p_source_15
62046 , p_source_15_meaning => p_source_15_meaning
62047 , p_source_24 => p_source_24
62048 , p_source_25 => p_source_25
62049 , p_source_25_meaning => p_source_25_meaning
62050 , p_source_26 => p_source_26
62051 , p_source_27 => p_source_27
62052 , x_transaction_coa_id => l_adr_transaction_coa_id
62053 , x_accounting_coa_id => l_adr_accounting_coa_id
62054 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62055 , x_flex_value_set_id => l_adr_flex_value_set_id
62056 , x_value_type_code => l_adr_value_type_code
62057 , x_value_combination_id => l_adr_value_combination_id
62058 , x_value_segment_code => l_adr_value_segment_code
62059 , p_side => 'NA'
62060 , p_override_seg_flag => 'Y'
62061 );
62062
62063 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62064
62065 xla_ae_lines_pkg.set_segment(
62066 p_to_segment_code => 'GL_ACCOUNT'
62067 , p_segment_value => l_segment
62068 , p_from_segment_code => l_adr_value_segment_code
62069 , p_from_combination_id => l_adr_value_combination_id
62070 , p_value_type_code => l_adr_value_type_code
62071 , p_transaction_coa_id => l_adr_transaction_coa_id
62072 , p_accounting_coa_id => l_adr_accounting_coa_id
62073 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62074 , p_flex_value_set_id => l_adr_flex_value_set_id
62075 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
62076 , p_adr_type_code => 'S'
62077 , p_component_type => l_component_type
62078 , p_component_code => l_component_code
62079 , p_component_type_code => l_component_type_code
62080 , p_component_appl_id => l_component_appl_id
62081 , p_amb_context_code => l_amb_context_code
62082 , p_entity_code => 'AP_PAYMENTS'
62083 , p_event_class_code => 'PAYMENTS'
62084 , p_side => 'NA'
62085 );
62086
62087 END IF;
62088
62089 l_segment := AcctDerRule_22(
62090 p_application_id => p_application_id
62091 , p_ae_header_id => l_ae_header_id
62092 , p_source_15 => p_source_15
62093 , p_source_15_meaning => p_source_15_meaning
62094 , p_source_30 => p_source_30
62095 , x_transaction_coa_id => l_adr_transaction_coa_id
62096 , x_accounting_coa_id => l_adr_accounting_coa_id
62097 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62098 , x_flex_value_set_id => l_adr_flex_value_set_id
62099 , x_value_type_code => l_adr_value_type_code
62100 , x_value_combination_id => l_adr_value_combination_id
62101 , x_value_segment_code => l_adr_value_segment_code
62102 , p_side => 'NA'
62103 , p_override_seg_flag => 'Y'
62104 );
62105
62106 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62107
62108 xla_ae_lines_pkg.set_segment(
62109 p_to_segment_code => 'GL_BALANCING'
62110 , p_segment_value => l_segment
62111 , p_from_segment_code => l_adr_value_segment_code
62112 , p_from_combination_id => l_adr_value_combination_id
62113 , p_value_type_code => l_adr_value_type_code
62114 , p_transaction_coa_id => l_adr_transaction_coa_id
62115 , p_accounting_coa_id => l_adr_accounting_coa_id
62116 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62117 , p_flex_value_set_id => l_adr_flex_value_set_id
62118 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
62119 , p_adr_type_code => 'S'
62120 , p_component_type => l_component_type
62121 , p_component_code => l_component_code
62122 , p_component_type_code => l_component_type_code
62123 , p_component_appl_id => l_component_appl_id
62124 , p_amb_context_code => l_amb_context_code
62125 , p_entity_code => 'AP_PAYMENTS'
62126 , p_event_class_code => 'PAYMENTS'
62127 , p_side => 'NA'
62128 );
62129
62130 END IF;
62131
62132 --
62133 --
62134 END IF;
62135
62136 --
62137 -- Update the line information that should be overwritten
62138 --
62142
62139 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62140 p_header_num => 1);
62141 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62143 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62144
62145 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62146 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62147 END IF;
62148
62149 --
62150 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62151 --
62152 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62153 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62154 ELSE
62155 ---------------------------------------------------------------------------------------------------
62156 -- 4262811a Switch Sign
62157 ---------------------------------------------------------------------------------------------------
62158 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62160 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62161 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62162 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62163 -- 5132302
62164 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62165 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62166
62167 END IF;
62168
62169 -- 4955764
62170 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62171 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62172
62173
62174 XLA_AE_LINES_PKG.ValidateCurrentLine;
62175 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62176
62177 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62178 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62179 ,p_balance_type_code => l_balance_type_code);
62180
62181 END IF;
62182
62183 -----------------------------------------------------------------------------------------
62184 -- 4262811 Multiperiod Accounting
62185 -----------------------------------------------------------------------------------------
62186 -- No MPA option is assigned.
62187
62188
62189 END IF;
62190 END IF;
62191 --
62192
62193 --
62194 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62195 trace
62196 (p_msg => 'END of AcctLineType_119'
62197 ,p_level => C_LEVEL_PROCEDURE
62198 ,p_module => l_log_module);
62199 END IF;
62200 --
62201 EXCEPTION
62202 WHEN xla_exceptions_pkg.application_exception THEN
62203 RAISE;
62204 WHEN OTHERS THEN
62205 xla_exceptions_pkg.raise_message
62206 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_119');
62207 END AcctLineType_119;
62208 --
62209
62210 ---------------------------------------
62211 --
62212 -- PRIVATE FUNCTION
62213 -- AcctLineType_120
62214 --
62215 ---------------------------------------
62216 PROCEDURE AcctLineType_120 (
62217 p_application_id IN NUMBER
62218 ,p_event_id IN NUMBER
62219 ,p_calculate_acctd_flag IN VARCHAR2
62220 ,p_calculate_g_l_flag IN VARCHAR2
62221 ,p_actual_flag IN OUT VARCHAR2
62222 ,p_balance_type_code OUT VARCHAR2
62223 ,p_gain_or_loss_ref OUT VARCHAR2
62224
62225 --Payment Currency Code
62226 , p_source_13 IN VARCHAR2
62227 --Accounting Reversal Indicator
62228 , p_source_52 IN VARCHAR2
62229 --Distribution Link Type
62230 , p_source_54 IN VARCHAR2
62231 --Override Accounted Amount Indicator
62232 , p_source_79 IN VARCHAR2
62233 , p_source_79_meaning IN VARCHAR2
62234 --Third Party Type
62235 , p_source_82 IN VARCHAR2
62236 --Business Flow Accounts Payable Application Identifier
62237 , p_source_90 IN NUMBER
62238 --When to Account for Payment Option
62239 , p_source_96 IN VARCHAR2
62240 --Payment Distribution Type
62241 , p_source_97 IN VARCHAR2
62242 , p_source_97_meaning IN VARCHAR2
62243 --Payment Distribution Amount
62244 , p_source_98 IN NUMBER
62245 --Business Flow Payment Distribution Type
62246 , p_source_99 IN VARCHAR2
62247 --Business Flow Payment Entity Code
62248 , p_source_100 IN VARCHAR2
62249 --Business Flow Payment Distribution Identifier
62250 , p_source_101 IN NUMBER
62251 --Business Flow Payment Identifier
62252 , p_source_102 IN NUMBER
62253 --Payment Distribution Identifier
62254 , p_source_103 IN NUMBER
62255 --Payment Distribution Reversed Identifier
62256 , p_source_111 IN NUMBER
62257 --Payment Maturity Date
62261 )
62258 , p_source_114 IN DATE
62259 --Payment Distribution (Payment Rate) Ledger Amount
62260 , p_source_115 IN NUMBER
62262 IS
62263
62264 l_component_type VARCHAR2(80);
62265 l_component_code VARCHAR2(30);
62266 l_component_type_code VARCHAR2(1);
62267 l_component_appl_id INTEGER;
62268 l_amb_context_code VARCHAR2(30);
62269 l_entity_code VARCHAR2(30);
62270 l_event_class_code VARCHAR2(30);
62271 l_ae_header_id NUMBER;
62272 l_event_type_code VARCHAR2(30);
62273 l_line_definition_code VARCHAR2(30);
62274 l_line_definition_owner_code VARCHAR2(1);
62275 --
62276 -- adr variables
62277 l_segment VARCHAR2(30);
62278 l_ccid NUMBER;
62279 l_adr_transaction_coa_id NUMBER;
62280 l_adr_accounting_coa_id NUMBER;
62281 l_adr_flexfield_segment_code VARCHAR2(30);
62282 l_adr_flex_value_set_id NUMBER;
62283 l_adr_value_type_code VARCHAR2(30);
62284 l_adr_value_combination_id NUMBER;
62285 l_adr_value_segment_code VARCHAR2(30);
62286
62287 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62288 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62289 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62290 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62291
62292 -- 4262811 Variables ------------------------------------------------------------------------------------------
62293 l_entered_amt_idx NUMBER;
62294 l_accted_amt_idx NUMBER;
62295 l_acc_rev_flag VARCHAR2(1);
62296 l_accrual_line_num NUMBER;
62297 l_tmp_amt NUMBER;
62298 l_acc_rev_natural_side_code VARCHAR2(1);
62299
62300 l_num_entries NUMBER;
62301 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62302 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62303 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62304 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62305 l_recog_line_1 NUMBER;
62306 l_recog_line_2 NUMBER;
62307
62308 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62309 l_bflow_applied_to_amt NUMBER; -- 5132302
62310 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62311
62312 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62313
62314 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62315 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62316
62317 ---------------------------------------------------------------------------------------------------------------
62318
62319
62320 --
62321 -- bulk performance
62322 --
62323 l_balance_type_code VARCHAR2(1);
62324 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62325 l_log_module VARCHAR2(240);
62326
62327 --
62328 -- Upgrade strategy
62329 --
62330 l_actual_upg_option VARCHAR2(1);
62331 l_enc_upg_option VARCHAR2(1);
62332
62333 --
62334 BEGIN
62335 --
62336 IF g_log_enabled THEN
62337 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_120';
62338 END IF;
62339 --
62340 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62341
62342 trace
62343 (p_msg => 'BEGIN of AcctLineType_120'
62344 ,p_level => C_LEVEL_PROCEDURE
62345 ,p_module => l_log_module);
62346
62347 END IF;
62348 --
62349 l_component_type := 'AMB_JLT';
62350 l_component_code := 'AP_FUTURE_DATED_PMT_MAT';
62351 l_component_type_code := 'S';
62352 l_component_appl_id := 200;
62353 l_amb_context_code := 'DEFAULT';
62354 l_entity_code := 'AP_PAYMENTS';
62355 l_event_class_code := 'FUTURE DATED PAYMENTS';
62356 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
62357 l_line_definition_owner_code := 'S';
62358 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
62359 --
62360 l_balance_type_code := 'A';
62361 l_segment := NULL;
62362 l_ccid := NULL;
62363 l_adr_transaction_coa_id := NULL;
62364 l_adr_accounting_coa_id := NULL;
62365 l_adr_flexfield_segment_code := NULL;
62366 l_adr_flex_value_set_id := NULL;
62367 l_adr_value_type_code := NULL;
62368 l_adr_value_combination_id := NULL;
62369 l_adr_value_segment_code := NULL;
62370
62371 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
62372 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
62373 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62374 l_budgetary_control_flag := 'N';
62375
62376 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62377 l_bflow_applied_to_amt := NULL; -- 5132302
62378 l_entered_amt_idx := NULL; -- 4262811
62379 l_accted_amt_idx := NULL; -- 4262811
62380 l_acc_rev_flag := NULL; -- 4262811
62381 l_accrual_line_num := NULL; -- 4262811
62382 l_tmp_amt := NULL; -- 4262811
62386 l_balance_type_code <> 'B' THEN
62383 --
62384
62385 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62387 IF NVL(p_source_96,'
62388 ') <> 'CLEAR_CLEAR' AND
62389 p_source_114 IS NOT NULL AND
62390 (NVL(p_source_97,'
62391 ') = 'CASH' OR
62392 NVL(p_source_97,'
62393 ') = 'ROUNDING')
62394 THEN
62395
62396 --
62397 XLA_AE_LINES_PKG.SetNewLine;
62398
62399 p_balance_type_code := l_balance_type_code;
62400 -- set the flag so later we will know whether the gain loss line needs to be created
62401
62402 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62403 p_actual_flag :='A';
62404 END IF;
62405
62406 --
62407 -- bulk performance
62408 --
62409 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62410 p_header_num => 0); -- 4262811
62411 --
62412 -- set accounting line options
62413 --
62414 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62415 p_natural_side_code => 'D'
62416 , p_gain_or_loss_flag => 'N'
62417 , p_gl_transfer_mode_code => 'S'
62418 , p_acct_entry_type_code => 'A'
62419 , p_switch_side_flag => 'Y'
62420 , p_merge_duplicate_code => 'A'
62421 );
62422 --
62423 l_acc_rev_natural_side_code := 'C'; -- 4262811
62424 --
62425 --
62426 -- set accounting line type info
62427 --
62428 xla_ae_lines_pkg.SetAcctLineType
62429 (p_component_type => l_component_type
62430 ,p_event_type_code => l_event_type_code
62431 ,p_line_definition_owner_code => l_line_definition_owner_code
62432 ,p_line_definition_code => l_line_definition_code
62433 ,p_accounting_line_code => l_component_code
62434 ,p_accounting_line_type_code => l_component_type_code
62435 ,p_accounting_line_appl_id => l_component_appl_id
62436 ,p_amb_context_code => l_amb_context_code
62437 ,p_entity_code => l_entity_code
62438 ,p_event_class_code => l_event_class_code);
62439 --
62440 -- set accounting class
62441 --
62442 xla_ae_lines_pkg.SetAcctClass(
62443 p_accounting_class_code => 'FUTURE_DATED_PMT'
62444 , p_ae_header_id => l_ae_header_id
62445 );
62446
62447 --
62448 -- set rounding class
62449 --
62450 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62451 'FUTURE_DATED_PMT';
62452
62453 --
62454 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62455 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62456 --
62457 -- bulk performance
62458 --
62459 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62460
62461 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62462 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62463
62464 -- 4955764
62465 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62466 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62467
62468 -- 4458381 Public Sector Enh
62469
62470 --
62471 -- set accounting attributes for the line type
62472 --
62473 l_entered_amt_idx := 9;
62474 l_accted_amt_idx := 11;
62475 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62476 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62477 l_rec_acct_attrs.array_char_value(1) := p_source_52;
62478 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
62479 l_rec_acct_attrs.array_num_value(2) := p_source_90;
62480 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62481 l_rec_acct_attrs.array_char_value(3) := p_source_99;
62482 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
62483 l_rec_acct_attrs.array_char_value(4) := p_source_100;
62484 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
62485 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
62486 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62487 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
62488 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
62489 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
62490 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
62491 l_rec_acct_attrs.array_char_value(8) := p_source_54;
62492 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
62493 l_rec_acct_attrs.array_num_value(9) := p_source_98;
62494 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
62495 l_rec_acct_attrs.array_char_value(10) := p_source_13;
62496 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
62497 l_rec_acct_attrs.array_num_value(11) := p_source_115;
62498 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
62499 l_rec_acct_attrs.array_char_value(12) := p_source_79;
62500 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
62504 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
62501 l_rec_acct_attrs.array_char_value(13) := p_source_82;
62502 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
62503 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_111);
62505 l_rec_acct_attrs.array_char_value(15) := p_source_54;
62506
62507 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62508 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62509
62510 ---------------------------------------------------------------------------------------------------------------
62511 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62512 ---------------------------------------------------------------------------------------------------------------
62513 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62514
62515 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62516 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62517
62518 IF xla_accounting_cache_pkg.GetValueChar
62519 (p_source_code => 'LEDGER_CATEGORY_CODE'
62520 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62521 AND l_bflow_method_code = 'PRIOR_ENTRY'
62522 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62523 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62524 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62525 )
62526 THEN
62527 xla_ae_lines_pkg.BflowUpgEntry
62528 (p_business_method_code => l_bflow_method_code
62529 ,p_business_class_code => l_bflow_class_code
62530 ,p_balance_type => l_balance_type_code);
62531 ELSE
62532 NULL;
62533 XLA_AE_LINES_PKG.business_flow_validation(
62534 p_business_method_code => l_bflow_method_code
62535 ,p_business_class_code => l_bflow_class_code
62536 ,p_inherit_description_flag => l_inherit_desc_flag);
62537 END IF;
62538
62539 --
62540 -- call analytical criteria
62541 --
62542 -- Inherited Analytical Criteria for business flow method of Prior Entry.
62543 --
62544 -- call description
62545 --
62546 -- No description or it is inherited.
62547 --
62548 -- call ADRs
62549 -- Bug 4922099
62550 --
62551 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62552 (NVL(l_actual_upg_option, 'N') = 'O') OR
62553 (NVL(l_enc_upg_option, 'N') = 'O')
62554 )
62555 THEN
62556 NULL;
62557 --
62558 --
62559
62560 --
62561 --
62562 END IF;
62563 --
62564 -- Bug 4922099
62565 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62566 (NVL(l_enc_upg_option, 'N') = 'O')
62567 ) AND
62568 (l_bflow_method_code = 'PRIOR_ENTRY')
62569 )
62570 THEN
62571 IF
62572 --
62573 1 = 1
62574 --
62575 THEN
62576 xla_accounting_err_pkg.build_message
62577 (p_appli_s_name => 'XLA'
62578 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62579 ,p_token_1 => 'LINE_NUMBER'
62580 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62581 ,p_token_2 => 'LINE_TYPE_NAME'
62582 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62583 l_component_type
62584 ,l_component_code
62585 ,l_component_type_code
62586 ,l_component_appl_id
62587 ,l_amb_context_code
62588 ,l_entity_code
62589 ,l_event_class_code
62590 )
62591 ,p_token_3 => 'OWNER'
62592 ,p_value_3 => xla_lookups_pkg.get_meaning(
62593 p_lookup_type => 'XLA_OWNER_TYPE'
62594 ,p_lookup_code => l_component_type_code
62595 )
62596 ,p_token_4 => 'PRODUCT_NAME'
62597 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62598 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62599 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62600 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62604 IF (C_LEVEL_ERROR>= g_log_level) THEN
62601 ,p_ae_header_id => NULL
62602 );
62603
62605 trace
62606 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62607 ,p_level => C_LEVEL_ERROR
62608 ,p_module => l_log_module);
62609 END IF;
62610 END IF;
62611 END IF;
62612 --
62613 --
62614 ------------------------------------------------------------------------------------------------
62615 -- 4219869 Business Flow
62616 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62617 -- Prior Entry. Currently, the following code is always generated.
62618 ------------------------------------------------------------------------------------------------
62619 -- No ValidateCurrentLine for business flow method of Prior Entry
62620
62621 ------------------------------------------------------------------------------------
62622 -- 4219869 Business Flow
62623 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62624 ------------------------------------------------------------------------------------
62625 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62626
62627 ----------------------------------------------------------------------------------
62628 -- 4219869 Business Flow
62629 -- Update journal entry status -- Need to generate this within IF <condition>
62630 ----------------------------------------------------------------------------------
62631 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62632 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62633 ,p_balance_type_code => l_balance_type_code
62634 );
62635
62636 -------------------------------------------------------------------------------------------
62637 -- 4262811 - Generate the Accrual Reversal lines
62638 -------------------------------------------------------------------------------------------
62639 BEGIN
62640 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62641 (g_array_event(p_event_id).array_value_num('header_index'));
62642 IF l_acc_rev_flag IS NULL THEN
62643 l_acc_rev_flag := 'N';
62644 END IF;
62645 EXCEPTION
62646 WHEN OTHERS THEN
62647 l_acc_rev_flag := 'N';
62648 END;
62649 --
62650 IF (l_acc_rev_flag = 'Y') THEN
62651
62652 -- 4645092 ------------------------------------------------------------------------------
62653 -- To allow MPA report to determine if it should generate report process
62654 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62655 ------------------------------------------------------------------------------------------
62656
62657 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62658 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62659 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62660 -- call ADRs
62661 -- Bug 4922099
62662 --
62663 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62664 (NVL(l_actual_upg_option, 'N') = 'O') OR
62665 (NVL(l_enc_upg_option, 'N') = 'O')
62666 )
62667 THEN
62668 NULL;
62669 --
62670 --
62671
62672 --
62673 --
62674 END IF;
62675
62676 --
62677 -- Update the line information that should be overwritten
62678 --
62679 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62680 p_header_num => 1);
62681 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62682
62683 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62684
62685 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62686 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62687 END IF;
62688
62689 --
62690 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62691 --
62692 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62693 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62694 ELSE
62695 ---------------------------------------------------------------------------------------------------
62696 -- 4262811a Switch Sign
62697 ---------------------------------------------------------------------------------------------------
62698 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62699 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62700 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62701 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62702 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62703 -- 5132302
62704 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62708
62705 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62706
62707 END IF;
62709 -- 4955764
62710 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62711 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62712
62713
62714 XLA_AE_LINES_PKG.ValidateCurrentLine;
62715 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62716
62717 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62718 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62719 ,p_balance_type_code => l_balance_type_code);
62720
62721 END IF;
62722
62723 -----------------------------------------------------------------------------------------
62724 -- 4262811 Multiperiod Accounting
62725 -----------------------------------------------------------------------------------------
62726 -- No MPA option is assigned.
62727
62728
62729 END IF;
62730 END IF;
62731 --
62732
62733 --
62734 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62735 trace
62736 (p_msg => 'END of AcctLineType_120'
62737 ,p_level => C_LEVEL_PROCEDURE
62738 ,p_module => l_log_module);
62739 END IF;
62740 --
62741 EXCEPTION
62742 WHEN xla_exceptions_pkg.application_exception THEN
62743 RAISE;
62744 WHEN OTHERS THEN
62745 xla_exceptions_pkg.raise_message
62746 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_120');
62747 END AcctLineType_120;
62748 --
62749
62750 ---------------------------------------
62751 --
62752 -- PRIVATE FUNCTION
62753 -- AcctLineType_121
62754 --
62755 ---------------------------------------
62756 PROCEDURE AcctLineType_121 (
62757 p_application_id IN NUMBER
62758 ,p_event_id IN NUMBER
62759 ,p_calculate_acctd_flag IN VARCHAR2
62760 ,p_calculate_g_l_flag IN VARCHAR2
62761 ,p_actual_flag IN OUT VARCHAR2
62762 ,p_balance_type_code OUT VARCHAR2
62763 ,p_gain_or_loss_ref OUT VARCHAR2
62764
62765 --Payment Currency Code
62766 , p_source_13 IN VARCHAR2
62767 --Automatic Offsets Value
62768 , p_source_15 IN VARCHAR2
62769 , p_source_15_meaning IN VARCHAR2
62770 --Invoice Distribution Account
62771 , p_source_30 IN NUMBER
62772 --Payables Options Rounding Account
62773 , p_source_48 IN NUMBER
62774 --Accounting Reversal Indicator
62775 , p_source_52 IN VARCHAR2
62776 --Distribution Link Type
62777 , p_source_54 IN VARCHAR2
62778 --Override Accounted Amount Indicator
62779 , p_source_79 IN VARCHAR2
62780 , p_source_79_meaning IN VARCHAR2
62781 --Third Party Type
62782 , p_source_82 IN VARCHAR2
62783 --Business Flow Accounts Payable Application Identifier
62784 , p_source_90 IN NUMBER
62785 --When to Account for Payment Option
62786 , p_source_96 IN VARCHAR2
62787 --Payment Distribution Type
62788 , p_source_97 IN VARCHAR2
62789 , p_source_97_meaning IN VARCHAR2
62790 --Payment Distribution Amount
62791 , p_source_98 IN NUMBER
62792 --Business Flow Payment Distribution Type
62793 , p_source_99 IN VARCHAR2
62794 --Business Flow Payment Entity Code
62795 , p_source_100 IN VARCHAR2
62796 --Business Flow Payment Distribution Identifier
62797 , p_source_101 IN NUMBER
62798 --Business Flow Payment Identifier
62799 , p_source_102 IN NUMBER
62800 --Payment Distribution Identifier
62801 , p_source_103 IN NUMBER
62802 --Payment Supplier Identifier
62803 , p_source_109 IN NUMBER
62804 --Payment Supplier Site Identifier
62805 , p_source_110 IN NUMBER
62806 --Payment Distribution Reversed Identifier
62807 , p_source_111 IN NUMBER
62808 --Payment Identifier
62809 , p_source_112 IN NUMBER
62810 --Payment Distribution (Payment Rate) Ledger Amount
62811 , p_source_115 IN NUMBER
62812 --Payment Exchange Date
62813 , p_source_117 IN DATE
62814 --Payment Exchange Rate
62815 , p_source_118 IN NUMBER
62816 --Payment Exchange Rate Type
62817 , p_source_119 IN VARCHAR2
62818 )
62819 IS
62820
62821 l_component_type VARCHAR2(80);
62822 l_component_code VARCHAR2(30);
62823 l_component_type_code VARCHAR2(1);
62824 l_component_appl_id INTEGER;
62825 l_amb_context_code VARCHAR2(30);
62826 l_entity_code VARCHAR2(30);
62827 l_event_class_code VARCHAR2(30);
62828 l_ae_header_id NUMBER;
62829 l_event_type_code VARCHAR2(30);
62830 l_line_definition_code VARCHAR2(30);
62831 l_line_definition_owner_code VARCHAR2(1);
62832 --
62833 -- adr variables
62834 l_segment VARCHAR2(30);
62835 l_ccid NUMBER;
62836 l_adr_transaction_coa_id NUMBER;
62837 l_adr_accounting_coa_id NUMBER;
62838 l_adr_flexfield_segment_code VARCHAR2(30);
62839 l_adr_flex_value_set_id NUMBER;
62840 l_adr_value_type_code VARCHAR2(30);
62841 l_adr_value_combination_id NUMBER;
62842 l_adr_value_segment_code VARCHAR2(30);
62843
62844 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62848
62845 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62846 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62847 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62849 -- 4262811 Variables ------------------------------------------------------------------------------------------
62850 l_entered_amt_idx NUMBER;
62851 l_accted_amt_idx NUMBER;
62852 l_acc_rev_flag VARCHAR2(1);
62853 l_accrual_line_num NUMBER;
62854 l_tmp_amt NUMBER;
62855 l_acc_rev_natural_side_code VARCHAR2(1);
62856
62857 l_num_entries NUMBER;
62858 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62859 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62860 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62861 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62862 l_recog_line_1 NUMBER;
62863 l_recog_line_2 NUMBER;
62864
62865 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62866 l_bflow_applied_to_amt NUMBER; -- 5132302
62867 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62868
62869 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62870
62871 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62872 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62873
62874 ---------------------------------------------------------------------------------------------------------------
62875
62876
62877 --
62878 -- bulk performance
62879 --
62880 l_balance_type_code VARCHAR2(1);
62881 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62882 l_log_module VARCHAR2(240);
62883
62884 --
62885 -- Upgrade strategy
62886 --
62887 l_actual_upg_option VARCHAR2(1);
62888 l_enc_upg_option VARCHAR2(1);
62889
62890 --
62891 BEGIN
62892 --
62893 IF g_log_enabled THEN
62894 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_121';
62895 END IF;
62896 --
62897 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62898
62899 trace
62900 (p_msg => 'BEGIN of AcctLineType_121'
62901 ,p_level => C_LEVEL_PROCEDURE
62902 ,p_module => l_log_module);
62903
62904 END IF;
62905 --
62906 l_component_type := 'AMB_JLT';
62907 l_component_code := 'AP_FUTURE_PMT_ROUNDING_MAT';
62908 l_component_type_code := 'S';
62909 l_component_appl_id := 200;
62910 l_amb_context_code := 'DEFAULT';
62911 l_entity_code := 'AP_PAYMENTS';
62912 l_event_class_code := 'FUTURE DATED PAYMENTS';
62913 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
62914 l_line_definition_owner_code := 'S';
62915 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
62916 --
62917 l_balance_type_code := 'A';
62918 l_segment := NULL;
62919 l_ccid := NULL;
62920 l_adr_transaction_coa_id := NULL;
62921 l_adr_accounting_coa_id := NULL;
62922 l_adr_flexfield_segment_code := NULL;
62923 l_adr_flex_value_set_id := NULL;
62924 l_adr_value_type_code := NULL;
62925 l_adr_value_combination_id := NULL;
62926 l_adr_value_segment_code := NULL;
62927
62928 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
62929 l_bflow_class_code := ''; -- 4219869 Business Flow
62930 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62931 l_budgetary_control_flag := 'N';
62932
62933 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62934 l_bflow_applied_to_amt := NULL; -- 5132302
62935 l_entered_amt_idx := NULL; -- 4262811
62936 l_accted_amt_idx := NULL; -- 4262811
62937 l_acc_rev_flag := NULL; -- 4262811
62938 l_accrual_line_num := NULL; -- 4262811
62939 l_tmp_amt := NULL; -- 4262811
62940 --
62941
62942 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62943 l_balance_type_code <> 'B' THEN
62944 IF NVL(p_source_96,'
62945 ') <> 'CLEAR_CLEAR' AND
62946 NVL(p_source_97,'
62947 ') = 'FUTURE PAYMENT ROUNDING'
62948 THEN
62949
62950 --
62951 XLA_AE_LINES_PKG.SetNewLine;
62952
62953 p_balance_type_code := l_balance_type_code;
62954 -- set the flag so later we will know whether the gain loss line needs to be created
62955
62956 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62957 p_actual_flag :='A';
62958 END IF;
62959
62960 --
62961 -- bulk performance
62962 --
62963 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62964 p_header_num => 0); -- 4262811
62965 --
62966 -- set accounting line options
62967 --
62968 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62969 p_natural_side_code => 'D'
62970 , p_gain_or_loss_flag => 'N'
62971 , p_gl_transfer_mode_code => 'S'
62975 );
62972 , p_acct_entry_type_code => 'A'
62973 , p_switch_side_flag => 'Y'
62974 , p_merge_duplicate_code => 'A'
62976 --
62977 l_acc_rev_natural_side_code := 'C'; -- 4262811
62978 --
62979 --
62980 -- set accounting line type info
62981 --
62982 xla_ae_lines_pkg.SetAcctLineType
62983 (p_component_type => l_component_type
62984 ,p_event_type_code => l_event_type_code
62985 ,p_line_definition_owner_code => l_line_definition_owner_code
62986 ,p_line_definition_code => l_line_definition_code
62987 ,p_accounting_line_code => l_component_code
62988 ,p_accounting_line_type_code => l_component_type_code
62989 ,p_accounting_line_appl_id => l_component_appl_id
62990 ,p_amb_context_code => l_amb_context_code
62991 ,p_entity_code => l_entity_code
62992 ,p_event_class_code => l_event_class_code);
62993 --
62994 -- set accounting class
62995 --
62996 xla_ae_lines_pkg.SetAcctClass(
62997 p_accounting_class_code => 'ROUNDING'
62998 , p_ae_header_id => l_ae_header_id
62999 );
63000
63001 --
63002 -- set rounding class
63003 --
63004 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63005 'ROUNDING';
63006
63007 --
63008 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63009 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63010 --
63011 -- bulk performance
63012 --
63013 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63014
63015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63016 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63017
63018 -- 4955764
63019 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63020 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63021
63022 -- 4458381 Public Sector Enh
63023
63024 --
63025 -- set accounting attributes for the line type
63026 --
63027 l_entered_amt_idx := 9;
63028 l_accted_amt_idx := 14;
63029 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63030 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63031 l_rec_acct_attrs.array_char_value(1) := p_source_52;
63032 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
63033 l_rec_acct_attrs.array_num_value(2) := p_source_90;
63034 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63035 l_rec_acct_attrs.array_char_value(3) := p_source_99;
63036 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
63037 l_rec_acct_attrs.array_char_value(4) := p_source_100;
63038 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
63039 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
63040 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63041 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
63042 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
63043 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
63044 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
63045 l_rec_acct_attrs.array_char_value(8) := p_source_54;
63046 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
63047 l_rec_acct_attrs.array_num_value(9) := p_source_98;
63048 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
63049 l_rec_acct_attrs.array_char_value(10) := p_source_13;
63050 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
63051 l_rec_acct_attrs.array_date_value(11) := p_source_117;
63052 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
63053 l_rec_acct_attrs.array_num_value(12) := p_source_118;
63054 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
63055 l_rec_acct_attrs.array_char_value(13) := p_source_119;
63056 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
63057 l_rec_acct_attrs.array_num_value(14) := p_source_115;
63058 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
63059 l_rec_acct_attrs.array_char_value(15) := p_source_79;
63060 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
63061 l_rec_acct_attrs.array_num_value(16) := p_source_109;
63062 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
63063 l_rec_acct_attrs.array_num_value(17) := p_source_110;
63064 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
63065 l_rec_acct_attrs.array_char_value(18) := p_source_82;
63066 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
63067 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
63068 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
63069 l_rec_acct_attrs.array_char_value(20) := p_source_54;
63070
63071 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63072 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63073
63077 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63074 ---------------------------------------------------------------------------------------------------------------
63075 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63076 ---------------------------------------------------------------------------------------------------------------
63078
63079 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63080 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63081
63082 IF xla_accounting_cache_pkg.GetValueChar
63083 (p_source_code => 'LEDGER_CATEGORY_CODE'
63084 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63085 AND l_bflow_method_code = 'PRIOR_ENTRY'
63086 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63087 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63088 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63089 )
63090 THEN
63091 xla_ae_lines_pkg.BflowUpgEntry
63092 (p_business_method_code => l_bflow_method_code
63093 ,p_business_class_code => l_bflow_class_code
63094 ,p_balance_type => l_balance_type_code);
63095 ELSE
63096 NULL;
63097 -- No business flow processing for business flow method of NONE.
63098 END IF;
63099
63100 --
63101 -- call analytical criteria
63102 --
63103
63104
63105 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
63106 xla_ae_lines_pkg.SetAnalyticalCriteria(
63107 p_analytical_criterion_name => 'Check Id'
63108 , p_analytical_criterion_owner => 'S'
63109 , p_analytical_criterion_code => 'CHECK_ID'
63110 , p_amb_context_code => 'DEFAULT'
63111 , p_balancing_flag => 'N'
63112
63113 , p_analytical_detail_char_1 => NULL
63114 , p_analytical_detail_num_1 => p_source_112
63115 , p_analytical_detail_date_1 => NULL
63116
63117 , p_ae_header_id => l_ae_header_id
63118 )
63119 ;
63120 --
63121
63122 --
63123 -- call description
63124 --
63125 -- No description or it is inherited.
63126 --
63127 -- call ADRs
63128 -- Bug 4922099
63129 --
63130 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63131 (NVL(l_actual_upg_option, 'N') = 'O') OR
63132 (NVL(l_enc_upg_option, 'N') = 'O')
63133 )
63134 THEN
63135 NULL;
63136 --
63137 --
63138
63139 l_ccid := AcctDerRule_40(
63140 p_application_id => p_application_id
63141 , p_ae_header_id => l_ae_header_id
63142 , p_source_15 => p_source_15
63143 , p_source_15_meaning => p_source_15_meaning
63144 , p_source_30 => p_source_30
63145 , p_source_48 => p_source_48
63146 , x_transaction_coa_id => l_adr_transaction_coa_id
63147 , x_accounting_coa_id => l_adr_accounting_coa_id
63148 , x_value_type_code => l_adr_value_type_code
63149 , p_side => 'NA'
63150 );
63151
63152 xla_ae_lines_pkg.set_ccid(
63153 p_code_combination_id => l_ccid
63154 , p_value_type_code => l_adr_value_type_code
63155 , p_transaction_coa_id => l_adr_transaction_coa_id
63156 , p_accounting_coa_id => l_adr_accounting_coa_id
63157 , p_adr_code => 'AP_ROUNDING'
63158 , p_adr_type_code => 'S'
63159 , p_component_type => l_component_type
63160 , p_component_code => l_component_code
63161 , p_component_type_code => l_component_type_code
63162 , p_component_appl_id => l_component_appl_id
63163 , p_amb_context_code => l_amb_context_code
63164 , p_side => 'NA'
63165 );
63166
63167
63168 --
63169 --
63170 END IF;
63171 --
63172 -- Bug 4922099
63173 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63174 (NVL(l_enc_upg_option, 'N') = 'O')
63175 ) AND
63176 (l_bflow_method_code = 'PRIOR_ENTRY')
63177 )
63178 THEN
63179 IF
63180 --
63181 1 = 2
63182 --
63183 THEN
63184 xla_accounting_err_pkg.build_message
63185 (p_appli_s_name => 'XLA'
63186 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63187 ,p_token_1 => 'LINE_NUMBER'
63188 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63189 ,p_token_2 => 'LINE_TYPE_NAME'
63190 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63191 l_component_type
63192 ,l_component_code
63193 ,l_component_type_code
63194 ,l_component_appl_id
63195 ,l_amb_context_code
63199 ,p_token_3 => 'OWNER'
63196 ,l_entity_code
63197 ,l_event_class_code
63198 )
63200 ,p_value_3 => xla_lookups_pkg.get_meaning(
63201 p_lookup_type => 'XLA_OWNER_TYPE'
63202 ,p_lookup_code => l_component_type_code
63203 )
63204 ,p_token_4 => 'PRODUCT_NAME'
63205 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63206 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63207 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63208 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63209 ,p_ae_header_id => NULL
63210 );
63211
63212 IF (C_LEVEL_ERROR>= g_log_level) THEN
63213 trace
63214 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63215 ,p_level => C_LEVEL_ERROR
63216 ,p_module => l_log_module);
63217 END IF;
63218 END IF;
63219 END IF;
63220 --
63221 --
63222 ------------------------------------------------------------------------------------------------
63223 -- 4219869 Business Flow
63224 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63225 -- Prior Entry. Currently, the following code is always generated.
63226 ------------------------------------------------------------------------------------------------
63227 XLA_AE_LINES_PKG.ValidateCurrentLine;
63228
63229 ------------------------------------------------------------------------------------
63230 -- 4219869 Business Flow
63231 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63232 ------------------------------------------------------------------------------------
63233 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63234
63235 ----------------------------------------------------------------------------------
63236 -- 4219869 Business Flow
63237 -- Update journal entry status -- Need to generate this within IF <condition>
63238 ----------------------------------------------------------------------------------
63239 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63240 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63241 ,p_balance_type_code => l_balance_type_code
63242 );
63243
63244 -------------------------------------------------------------------------------------------
63245 -- 4262811 - Generate the Accrual Reversal lines
63246 -------------------------------------------------------------------------------------------
63247 BEGIN
63248 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63249 (g_array_event(p_event_id).array_value_num('header_index'));
63250 IF l_acc_rev_flag IS NULL THEN
63251 l_acc_rev_flag := 'N';
63252 END IF;
63253 EXCEPTION
63254 WHEN OTHERS THEN
63255 l_acc_rev_flag := 'N';
63256 END;
63257 --
63258 IF (l_acc_rev_flag = 'Y') THEN
63259
63260 -- 4645092 ------------------------------------------------------------------------------
63261 -- To allow MPA report to determine if it should generate report process
63262 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63263 ------------------------------------------------------------------------------------------
63264
63265 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63266 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63267 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63268 -- call ADRs
63269 -- Bug 4922099
63270 --
63271 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63272 (NVL(l_actual_upg_option, 'N') = 'O') OR
63273 (NVL(l_enc_upg_option, 'N') = 'O')
63274 )
63275 THEN
63276 NULL;
63277 --
63278 --
63279
63280 l_ccid := AcctDerRule_40(
63281 p_application_id => p_application_id
63282 , p_ae_header_id => l_ae_header_id
63283 , p_source_15 => p_source_15
63284 , p_source_15_meaning => p_source_15_meaning
63285 , p_source_30 => p_source_30
63286 , p_source_48 => p_source_48
63287 , x_transaction_coa_id => l_adr_transaction_coa_id
63288 , x_accounting_coa_id => l_adr_accounting_coa_id
63289 , x_value_type_code => l_adr_value_type_code
63290 , p_side => 'NA'
63291 );
63292
63293 xla_ae_lines_pkg.set_ccid(
63294 p_code_combination_id => l_ccid
63295 , p_value_type_code => l_adr_value_type_code
63296 , p_transaction_coa_id => l_adr_transaction_coa_id
63297 , p_accounting_coa_id => l_adr_accounting_coa_id
63298 , p_adr_code => 'AP_ROUNDING'
63302 , p_component_type_code => l_component_type_code
63299 , p_adr_type_code => 'S'
63300 , p_component_type => l_component_type
63301 , p_component_code => l_component_code
63303 , p_component_appl_id => l_component_appl_id
63304 , p_amb_context_code => l_amb_context_code
63305 , p_side => 'NA'
63306 );
63307
63308
63309 --
63310 --
63311 END IF;
63312
63313 --
63314 -- Update the line information that should be overwritten
63315 --
63316 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63317 p_header_num => 1);
63318 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63319
63320 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63321
63322 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63323 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63324 END IF;
63325
63326 --
63327 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63328 --
63329 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63330 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63331 ELSE
63332 ---------------------------------------------------------------------------------------------------
63333 -- 4262811a Switch Sign
63334 ---------------------------------------------------------------------------------------------------
63335 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63337 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63338 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63339 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63340 -- 5132302
63341 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63342 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63343
63344 END IF;
63345
63346 -- 4955764
63347 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63348 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63349
63350
63351 XLA_AE_LINES_PKG.ValidateCurrentLine;
63352 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63353
63354 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63355 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63356 ,p_balance_type_code => l_balance_type_code);
63357
63358 END IF;
63359
63360 -----------------------------------------------------------------------------------------
63361 -- 4262811 Multiperiod Accounting
63362 -----------------------------------------------------------------------------------------
63363 -- No MPA option is assigned.
63364
63365
63366 END IF;
63367 END IF;
63368 --
63369
63370 --
63371 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63372 trace
63373 (p_msg => 'END of AcctLineType_121'
63374 ,p_level => C_LEVEL_PROCEDURE
63375 ,p_module => l_log_module);
63376 END IF;
63377 --
63378 EXCEPTION
63379 WHEN xla_exceptions_pkg.application_exception THEN
63380 RAISE;
63381 WHEN OTHERS THEN
63382 xla_exceptions_pkg.raise_message
63383 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_121');
63384 END AcctLineType_121;
63385 --
63386
63387 ---------------------------------------
63388 --
63389 -- PRIVATE FUNCTION
63390 -- AcctLineType_122
63391 --
63392 ---------------------------------------
63393 PROCEDURE AcctLineType_122 (
63394 p_application_id IN NUMBER
63395 ,p_event_id IN NUMBER
63396 ,p_calculate_acctd_flag IN VARCHAR2
63397 ,p_calculate_g_l_flag IN VARCHAR2
63398 ,p_actual_flag IN OUT VARCHAR2
63399 ,p_balance_type_code OUT VARCHAR2
63400 ,p_gain_or_loss_ref OUT VARCHAR2
63401
63402 --Payment Currency Code
63403 , p_source_13 IN VARCHAR2
63404 --Automatic Offsets Value
63405 , p_source_15 IN VARCHAR2
63406 , p_source_15_meaning IN VARCHAR2
63407 --Invoice Distribution Account
63408 , p_source_30 IN NUMBER
63409 --Internal Realized Gain Account
63410 , p_source_36 IN NUMBER
63411 --Bank Gain Account
63412 , p_source_37 IN NUMBER
63413 --Accounting Reversal Indicator
63414 , p_source_52 IN VARCHAR2
63415 --Distribution Link Type
63416 , p_source_54 IN VARCHAR2
63417 --Override Accounted Amount Indicator
63418 , p_source_79 IN VARCHAR2
63419 , p_source_79_meaning IN VARCHAR2
63420 --Third Party Type
63421 , p_source_82 IN VARCHAR2
63422 --Invoice Distribution Tax Line Identifier
63426 --Business Flow Accounts Payable Application Identifier
63423 , p_source_85 IN NUMBER
63424 --Invoice Distribution Summary Tax Line Identifier
63425 , p_source_87 IN NUMBER
63427 , p_source_90 IN NUMBER
63428 --When to Account for Payment Option
63429 , p_source_96 IN VARCHAR2
63430 --Payment Distribution Type
63431 , p_source_97 IN VARCHAR2
63432 , p_source_97_meaning IN VARCHAR2
63433 --Payment Distribution Amount
63434 , p_source_98 IN NUMBER
63435 --Business Flow Payment Distribution Type
63436 , p_source_99 IN VARCHAR2
63437 --Business Flow Payment Entity Code
63438 , p_source_100 IN VARCHAR2
63439 --Business Flow Payment Distribution Identifier
63440 , p_source_101 IN NUMBER
63441 --Business Flow Payment Identifier
63442 , p_source_102 IN NUMBER
63443 --Payment Distribution Identifier
63444 , p_source_103 IN NUMBER
63445 --Cleared Exchange Date
63446 , p_source_105 IN DATE
63447 --Cleared Exchange Rate
63448 , p_source_106 IN NUMBER
63449 --Cleared Exchange Rate Type
63450 , p_source_107 IN VARCHAR2
63451 --Payment Supplier Identifier
63452 , p_source_109 IN NUMBER
63453 --Payment Supplier Site Identifier
63454 , p_source_110 IN NUMBER
63455 --Payment Distribution Reversed Identifier
63456 , p_source_111 IN NUMBER
63457 --Payment Identifier
63458 , p_source_112 IN NUMBER
63459 --Gain or Loss Indicator between Invoice and Clearing
63460 , p_source_148 IN VARCHAR2
63461 --Invoice/Clearing Ledger Amount Difference
63462 , p_source_149 IN NUMBER
63463 )
63464 IS
63465
63466 l_component_type VARCHAR2(80);
63467 l_component_code VARCHAR2(30);
63468 l_component_type_code VARCHAR2(1);
63469 l_component_appl_id INTEGER;
63470 l_amb_context_code VARCHAR2(30);
63471 l_entity_code VARCHAR2(30);
63472 l_event_class_code VARCHAR2(30);
63473 l_ae_header_id NUMBER;
63474 l_event_type_code VARCHAR2(30);
63475 l_line_definition_code VARCHAR2(30);
63476 l_line_definition_owner_code VARCHAR2(1);
63477 --
63478 -- adr variables
63479 l_segment VARCHAR2(30);
63480 l_ccid NUMBER;
63481 l_adr_transaction_coa_id NUMBER;
63482 l_adr_accounting_coa_id NUMBER;
63483 l_adr_flexfield_segment_code VARCHAR2(30);
63484 l_adr_flex_value_set_id NUMBER;
63485 l_adr_value_type_code VARCHAR2(30);
63486 l_adr_value_combination_id NUMBER;
63487 l_adr_value_segment_code VARCHAR2(30);
63488
63489 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63490 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63491 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63492 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63493
63494 -- 4262811 Variables ------------------------------------------------------------------------------------------
63495 l_entered_amt_idx NUMBER;
63496 l_accted_amt_idx NUMBER;
63497 l_acc_rev_flag VARCHAR2(1);
63498 l_accrual_line_num NUMBER;
63499 l_tmp_amt NUMBER;
63500 l_acc_rev_natural_side_code VARCHAR2(1);
63501
63502 l_num_entries NUMBER;
63503 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63504 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63505 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63506 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63507 l_recog_line_1 NUMBER;
63508 l_recog_line_2 NUMBER;
63509
63510 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63511 l_bflow_applied_to_amt NUMBER; -- 5132302
63512 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63513
63514 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63515
63516 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63517 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63518
63519 ---------------------------------------------------------------------------------------------------------------
63520
63521
63522 --
63523 -- bulk performance
63524 --
63525 l_balance_type_code VARCHAR2(1);
63526 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63527 l_log_module VARCHAR2(240);
63528
63529 --
63530 -- Upgrade strategy
63531 --
63532 l_actual_upg_option VARCHAR2(1);
63533 l_enc_upg_option VARCHAR2(1);
63534
63535 --
63536 BEGIN
63537 --
63538 IF g_log_enabled THEN
63539 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_122';
63540 END IF;
63541 --
63542 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63543
63544 trace
63545 (p_msg => 'BEGIN of AcctLineType_122'
63546 ,p_level => C_LEVEL_PROCEDURE
63547 ,p_module => l_log_module);
63548
63549 END IF;
63550 --
63551 l_component_type := 'AMB_JLT';
63552 l_component_code := 'AP_GAIN_INV_CLEAR_BY_PMT_CLEAR';
63553 l_component_type_code := 'S';
63557 l_event_class_code := 'RECONCILED PAYMENTS';
63554 l_component_appl_id := 200;
63555 l_amb_context_code := 'DEFAULT';
63556 l_entity_code := 'AP_PAYMENTS';
63558 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
63559 l_line_definition_owner_code := 'S';
63560 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
63561 --
63562 l_balance_type_code := 'A';
63563 l_segment := NULL;
63564 l_ccid := NULL;
63565 l_adr_transaction_coa_id := NULL;
63566 l_adr_accounting_coa_id := NULL;
63567 l_adr_flexfield_segment_code := NULL;
63568 l_adr_flex_value_set_id := NULL;
63569 l_adr_value_type_code := NULL;
63570 l_adr_value_combination_id := NULL;
63571 l_adr_value_segment_code := NULL;
63572
63573 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
63574 l_bflow_class_code := ''; -- 4219869 Business Flow
63575 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63576 l_budgetary_control_flag := 'N';
63577
63578 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63579 l_bflow_applied_to_amt := NULL; -- 5132302
63580 l_entered_amt_idx := NULL; -- 4262811
63581 l_accted_amt_idx := NULL; -- 4262811
63582 l_acc_rev_flag := NULL; -- 4262811
63583 l_accrual_line_num := NULL; -- 4262811
63584 l_tmp_amt := NULL; -- 4262811
63585 --
63586 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
63587 (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
63588 return;
63589 END IF;
63590
63591 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63592 l_balance_type_code <> 'B' THEN
63593 IF (NVL(p_source_96,'
63594 ') = 'CLEAR_CLEAR' OR
63595 NVL(p_source_96,'
63596 ') = 'ALWAYS_CLEAR') AND
63597 NVL(p_source_97,'
63598 ') <> 'EXCHANGE RATE VARIANCE' AND
63599 NVL(p_source_97,'
63600 ') <> 'BANK CHARGE' AND
63601 NVL(p_source_97,'
63602 ') <> 'BANK ERROR' AND
63603 NVL(p_source_97,'
63604 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
63605 NVL(p_source_148,'
63606 ') = 'GAIN' AND
63607 NVL(p_source_97,'
63608 ') <> 'AWT'
63609 THEN
63610
63611 --
63612 XLA_AE_LINES_PKG.SetNewLine;
63613
63614 p_balance_type_code := l_balance_type_code;
63615 -- set the flag so later we will know whether the gain loss line needs to be created
63616
63617 IF(l_balance_type_code = 'A' ) THEN
63618 p_actual_flag :='G';
63619 END IF;
63620
63621 --
63622 -- bulk performance
63623 --
63624 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63625 p_header_num => 0); -- 4262811
63626 --
63627 -- set accounting line options
63628 --
63629 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63630 p_natural_side_code => 'C'
63631 , p_gain_or_loss_flag => 'Y'
63632 , p_gl_transfer_mode_code => 'S'
63633 , p_acct_entry_type_code => 'A'
63634 , p_switch_side_flag => 'Y'
63635 , p_merge_duplicate_code => 'A'
63636 );
63637 --
63638 l_acc_rev_natural_side_code := 'D'; -- 4262811
63639 --
63640 --
63641 -- set accounting line type info
63642 --
63643 xla_ae_lines_pkg.SetAcctLineType
63644 (p_component_type => l_component_type
63645 ,p_event_type_code => l_event_type_code
63646 ,p_line_definition_owner_code => l_line_definition_owner_code
63647 ,p_line_definition_code => l_line_definition_code
63648 ,p_accounting_line_code => l_component_code
63649 ,p_accounting_line_type_code => l_component_type_code
63650 ,p_accounting_line_appl_id => l_component_appl_id
63651 ,p_amb_context_code => l_amb_context_code
63652 ,p_entity_code => l_entity_code
63653 ,p_event_class_code => l_event_class_code);
63654 --
63655 -- set accounting class
63656 --
63657 xla_ae_lines_pkg.SetAcctClass(
63658 p_accounting_class_code => 'GAIN'
63659 , p_ae_header_id => l_ae_header_id
63660 );
63661
63662 --
63663 -- set rounding class
63664 --
63665 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63666 'GAIN';
63667
63668 --
63669 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63670 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63671 --
63672 -- bulk performance
63673 --
63674 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63675
63676 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63677 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63678
63679 -- 4955764
63683 -- 4458381 Public Sector Enh
63680 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63681 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63682
63684
63685 --
63686 -- set accounting attributes for the line type
63687 --
63688 l_entered_amt_idx := 10;
63689 l_accted_amt_idx := 15;
63690 l_bflow_applied_to_amt_idx := 2; -- 5132302
63691 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63692 l_rec_acct_attrs.array_char_value(1) := p_source_52;
63693 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
63694 l_rec_acct_attrs.array_num_value(2) := p_source_98;
63695 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
63696 l_rec_acct_attrs.array_num_value(3) := p_source_90;
63697 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63698 l_rec_acct_attrs.array_char_value(4) := p_source_99;
63699 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
63700 l_rec_acct_attrs.array_char_value(5) := p_source_100;
63701 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
63702 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
63703 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63704 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
63705 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
63706 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
63707 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
63708 l_rec_acct_attrs.array_char_value(9) := p_source_54;
63709 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
63710 l_rec_acct_attrs.array_num_value(10) := p_source_98;
63711 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
63712 l_rec_acct_attrs.array_char_value(11) := p_source_13;
63713 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
63714 l_rec_acct_attrs.array_date_value(12) := p_source_105;
63715 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
63716 l_rec_acct_attrs.array_num_value(13) := p_source_106;
63717 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
63718 l_rec_acct_attrs.array_char_value(14) := p_source_107;
63719 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
63720 l_rec_acct_attrs.array_num_value(15) := p_source_149;
63721 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
63722 l_rec_acct_attrs.array_char_value(16) := p_source_79;
63723 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
63724 l_rec_acct_attrs.array_num_value(17) := p_source_109;
63725 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
63726 l_rec_acct_attrs.array_num_value(18) := p_source_110;
63727 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
63728 l_rec_acct_attrs.array_char_value(19) := p_source_82;
63729 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
63730 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
63731 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
63732 l_rec_acct_attrs.array_char_value(21) := p_source_54;
63733 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
63734 l_rec_acct_attrs.array_num_value(22) := p_source_85;
63735 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
63736 l_rec_acct_attrs.array_num_value(23) := p_source_85;
63737 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
63738 l_rec_acct_attrs.array_num_value(24) := p_source_87;
63739
63740 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63741 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63742
63743 ---------------------------------------------------------------------------------------------------------------
63744 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63745 ---------------------------------------------------------------------------------------------------------------
63746 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63747
63748 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63749 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63750
63751 IF xla_accounting_cache_pkg.GetValueChar
63752 (p_source_code => 'LEDGER_CATEGORY_CODE'
63753 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63754 AND l_bflow_method_code = 'PRIOR_ENTRY'
63755 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63756 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63757 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63758 )
63759 THEN
63760 xla_ae_lines_pkg.BflowUpgEntry
63761 (p_business_method_code => l_bflow_method_code
63762 ,p_business_class_code => l_bflow_class_code
63763 ,p_balance_type => l_balance_type_code);
63764 ELSE
63765 NULL;
63766 -- No business flow processing for business flow method of NONE.
63767 END IF;
63768
63769 --
63770 -- call analytical criteria
63771 --
63772
63773
63777 , p_analytical_criterion_owner => 'S'
63774 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
63775 xla_ae_lines_pkg.SetAnalyticalCriteria(
63776 p_analytical_criterion_name => 'Check Id'
63778 , p_analytical_criterion_code => 'CHECK_ID'
63779 , p_amb_context_code => 'DEFAULT'
63780 , p_balancing_flag => 'N'
63781
63782 , p_analytical_detail_char_1 => NULL
63783 , p_analytical_detail_num_1 => p_source_112
63784 , p_analytical_detail_date_1 => NULL
63785
63786 , p_ae_header_id => l_ae_header_id
63787 )
63788 ;
63789 --
63790
63791 --
63792 -- call description
63793 --
63794 -- No description or it is inherited.
63795 --
63796 -- call ADRs
63797 -- Bug 4922099
63798 --
63799 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63800 (NVL(l_actual_upg_option, 'N') = 'O') OR
63801 (NVL(l_enc_upg_option, 'N') = 'O')
63802 )
63803 THEN
63804 NULL;
63805 --
63806 --
63807
63808 l_ccid := AcctDerRule_37(
63809 p_application_id => p_application_id
63810 , p_ae_header_id => l_ae_header_id
63811 , p_source_15 => p_source_15
63812 , p_source_15_meaning => p_source_15_meaning
63813 , p_source_30 => p_source_30
63814 , p_source_36 => p_source_36
63815 , p_source_37 => p_source_37
63816 , x_transaction_coa_id => l_adr_transaction_coa_id
63817 , x_accounting_coa_id => l_adr_accounting_coa_id
63818 , x_value_type_code => l_adr_value_type_code
63819 , p_side => 'NA'
63820 );
63821
63822 xla_ae_lines_pkg.set_ccid(
63823 p_code_combination_id => l_ccid
63824 , p_value_type_code => l_adr_value_type_code
63825 , p_transaction_coa_id => l_adr_transaction_coa_id
63826 , p_accounting_coa_id => l_adr_accounting_coa_id
63827 , p_adr_code => 'AP_REAL_GAIN'
63828 , p_adr_type_code => 'S'
63829 , p_component_type => l_component_type
63830 , p_component_code => l_component_code
63831 , p_component_type_code => l_component_type_code
63832 , p_component_appl_id => l_component_appl_id
63833 , p_amb_context_code => l_amb_context_code
63834 , p_side => 'NA'
63835 );
63836
63837
63838 l_segment := AcctDerRule_22(
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_30 => p_source_30
63844 , x_transaction_coa_id => l_adr_transaction_coa_id
63845 , x_accounting_coa_id => l_adr_accounting_coa_id
63846 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63847 , x_flex_value_set_id => l_adr_flex_value_set_id
63848 , x_value_type_code => l_adr_value_type_code
63849 , x_value_combination_id => l_adr_value_combination_id
63850 , x_value_segment_code => l_adr_value_segment_code
63851 , p_side => 'NA'
63852 , p_override_seg_flag => 'Y'
63853 );
63854
63855 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63856
63857 xla_ae_lines_pkg.set_segment(
63858 p_to_segment_code => 'GL_BALANCING'
63859 , p_segment_value => l_segment
63860 , p_from_segment_code => l_adr_value_segment_code
63861 , p_from_combination_id => l_adr_value_combination_id
63862 , p_value_type_code => l_adr_value_type_code
63863 , p_transaction_coa_id => l_adr_transaction_coa_id
63864 , p_accounting_coa_id => l_adr_accounting_coa_id
63865 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63866 , p_flex_value_set_id => l_adr_flex_value_set_id
63867 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
63868 , p_adr_type_code => 'S'
63869 , p_component_type => l_component_type
63870 , p_component_code => l_component_code
63871 , p_component_type_code => l_component_type_code
63872 , p_component_appl_id => l_component_appl_id
63873 , p_amb_context_code => l_amb_context_code
63874 , p_entity_code => 'AP_PAYMENTS'
63875 , p_event_class_code => 'RECONCILED PAYMENTS'
63876 , p_side => 'NA'
63877 );
63878
63879 END IF;
63880
63881 l_segment := AcctDerRule_17(
63882 p_application_id => p_application_id
63883 , p_ae_header_id => l_ae_header_id
63884 , p_source_15 => p_source_15
63885 , p_source_15_meaning => p_source_15_meaning
63886 , p_source_36 => p_source_36
63887 , p_source_37 => p_source_37
63888 , x_transaction_coa_id => l_adr_transaction_coa_id
63889 , x_accounting_coa_id => l_adr_accounting_coa_id
63890 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63891 , x_flex_value_set_id => l_adr_flex_value_set_id
63892 , x_value_type_code => l_adr_value_type_code
63893 , x_value_combination_id => l_adr_value_combination_id
63897 );
63894 , x_value_segment_code => l_adr_value_segment_code
63895 , p_side => 'NA'
63896 , p_override_seg_flag => 'Y'
63898
63899 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63900
63901 xla_ae_lines_pkg.set_segment(
63902 p_to_segment_code => 'GL_ACCOUNT'
63903 , p_segment_value => l_segment
63904 , p_from_segment_code => l_adr_value_segment_code
63905 , p_from_combination_id => l_adr_value_combination_id
63906 , p_value_type_code => l_adr_value_type_code
63907 , p_transaction_coa_id => l_adr_transaction_coa_id
63908 , p_accounting_coa_id => l_adr_accounting_coa_id
63909 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63910 , p_flex_value_set_id => l_adr_flex_value_set_id
63911 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
63912 , p_adr_type_code => 'S'
63913 , p_component_type => l_component_type
63914 , p_component_code => l_component_code
63915 , p_component_type_code => l_component_type_code
63916 , p_component_appl_id => l_component_appl_id
63917 , p_amb_context_code => l_amb_context_code
63918 , p_entity_code => 'AP_PAYMENTS'
63919 , p_event_class_code => 'RECONCILED PAYMENTS'
63920 , p_side => 'NA'
63921 );
63922
63923 END IF;
63924
63925 --
63926 --
63927 END IF;
63928 --
63929 -- Bug 4922099
63930 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63931 (NVL(l_enc_upg_option, 'N') = 'O')
63932 ) AND
63933 (l_bflow_method_code = 'PRIOR_ENTRY')
63934 )
63935 THEN
63936 IF
63937 --
63938 1 = 2
63939 --
63940 THEN
63941 xla_accounting_err_pkg.build_message
63942 (p_appli_s_name => 'XLA'
63943 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63944 ,p_token_1 => 'LINE_NUMBER'
63945 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63946 ,p_token_2 => 'LINE_TYPE_NAME'
63947 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63948 l_component_type
63949 ,l_component_code
63950 ,l_component_type_code
63951 ,l_component_appl_id
63952 ,l_amb_context_code
63953 ,l_entity_code
63954 ,l_event_class_code
63955 )
63956 ,p_token_3 => 'OWNER'
63957 ,p_value_3 => xla_lookups_pkg.get_meaning(
63958 p_lookup_type => 'XLA_OWNER_TYPE'
63959 ,p_lookup_code => l_component_type_code
63960 )
63961 ,p_token_4 => 'PRODUCT_NAME'
63962 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63963 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63964 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63965 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63966 ,p_ae_header_id => NULL
63967 );
63968
63969 IF (C_LEVEL_ERROR>= g_log_level) THEN
63970 trace
63971 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63972 ,p_level => C_LEVEL_ERROR
63973 ,p_module => l_log_module);
63974 END IF;
63975 END IF;
63976 END IF;
63977 --
63978 --
63979 ------------------------------------------------------------------------------------------------
63980 -- 4219869 Business Flow
63981 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63982 -- Prior Entry. Currently, the following code is always generated.
63983 ------------------------------------------------------------------------------------------------
63984 XLA_AE_LINES_PKG.ValidateCurrentLine;
63985
63986 ------------------------------------------------------------------------------------
63987 -- 4219869 Business Flow
63988 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63989 ------------------------------------------------------------------------------------
63990 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63991
63995 ----------------------------------------------------------------------------------
63992 ----------------------------------------------------------------------------------
63993 -- 4219869 Business Flow
63994 -- Update journal entry status -- Need to generate this within IF <condition>
63996 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63997 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63998 ,p_balance_type_code => l_balance_type_code
63999 );
64000
64001 -------------------------------------------------------------------------------------------
64002 -- 4262811 - Generate the Accrual Reversal lines
64003 -------------------------------------------------------------------------------------------
64004 BEGIN
64005 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64006 (g_array_event(p_event_id).array_value_num('header_index'));
64007 IF l_acc_rev_flag IS NULL THEN
64008 l_acc_rev_flag := 'N';
64009 END IF;
64010 EXCEPTION
64011 WHEN OTHERS THEN
64012 l_acc_rev_flag := 'N';
64013 END;
64014 --
64015 IF (l_acc_rev_flag = 'Y') THEN
64016
64017 -- 4645092 ------------------------------------------------------------------------------
64018 -- To allow MPA report to determine if it should generate report process
64019 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64020 ------------------------------------------------------------------------------------------
64021
64022 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64023 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64024 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64025 -- call ADRs
64026 -- Bug 4922099
64027 --
64028 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64029 (NVL(l_actual_upg_option, 'N') = 'O') OR
64030 (NVL(l_enc_upg_option, 'N') = 'O')
64031 )
64032 THEN
64033 NULL;
64034 --
64035 --
64036
64037 l_ccid := AcctDerRule_37(
64038 p_application_id => p_application_id
64039 , p_ae_header_id => l_ae_header_id
64040 , p_source_15 => p_source_15
64041 , p_source_15_meaning => p_source_15_meaning
64042 , p_source_30 => p_source_30
64043 , p_source_36 => p_source_36
64044 , p_source_37 => p_source_37
64045 , x_transaction_coa_id => l_adr_transaction_coa_id
64046 , x_accounting_coa_id => l_adr_accounting_coa_id
64047 , x_value_type_code => l_adr_value_type_code
64048 , p_side => 'NA'
64049 );
64050
64051 xla_ae_lines_pkg.set_ccid(
64052 p_code_combination_id => l_ccid
64053 , p_value_type_code => l_adr_value_type_code
64054 , p_transaction_coa_id => l_adr_transaction_coa_id
64055 , p_accounting_coa_id => l_adr_accounting_coa_id
64056 , p_adr_code => 'AP_REAL_GAIN'
64057 , p_adr_type_code => 'S'
64058 , p_component_type => l_component_type
64059 , p_component_code => l_component_code
64060 , p_component_type_code => l_component_type_code
64061 , p_component_appl_id => l_component_appl_id
64062 , p_amb_context_code => l_amb_context_code
64063 , p_side => 'NA'
64064 );
64065
64066
64067 l_segment := AcctDerRule_22(
64068 p_application_id => p_application_id
64069 , p_ae_header_id => l_ae_header_id
64070 , p_source_15 => p_source_15
64071 , p_source_15_meaning => p_source_15_meaning
64072 , p_source_30 => p_source_30
64073 , x_transaction_coa_id => l_adr_transaction_coa_id
64074 , x_accounting_coa_id => l_adr_accounting_coa_id
64075 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64076 , x_flex_value_set_id => l_adr_flex_value_set_id
64077 , x_value_type_code => l_adr_value_type_code
64078 , x_value_combination_id => l_adr_value_combination_id
64079 , x_value_segment_code => l_adr_value_segment_code
64080 , p_side => 'NA'
64081 , p_override_seg_flag => 'Y'
64082 );
64083
64084 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64085
64086 xla_ae_lines_pkg.set_segment(
64087 p_to_segment_code => 'GL_BALANCING'
64088 , p_segment_value => l_segment
64089 , p_from_segment_code => l_adr_value_segment_code
64090 , p_from_combination_id => l_adr_value_combination_id
64091 , p_value_type_code => l_adr_value_type_code
64092 , p_transaction_coa_id => l_adr_transaction_coa_id
64093 , p_accounting_coa_id => l_adr_accounting_coa_id
64094 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64095 , p_flex_value_set_id => l_adr_flex_value_set_id
64096 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64097 , p_adr_type_code => 'S'
64098 , p_component_type => l_component_type
64099 , p_component_code => l_component_code
64100 , p_component_type_code => l_component_type_code
64101 , p_component_appl_id => l_component_appl_id
64105 , p_side => 'NA'
64102 , p_amb_context_code => l_amb_context_code
64103 , p_entity_code => 'AP_PAYMENTS'
64104 , p_event_class_code => 'RECONCILED PAYMENTS'
64106 );
64107
64108 END IF;
64109
64110 l_segment := AcctDerRule_17(
64111 p_application_id => p_application_id
64112 , p_ae_header_id => l_ae_header_id
64113 , p_source_15 => p_source_15
64114 , p_source_15_meaning => p_source_15_meaning
64115 , p_source_36 => p_source_36
64116 , p_source_37 => p_source_37
64117 , x_transaction_coa_id => l_adr_transaction_coa_id
64118 , x_accounting_coa_id => l_adr_accounting_coa_id
64119 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64120 , x_flex_value_set_id => l_adr_flex_value_set_id
64121 , x_value_type_code => l_adr_value_type_code
64122 , x_value_combination_id => l_adr_value_combination_id
64123 , x_value_segment_code => l_adr_value_segment_code
64124 , p_side => 'NA'
64125 , p_override_seg_flag => 'Y'
64126 );
64127
64128 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64129
64130 xla_ae_lines_pkg.set_segment(
64131 p_to_segment_code => 'GL_ACCOUNT'
64132 , p_segment_value => l_segment
64133 , p_from_segment_code => l_adr_value_segment_code
64134 , p_from_combination_id => l_adr_value_combination_id
64135 , p_value_type_code => l_adr_value_type_code
64136 , p_transaction_coa_id => l_adr_transaction_coa_id
64137 , p_accounting_coa_id => l_adr_accounting_coa_id
64138 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64139 , p_flex_value_set_id => l_adr_flex_value_set_id
64140 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64141 , p_adr_type_code => 'S'
64142 , p_component_type => l_component_type
64143 , p_component_code => l_component_code
64144 , p_component_type_code => l_component_type_code
64145 , p_component_appl_id => l_component_appl_id
64146 , p_amb_context_code => l_amb_context_code
64147 , p_entity_code => 'AP_PAYMENTS'
64148 , p_event_class_code => 'RECONCILED PAYMENTS'
64149 , p_side => 'NA'
64150 );
64151
64152 END IF;
64153
64154 --
64155 --
64156 END IF;
64157
64158 --
64159 -- Update the line information that should be overwritten
64160 --
64161 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64162 p_header_num => 1);
64163 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64164
64165 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64166
64167 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64168 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64169 END IF;
64170
64171 --
64172 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64173 --
64174 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64175 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64176 ELSE
64177 ---------------------------------------------------------------------------------------------------
64178 -- 4262811a Switch Sign
64179 ---------------------------------------------------------------------------------------------------
64180 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64181 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64182 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64183 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64184 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64185 -- 5132302
64186 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64187 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64188
64189 END IF;
64190
64191 -- 4955764
64192 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64193 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64194
64195
64196 XLA_AE_LINES_PKG.ValidateCurrentLine;
64197 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64198
64199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64200 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64201 ,p_balance_type_code => l_balance_type_code);
64202
64203 END IF;
64204
64205 -----------------------------------------------------------------------------------------
64206 -- 4262811 Multiperiod Accounting
64207 -----------------------------------------------------------------------------------------
64208 -- No MPA option is assigned.
64209
64213 --
64210
64211 END IF;
64212 END IF;
64214
64215 --
64216 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64217 trace
64218 (p_msg => 'END of AcctLineType_122'
64219 ,p_level => C_LEVEL_PROCEDURE
64220 ,p_module => l_log_module);
64221 END IF;
64222 --
64223 EXCEPTION
64224 WHEN xla_exceptions_pkg.application_exception THEN
64225 RAISE;
64226 WHEN OTHERS THEN
64227 xla_exceptions_pkg.raise_message
64228 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_122');
64229 END AcctLineType_122;
64230 --
64231
64232 ---------------------------------------
64233 --
64234 -- PRIVATE FUNCTION
64235 -- AcctLineType_123
64236 --
64237 ---------------------------------------
64238 PROCEDURE AcctLineType_123 (
64239 p_application_id IN NUMBER
64240 ,p_event_id IN NUMBER
64241 ,p_calculate_acctd_flag IN VARCHAR2
64242 ,p_calculate_g_l_flag IN VARCHAR2
64243 ,p_actual_flag IN OUT VARCHAR2
64244 ,p_balance_type_code OUT VARCHAR2
64245 ,p_gain_or_loss_ref OUT VARCHAR2
64246
64247 --Automatic Offsets Value
64248 , p_source_15 IN VARCHAR2
64249 , p_source_15_meaning IN VARCHAR2
64250 --Invoice Distribution Account
64251 , p_source_30 IN NUMBER
64252 --Internal Realized Gain Account
64253 , p_source_36 IN NUMBER
64254 --Bank Gain Account
64255 , p_source_37 IN NUMBER
64256 --Internal Realized Loss Account
64257 , p_source_38 IN NUMBER
64258 --Bank Loss Account
64259 , p_source_39 IN NUMBER
64260 --Accounting Reversal Indicator
64261 , p_source_52 IN VARCHAR2
64262 --Distribution Link Type
64263 , p_source_54 IN VARCHAR2
64264 --Override Accounted Amount Indicator
64265 , p_source_79 IN VARCHAR2
64266 , p_source_79_meaning IN VARCHAR2
64267 --Third Party Type
64268 , p_source_82 IN VARCHAR2
64269 --Invoice Distribution Tax Line Identifier
64270 , p_source_85 IN NUMBER
64271 --Invoice Distribution Summary Tax Line Identifier
64272 , p_source_87 IN NUMBER
64273 --Business Flow Accounts Payable Application Identifier
64274 , p_source_90 IN NUMBER
64275 --When to Account for Payment Option
64276 , p_source_96 IN VARCHAR2
64277 --Payment Distribution Type
64278 , p_source_97 IN VARCHAR2
64279 , p_source_97_meaning IN VARCHAR2
64280 --Payment Distribution Amount
64281 , p_source_98 IN NUMBER
64282 --Business Flow Payment Distribution Type
64283 , p_source_99 IN VARCHAR2
64284 --Business Flow Payment Entity Code
64285 , p_source_100 IN VARCHAR2
64286 --Business Flow Payment Distribution Identifier
64287 , p_source_101 IN NUMBER
64288 --Business Flow Payment Identifier
64289 , p_source_102 IN NUMBER
64290 --Payment Distribution Identifier
64291 , p_source_103 IN NUMBER
64292 --Payment Supplier Identifier
64293 , p_source_109 IN NUMBER
64294 --Payment Supplier Site Identifier
64295 , p_source_110 IN NUMBER
64296 --Payment Distribution Reversed Identifier
64297 , p_source_111 IN NUMBER
64298 --Payment Identifier
64299 , p_source_112 IN NUMBER
64300 --Payment Maturity Date
64301 , p_source_114 IN DATE
64302 --Invoice/Clearing Ledger Amount Difference
64303 , p_source_149 IN NUMBER
64304 )
64305 IS
64306
64307 l_component_type VARCHAR2(80);
64308 l_component_code VARCHAR2(30);
64309 l_component_type_code VARCHAR2(1);
64310 l_component_appl_id INTEGER;
64311 l_amb_context_code VARCHAR2(30);
64312 l_entity_code VARCHAR2(30);
64313 l_event_class_code VARCHAR2(30);
64314 l_ae_header_id NUMBER;
64315 l_event_type_code VARCHAR2(30);
64316 l_line_definition_code VARCHAR2(30);
64317 l_line_definition_owner_code VARCHAR2(1);
64318 --
64319 -- adr variables
64320 l_segment VARCHAR2(30);
64321 l_ccid NUMBER;
64322 l_adr_transaction_coa_id NUMBER;
64323 l_adr_accounting_coa_id NUMBER;
64324 l_adr_flexfield_segment_code VARCHAR2(30);
64325 l_adr_flex_value_set_id NUMBER;
64326 l_adr_value_type_code VARCHAR2(30);
64327 l_adr_value_combination_id NUMBER;
64328 l_adr_value_segment_code VARCHAR2(30);
64329
64330 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
64331 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
64332 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
64333 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
64334
64335 -- 4262811 Variables ------------------------------------------------------------------------------------------
64336 l_entered_amt_idx NUMBER;
64337 l_accted_amt_idx NUMBER;
64338 l_acc_rev_flag VARCHAR2(1);
64339 l_accrual_line_num NUMBER;
64340 l_tmp_amt NUMBER;
64341 l_acc_rev_natural_side_code VARCHAR2(1);
64342
64343 l_num_entries NUMBER;
64344 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64348 l_recog_line_1 NUMBER;
64345 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64346 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64347 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64349 l_recog_line_2 NUMBER;
64350
64351 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64352 l_bflow_applied_to_amt NUMBER; -- 5132302
64353 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64354
64355 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64356
64357 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64358 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64359
64360 ---------------------------------------------------------------------------------------------------------------
64361
64362
64363 --
64364 -- bulk performance
64365 --
64366 l_balance_type_code VARCHAR2(1);
64367 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64368 l_log_module VARCHAR2(240);
64369
64370 --
64371 -- Upgrade strategy
64372 --
64373 l_actual_upg_option VARCHAR2(1);
64374 l_enc_upg_option VARCHAR2(1);
64375
64376 --
64377 BEGIN
64378 --
64379 IF g_log_enabled THEN
64380 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_123';
64381 END IF;
64382 --
64383 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64384
64385 trace
64386 (p_msg => 'BEGIN of AcctLineType_123'
64387 ,p_level => C_LEVEL_PROCEDURE
64388 ,p_module => l_log_module);
64389
64390 END IF;
64391 --
64392 l_component_type := 'AMB_JLT';
64393 l_component_code := 'AP_GAIN_LOSS_PAY_CLEAR';
64394 l_component_type_code := 'S';
64395 l_component_appl_id := 200;
64396 l_amb_context_code := 'DEFAULT';
64397 l_entity_code := 'AP_PAYMENTS';
64398 l_event_class_code := 'RECONCILED PAYMENTS';
64399 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
64400 l_line_definition_owner_code := 'S';
64401 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
64402 --
64403 l_balance_type_code := 'A';
64404 l_segment := NULL;
64405 l_ccid := NULL;
64406 l_adr_transaction_coa_id := NULL;
64407 l_adr_accounting_coa_id := NULL;
64408 l_adr_flexfield_segment_code := NULL;
64409 l_adr_flex_value_set_id := NULL;
64410 l_adr_value_type_code := NULL;
64411 l_adr_value_combination_id := NULL;
64412 l_adr_value_segment_code := NULL;
64413
64414 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
64415 l_bflow_class_code := ''; -- 4219869 Business Flow
64416 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64417 l_budgetary_control_flag := 'N';
64418
64419 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64420 l_bflow_applied_to_amt := NULL; -- 5132302
64421 l_entered_amt_idx := NULL; -- 4262811
64422 l_accted_amt_idx := NULL; -- 4262811
64423 l_acc_rev_flag := NULL; -- 4262811
64424 l_accrual_line_num := NULL; -- 4262811
64425 l_tmp_amt := NULL; -- 4262811
64426 --
64427 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
64428 (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
64429 return;
64430 END IF;
64431
64432 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64433 l_balance_type_code <> 'B' THEN
64434 IF (NVL(p_source_96,'
64435 ') = 'CLEAR_CLEAR' OR
64436 NVL(p_source_96,'
64437 ') = 'ALWAYS_CLEAR' OR
64438 NVL(p_source_96,'
64439 ') = 'ALWAYS_ALWAYS') AND
64440 p_source_114 IS NULL AND
64441 NVL(p_source_97,'
64442 ') <> 'EXCHANGE RATE VARIANCE' AND
64443 NVL(p_source_97,'
64444 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
64445 NVL(p_source_97,'
64446 ') <> 'BANK CHARGE' AND
64447 NVL(p_source_97,'
64448 ') <> 'BANK ERROR'
64449 THEN
64450
64451 --
64452 XLA_AE_LINES_PKG.SetNewLine;
64453
64454 p_balance_type_code := l_balance_type_code;
64455 -- set the flag so later we will know whether the gain loss line needs to be created
64456
64457 IF(l_balance_type_code = 'A' ) THEN
64458 p_actual_flag :='G';
64459 END IF;
64460
64461 --
64462 -- bulk performance
64463 --
64464 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64465 p_header_num => 0); -- 4262811
64466 --
64467 -- set accounting line options
64468 --
64469 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64470 p_natural_side_code => 'G'
64471 , p_gain_or_loss_flag => 'N'
64472 , p_gl_transfer_mode_code => 'S'
64473 , p_acct_entry_type_code => 'A'
64477 --
64474 , p_switch_side_flag => ''
64475 , p_merge_duplicate_code => 'A'
64476 );
64478 l_acc_rev_natural_side_code := 'C'; -- 4262811
64479 --
64480 --
64481 -- set accounting line type info
64482 --
64483 xla_ae_lines_pkg.SetAcctLineType
64484 (p_component_type => l_component_type
64485 ,p_event_type_code => l_event_type_code
64486 ,p_line_definition_owner_code => l_line_definition_owner_code
64487 ,p_line_definition_code => l_line_definition_code
64488 ,p_accounting_line_code => l_component_code
64489 ,p_accounting_line_type_code => l_component_type_code
64490 ,p_accounting_line_appl_id => l_component_appl_id
64491 ,p_amb_context_code => l_amb_context_code
64492 ,p_entity_code => l_entity_code
64493 ,p_event_class_code => l_event_class_code);
64494 --
64495 -- set accounting class
64496 --
64497 xla_ae_lines_pkg.SetAcctClass(
64498 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
64499 , p_ae_header_id => l_ae_header_id
64500 );
64501
64502 --
64503 -- set rounding class
64504 --
64505 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64506 'EXCHANGE_GAIN_LOSS';
64507
64508 --
64509 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64510 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64511 --
64512 -- bulk performance
64513 --
64514 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64515
64516 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64517 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64518
64519 -- 4955764
64520 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64521 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64522
64523 -- 4458381 Public Sector Enh
64524
64525 --
64526 -- set accounting attributes for the line type
64527 --
64528 l_entered_amt_idx := NULL;
64529 l_accted_amt_idx := 10;
64530 l_bflow_applied_to_amt_idx := 2; -- 5132302
64531 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64532 l_rec_acct_attrs.array_char_value(1) := p_source_52;
64533 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
64534 l_rec_acct_attrs.array_num_value(2) := p_source_98;
64535 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
64536 l_rec_acct_attrs.array_num_value(3) := p_source_90;
64537 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64538 l_rec_acct_attrs.array_char_value(4) := p_source_99;
64539 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
64540 l_rec_acct_attrs.array_char_value(5) := p_source_100;
64541 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
64542 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
64543 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64544 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
64545 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
64546 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
64547 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
64548 l_rec_acct_attrs.array_char_value(9) := p_source_54;
64549 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
64550 l_rec_acct_attrs.array_num_value(10) := p_source_149;
64551 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
64552 l_rec_acct_attrs.array_char_value(11) := p_source_79;
64553 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
64554 l_rec_acct_attrs.array_num_value(12) := p_source_109;
64555 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
64556 l_rec_acct_attrs.array_num_value(13) := p_source_110;
64557 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
64558 l_rec_acct_attrs.array_char_value(14) := p_source_82;
64559 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
64560 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
64561 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
64562 l_rec_acct_attrs.array_char_value(16) := p_source_54;
64563 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
64564 l_rec_acct_attrs.array_num_value(17) := p_source_85;
64565 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
64566 l_rec_acct_attrs.array_num_value(18) := p_source_85;
64567 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
64568 l_rec_acct_attrs.array_num_value(19) := p_source_87;
64569
64570 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64571 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64572
64573 ---------------------------------------------------------------------------------------------------------------
64574 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64575 ---------------------------------------------------------------------------------------------------------------
64579 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64576 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64577
64578 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64580
64581 IF xla_accounting_cache_pkg.GetValueChar
64582 (p_source_code => 'LEDGER_CATEGORY_CODE'
64583 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64584 AND l_bflow_method_code = 'PRIOR_ENTRY'
64585 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64586 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64587 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64588 )
64589 THEN
64590 xla_ae_lines_pkg.BflowUpgEntry
64591 (p_business_method_code => l_bflow_method_code
64592 ,p_business_class_code => l_bflow_class_code
64593 ,p_balance_type => l_balance_type_code);
64594 ELSE
64595 NULL;
64596 -- No business flow processing for business flow method of NONE.
64597 END IF;
64598
64599 --
64600 -- call analytical criteria
64601 --
64602
64603
64604 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
64605 xla_ae_lines_pkg.SetAnalyticalCriteria(
64606 p_analytical_criterion_name => 'Check Id'
64607 , p_analytical_criterion_owner => 'S'
64608 , p_analytical_criterion_code => 'CHECK_ID'
64609 , p_amb_context_code => 'DEFAULT'
64610 , p_balancing_flag => 'N'
64611
64612 , p_analytical_detail_char_1 => NULL
64613 , p_analytical_detail_num_1 => p_source_112
64614 , p_analytical_detail_date_1 => NULL
64615
64616 , p_ae_header_id => l_ae_header_id
64617 )
64618 ;
64619 --
64620
64621 --
64622 -- call description
64623 --
64624 -- No description or it is inherited.
64625 --
64626 -- call ADRs
64627 -- Bug 4922099
64628 --
64629 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64630 (NVL(l_actual_upg_option, 'N') = 'O') OR
64631 (NVL(l_enc_upg_option, 'N') = 'O')
64632 )
64633 THEN
64634 NULL;
64635 --
64636 --
64637
64638 l_ccid := AcctDerRule_37(
64639 p_application_id => p_application_id
64640 , p_ae_header_id => l_ae_header_id
64641 , p_source_15 => p_source_15
64642 , p_source_15_meaning => p_source_15_meaning
64643 , p_source_30 => p_source_30
64644 , p_source_36 => p_source_36
64645 , p_source_37 => p_source_37
64646 , x_transaction_coa_id => l_adr_transaction_coa_id
64647 , x_accounting_coa_id => l_adr_accounting_coa_id
64648 , x_value_type_code => l_adr_value_type_code
64649 , p_side => 'CREDIT'
64650 );
64651
64652 xla_ae_lines_pkg.set_ccid(
64653 p_code_combination_id => l_ccid
64654 , p_value_type_code => l_adr_value_type_code
64655 , p_transaction_coa_id => l_adr_transaction_coa_id
64656 , p_accounting_coa_id => l_adr_accounting_coa_id
64657 , p_adr_code => 'AP_REAL_GAIN'
64658 , p_adr_type_code => 'S'
64659 , p_component_type => l_component_type
64660 , p_component_code => l_component_code
64661 , p_component_type_code => l_component_type_code
64662 , p_component_appl_id => l_component_appl_id
64663 , p_amb_context_code => l_amb_context_code
64664 , p_side => 'CREDIT'
64665 );
64666
64667
64668 l_ccid := AcctDerRule_38(
64669 p_application_id => p_application_id
64670 , p_ae_header_id => l_ae_header_id
64671 , p_source_15 => p_source_15
64672 , p_source_15_meaning => p_source_15_meaning
64673 , p_source_30 => p_source_30
64674 , p_source_38 => p_source_38
64675 , p_source_39 => p_source_39
64676 , x_transaction_coa_id => l_adr_transaction_coa_id
64677 , x_accounting_coa_id => l_adr_accounting_coa_id
64678 , x_value_type_code => l_adr_value_type_code
64679 , p_side => 'DEBIT'
64680 );
64681
64682 xla_ae_lines_pkg.set_ccid(
64683 p_code_combination_id => l_ccid
64684 , p_value_type_code => l_adr_value_type_code
64685 , p_transaction_coa_id => l_adr_transaction_coa_id
64686 , p_accounting_coa_id => l_adr_accounting_coa_id
64687 , p_adr_code => 'AP_REAL_LOSS'
64688 , p_adr_type_code => 'S'
64689 , p_component_type => l_component_type
64690 , p_component_code => l_component_code
64691 , p_component_type_code => l_component_type_code
64692 , p_component_appl_id => l_component_appl_id
64693 , p_amb_context_code => l_amb_context_code
64694 , p_side => 'DEBIT'
64695 );
64696
64697
64698 l_segment := AcctDerRule_22(
64699 p_application_id => p_application_id
64700 , p_ae_header_id => l_ae_header_id
64701 , p_source_15 => p_source_15
64702 , p_source_15_meaning => p_source_15_meaning
64703 , p_source_30 => p_source_30
64707 , x_flex_value_set_id => l_adr_flex_value_set_id
64704 , x_transaction_coa_id => l_adr_transaction_coa_id
64705 , x_accounting_coa_id => l_adr_accounting_coa_id
64706 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64708 , x_value_type_code => l_adr_value_type_code
64709 , x_value_combination_id => l_adr_value_combination_id
64710 , x_value_segment_code => l_adr_value_segment_code
64711 , p_side => 'ALL'
64712 , p_override_seg_flag => 'Y'
64713 );
64714
64715 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64716
64717 xla_ae_lines_pkg.set_segment(
64718 p_to_segment_code => 'GL_BALANCING'
64719 , p_segment_value => l_segment
64720 , p_from_segment_code => l_adr_value_segment_code
64721 , p_from_combination_id => l_adr_value_combination_id
64722 , p_value_type_code => l_adr_value_type_code
64723 , p_transaction_coa_id => l_adr_transaction_coa_id
64724 , p_accounting_coa_id => l_adr_accounting_coa_id
64725 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64726 , p_flex_value_set_id => l_adr_flex_value_set_id
64727 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64728 , p_adr_type_code => 'S'
64729 , p_component_type => l_component_type
64730 , p_component_code => l_component_code
64731 , p_component_type_code => l_component_type_code
64732 , p_component_appl_id => l_component_appl_id
64733 , p_amb_context_code => l_amb_context_code
64734 , p_entity_code => 'AP_PAYMENTS'
64735 , p_event_class_code => 'RECONCILED PAYMENTS'
64736 , p_side => 'ALL'
64737 );
64738
64739 END IF;
64740
64741 l_segment := AcctDerRule_17(
64742 p_application_id => p_application_id
64743 , p_ae_header_id => l_ae_header_id
64744 , p_source_15 => p_source_15
64745 , p_source_15_meaning => p_source_15_meaning
64746 , p_source_36 => p_source_36
64747 , p_source_37 => p_source_37
64748 , x_transaction_coa_id => l_adr_transaction_coa_id
64749 , x_accounting_coa_id => l_adr_accounting_coa_id
64750 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64751 , x_flex_value_set_id => l_adr_flex_value_set_id
64752 , x_value_type_code => l_adr_value_type_code
64753 , x_value_combination_id => l_adr_value_combination_id
64754 , x_value_segment_code => l_adr_value_segment_code
64755 , p_side => 'CREDIT'
64756 , p_override_seg_flag => 'Y'
64757 );
64758
64759 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64760
64761 xla_ae_lines_pkg.set_segment(
64762 p_to_segment_code => 'GL_ACCOUNT'
64763 , p_segment_value => l_segment
64764 , p_from_segment_code => l_adr_value_segment_code
64765 , p_from_combination_id => l_adr_value_combination_id
64766 , p_value_type_code => l_adr_value_type_code
64767 , p_transaction_coa_id => l_adr_transaction_coa_id
64768 , p_accounting_coa_id => l_adr_accounting_coa_id
64769 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64770 , p_flex_value_set_id => l_adr_flex_value_set_id
64771 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64772 , p_adr_type_code => 'S'
64773 , p_component_type => l_component_type
64774 , p_component_code => l_component_code
64775 , p_component_type_code => l_component_type_code
64776 , p_component_appl_id => l_component_appl_id
64777 , p_amb_context_code => l_amb_context_code
64778 , p_entity_code => 'AP_PAYMENTS'
64779 , p_event_class_code => 'RECONCILED PAYMENTS'
64780 , p_side => 'CREDIT'
64781 );
64782
64783 END IF;
64784
64785 l_segment := AcctDerRule_18(
64786 p_application_id => p_application_id
64787 , p_ae_header_id => l_ae_header_id
64788 , p_source_15 => p_source_15
64789 , p_source_15_meaning => p_source_15_meaning
64790 , p_source_38 => p_source_38
64791 , p_source_39 => p_source_39
64792 , x_transaction_coa_id => l_adr_transaction_coa_id
64793 , x_accounting_coa_id => l_adr_accounting_coa_id
64794 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64795 , x_flex_value_set_id => l_adr_flex_value_set_id
64796 , x_value_type_code => l_adr_value_type_code
64797 , x_value_combination_id => l_adr_value_combination_id
64798 , x_value_segment_code => l_adr_value_segment_code
64799 , p_side => 'DEBIT'
64800 , p_override_seg_flag => 'Y'
64801 );
64802
64803 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64804
64805 xla_ae_lines_pkg.set_segment(
64806 p_to_segment_code => 'GL_ACCOUNT'
64807 , p_segment_value => l_segment
64808 , p_from_segment_code => l_adr_value_segment_code
64809 , p_from_combination_id => l_adr_value_combination_id
64813 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64810 , p_value_type_code => l_adr_value_type_code
64811 , p_transaction_coa_id => l_adr_transaction_coa_id
64812 , p_accounting_coa_id => l_adr_accounting_coa_id
64814 , p_flex_value_set_id => l_adr_flex_value_set_id
64815 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
64816 , p_adr_type_code => 'S'
64817 , p_component_type => l_component_type
64818 , p_component_code => l_component_code
64819 , p_component_type_code => l_component_type_code
64820 , p_component_appl_id => l_component_appl_id
64821 , p_amb_context_code => l_amb_context_code
64822 , p_entity_code => 'AP_PAYMENTS'
64823 , p_event_class_code => 'RECONCILED PAYMENTS'
64824 , p_side => 'DEBIT'
64825 );
64826
64827 END IF;
64828
64829 --
64830 --
64831 END IF;
64832 --
64833 -- Bug 4922099
64834 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64835 (NVL(l_enc_upg_option, 'N') = 'O')
64836 ) AND
64837 (l_bflow_method_code = 'PRIOR_ENTRY')
64838 )
64839 THEN
64840 IF
64841 --
64842 1 = 2
64843 --
64844 THEN
64845 xla_accounting_err_pkg.build_message
64846 (p_appli_s_name => 'XLA'
64847 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64848 ,p_token_1 => 'LINE_NUMBER'
64849 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64850 ,p_token_2 => 'LINE_TYPE_NAME'
64851 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64852 l_component_type
64853 ,l_component_code
64854 ,l_component_type_code
64855 ,l_component_appl_id
64856 ,l_amb_context_code
64857 ,l_entity_code
64858 ,l_event_class_code
64859 )
64860 ,p_token_3 => 'OWNER'
64861 ,p_value_3 => xla_lookups_pkg.get_meaning(
64862 p_lookup_type => 'XLA_OWNER_TYPE'
64863 ,p_lookup_code => l_component_type_code
64864 )
64865 ,p_token_4 => 'PRODUCT_NAME'
64866 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64867 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64868 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64869 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64870 ,p_ae_header_id => NULL
64871 );
64872
64873 IF (C_LEVEL_ERROR>= g_log_level) THEN
64874 trace
64875 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64876 ,p_level => C_LEVEL_ERROR
64877 ,p_module => l_log_module);
64878 END IF;
64879 END IF;
64880 END IF;
64881 --
64882 --
64883 ------------------------------------------------------------------------------------------------
64884 -- 4219869 Business Flow
64885 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64886 -- Prior Entry. Currently, the following code is always generated.
64887 ------------------------------------------------------------------------------------------------
64888 XLA_AE_LINES_PKG.ValidateCurrentLine;
64889
64890 ------------------------------------------------------------------------------------
64891 -- 4219869 Business Flow
64892 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64893 ------------------------------------------------------------------------------------
64894 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64895
64896 ----------------------------------------------------------------------------------
64897 -- 4219869 Business Flow
64898 -- Update journal entry status -- Need to generate this within IF <condition>
64899 ----------------------------------------------------------------------------------
64900 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64901 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64902 ,p_balance_type_code => l_balance_type_code
64903 );
64904
64908 BEGIN
64905 -------------------------------------------------------------------------------------------
64906 -- 4262811 - Generate the Accrual Reversal lines
64907 -------------------------------------------------------------------------------------------
64909 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64910 (g_array_event(p_event_id).array_value_num('header_index'));
64911 IF l_acc_rev_flag IS NULL THEN
64912 l_acc_rev_flag := 'N';
64913 END IF;
64914 EXCEPTION
64915 WHEN OTHERS THEN
64916 l_acc_rev_flag := 'N';
64917 END;
64918 --
64919 IF (l_acc_rev_flag = 'Y') THEN
64920
64921 -- 4645092 ------------------------------------------------------------------------------
64922 -- To allow MPA report to determine if it should generate report process
64923 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64924 ------------------------------------------------------------------------------------------
64925
64926 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64927 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64928 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64929 -- call ADRs
64930 -- Bug 4922099
64931 --
64932 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64933 (NVL(l_actual_upg_option, 'N') = 'O') OR
64934 (NVL(l_enc_upg_option, 'N') = 'O')
64935 )
64936 THEN
64937 NULL;
64938 --
64939 --
64940
64941 l_ccid := AcctDerRule_37(
64942 p_application_id => p_application_id
64943 , p_ae_header_id => l_ae_header_id
64944 , p_source_15 => p_source_15
64945 , p_source_15_meaning => p_source_15_meaning
64946 , p_source_30 => p_source_30
64947 , p_source_36 => p_source_36
64948 , p_source_37 => p_source_37
64949 , x_transaction_coa_id => l_adr_transaction_coa_id
64950 , x_accounting_coa_id => l_adr_accounting_coa_id
64951 , x_value_type_code => l_adr_value_type_code
64952 , p_side => 'CREDIT'
64953 );
64954
64955 xla_ae_lines_pkg.set_ccid(
64956 p_code_combination_id => l_ccid
64957 , p_value_type_code => l_adr_value_type_code
64958 , p_transaction_coa_id => l_adr_transaction_coa_id
64959 , p_accounting_coa_id => l_adr_accounting_coa_id
64960 , p_adr_code => 'AP_REAL_GAIN'
64961 , p_adr_type_code => 'S'
64962 , p_component_type => l_component_type
64963 , p_component_code => l_component_code
64964 , p_component_type_code => l_component_type_code
64965 , p_component_appl_id => l_component_appl_id
64966 , p_amb_context_code => l_amb_context_code
64967 , p_side => 'CREDIT'
64968 );
64969
64970
64971 l_ccid := AcctDerRule_38(
64972 p_application_id => p_application_id
64973 , p_ae_header_id => l_ae_header_id
64974 , p_source_15 => p_source_15
64975 , p_source_15_meaning => p_source_15_meaning
64976 , p_source_30 => p_source_30
64977 , p_source_38 => p_source_38
64978 , p_source_39 => p_source_39
64979 , x_transaction_coa_id => l_adr_transaction_coa_id
64980 , x_accounting_coa_id => l_adr_accounting_coa_id
64981 , x_value_type_code => l_adr_value_type_code
64982 , p_side => 'DEBIT'
64983 );
64984
64985 xla_ae_lines_pkg.set_ccid(
64986 p_code_combination_id => l_ccid
64987 , p_value_type_code => l_adr_value_type_code
64988 , p_transaction_coa_id => l_adr_transaction_coa_id
64989 , p_accounting_coa_id => l_adr_accounting_coa_id
64990 , p_adr_code => 'AP_REAL_LOSS'
64991 , p_adr_type_code => 'S'
64992 , p_component_type => l_component_type
64993 , p_component_code => l_component_code
64994 , p_component_type_code => l_component_type_code
64995 , p_component_appl_id => l_component_appl_id
64996 , p_amb_context_code => l_amb_context_code
64997 , p_side => 'DEBIT'
64998 );
64999
65000
65001 l_segment := AcctDerRule_22(
65002 p_application_id => p_application_id
65003 , p_ae_header_id => l_ae_header_id
65004 , p_source_15 => p_source_15
65005 , p_source_15_meaning => p_source_15_meaning
65006 , p_source_30 => p_source_30
65007 , x_transaction_coa_id => l_adr_transaction_coa_id
65008 , x_accounting_coa_id => l_adr_accounting_coa_id
65009 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65010 , x_flex_value_set_id => l_adr_flex_value_set_id
65011 , x_value_type_code => l_adr_value_type_code
65012 , x_value_combination_id => l_adr_value_combination_id
65013 , x_value_segment_code => l_adr_value_segment_code
65014 , p_side => 'ALL'
65015 , p_override_seg_flag => 'Y'
65016 );
65017
65018 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65019
65020 xla_ae_lines_pkg.set_segment(
65021 p_to_segment_code => 'GL_BALANCING'
65025 , p_value_type_code => l_adr_value_type_code
65022 , p_segment_value => l_segment
65023 , p_from_segment_code => l_adr_value_segment_code
65024 , p_from_combination_id => l_adr_value_combination_id
65026 , p_transaction_coa_id => l_adr_transaction_coa_id
65027 , p_accounting_coa_id => l_adr_accounting_coa_id
65028 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65029 , p_flex_value_set_id => l_adr_flex_value_set_id
65030 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65031 , p_adr_type_code => 'S'
65032 , p_component_type => l_component_type
65033 , p_component_code => l_component_code
65034 , p_component_type_code => l_component_type_code
65035 , p_component_appl_id => l_component_appl_id
65036 , p_amb_context_code => l_amb_context_code
65037 , p_entity_code => 'AP_PAYMENTS'
65038 , p_event_class_code => 'RECONCILED PAYMENTS'
65039 , p_side => 'ALL'
65040 );
65041
65042 END IF;
65043
65044 l_segment := AcctDerRule_17(
65045 p_application_id => p_application_id
65046 , p_ae_header_id => l_ae_header_id
65047 , p_source_15 => p_source_15
65048 , p_source_15_meaning => p_source_15_meaning
65049 , p_source_36 => p_source_36
65050 , p_source_37 => p_source_37
65051 , x_transaction_coa_id => l_adr_transaction_coa_id
65052 , x_accounting_coa_id => l_adr_accounting_coa_id
65053 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65054 , x_flex_value_set_id => l_adr_flex_value_set_id
65055 , x_value_type_code => l_adr_value_type_code
65056 , x_value_combination_id => l_adr_value_combination_id
65057 , x_value_segment_code => l_adr_value_segment_code
65058 , p_side => 'CREDIT'
65059 , p_override_seg_flag => 'Y'
65060 );
65061
65062 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65063
65064 xla_ae_lines_pkg.set_segment(
65065 p_to_segment_code => 'GL_ACCOUNT'
65066 , p_segment_value => l_segment
65067 , p_from_segment_code => l_adr_value_segment_code
65068 , p_from_combination_id => l_adr_value_combination_id
65069 , p_value_type_code => l_adr_value_type_code
65070 , p_transaction_coa_id => l_adr_transaction_coa_id
65071 , p_accounting_coa_id => l_adr_accounting_coa_id
65072 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65073 , p_flex_value_set_id => l_adr_flex_value_set_id
65074 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65075 , p_adr_type_code => 'S'
65076 , p_component_type => l_component_type
65077 , p_component_code => l_component_code
65078 , p_component_type_code => l_component_type_code
65079 , p_component_appl_id => l_component_appl_id
65080 , p_amb_context_code => l_amb_context_code
65081 , p_entity_code => 'AP_PAYMENTS'
65082 , p_event_class_code => 'RECONCILED PAYMENTS'
65083 , p_side => 'CREDIT'
65084 );
65085
65086 END IF;
65087
65088 l_segment := AcctDerRule_18(
65089 p_application_id => p_application_id
65090 , p_ae_header_id => l_ae_header_id
65091 , p_source_15 => p_source_15
65092 , p_source_15_meaning => p_source_15_meaning
65093 , p_source_38 => p_source_38
65094 , p_source_39 => p_source_39
65095 , x_transaction_coa_id => l_adr_transaction_coa_id
65096 , x_accounting_coa_id => l_adr_accounting_coa_id
65097 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65098 , x_flex_value_set_id => l_adr_flex_value_set_id
65099 , x_value_type_code => l_adr_value_type_code
65100 , x_value_combination_id => l_adr_value_combination_id
65101 , x_value_segment_code => l_adr_value_segment_code
65102 , p_side => 'DEBIT'
65103 , p_override_seg_flag => 'Y'
65104 );
65105
65106 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65107
65108 xla_ae_lines_pkg.set_segment(
65109 p_to_segment_code => 'GL_ACCOUNT'
65110 , p_segment_value => l_segment
65111 , p_from_segment_code => l_adr_value_segment_code
65112 , p_from_combination_id => l_adr_value_combination_id
65113 , p_value_type_code => l_adr_value_type_code
65114 , p_transaction_coa_id => l_adr_transaction_coa_id
65115 , p_accounting_coa_id => l_adr_accounting_coa_id
65116 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65117 , p_flex_value_set_id => l_adr_flex_value_set_id
65118 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65119 , p_adr_type_code => 'S'
65120 , p_component_type => l_component_type
65121 , p_component_code => l_component_code
65122 , p_component_type_code => l_component_type_code
65123 , p_component_appl_id => l_component_appl_id
65124 , p_amb_context_code => l_amb_context_code
65128 );
65125 , p_entity_code => 'AP_PAYMENTS'
65126 , p_event_class_code => 'RECONCILED PAYMENTS'
65127 , p_side => 'DEBIT'
65129
65130 END IF;
65131
65132 --
65133 --
65134 END IF;
65135
65136 --
65137 -- Update the line information that should be overwritten
65138 --
65139 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65140 p_header_num => 1);
65141 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65142
65143 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65144
65145 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65146 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65147 END IF;
65148
65149 --
65150 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65151 --
65152 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65153 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65154 ELSE
65155 ---------------------------------------------------------------------------------------------------
65156 -- 4262811a Switch Sign
65157 ---------------------------------------------------------------------------------------------------
65158 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65160 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65161 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65162 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65163 -- 5132302
65164 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65165 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65166
65167 END IF;
65168
65169 -- 4955764
65170 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65171 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
65172
65173
65174 XLA_AE_LINES_PKG.ValidateCurrentLine;
65175 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65176
65177 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65178 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
65179 ,p_balance_type_code => l_balance_type_code);
65180
65181 END IF;
65182
65183 -----------------------------------------------------------------------------------------
65184 -- 4262811 Multiperiod Accounting
65185 -----------------------------------------------------------------------------------------
65186 -- No MPA option is assigned.
65187
65188
65189 END IF;
65190 END IF;
65191 --
65192
65193 --
65194 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65195 trace
65196 (p_msg => 'END of AcctLineType_123'
65197 ,p_level => C_LEVEL_PROCEDURE
65198 ,p_module => l_log_module);
65199 END IF;
65200 --
65201 EXCEPTION
65202 WHEN xla_exceptions_pkg.application_exception THEN
65203 RAISE;
65204 WHEN OTHERS THEN
65205 xla_exceptions_pkg.raise_message
65206 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_123');
65207 END AcctLineType_123;
65208 --
65209
65210 ---------------------------------------
65211 --
65212 -- PRIVATE FUNCTION
65213 -- AcctLineType_124
65214 --
65215 ---------------------------------------
65216 PROCEDURE AcctLineType_124 (
65217 p_application_id IN NUMBER
65218 ,p_event_id IN NUMBER
65219 ,p_calculate_acctd_flag IN VARCHAR2
65220 ,p_calculate_g_l_flag IN VARCHAR2
65221 ,p_actual_flag IN OUT VARCHAR2
65222 ,p_balance_type_code OUT VARCHAR2
65223 ,p_gain_or_loss_ref OUT VARCHAR2
65224
65225 --Automatic Offsets Value
65226 , p_source_15 IN VARCHAR2
65227 , p_source_15_meaning IN VARCHAR2
65228 --Invoice Distribution Account
65229 , p_source_30 IN NUMBER
65230 --Internal Realized Gain Account
65231 , p_source_36 IN NUMBER
65232 --Bank Gain Account
65233 , p_source_37 IN NUMBER
65234 --Internal Realized Loss Account
65235 , p_source_38 IN NUMBER
65236 --Bank Loss Account
65237 , p_source_39 IN NUMBER
65238 --Accounting Reversal Indicator
65239 , p_source_52 IN VARCHAR2
65240 --Distribution Link Type
65241 , p_source_54 IN VARCHAR2
65242 --Override Accounted Amount Indicator
65243 , p_source_79 IN VARCHAR2
65244 , p_source_79_meaning IN VARCHAR2
65245 --Third Party Type
65246 , p_source_82 IN VARCHAR2
65247 --Invoice Distribution Tax Line Identifier
65248 , p_source_85 IN NUMBER
65249 --Invoice Distribution Tax Distribution Identifier from Tax
65250 , p_source_86 IN NUMBER
65251 --Invoice Distribution Summary Tax Line Identifier
65255 --Business Flow Invoice Distribution Type
65252 , p_source_87 IN NUMBER
65253 --Business Flow Accounts Payable Application Identifier
65254 , p_source_90 IN NUMBER
65256 , p_source_91 IN VARCHAR2
65257 --Business Flow Invoice Entity Code
65258 , p_source_92 IN VARCHAR2
65259 --Business Flow Invoice Distribution Identifier
65260 , p_source_93 IN NUMBER
65261 --Business Flow Invoice Identifier
65262 , p_source_94 IN NUMBER
65263 --When to Account for Payment Option
65264 , p_source_96 IN VARCHAR2
65265 --Payment Distribution Type
65266 , p_source_97 IN VARCHAR2
65267 , p_source_97_meaning IN VARCHAR2
65268 --Payment Distribution Identifier
65269 , p_source_103 IN NUMBER
65270 --Payment Supplier Identifier
65271 , p_source_109 IN NUMBER
65272 --Payment Supplier Site Identifier
65273 , p_source_110 IN NUMBER
65274 --Payment Distribution Reversed Identifier
65275 , p_source_111 IN NUMBER
65276 --Payment Identifier
65277 , p_source_112 IN NUMBER
65278 --Payment Type
65279 , p_source_122 IN VARCHAR2
65280 , p_source_122_meaning IN VARCHAR2
65281 --Invoice Distribution Amount of the Payment Distribution
65282 , p_source_124 IN NUMBER
65283 --Invoice/Payment Ledger Amount Difference
65284 , p_source_150 IN NUMBER
65285 )
65286 IS
65287
65288 l_component_type VARCHAR2(80);
65289 l_component_code VARCHAR2(30);
65290 l_component_type_code VARCHAR2(1);
65291 l_component_appl_id INTEGER;
65292 l_amb_context_code VARCHAR2(30);
65293 l_entity_code VARCHAR2(30);
65294 l_event_class_code VARCHAR2(30);
65295 l_ae_header_id NUMBER;
65296 l_event_type_code VARCHAR2(30);
65297 l_line_definition_code VARCHAR2(30);
65298 l_line_definition_owner_code VARCHAR2(1);
65299 --
65300 -- adr variables
65301 l_segment VARCHAR2(30);
65302 l_ccid NUMBER;
65303 l_adr_transaction_coa_id NUMBER;
65304 l_adr_accounting_coa_id NUMBER;
65305 l_adr_flexfield_segment_code VARCHAR2(30);
65306 l_adr_flex_value_set_id NUMBER;
65307 l_adr_value_type_code VARCHAR2(30);
65308 l_adr_value_combination_id NUMBER;
65309 l_adr_value_segment_code VARCHAR2(30);
65310
65311 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65312 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65313 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65314 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65315
65316 -- 4262811 Variables ------------------------------------------------------------------------------------------
65317 l_entered_amt_idx NUMBER;
65318 l_accted_amt_idx NUMBER;
65319 l_acc_rev_flag VARCHAR2(1);
65320 l_accrual_line_num NUMBER;
65321 l_tmp_amt NUMBER;
65322 l_acc_rev_natural_side_code VARCHAR2(1);
65323
65324 l_num_entries NUMBER;
65325 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65326 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65327 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65328 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65329 l_recog_line_1 NUMBER;
65330 l_recog_line_2 NUMBER;
65331
65332 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65333 l_bflow_applied_to_amt NUMBER; -- 5132302
65334 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65335
65336 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65337
65338 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65339 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65340
65341 ---------------------------------------------------------------------------------------------------------------
65342
65343
65344 --
65345 -- bulk performance
65346 --
65347 l_balance_type_code VARCHAR2(1);
65348 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65349 l_log_module VARCHAR2(240);
65350
65351 --
65352 -- Upgrade strategy
65353 --
65354 l_actual_upg_option VARCHAR2(1);
65355 l_enc_upg_option VARCHAR2(1);
65356
65357 --
65358 BEGIN
65359 --
65360 IF g_log_enabled THEN
65361 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_124';
65362 END IF;
65363 --
65364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65365
65366 trace
65367 (p_msg => 'BEGIN of AcctLineType_124'
65368 ,p_level => C_LEVEL_PROCEDURE
65369 ,p_module => l_log_module);
65370
65371 END IF;
65372 --
65373 l_component_type := 'AMB_JLT';
65374 l_component_code := 'AP_GAIN_LOSS_PMT';
65375 l_component_type_code := 'S';
65376 l_component_appl_id := 200;
65377 l_amb_context_code := 'DEFAULT';
65378 l_entity_code := 'AP_PAYMENTS';
65379 l_event_class_code := 'PAYMENTS';
65380 l_event_type_code := 'PAYMENTS_ALL';
65384 l_balance_type_code := 'A';
65381 l_line_definition_owner_code := 'S';
65382 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
65383 --
65385 l_segment := NULL;
65386 l_ccid := NULL;
65387 l_adr_transaction_coa_id := NULL;
65388 l_adr_accounting_coa_id := NULL;
65389 l_adr_flexfield_segment_code := NULL;
65390 l_adr_flex_value_set_id := NULL;
65391 l_adr_value_type_code := NULL;
65392 l_adr_value_combination_id := NULL;
65393 l_adr_value_segment_code := NULL;
65394
65395 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
65396 l_bflow_class_code := ''; -- 4219869 Business Flow
65397 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
65398 l_budgetary_control_flag := 'N';
65399
65400 l_bflow_applied_to_amt_idx := NULL; -- 5132302
65401 l_bflow_applied_to_amt := NULL; -- 5132302
65402 l_entered_amt_idx := NULL; -- 4262811
65403 l_accted_amt_idx := NULL; -- 4262811
65404 l_acc_rev_flag := NULL; -- 4262811
65405 l_accrual_line_num := NULL; -- 4262811
65406 l_tmp_amt := NULL; -- 4262811
65407 --
65408 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
65409 (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
65410 return;
65411 END IF;
65412
65413 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
65414 l_balance_type_code <> 'B' THEN
65415 IF (NVL(p_source_96,'
65416 ') <> 'CLEAR_CLEAR' AND
65417 NVL(p_source_96,'
65418 ') <> 'ALWAYS_CLEAR') AND
65419 NVL(p_source_97,'
65420 ') <> 'EXCHANGE RATE VARIANCE' AND
65421 NVL(p_source_97,'
65422 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
65423 NVL(p_source_97,'
65424 ') <> 'BANK CHARGE' AND
65425 NVL(p_source_97,'
65426 ') <> 'BANK ERROR' AND
65427 NVL(p_source_122,'
65428 ') <> 'R'
65429 THEN
65430
65431 --
65432 XLA_AE_LINES_PKG.SetNewLine;
65433
65434 p_balance_type_code := l_balance_type_code;
65435 -- set the flag so later we will know whether the gain loss line needs to be created
65436
65437 IF(l_balance_type_code = 'A' ) THEN
65438 p_actual_flag :='G';
65439 END IF;
65440
65441 --
65442 -- bulk performance
65443 --
65444 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
65445 p_header_num => 0); -- 4262811
65446 --
65447 -- set accounting line options
65448 --
65449 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
65450 p_natural_side_code => 'G'
65451 , p_gain_or_loss_flag => 'N'
65452 , p_gl_transfer_mode_code => 'S'
65453 , p_acct_entry_type_code => 'A'
65454 , p_switch_side_flag => ''
65455 , p_merge_duplicate_code => 'A'
65456 );
65457 --
65458 l_acc_rev_natural_side_code := 'C'; -- 4262811
65459 --
65460 --
65461 -- set accounting line type info
65462 --
65463 xla_ae_lines_pkg.SetAcctLineType
65464 (p_component_type => l_component_type
65465 ,p_event_type_code => l_event_type_code
65466 ,p_line_definition_owner_code => l_line_definition_owner_code
65467 ,p_line_definition_code => l_line_definition_code
65468 ,p_accounting_line_code => l_component_code
65469 ,p_accounting_line_type_code => l_component_type_code
65470 ,p_accounting_line_appl_id => l_component_appl_id
65471 ,p_amb_context_code => l_amb_context_code
65472 ,p_entity_code => l_entity_code
65473 ,p_event_class_code => l_event_class_code);
65474 --
65475 -- set accounting class
65476 --
65477 xla_ae_lines_pkg.SetAcctClass(
65478 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
65479 , p_ae_header_id => l_ae_header_id
65480 );
65481
65482 --
65483 -- set rounding class
65484 --
65485 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
65486 'EXCHANGE_GAIN_LOSS';
65487
65488 --
65489 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
65490 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
65491 --
65492 -- bulk performance
65493 --
65494 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
65495
65496 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
65497 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
65498
65499 -- 4955764
65500 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65501 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
65502
65503 -- 4458381 Public Sector Enh
65504
65505 --
65506 -- set accounting attributes for the line type
65507 --
65508 l_entered_amt_idx := NULL;
65512 l_rec_acct_attrs.array_char_value(1) := p_source_52;
65509 l_accted_amt_idx := 10;
65510 l_bflow_applied_to_amt_idx := 2; -- 5132302
65511 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
65513 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
65514 l_rec_acct_attrs.array_num_value(2) := p_source_124;
65515 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
65516 l_rec_acct_attrs.array_num_value(3) := p_source_90;
65517 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
65518 l_rec_acct_attrs.array_char_value(4) := p_source_91;
65519 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
65520 l_rec_acct_attrs.array_char_value(5) := p_source_92;
65521 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
65522 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
65523 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
65524 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
65525 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
65526 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
65527 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
65528 l_rec_acct_attrs.array_char_value(9) := p_source_54;
65529 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
65530 l_rec_acct_attrs.array_num_value(10) := p_source_150;
65531 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
65532 l_rec_acct_attrs.array_char_value(11) := p_source_79;
65533 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
65534 l_rec_acct_attrs.array_num_value(12) := p_source_109;
65535 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
65536 l_rec_acct_attrs.array_num_value(13) := p_source_110;
65537 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
65538 l_rec_acct_attrs.array_char_value(14) := p_source_82;
65539 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
65540 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
65541 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
65542 l_rec_acct_attrs.array_char_value(16) := p_source_54;
65543 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
65544 l_rec_acct_attrs.array_num_value(17) := p_source_85;
65545 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
65546 l_rec_acct_attrs.array_num_value(18) := p_source_86;
65547 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
65548 l_rec_acct_attrs.array_num_value(19) := p_source_87;
65549
65550 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
65551 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
65552
65553 ---------------------------------------------------------------------------------------------------------------
65554 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
65555 ---------------------------------------------------------------------------------------------------------------
65556 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
65557
65558 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65559 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65560
65561 IF xla_accounting_cache_pkg.GetValueChar
65562 (p_source_code => 'LEDGER_CATEGORY_CODE'
65563 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
65564 AND l_bflow_method_code = 'PRIOR_ENTRY'
65565 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
65566 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
65567 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
65568 )
65569 THEN
65570 xla_ae_lines_pkg.BflowUpgEntry
65571 (p_business_method_code => l_bflow_method_code
65572 ,p_business_class_code => l_bflow_class_code
65573 ,p_balance_type => l_balance_type_code);
65574 ELSE
65575 NULL;
65576 -- No business flow processing for business flow method of NONE.
65577 END IF;
65578
65579 --
65580 -- call analytical criteria
65581 --
65582
65583
65584 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
65585 xla_ae_lines_pkg.SetAnalyticalCriteria(
65586 p_analytical_criterion_name => 'Check Id'
65587 , p_analytical_criterion_owner => 'S'
65588 , p_analytical_criterion_code => 'CHECK_ID'
65589 , p_amb_context_code => 'DEFAULT'
65590 , p_balancing_flag => 'N'
65591
65592 , p_analytical_detail_char_1 => NULL
65593 , p_analytical_detail_num_1 => p_source_112
65594 , p_analytical_detail_date_1 => NULL
65595
65596 , p_ae_header_id => l_ae_header_id
65597 )
65598 ;
65599 --
65600
65601 --
65602 -- call description
65603 --
65604 -- No description or it is inherited.
65605 --
65606 -- call ADRs
65607 -- Bug 4922099
65608 --
65609 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65610 (NVL(l_actual_upg_option, 'N') = 'O') OR
65611 (NVL(l_enc_upg_option, 'N') = 'O')
65612 )
65613 THEN
65617
65614 NULL;
65615 --
65616 --
65618 l_ccid := AcctDerRule_37(
65619 p_application_id => p_application_id
65620 , p_ae_header_id => l_ae_header_id
65621 , p_source_15 => p_source_15
65622 , p_source_15_meaning => p_source_15_meaning
65623 , p_source_30 => p_source_30
65624 , p_source_36 => p_source_36
65625 , p_source_37 => p_source_37
65626 , x_transaction_coa_id => l_adr_transaction_coa_id
65627 , x_accounting_coa_id => l_adr_accounting_coa_id
65628 , x_value_type_code => l_adr_value_type_code
65629 , p_side => 'CREDIT'
65630 );
65631
65632 xla_ae_lines_pkg.set_ccid(
65633 p_code_combination_id => l_ccid
65634 , p_value_type_code => l_adr_value_type_code
65635 , p_transaction_coa_id => l_adr_transaction_coa_id
65636 , p_accounting_coa_id => l_adr_accounting_coa_id
65637 , p_adr_code => 'AP_REAL_GAIN'
65638 , p_adr_type_code => 'S'
65639 , p_component_type => l_component_type
65640 , p_component_code => l_component_code
65641 , p_component_type_code => l_component_type_code
65642 , p_component_appl_id => l_component_appl_id
65643 , p_amb_context_code => l_amb_context_code
65644 , p_side => 'CREDIT'
65645 );
65646
65647
65648 l_ccid := AcctDerRule_38(
65649 p_application_id => p_application_id
65650 , p_ae_header_id => l_ae_header_id
65651 , p_source_15 => p_source_15
65652 , p_source_15_meaning => p_source_15_meaning
65653 , p_source_30 => p_source_30
65654 , p_source_38 => p_source_38
65655 , p_source_39 => p_source_39
65656 , x_transaction_coa_id => l_adr_transaction_coa_id
65657 , x_accounting_coa_id => l_adr_accounting_coa_id
65658 , x_value_type_code => l_adr_value_type_code
65659 , p_side => 'DEBIT'
65660 );
65661
65662 xla_ae_lines_pkg.set_ccid(
65663 p_code_combination_id => l_ccid
65664 , p_value_type_code => l_adr_value_type_code
65665 , p_transaction_coa_id => l_adr_transaction_coa_id
65666 , p_accounting_coa_id => l_adr_accounting_coa_id
65667 , p_adr_code => 'AP_REAL_LOSS'
65668 , p_adr_type_code => 'S'
65669 , p_component_type => l_component_type
65670 , p_component_code => l_component_code
65671 , p_component_type_code => l_component_type_code
65672 , p_component_appl_id => l_component_appl_id
65673 , p_amb_context_code => l_amb_context_code
65674 , p_side => 'DEBIT'
65675 );
65676
65677
65678 l_segment := AcctDerRule_22(
65679 p_application_id => p_application_id
65680 , p_ae_header_id => l_ae_header_id
65681 , p_source_15 => p_source_15
65682 , p_source_15_meaning => p_source_15_meaning
65683 , p_source_30 => p_source_30
65684 , x_transaction_coa_id => l_adr_transaction_coa_id
65685 , x_accounting_coa_id => l_adr_accounting_coa_id
65686 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65687 , x_flex_value_set_id => l_adr_flex_value_set_id
65688 , x_value_type_code => l_adr_value_type_code
65689 , x_value_combination_id => l_adr_value_combination_id
65690 , x_value_segment_code => l_adr_value_segment_code
65691 , p_side => 'ALL'
65692 , p_override_seg_flag => 'Y'
65693 );
65694
65695 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65696
65697 xla_ae_lines_pkg.set_segment(
65698 p_to_segment_code => 'GL_BALANCING'
65699 , p_segment_value => l_segment
65700 , p_from_segment_code => l_adr_value_segment_code
65701 , p_from_combination_id => l_adr_value_combination_id
65702 , p_value_type_code => l_adr_value_type_code
65703 , p_transaction_coa_id => l_adr_transaction_coa_id
65704 , p_accounting_coa_id => l_adr_accounting_coa_id
65705 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65706 , p_flex_value_set_id => l_adr_flex_value_set_id
65707 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65708 , p_adr_type_code => 'S'
65709 , p_component_type => l_component_type
65710 , p_component_code => l_component_code
65711 , p_component_type_code => l_component_type_code
65712 , p_component_appl_id => l_component_appl_id
65713 , p_amb_context_code => l_amb_context_code
65714 , p_entity_code => 'AP_PAYMENTS'
65715 , p_event_class_code => 'PAYMENTS'
65716 , p_side => 'ALL'
65717 );
65718
65719 END IF;
65720
65721 l_segment := AcctDerRule_17(
65722 p_application_id => p_application_id
65723 , p_ae_header_id => l_ae_header_id
65724 , p_source_15 => p_source_15
65725 , p_source_15_meaning => p_source_15_meaning
65726 , p_source_36 => p_source_36
65727 , p_source_37 => p_source_37
65731 , x_flex_value_set_id => l_adr_flex_value_set_id
65728 , x_transaction_coa_id => l_adr_transaction_coa_id
65729 , x_accounting_coa_id => l_adr_accounting_coa_id
65730 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65732 , x_value_type_code => l_adr_value_type_code
65733 , x_value_combination_id => l_adr_value_combination_id
65734 , x_value_segment_code => l_adr_value_segment_code
65735 , p_side => 'CREDIT'
65736 , p_override_seg_flag => 'Y'
65737 );
65738
65739 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65740
65741 xla_ae_lines_pkg.set_segment(
65742 p_to_segment_code => 'GL_ACCOUNT'
65743 , p_segment_value => l_segment
65744 , p_from_segment_code => l_adr_value_segment_code
65745 , p_from_combination_id => l_adr_value_combination_id
65746 , p_value_type_code => l_adr_value_type_code
65747 , p_transaction_coa_id => l_adr_transaction_coa_id
65748 , p_accounting_coa_id => l_adr_accounting_coa_id
65749 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65750 , p_flex_value_set_id => l_adr_flex_value_set_id
65751 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65752 , p_adr_type_code => 'S'
65753 , p_component_type => l_component_type
65754 , p_component_code => l_component_code
65755 , p_component_type_code => l_component_type_code
65756 , p_component_appl_id => l_component_appl_id
65757 , p_amb_context_code => l_amb_context_code
65758 , p_entity_code => 'AP_PAYMENTS'
65759 , p_event_class_code => 'PAYMENTS'
65760 , p_side => 'CREDIT'
65761 );
65762
65763 END IF;
65764
65765 l_segment := AcctDerRule_18(
65766 p_application_id => p_application_id
65767 , p_ae_header_id => l_ae_header_id
65768 , p_source_15 => p_source_15
65769 , p_source_15_meaning => p_source_15_meaning
65770 , p_source_38 => p_source_38
65771 , p_source_39 => p_source_39
65772 , x_transaction_coa_id => l_adr_transaction_coa_id
65773 , x_accounting_coa_id => l_adr_accounting_coa_id
65774 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65775 , x_flex_value_set_id => l_adr_flex_value_set_id
65776 , x_value_type_code => l_adr_value_type_code
65777 , x_value_combination_id => l_adr_value_combination_id
65778 , x_value_segment_code => l_adr_value_segment_code
65779 , p_side => 'DEBIT'
65780 , p_override_seg_flag => 'Y'
65781 );
65782
65783 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65784
65785 xla_ae_lines_pkg.set_segment(
65786 p_to_segment_code => 'GL_ACCOUNT'
65787 , p_segment_value => l_segment
65788 , p_from_segment_code => l_adr_value_segment_code
65789 , p_from_combination_id => l_adr_value_combination_id
65790 , p_value_type_code => l_adr_value_type_code
65791 , p_transaction_coa_id => l_adr_transaction_coa_id
65792 , p_accounting_coa_id => l_adr_accounting_coa_id
65793 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65794 , p_flex_value_set_id => l_adr_flex_value_set_id
65795 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65796 , p_adr_type_code => 'S'
65797 , p_component_type => l_component_type
65798 , p_component_code => l_component_code
65799 , p_component_type_code => l_component_type_code
65800 , p_component_appl_id => l_component_appl_id
65801 , p_amb_context_code => l_amb_context_code
65802 , p_entity_code => 'AP_PAYMENTS'
65803 , p_event_class_code => 'PAYMENTS'
65804 , p_side => 'DEBIT'
65805 );
65806
65807 END IF;
65808
65809 --
65810 --
65811 END IF;
65812 --
65813 -- Bug 4922099
65814 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
65815 (NVL(l_enc_upg_option, 'N') = 'O')
65816 ) AND
65817 (l_bflow_method_code = 'PRIOR_ENTRY')
65818 )
65819 THEN
65820 IF
65821 --
65822 1 = 2
65823 --
65824 THEN
65825 xla_accounting_err_pkg.build_message
65826 (p_appli_s_name => 'XLA'
65827 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65828 ,p_token_1 => 'LINE_NUMBER'
65829 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
65830 ,p_token_2 => 'LINE_TYPE_NAME'
65831 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
65832 l_component_type
65833 ,l_component_code
65834 ,l_component_type_code
65838 ,l_event_class_code
65835 ,l_component_appl_id
65836 ,l_amb_context_code
65837 ,l_entity_code
65839 )
65840 ,p_token_3 => 'OWNER'
65841 ,p_value_3 => xla_lookups_pkg.get_meaning(
65842 p_lookup_type => 'XLA_OWNER_TYPE'
65843 ,p_lookup_code => l_component_type_code
65844 )
65845 ,p_token_4 => 'PRODUCT_NAME'
65846 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
65847 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
65848 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
65849 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
65850 ,p_ae_header_id => NULL
65851 );
65852
65853 IF (C_LEVEL_ERROR>= g_log_level) THEN
65854 trace
65855 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65856 ,p_level => C_LEVEL_ERROR
65857 ,p_module => l_log_module);
65858 END IF;
65859 END IF;
65860 END IF;
65861 --
65862 --
65863 ------------------------------------------------------------------------------------------------
65864 -- 4219869 Business Flow
65865 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
65866 -- Prior Entry. Currently, the following code is always generated.
65867 ------------------------------------------------------------------------------------------------
65868 XLA_AE_LINES_PKG.ValidateCurrentLine;
65869
65870 ------------------------------------------------------------------------------------
65871 -- 4219869 Business Flow
65872 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
65873 ------------------------------------------------------------------------------------
65874 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65875
65876 ----------------------------------------------------------------------------------
65877 -- 4219869 Business Flow
65878 -- Update journal entry status -- Need to generate this within IF <condition>
65879 ----------------------------------------------------------------------------------
65880 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65881 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
65882 ,p_balance_type_code => l_balance_type_code
65883 );
65884
65885 -------------------------------------------------------------------------------------------
65886 -- 4262811 - Generate the Accrual Reversal lines
65887 -------------------------------------------------------------------------------------------
65888 BEGIN
65889 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
65890 (g_array_event(p_event_id).array_value_num('header_index'));
65891 IF l_acc_rev_flag IS NULL THEN
65892 l_acc_rev_flag := 'N';
65893 END IF;
65894 EXCEPTION
65895 WHEN OTHERS THEN
65896 l_acc_rev_flag := 'N';
65897 END;
65898 --
65899 IF (l_acc_rev_flag = 'Y') THEN
65900
65901 -- 4645092 ------------------------------------------------------------------------------
65902 -- To allow MPA report to determine if it should generate report process
65903 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
65904 ------------------------------------------------------------------------------------------
65905
65906 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
65907 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
65908 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
65909 -- call ADRs
65910 -- Bug 4922099
65911 --
65912 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65913 (NVL(l_actual_upg_option, 'N') = 'O') OR
65914 (NVL(l_enc_upg_option, 'N') = 'O')
65915 )
65916 THEN
65917 NULL;
65918 --
65919 --
65920
65921 l_ccid := AcctDerRule_37(
65922 p_application_id => p_application_id
65923 , p_ae_header_id => l_ae_header_id
65924 , p_source_15 => p_source_15
65925 , p_source_15_meaning => p_source_15_meaning
65926 , p_source_30 => p_source_30
65927 , p_source_36 => p_source_36
65928 , p_source_37 => p_source_37
65929 , x_transaction_coa_id => l_adr_transaction_coa_id
65930 , x_accounting_coa_id => l_adr_accounting_coa_id
65931 , x_value_type_code => l_adr_value_type_code
65932 , p_side => 'CREDIT'
65933 );
65934
65935 xla_ae_lines_pkg.set_ccid(
65936 p_code_combination_id => l_ccid
65940 , p_adr_code => 'AP_REAL_GAIN'
65937 , p_value_type_code => l_adr_value_type_code
65938 , p_transaction_coa_id => l_adr_transaction_coa_id
65939 , p_accounting_coa_id => l_adr_accounting_coa_id
65941 , p_adr_type_code => 'S'
65942 , p_component_type => l_component_type
65943 , p_component_code => l_component_code
65944 , p_component_type_code => l_component_type_code
65945 , p_component_appl_id => l_component_appl_id
65946 , p_amb_context_code => l_amb_context_code
65947 , p_side => 'CREDIT'
65948 );
65949
65950
65951 l_ccid := AcctDerRule_38(
65952 p_application_id => p_application_id
65953 , p_ae_header_id => l_ae_header_id
65954 , p_source_15 => p_source_15
65955 , p_source_15_meaning => p_source_15_meaning
65956 , p_source_30 => p_source_30
65957 , p_source_38 => p_source_38
65958 , p_source_39 => p_source_39
65959 , x_transaction_coa_id => l_adr_transaction_coa_id
65960 , x_accounting_coa_id => l_adr_accounting_coa_id
65961 , x_value_type_code => l_adr_value_type_code
65962 , p_side => 'DEBIT'
65963 );
65964
65965 xla_ae_lines_pkg.set_ccid(
65966 p_code_combination_id => l_ccid
65967 , p_value_type_code => l_adr_value_type_code
65968 , p_transaction_coa_id => l_adr_transaction_coa_id
65969 , p_accounting_coa_id => l_adr_accounting_coa_id
65970 , p_adr_code => 'AP_REAL_LOSS'
65971 , p_adr_type_code => 'S'
65972 , p_component_type => l_component_type
65973 , p_component_code => l_component_code
65974 , p_component_type_code => l_component_type_code
65975 , p_component_appl_id => l_component_appl_id
65976 , p_amb_context_code => l_amb_context_code
65977 , p_side => 'DEBIT'
65978 );
65979
65980
65981 l_segment := AcctDerRule_22(
65982 p_application_id => p_application_id
65983 , p_ae_header_id => l_ae_header_id
65984 , p_source_15 => p_source_15
65985 , p_source_15_meaning => p_source_15_meaning
65986 , p_source_30 => p_source_30
65987 , x_transaction_coa_id => l_adr_transaction_coa_id
65988 , x_accounting_coa_id => l_adr_accounting_coa_id
65989 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65990 , x_flex_value_set_id => l_adr_flex_value_set_id
65991 , x_value_type_code => l_adr_value_type_code
65992 , x_value_combination_id => l_adr_value_combination_id
65993 , x_value_segment_code => l_adr_value_segment_code
65994 , p_side => 'ALL'
65995 , p_override_seg_flag => 'Y'
65996 );
65997
65998 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65999
66000 xla_ae_lines_pkg.set_segment(
66001 p_to_segment_code => 'GL_BALANCING'
66002 , p_segment_value => l_segment
66003 , p_from_segment_code => l_adr_value_segment_code
66004 , p_from_combination_id => l_adr_value_combination_id
66005 , p_value_type_code => l_adr_value_type_code
66006 , p_transaction_coa_id => l_adr_transaction_coa_id
66007 , p_accounting_coa_id => l_adr_accounting_coa_id
66008 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66009 , p_flex_value_set_id => l_adr_flex_value_set_id
66010 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66011 , p_adr_type_code => 'S'
66012 , p_component_type => l_component_type
66013 , p_component_code => l_component_code
66014 , p_component_type_code => l_component_type_code
66015 , p_component_appl_id => l_component_appl_id
66016 , p_amb_context_code => l_amb_context_code
66017 , p_entity_code => 'AP_PAYMENTS'
66018 , p_event_class_code => 'PAYMENTS'
66019 , p_side => 'ALL'
66020 );
66021
66022 END IF;
66023
66024 l_segment := AcctDerRule_17(
66025 p_application_id => p_application_id
66026 , p_ae_header_id => l_ae_header_id
66027 , p_source_15 => p_source_15
66028 , p_source_15_meaning => p_source_15_meaning
66029 , p_source_36 => p_source_36
66030 , p_source_37 => p_source_37
66031 , x_transaction_coa_id => l_adr_transaction_coa_id
66032 , x_accounting_coa_id => l_adr_accounting_coa_id
66033 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66034 , x_flex_value_set_id => l_adr_flex_value_set_id
66035 , x_value_type_code => l_adr_value_type_code
66036 , x_value_combination_id => l_adr_value_combination_id
66037 , x_value_segment_code => l_adr_value_segment_code
66038 , p_side => 'CREDIT'
66039 , p_override_seg_flag => 'Y'
66040 );
66041
66042 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66043
66044 xla_ae_lines_pkg.set_segment(
66045 p_to_segment_code => 'GL_ACCOUNT'
66046 , p_segment_value => l_segment
66050 , p_transaction_coa_id => l_adr_transaction_coa_id
66047 , p_from_segment_code => l_adr_value_segment_code
66048 , p_from_combination_id => l_adr_value_combination_id
66049 , p_value_type_code => l_adr_value_type_code
66051 , p_accounting_coa_id => l_adr_accounting_coa_id
66052 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66053 , p_flex_value_set_id => l_adr_flex_value_set_id
66054 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66055 , p_adr_type_code => 'S'
66056 , p_component_type => l_component_type
66057 , p_component_code => l_component_code
66058 , p_component_type_code => l_component_type_code
66059 , p_component_appl_id => l_component_appl_id
66060 , p_amb_context_code => l_amb_context_code
66061 , p_entity_code => 'AP_PAYMENTS'
66062 , p_event_class_code => 'PAYMENTS'
66063 , p_side => 'CREDIT'
66064 );
66065
66066 END IF;
66067
66068 l_segment := AcctDerRule_18(
66069 p_application_id => p_application_id
66070 , p_ae_header_id => l_ae_header_id
66071 , p_source_15 => p_source_15
66072 , p_source_15_meaning => p_source_15_meaning
66073 , p_source_38 => p_source_38
66074 , p_source_39 => p_source_39
66075 , x_transaction_coa_id => l_adr_transaction_coa_id
66076 , x_accounting_coa_id => l_adr_accounting_coa_id
66077 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66078 , x_flex_value_set_id => l_adr_flex_value_set_id
66079 , x_value_type_code => l_adr_value_type_code
66080 , x_value_combination_id => l_adr_value_combination_id
66081 , x_value_segment_code => l_adr_value_segment_code
66082 , p_side => 'DEBIT'
66083 , p_override_seg_flag => 'Y'
66084 );
66085
66086 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66087
66088 xla_ae_lines_pkg.set_segment(
66089 p_to_segment_code => 'GL_ACCOUNT'
66090 , p_segment_value => l_segment
66091 , p_from_segment_code => l_adr_value_segment_code
66092 , p_from_combination_id => l_adr_value_combination_id
66093 , p_value_type_code => l_adr_value_type_code
66094 , p_transaction_coa_id => l_adr_transaction_coa_id
66095 , p_accounting_coa_id => l_adr_accounting_coa_id
66096 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66097 , p_flex_value_set_id => l_adr_flex_value_set_id
66098 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66099 , p_adr_type_code => 'S'
66100 , p_component_type => l_component_type
66101 , p_component_code => l_component_code
66102 , p_component_type_code => l_component_type_code
66103 , p_component_appl_id => l_component_appl_id
66104 , p_amb_context_code => l_amb_context_code
66105 , p_entity_code => 'AP_PAYMENTS'
66106 , p_event_class_code => 'PAYMENTS'
66107 , p_side => 'DEBIT'
66108 );
66109
66110 END IF;
66111
66112 --
66113 --
66114 END IF;
66115
66116 --
66117 -- Update the line information that should be overwritten
66118 --
66119 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
66120 p_header_num => 1);
66121 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
66122
66123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
66124
66125 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
66126 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
66127 END IF;
66128
66129 --
66130 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
66131 --
66132 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
66133 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
66134 ELSE
66135 ---------------------------------------------------------------------------------------------------
66136 -- 4262811a Switch Sign
66137 ---------------------------------------------------------------------------------------------------
66138 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
66139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66141 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66143 -- 5132302
66144 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
66145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66146
66147 END IF;
66148
66149 -- 4955764
66150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66154 XLA_AE_LINES_PKG.ValidateCurrentLine;
66151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66152
66153
66155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66156
66157 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66158 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66159 ,p_balance_type_code => l_balance_type_code);
66160
66161 END IF;
66162
66163 -----------------------------------------------------------------------------------------
66164 -- 4262811 Multiperiod Accounting
66165 -----------------------------------------------------------------------------------------
66166 -- No MPA option is assigned.
66167
66168
66169 END IF;
66170 END IF;
66171 --
66172
66173 --
66174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66175 trace
66176 (p_msg => 'END of AcctLineType_124'
66177 ,p_level => C_LEVEL_PROCEDURE
66178 ,p_module => l_log_module);
66179 END IF;
66180 --
66181 EXCEPTION
66182 WHEN xla_exceptions_pkg.application_exception THEN
66183 RAISE;
66184 WHEN OTHERS THEN
66185 xla_exceptions_pkg.raise_message
66186 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_124');
66187 END AcctLineType_124;
66188 --
66189
66190 ---------------------------------------
66191 --
66192 -- PRIVATE FUNCTION
66193 -- AcctLineType_125
66194 --
66195 ---------------------------------------
66196 PROCEDURE AcctLineType_125 (
66197 p_application_id IN NUMBER
66198 ,p_event_id IN NUMBER
66199 ,p_calculate_acctd_flag IN VARCHAR2
66200 ,p_calculate_g_l_flag IN VARCHAR2
66201 ,p_actual_flag IN OUT VARCHAR2
66202 ,p_balance_type_code OUT VARCHAR2
66203 ,p_gain_or_loss_ref OUT VARCHAR2
66204
66205 --Automatic Offsets Value
66206 , p_source_15 IN VARCHAR2
66207 , p_source_15_meaning IN VARCHAR2
66208 --Invoice Distribution Account
66209 , p_source_30 IN NUMBER
66210 --Internal Realized Gain Account
66211 , p_source_36 IN NUMBER
66212 --Bank Gain Account
66213 , p_source_37 IN NUMBER
66214 --Internal Realized Loss Account
66215 , p_source_38 IN NUMBER
66216 --Bank Loss Account
66217 , p_source_39 IN NUMBER
66218 --Accounting Reversal Indicator
66219 , p_source_52 IN VARCHAR2
66220 --Distribution Link Type
66221 , p_source_54 IN VARCHAR2
66222 --Override Accounted Amount Indicator
66223 , p_source_79 IN VARCHAR2
66224 , p_source_79_meaning IN VARCHAR2
66225 --Third Party Type
66226 , p_source_82 IN VARCHAR2
66227 --Business Flow Accounts Payable Application Identifier
66228 , p_source_90 IN NUMBER
66229 --When to Account for Payment Option
66230 , p_source_96 IN VARCHAR2
66231 --Payment Distribution Type
66232 , p_source_97 IN VARCHAR2
66233 , p_source_97_meaning IN VARCHAR2
66234 --Business Flow Payment Distribution Type
66235 , p_source_99 IN VARCHAR2
66236 --Business Flow Payment Entity Code
66237 , p_source_100 IN VARCHAR2
66238 --Business Flow Payment Distribution Identifier
66239 , p_source_101 IN NUMBER
66240 --Business Flow Payment Identifier
66241 , p_source_102 IN NUMBER
66242 --Payment Distribution Identifier
66243 , p_source_103 IN NUMBER
66244 --Payment Supplier Identifier
66245 , p_source_109 IN NUMBER
66246 --Payment Supplier Site Identifier
66247 , p_source_110 IN NUMBER
66248 --Payment Distribution Reversed Identifier
66249 , p_source_111 IN NUMBER
66250 --Payment Identifier
66251 , p_source_112 IN NUMBER
66252 --Payment Maturity Date
66253 , p_source_114 IN DATE
66254 --Payment/Maturity Ledger Amount Difference
66255 , p_source_151 IN NUMBER
66256 )
66257 IS
66258
66259 l_component_type VARCHAR2(80);
66260 l_component_code VARCHAR2(30);
66261 l_component_type_code VARCHAR2(1);
66262 l_component_appl_id INTEGER;
66263 l_amb_context_code VARCHAR2(30);
66264 l_entity_code VARCHAR2(30);
66265 l_event_class_code VARCHAR2(30);
66266 l_ae_header_id NUMBER;
66267 l_event_type_code VARCHAR2(30);
66268 l_line_definition_code VARCHAR2(30);
66269 l_line_definition_owner_code VARCHAR2(1);
66270 --
66271 -- adr variables
66272 l_segment VARCHAR2(30);
66273 l_ccid NUMBER;
66274 l_adr_transaction_coa_id NUMBER;
66275 l_adr_accounting_coa_id NUMBER;
66276 l_adr_flexfield_segment_code VARCHAR2(30);
66277 l_adr_flex_value_set_id NUMBER;
66278 l_adr_value_type_code VARCHAR2(30);
66279 l_adr_value_combination_id NUMBER;
66280 l_adr_value_segment_code VARCHAR2(30);
66281
66282 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
66283 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
66284 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
66285 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
66286
66290 l_acc_rev_flag VARCHAR2(1);
66287 -- 4262811 Variables ------------------------------------------------------------------------------------------
66288 l_entered_amt_idx NUMBER;
66289 l_accted_amt_idx NUMBER;
66291 l_accrual_line_num NUMBER;
66292 l_tmp_amt NUMBER;
66293 l_acc_rev_natural_side_code VARCHAR2(1);
66294
66295 l_num_entries NUMBER;
66296 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
66297 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
66298 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
66299 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
66300 l_recog_line_1 NUMBER;
66301 l_recog_line_2 NUMBER;
66302
66303 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
66304 l_bflow_applied_to_amt NUMBER; -- 5132302
66305 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
66306
66307 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
66308
66309 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
66310 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
66311
66312 ---------------------------------------------------------------------------------------------------------------
66313
66314
66315 --
66316 -- bulk performance
66317 --
66318 l_balance_type_code VARCHAR2(1);
66319 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
66320 l_log_module VARCHAR2(240);
66321
66322 --
66323 -- Upgrade strategy
66324 --
66325 l_actual_upg_option VARCHAR2(1);
66326 l_enc_upg_option VARCHAR2(1);
66327
66328 --
66329 BEGIN
66330 --
66331 IF g_log_enabled THEN
66332 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_125';
66333 END IF;
66334 --
66335 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66336
66337 trace
66338 (p_msg => 'BEGIN of AcctLineType_125'
66339 ,p_level => C_LEVEL_PROCEDURE
66340 ,p_module => l_log_module);
66341
66342 END IF;
66343 --
66344 l_component_type := 'AMB_JLT';
66345 l_component_code := 'AP_GAIN_LOSS_PMT_MAT';
66346 l_component_type_code := 'S';
66347 l_component_appl_id := 200;
66348 l_amb_context_code := 'DEFAULT';
66349 l_entity_code := 'AP_PAYMENTS';
66350 l_event_class_code := 'FUTURE DATED PAYMENTS';
66351 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
66352 l_line_definition_owner_code := 'S';
66353 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
66354 --
66355 l_balance_type_code := 'A';
66356 l_segment := NULL;
66357 l_ccid := NULL;
66358 l_adr_transaction_coa_id := NULL;
66359 l_adr_accounting_coa_id := NULL;
66360 l_adr_flexfield_segment_code := NULL;
66361 l_adr_flex_value_set_id := NULL;
66362 l_adr_value_type_code := NULL;
66363 l_adr_value_combination_id := NULL;
66364 l_adr_value_segment_code := NULL;
66365
66366 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
66367 l_bflow_class_code := ''; -- 4219869 Business Flow
66368 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
66369 l_budgetary_control_flag := 'N';
66370
66371 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66372 l_bflow_applied_to_amt := NULL; -- 5132302
66373 l_entered_amt_idx := NULL; -- 4262811
66374 l_accted_amt_idx := NULL; -- 4262811
66375 l_acc_rev_flag := NULL; -- 4262811
66376 l_accrual_line_num := NULL; -- 4262811
66377 l_tmp_amt := NULL; -- 4262811
66378 --
66379 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
66380 (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
66381 return;
66382 END IF;
66383
66384 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
66385 l_balance_type_code <> 'B' THEN
66386 IF (NVL(p_source_96,'
66387 ') = 'ALWAYS_ALWAYS' OR
66388 NVL(p_source_96,'
66389 ') = 'ALWAYS_ISSUE') AND
66390 p_source_114 IS NOT NULL AND
66391 NVL(p_source_97,'
66392 ') <> 'EXCHANGE RATE VARIANCE' AND
66393 NVL(p_source_97,'
66394 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
66395 NVL(p_source_97,'
66396 ') <> 'BANK CHARGE' AND
66397 NVL(p_source_97,'
66398 ') <> 'BANK ERROR'
66399 THEN
66400
66401 --
66402 XLA_AE_LINES_PKG.SetNewLine;
66403
66404 p_balance_type_code := l_balance_type_code;
66405 -- set the flag so later we will know whether the gain loss line needs to be created
66406
66407 IF(l_balance_type_code = 'A' ) THEN
66408 p_actual_flag :='G';
66409 END IF;
66410
66411 --
66412 -- bulk performance
66413 --
66414 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
66418 --
66415 p_header_num => 0); -- 4262811
66416 --
66417 -- set accounting line options
66419 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
66420 p_natural_side_code => 'G'
66421 , p_gain_or_loss_flag => 'N'
66422 , p_gl_transfer_mode_code => 'S'
66423 , p_acct_entry_type_code => 'A'
66424 , p_switch_side_flag => ''
66425 , p_merge_duplicate_code => 'A'
66426 );
66427 --
66428 l_acc_rev_natural_side_code := 'C'; -- 4262811
66429 --
66430 --
66431 -- set accounting line type info
66432 --
66433 xla_ae_lines_pkg.SetAcctLineType
66434 (p_component_type => l_component_type
66435 ,p_event_type_code => l_event_type_code
66436 ,p_line_definition_owner_code => l_line_definition_owner_code
66437 ,p_line_definition_code => l_line_definition_code
66438 ,p_accounting_line_code => l_component_code
66439 ,p_accounting_line_type_code => l_component_type_code
66440 ,p_accounting_line_appl_id => l_component_appl_id
66441 ,p_amb_context_code => l_amb_context_code
66442 ,p_entity_code => l_entity_code
66443 ,p_event_class_code => l_event_class_code);
66444 --
66445 -- set accounting class
66446 --
66447 xla_ae_lines_pkg.SetAcctClass(
66448 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
66449 , p_ae_header_id => l_ae_header_id
66450 );
66451
66452 --
66453 -- set rounding class
66454 --
66455 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
66456 'EXCHANGE_GAIN_LOSS';
66457
66458 --
66459 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
66460 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
66461 --
66462 -- bulk performance
66463 --
66464 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
66465
66466 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
66467 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
66468
66469 -- 4955764
66470 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66471 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
66472
66473 -- 4458381 Public Sector Enh
66474
66475 --
66476 -- set accounting attributes for the line type
66477 --
66478 l_entered_amt_idx := NULL;
66479 l_accted_amt_idx := 9;
66480 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66481 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
66482 l_rec_acct_attrs.array_char_value(1) := p_source_52;
66483 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
66484 l_rec_acct_attrs.array_num_value(2) := p_source_90;
66485 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
66486 l_rec_acct_attrs.array_char_value(3) := p_source_99;
66487 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
66488 l_rec_acct_attrs.array_char_value(4) := p_source_100;
66489 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
66490 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
66491 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
66492 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
66493 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
66494 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
66495 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
66496 l_rec_acct_attrs.array_char_value(8) := p_source_54;
66497 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
66498 l_rec_acct_attrs.array_num_value(9) := p_source_151;
66499 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
66500 l_rec_acct_attrs.array_char_value(10) := p_source_79;
66501 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
66502 l_rec_acct_attrs.array_num_value(11) := p_source_109;
66503 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
66504 l_rec_acct_attrs.array_num_value(12) := p_source_110;
66505 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
66506 l_rec_acct_attrs.array_char_value(13) := p_source_82;
66507 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
66508 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_111);
66509 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
66510 l_rec_acct_attrs.array_char_value(15) := p_source_54;
66511
66512 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
66513 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
66514
66515 ---------------------------------------------------------------------------------------------------------------
66516 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
66517 ---------------------------------------------------------------------------------------------------------------
66518 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
66519
66523 IF xla_accounting_cache_pkg.GetValueChar
66520 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66521 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66522
66524 (p_source_code => 'LEDGER_CATEGORY_CODE'
66525 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
66526 AND l_bflow_method_code = 'PRIOR_ENTRY'
66527 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
66528 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
66529 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
66530 )
66531 THEN
66532 xla_ae_lines_pkg.BflowUpgEntry
66533 (p_business_method_code => l_bflow_method_code
66534 ,p_business_class_code => l_bflow_class_code
66535 ,p_balance_type => l_balance_type_code);
66536 ELSE
66537 NULL;
66538 -- No business flow processing for business flow method of NONE.
66539 END IF;
66540
66541 --
66542 -- call analytical criteria
66543 --
66544
66545
66546 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
66547 xla_ae_lines_pkg.SetAnalyticalCriteria(
66548 p_analytical_criterion_name => 'Check Id'
66549 , p_analytical_criterion_owner => 'S'
66550 , p_analytical_criterion_code => 'CHECK_ID'
66551 , p_amb_context_code => 'DEFAULT'
66552 , p_balancing_flag => 'N'
66553
66554 , p_analytical_detail_char_1 => NULL
66555 , p_analytical_detail_num_1 => p_source_112
66556 , p_analytical_detail_date_1 => NULL
66557
66558 , p_ae_header_id => l_ae_header_id
66559 )
66560 ;
66561 --
66562
66563 --
66564 -- call description
66565 --
66566 -- No description or it is inherited.
66567 --
66568 -- call ADRs
66569 -- Bug 4922099
66570 --
66571 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66572 (NVL(l_actual_upg_option, 'N') = 'O') OR
66573 (NVL(l_enc_upg_option, 'N') = 'O')
66574 )
66575 THEN
66576 NULL;
66577 --
66578 --
66579
66580 l_ccid := AcctDerRule_37(
66581 p_application_id => p_application_id
66582 , p_ae_header_id => l_ae_header_id
66583 , p_source_15 => p_source_15
66584 , p_source_15_meaning => p_source_15_meaning
66585 , p_source_30 => p_source_30
66586 , p_source_36 => p_source_36
66587 , p_source_37 => p_source_37
66588 , x_transaction_coa_id => l_adr_transaction_coa_id
66589 , x_accounting_coa_id => l_adr_accounting_coa_id
66590 , x_value_type_code => l_adr_value_type_code
66591 , p_side => 'CREDIT'
66592 );
66593
66594 xla_ae_lines_pkg.set_ccid(
66595 p_code_combination_id => l_ccid
66596 , p_value_type_code => l_adr_value_type_code
66597 , p_transaction_coa_id => l_adr_transaction_coa_id
66598 , p_accounting_coa_id => l_adr_accounting_coa_id
66599 , p_adr_code => 'AP_REAL_GAIN'
66600 , p_adr_type_code => 'S'
66601 , p_component_type => l_component_type
66602 , p_component_code => l_component_code
66603 , p_component_type_code => l_component_type_code
66604 , p_component_appl_id => l_component_appl_id
66605 , p_amb_context_code => l_amb_context_code
66606 , p_side => 'CREDIT'
66607 );
66608
66609
66610 l_ccid := AcctDerRule_38(
66611 p_application_id => p_application_id
66612 , p_ae_header_id => l_ae_header_id
66613 , p_source_15 => p_source_15
66614 , p_source_15_meaning => p_source_15_meaning
66615 , p_source_30 => p_source_30
66616 , p_source_38 => p_source_38
66617 , p_source_39 => p_source_39
66618 , x_transaction_coa_id => l_adr_transaction_coa_id
66619 , x_accounting_coa_id => l_adr_accounting_coa_id
66620 , x_value_type_code => l_adr_value_type_code
66621 , p_side => 'DEBIT'
66622 );
66623
66624 xla_ae_lines_pkg.set_ccid(
66625 p_code_combination_id => l_ccid
66626 , p_value_type_code => l_adr_value_type_code
66627 , p_transaction_coa_id => l_adr_transaction_coa_id
66628 , p_accounting_coa_id => l_adr_accounting_coa_id
66629 , p_adr_code => 'AP_REAL_LOSS'
66630 , p_adr_type_code => 'S'
66631 , p_component_type => l_component_type
66632 , p_component_code => l_component_code
66633 , p_component_type_code => l_component_type_code
66634 , p_component_appl_id => l_component_appl_id
66635 , p_amb_context_code => l_amb_context_code
66636 , p_side => 'DEBIT'
66637 );
66638
66639
66640 l_segment := AcctDerRule_22(
66641 p_application_id => p_application_id
66642 , p_ae_header_id => l_ae_header_id
66643 , p_source_15 => p_source_15
66644 , p_source_15_meaning => p_source_15_meaning
66645 , p_source_30 => p_source_30
66646 , x_transaction_coa_id => l_adr_transaction_coa_id
66647 , x_accounting_coa_id => l_adr_accounting_coa_id
66651 , x_value_combination_id => l_adr_value_combination_id
66648 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66649 , x_flex_value_set_id => l_adr_flex_value_set_id
66650 , x_value_type_code => l_adr_value_type_code
66652 , x_value_segment_code => l_adr_value_segment_code
66653 , p_side => 'ALL'
66654 , p_override_seg_flag => 'Y'
66655 );
66656
66657 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66658
66659 xla_ae_lines_pkg.set_segment(
66660 p_to_segment_code => 'GL_BALANCING'
66661 , p_segment_value => l_segment
66662 , p_from_segment_code => l_adr_value_segment_code
66663 , p_from_combination_id => l_adr_value_combination_id
66664 , p_value_type_code => l_adr_value_type_code
66665 , p_transaction_coa_id => l_adr_transaction_coa_id
66666 , p_accounting_coa_id => l_adr_accounting_coa_id
66667 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66668 , p_flex_value_set_id => l_adr_flex_value_set_id
66669 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66670 , p_adr_type_code => 'S'
66671 , p_component_type => l_component_type
66672 , p_component_code => l_component_code
66673 , p_component_type_code => l_component_type_code
66674 , p_component_appl_id => l_component_appl_id
66675 , p_amb_context_code => l_amb_context_code
66676 , p_entity_code => 'AP_PAYMENTS'
66677 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66678 , p_side => 'ALL'
66679 );
66680
66681 END IF;
66682
66683 l_segment := AcctDerRule_17(
66684 p_application_id => p_application_id
66685 , p_ae_header_id => l_ae_header_id
66686 , p_source_15 => p_source_15
66687 , p_source_15_meaning => p_source_15_meaning
66688 , p_source_36 => p_source_36
66689 , p_source_37 => p_source_37
66690 , x_transaction_coa_id => l_adr_transaction_coa_id
66691 , x_accounting_coa_id => l_adr_accounting_coa_id
66692 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66693 , x_flex_value_set_id => l_adr_flex_value_set_id
66694 , x_value_type_code => l_adr_value_type_code
66695 , x_value_combination_id => l_adr_value_combination_id
66696 , x_value_segment_code => l_adr_value_segment_code
66697 , p_side => 'CREDIT'
66698 , p_override_seg_flag => 'Y'
66699 );
66700
66701 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66702
66703 xla_ae_lines_pkg.set_segment(
66704 p_to_segment_code => 'GL_ACCOUNT'
66705 , p_segment_value => l_segment
66706 , p_from_segment_code => l_adr_value_segment_code
66707 , p_from_combination_id => l_adr_value_combination_id
66708 , p_value_type_code => l_adr_value_type_code
66709 , p_transaction_coa_id => l_adr_transaction_coa_id
66710 , p_accounting_coa_id => l_adr_accounting_coa_id
66711 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66712 , p_flex_value_set_id => l_adr_flex_value_set_id
66713 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66714 , p_adr_type_code => 'S'
66715 , p_component_type => l_component_type
66716 , p_component_code => l_component_code
66717 , p_component_type_code => l_component_type_code
66718 , p_component_appl_id => l_component_appl_id
66719 , p_amb_context_code => l_amb_context_code
66720 , p_entity_code => 'AP_PAYMENTS'
66721 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66722 , p_side => 'CREDIT'
66723 );
66724
66725 END IF;
66726
66727 l_segment := AcctDerRule_18(
66728 p_application_id => p_application_id
66729 , p_ae_header_id => l_ae_header_id
66730 , p_source_15 => p_source_15
66731 , p_source_15_meaning => p_source_15_meaning
66732 , p_source_38 => p_source_38
66733 , p_source_39 => p_source_39
66734 , x_transaction_coa_id => l_adr_transaction_coa_id
66735 , x_accounting_coa_id => l_adr_accounting_coa_id
66736 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66737 , x_flex_value_set_id => l_adr_flex_value_set_id
66738 , x_value_type_code => l_adr_value_type_code
66739 , x_value_combination_id => l_adr_value_combination_id
66740 , x_value_segment_code => l_adr_value_segment_code
66741 , p_side => 'DEBIT'
66742 , p_override_seg_flag => 'Y'
66743 );
66744
66745 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66746
66747 xla_ae_lines_pkg.set_segment(
66748 p_to_segment_code => 'GL_ACCOUNT'
66749 , p_segment_value => l_segment
66750 , p_from_segment_code => l_adr_value_segment_code
66751 , p_from_combination_id => l_adr_value_combination_id
66752 , p_value_type_code => l_adr_value_type_code
66753 , p_transaction_coa_id => l_adr_transaction_coa_id
66757 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66754 , p_accounting_coa_id => l_adr_accounting_coa_id
66755 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66756 , p_flex_value_set_id => l_adr_flex_value_set_id
66758 , p_adr_type_code => 'S'
66759 , p_component_type => l_component_type
66760 , p_component_code => l_component_code
66761 , p_component_type_code => l_component_type_code
66762 , p_component_appl_id => l_component_appl_id
66763 , p_amb_context_code => l_amb_context_code
66764 , p_entity_code => 'AP_PAYMENTS'
66765 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66766 , p_side => 'DEBIT'
66767 );
66768
66769 END IF;
66770
66771 --
66772 --
66773 END IF;
66774 --
66775 -- Bug 4922099
66776 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
66777 (NVL(l_enc_upg_option, 'N') = 'O')
66778 ) AND
66779 (l_bflow_method_code = 'PRIOR_ENTRY')
66780 )
66781 THEN
66782 IF
66783 --
66784 1 = 2
66785 --
66786 THEN
66787 xla_accounting_err_pkg.build_message
66788 (p_appli_s_name => 'XLA'
66789 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66790 ,p_token_1 => 'LINE_NUMBER'
66791 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
66792 ,p_token_2 => 'LINE_TYPE_NAME'
66793 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
66794 l_component_type
66795 ,l_component_code
66796 ,l_component_type_code
66797 ,l_component_appl_id
66798 ,l_amb_context_code
66799 ,l_entity_code
66800 ,l_event_class_code
66801 )
66802 ,p_token_3 => 'OWNER'
66803 ,p_value_3 => xla_lookups_pkg.get_meaning(
66804 p_lookup_type => 'XLA_OWNER_TYPE'
66805 ,p_lookup_code => l_component_type_code
66806 )
66807 ,p_token_4 => 'PRODUCT_NAME'
66808 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
66809 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
66810 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
66811 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
66812 ,p_ae_header_id => NULL
66813 );
66814
66815 IF (C_LEVEL_ERROR>= g_log_level) THEN
66816 trace
66817 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66818 ,p_level => C_LEVEL_ERROR
66819 ,p_module => l_log_module);
66820 END IF;
66821 END IF;
66822 END IF;
66823 --
66824 --
66825 ------------------------------------------------------------------------------------------------
66826 -- 4219869 Business Flow
66827 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
66828 -- Prior Entry. Currently, the following code is always generated.
66829 ------------------------------------------------------------------------------------------------
66830 XLA_AE_LINES_PKG.ValidateCurrentLine;
66831
66832 ------------------------------------------------------------------------------------
66833 -- 4219869 Business Flow
66834 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
66835 ------------------------------------------------------------------------------------
66836 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66837
66838 ----------------------------------------------------------------------------------
66839 -- 4219869 Business Flow
66840 -- Update journal entry status -- Need to generate this within IF <condition>
66841 ----------------------------------------------------------------------------------
66842 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66843 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
66844 ,p_balance_type_code => l_balance_type_code
66845 );
66846
66847 -------------------------------------------------------------------------------------------
66848 -- 4262811 - Generate the Accrual Reversal lines
66849 -------------------------------------------------------------------------------------------
66853 IF l_acc_rev_flag IS NULL THEN
66850 BEGIN
66851 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
66852 (g_array_event(p_event_id).array_value_num('header_index'));
66854 l_acc_rev_flag := 'N';
66855 END IF;
66856 EXCEPTION
66857 WHEN OTHERS THEN
66858 l_acc_rev_flag := 'N';
66859 END;
66860 --
66861 IF (l_acc_rev_flag = 'Y') THEN
66862
66863 -- 4645092 ------------------------------------------------------------------------------
66864 -- To allow MPA report to determine if it should generate report process
66865 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
66866 ------------------------------------------------------------------------------------------
66867
66868 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
66869 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
66870 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
66871 -- call ADRs
66872 -- Bug 4922099
66873 --
66874 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66875 (NVL(l_actual_upg_option, 'N') = 'O') OR
66876 (NVL(l_enc_upg_option, 'N') = 'O')
66877 )
66878 THEN
66879 NULL;
66880 --
66881 --
66882
66883 l_ccid := AcctDerRule_37(
66884 p_application_id => p_application_id
66885 , p_ae_header_id => l_ae_header_id
66886 , p_source_15 => p_source_15
66887 , p_source_15_meaning => p_source_15_meaning
66888 , p_source_30 => p_source_30
66889 , p_source_36 => p_source_36
66890 , p_source_37 => p_source_37
66891 , x_transaction_coa_id => l_adr_transaction_coa_id
66892 , x_accounting_coa_id => l_adr_accounting_coa_id
66893 , x_value_type_code => l_adr_value_type_code
66894 , p_side => 'CREDIT'
66895 );
66896
66897 xla_ae_lines_pkg.set_ccid(
66898 p_code_combination_id => l_ccid
66899 , p_value_type_code => l_adr_value_type_code
66900 , p_transaction_coa_id => l_adr_transaction_coa_id
66901 , p_accounting_coa_id => l_adr_accounting_coa_id
66902 , p_adr_code => 'AP_REAL_GAIN'
66903 , p_adr_type_code => 'S'
66904 , p_component_type => l_component_type
66905 , p_component_code => l_component_code
66906 , p_component_type_code => l_component_type_code
66907 , p_component_appl_id => l_component_appl_id
66908 , p_amb_context_code => l_amb_context_code
66909 , p_side => 'CREDIT'
66910 );
66911
66912
66913 l_ccid := AcctDerRule_38(
66914 p_application_id => p_application_id
66915 , p_ae_header_id => l_ae_header_id
66916 , p_source_15 => p_source_15
66917 , p_source_15_meaning => p_source_15_meaning
66918 , p_source_30 => p_source_30
66919 , p_source_38 => p_source_38
66920 , p_source_39 => p_source_39
66921 , x_transaction_coa_id => l_adr_transaction_coa_id
66922 , x_accounting_coa_id => l_adr_accounting_coa_id
66923 , x_value_type_code => l_adr_value_type_code
66924 , p_side => 'DEBIT'
66925 );
66926
66927 xla_ae_lines_pkg.set_ccid(
66928 p_code_combination_id => l_ccid
66929 , p_value_type_code => l_adr_value_type_code
66930 , p_transaction_coa_id => l_adr_transaction_coa_id
66931 , p_accounting_coa_id => l_adr_accounting_coa_id
66932 , p_adr_code => 'AP_REAL_LOSS'
66933 , p_adr_type_code => 'S'
66934 , p_component_type => l_component_type
66935 , p_component_code => l_component_code
66936 , p_component_type_code => l_component_type_code
66937 , p_component_appl_id => l_component_appl_id
66938 , p_amb_context_code => l_amb_context_code
66939 , p_side => 'DEBIT'
66940 );
66941
66942
66943 l_segment := AcctDerRule_22(
66944 p_application_id => p_application_id
66945 , p_ae_header_id => l_ae_header_id
66946 , p_source_15 => p_source_15
66947 , p_source_15_meaning => p_source_15_meaning
66948 , p_source_30 => p_source_30
66949 , x_transaction_coa_id => l_adr_transaction_coa_id
66950 , x_accounting_coa_id => l_adr_accounting_coa_id
66951 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66952 , x_flex_value_set_id => l_adr_flex_value_set_id
66953 , x_value_type_code => l_adr_value_type_code
66954 , x_value_combination_id => l_adr_value_combination_id
66955 , x_value_segment_code => l_adr_value_segment_code
66956 , p_side => 'ALL'
66957 , p_override_seg_flag => 'Y'
66958 );
66959
66960 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66961
66962 xla_ae_lines_pkg.set_segment(
66963 p_to_segment_code => 'GL_BALANCING'
66964 , p_segment_value => l_segment
66965 , p_from_segment_code => l_adr_value_segment_code
66966 , p_from_combination_id => l_adr_value_combination_id
66970 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66967 , p_value_type_code => l_adr_value_type_code
66968 , p_transaction_coa_id => l_adr_transaction_coa_id
66969 , p_accounting_coa_id => l_adr_accounting_coa_id
66971 , p_flex_value_set_id => l_adr_flex_value_set_id
66972 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66973 , p_adr_type_code => 'S'
66974 , p_component_type => l_component_type
66975 , p_component_code => l_component_code
66976 , p_component_type_code => l_component_type_code
66977 , p_component_appl_id => l_component_appl_id
66978 , p_amb_context_code => l_amb_context_code
66979 , p_entity_code => 'AP_PAYMENTS'
66980 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66981 , p_side => 'ALL'
66982 );
66983
66984 END IF;
66985
66986 l_segment := AcctDerRule_17(
66987 p_application_id => p_application_id
66988 , p_ae_header_id => l_ae_header_id
66989 , p_source_15 => p_source_15
66990 , p_source_15_meaning => p_source_15_meaning
66991 , p_source_36 => p_source_36
66992 , p_source_37 => p_source_37
66993 , x_transaction_coa_id => l_adr_transaction_coa_id
66994 , x_accounting_coa_id => l_adr_accounting_coa_id
66995 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66996 , x_flex_value_set_id => l_adr_flex_value_set_id
66997 , x_value_type_code => l_adr_value_type_code
66998 , x_value_combination_id => l_adr_value_combination_id
66999 , x_value_segment_code => l_adr_value_segment_code
67000 , p_side => 'CREDIT'
67001 , p_override_seg_flag => 'Y'
67002 );
67003
67004 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67005
67006 xla_ae_lines_pkg.set_segment(
67007 p_to_segment_code => 'GL_ACCOUNT'
67008 , p_segment_value => l_segment
67009 , p_from_segment_code => l_adr_value_segment_code
67010 , p_from_combination_id => l_adr_value_combination_id
67011 , p_value_type_code => l_adr_value_type_code
67012 , p_transaction_coa_id => l_adr_transaction_coa_id
67013 , p_accounting_coa_id => l_adr_accounting_coa_id
67014 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67015 , p_flex_value_set_id => l_adr_flex_value_set_id
67016 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67017 , p_adr_type_code => 'S'
67018 , p_component_type => l_component_type
67019 , p_component_code => l_component_code
67020 , p_component_type_code => l_component_type_code
67021 , p_component_appl_id => l_component_appl_id
67022 , p_amb_context_code => l_amb_context_code
67023 , p_entity_code => 'AP_PAYMENTS'
67024 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67025 , p_side => 'CREDIT'
67026 );
67027
67028 END IF;
67029
67030 l_segment := AcctDerRule_18(
67031 p_application_id => p_application_id
67032 , p_ae_header_id => l_ae_header_id
67033 , p_source_15 => p_source_15
67034 , p_source_15_meaning => p_source_15_meaning
67035 , p_source_38 => p_source_38
67036 , p_source_39 => p_source_39
67037 , x_transaction_coa_id => l_adr_transaction_coa_id
67038 , x_accounting_coa_id => l_adr_accounting_coa_id
67039 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67040 , x_flex_value_set_id => l_adr_flex_value_set_id
67041 , x_value_type_code => l_adr_value_type_code
67042 , x_value_combination_id => l_adr_value_combination_id
67043 , x_value_segment_code => l_adr_value_segment_code
67044 , p_side => 'DEBIT'
67045 , p_override_seg_flag => 'Y'
67046 );
67047
67048 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67049
67050 xla_ae_lines_pkg.set_segment(
67051 p_to_segment_code => 'GL_ACCOUNT'
67052 , p_segment_value => l_segment
67053 , p_from_segment_code => l_adr_value_segment_code
67054 , p_from_combination_id => l_adr_value_combination_id
67055 , p_value_type_code => l_adr_value_type_code
67056 , p_transaction_coa_id => l_adr_transaction_coa_id
67057 , p_accounting_coa_id => l_adr_accounting_coa_id
67058 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67059 , p_flex_value_set_id => l_adr_flex_value_set_id
67060 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67061 , p_adr_type_code => 'S'
67062 , p_component_type => l_component_type
67063 , p_component_code => l_component_code
67064 , p_component_type_code => l_component_type_code
67065 , p_component_appl_id => l_component_appl_id
67066 , p_amb_context_code => l_amb_context_code
67067 , p_entity_code => 'AP_PAYMENTS'
67068 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67069 , p_side => 'DEBIT'
67073
67070 );
67071
67072 END IF;
67074 --
67075 --
67076 END IF;
67077
67078 --
67079 -- Update the line information that should be overwritten
67080 --
67081 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
67082 p_header_num => 1);
67083 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
67084
67085 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
67086
67087 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
67088 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
67089 END IF;
67090
67091 --
67092 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
67093 --
67094 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
67095 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
67096 ELSE
67097 ---------------------------------------------------------------------------------------------------
67098 -- 4262811a Switch Sign
67099 ---------------------------------------------------------------------------------------------------
67100 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
67101 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67102 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67103 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67104 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67105 -- 5132302
67106 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
67107 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67108
67109 END IF;
67110
67111 -- 4955764
67112 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67113 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
67114
67115
67116 XLA_AE_LINES_PKG.ValidateCurrentLine;
67117 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67118
67119 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67120 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
67121 ,p_balance_type_code => l_balance_type_code);
67122
67123 END IF;
67124
67125 -----------------------------------------------------------------------------------------
67126 -- 4262811 Multiperiod Accounting
67127 -----------------------------------------------------------------------------------------
67128 -- No MPA option is assigned.
67129
67130
67131 END IF;
67132 END IF;
67133 --
67134
67135 --
67136 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67137 trace
67138 (p_msg => 'END of AcctLineType_125'
67139 ,p_level => C_LEVEL_PROCEDURE
67140 ,p_module => l_log_module);
67141 END IF;
67142 --
67143 EXCEPTION
67144 WHEN xla_exceptions_pkg.application_exception THEN
67145 RAISE;
67146 WHEN OTHERS THEN
67147 xla_exceptions_pkg.raise_message
67148 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_125');
67149 END AcctLineType_125;
67150 --
67151
67152 ---------------------------------------
67153 --
67154 -- PRIVATE FUNCTION
67155 -- AcctLineType_126
67156 --
67157 ---------------------------------------
67158 PROCEDURE AcctLineType_126 (
67159 p_application_id IN NUMBER
67160 ,p_event_id IN NUMBER
67161 ,p_calculate_acctd_flag IN VARCHAR2
67162 ,p_calculate_g_l_flag IN VARCHAR2
67163 ,p_actual_flag IN OUT VARCHAR2
67164 ,p_balance_type_code OUT VARCHAR2
67165 ,p_gain_or_loss_ref OUT VARCHAR2
67166
67167 --Automatic Offsets Value
67168 , p_source_15 IN VARCHAR2
67169 , p_source_15_meaning IN VARCHAR2
67170 --Invoice Distribution Account
67171 , p_source_30 IN NUMBER
67172 --Internal Realized Gain Account
67173 , p_source_36 IN NUMBER
67174 --Bank Gain Account
67175 , p_source_37 IN NUMBER
67176 --Internal Realized Loss Account
67177 , p_source_38 IN NUMBER
67178 --Bank Loss Account
67179 , p_source_39 IN NUMBER
67180 --Accounting Reversal Indicator
67181 , p_source_52 IN VARCHAR2
67182 --Distribution Link Type
67183 , p_source_54 IN VARCHAR2
67184 --Invoice Identifier
67185 , p_source_57 IN NUMBER
67186 --Payables Encumbrance Upgrade Credit Account
67187 , p_source_64 IN NUMBER
67188 --Payables Encumbrance Upgrade Credit Amount
67189 , p_source_65 IN NUMBER
67190 --Invoice Currency Code
67191 , p_source_66 IN VARCHAR2
67192 --Payables Encumbrance Upgrade Credit Base Amount
67193 , p_source_67 IN NUMBER
67194 --Payables Encumbrance Upgrade Debit Account
67195 , p_source_68 IN NUMBER
67196 --Payables Encumbrance Upgrade Debit Amount
67197 , p_source_69 IN NUMBER
67201 , p_source_71 IN VARCHAR2
67198 --Payables Encumbrance Upgrade Debit Base Amount
67199 , p_source_70 IN NUMBER
67200 --Payables Encumbrance Upgrade Option
67202 --Deferred Accounting End Date
67203 , p_source_76 IN DATE
67204 --Deferred Accounting Option
67205 , p_source_77 IN VARCHAR2
67206 --Deferred Accounting Start Date
67207 , p_source_78 IN DATE
67208 --Override Accounted Amount Indicator
67209 , p_source_79 IN VARCHAR2
67210 , p_source_79_meaning IN VARCHAR2
67211 --Invoice Supplier Identifier
67212 , p_source_80 IN NUMBER
67213 --Invoice Supplier Site Identifier
67214 , p_source_81 IN NUMBER
67215 --Third Party Type
67216 , p_source_82 IN VARCHAR2
67217 --Invoice Distribution Tax Line Identifier
67218 , p_source_85 IN NUMBER
67219 --Invoice Distribution Tax Distribution Identifier from Tax
67220 , p_source_86 IN NUMBER
67221 --Invoice Distribution Summary Tax Line Identifier
67222 , p_source_87 IN NUMBER
67223 --Payables Upgrade Credit Encumbrance Type Identifier
67224 , p_source_88 IN NUMBER
67225 --Payables Upgrade Debit Encumbrance Type Identifier
67226 , p_source_89 IN NUMBER
67227 --Business Flow Accounts Payable Application Identifier
67228 , p_source_90 IN NUMBER
67229 --Prepayment Application Distribution Identifier
67230 , p_source_127 IN NUMBER
67231 --Upgrade Encumbrance Credit Account Class
67232 , p_source_130 IN VARCHAR2
67233 --Upgrade Encumbrance Debit Account Class
67234 , p_source_131 IN VARCHAR2
67235 --Identifier of the Prepayment Application Reversed
67236 , p_source_134 IN NUMBER
67237 --Business Flow Prepayment Invoice Distribution Type
67238 , p_source_139 IN VARCHAR2
67239 --Business Flow Prepayment Invoice Entity Code
67240 , p_source_140 IN VARCHAR2
67241 --Business Flow Prepayment Invoice Distribution Identifier
67242 , p_source_141 IN NUMBER
67243 --Business Flow Prepayment Invoice Identifier
67244 , p_source_142 IN NUMBER
67245 --Prepayment Distribution Type
67246 , p_source_143 IN VARCHAR2
67247 --Prepayment/Invoice Ledger Amount Difference
67248 , p_source_152 IN NUMBER
67249 )
67250 IS
67251
67252 l_component_type VARCHAR2(80);
67253 l_component_code VARCHAR2(30);
67254 l_component_type_code VARCHAR2(1);
67255 l_component_appl_id INTEGER;
67256 l_amb_context_code VARCHAR2(30);
67257 l_entity_code VARCHAR2(30);
67258 l_event_class_code VARCHAR2(30);
67259 l_ae_header_id NUMBER;
67260 l_event_type_code VARCHAR2(30);
67261 l_line_definition_code VARCHAR2(30);
67262 l_line_definition_owner_code VARCHAR2(1);
67263 --
67264 -- adr variables
67265 l_segment VARCHAR2(30);
67266 l_ccid NUMBER;
67267 l_adr_transaction_coa_id NUMBER;
67268 l_adr_accounting_coa_id NUMBER;
67269 l_adr_flexfield_segment_code VARCHAR2(30);
67270 l_adr_flex_value_set_id NUMBER;
67271 l_adr_value_type_code VARCHAR2(30);
67272 l_adr_value_combination_id NUMBER;
67273 l_adr_value_segment_code VARCHAR2(30);
67274
67275 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
67276 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
67277 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
67278 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
67279
67280 -- 4262811 Variables ------------------------------------------------------------------------------------------
67281 l_entered_amt_idx NUMBER;
67282 l_accted_amt_idx NUMBER;
67283 l_acc_rev_flag VARCHAR2(1);
67284 l_accrual_line_num NUMBER;
67285 l_tmp_amt NUMBER;
67286 l_acc_rev_natural_side_code VARCHAR2(1);
67287
67288 l_num_entries NUMBER;
67289 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
67290 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
67291 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
67292 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
67293 l_recog_line_1 NUMBER;
67294 l_recog_line_2 NUMBER;
67295
67296 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
67297 l_bflow_applied_to_amt NUMBER; -- 5132302
67298 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
67299
67300 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
67301
67302 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
67303 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
67304
67305 ---------------------------------------------------------------------------------------------------------------
67306
67307
67308 --
67309 -- bulk performance
67310 --
67311 l_balance_type_code VARCHAR2(1);
67312 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
67313 l_log_module VARCHAR2(240);
67314
67315 --
67316 -- Upgrade strategy
67317 --
67318 l_actual_upg_option VARCHAR2(1);
67319 l_enc_upg_option VARCHAR2(1);
67320
67321 --
67325 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_126';
67322 BEGIN
67323 --
67324 IF g_log_enabled THEN
67326 END IF;
67327 --
67328 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67329
67330 trace
67331 (p_msg => 'BEGIN of AcctLineType_126'
67332 ,p_level => C_LEVEL_PROCEDURE
67333 ,p_module => l_log_module);
67334
67335 END IF;
67336 --
67337 l_component_type := 'AMB_JLT';
67338 l_component_code := 'AP_GAIN_LOSS_PREPAY_APP';
67339 l_component_type_code := 'S';
67340 l_component_appl_id := 200;
67341 l_amb_context_code := 'DEFAULT';
67342 l_entity_code := 'AP_INVOICES';
67343 l_event_class_code := 'PREPAYMENT APPLICATIONS';
67344 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
67345 l_line_definition_owner_code := 'S';
67346 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
67347 --
67348 l_balance_type_code := 'A';
67349 l_segment := NULL;
67350 l_ccid := NULL;
67351 l_adr_transaction_coa_id := NULL;
67352 l_adr_accounting_coa_id := NULL;
67353 l_adr_flexfield_segment_code := NULL;
67354 l_adr_flex_value_set_id := NULL;
67355 l_adr_value_type_code := NULL;
67356 l_adr_value_combination_id := NULL;
67357 l_adr_value_segment_code := NULL;
67358
67359 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
67360 l_bflow_class_code := ''; -- 4219869 Business Flow
67361 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
67362 l_budgetary_control_flag := 'N';
67363
67364 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67365 l_bflow_applied_to_amt := NULL; -- 5132302
67366 l_entered_amt_idx := NULL; -- 4262811
67367 l_accted_amt_idx := NULL; -- 4262811
67368 l_acc_rev_flag := NULL; -- 4262811
67369 l_accrual_line_num := NULL; -- 4262811
67370 l_tmp_amt := NULL; -- 4262811
67371 --
67372 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
67373 (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
67374 return;
67375 END IF;
67376
67377 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
67378 l_balance_type_code <> 'B' THEN
67379 IF NVL(p_source_143,'
67380 ') = 'PREPAY APPL'
67381 THEN
67382
67383 --
67384 XLA_AE_LINES_PKG.SetNewLine;
67385
67386 p_balance_type_code := l_balance_type_code;
67387 -- set the flag so later we will know whether the gain loss line needs to be created
67388
67389 IF(l_balance_type_code = 'A' ) THEN
67390 p_actual_flag :='G';
67391 END IF;
67392
67393 --
67394 -- bulk performance
67395 --
67396 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
67397 p_header_num => 0); -- 4262811
67398 --
67399 -- set accounting line options
67400 --
67401 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
67402 p_natural_side_code => 'G'
67403 , p_gain_or_loss_flag => 'N'
67404 , p_gl_transfer_mode_code => 'S'
67405 , p_acct_entry_type_code => 'A'
67406 , p_switch_side_flag => ''
67407 , p_merge_duplicate_code => 'A'
67408 );
67409 --
67410 l_acc_rev_natural_side_code := 'C'; -- 4262811
67411 --
67412 --
67413 -- set accounting line type info
67414 --
67415 xla_ae_lines_pkg.SetAcctLineType
67416 (p_component_type => l_component_type
67417 ,p_event_type_code => l_event_type_code
67418 ,p_line_definition_owner_code => l_line_definition_owner_code
67419 ,p_line_definition_code => l_line_definition_code
67420 ,p_accounting_line_code => l_component_code
67421 ,p_accounting_line_type_code => l_component_type_code
67422 ,p_accounting_line_appl_id => l_component_appl_id
67423 ,p_amb_context_code => l_amb_context_code
67424 ,p_entity_code => l_entity_code
67425 ,p_event_class_code => l_event_class_code);
67426 --
67427 -- set accounting class
67428 --
67429 xla_ae_lines_pkg.SetAcctClass(
67430 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
67431 , p_ae_header_id => l_ae_header_id
67432 );
67433
67434 --
67435 -- set rounding class
67436 --
67437 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
67438 'EXCHANGE_GAIN_LOSS';
67439
67440 --
67441 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
67442 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
67443 --
67444 -- bulk performance
67445 --
67446 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
67447
67451 -- 4955764
67448 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
67449 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
67450
67452 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67453 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
67454
67455 -- 4458381 Public Sector Enh
67456
67457 --
67458 -- set accounting attributes for the line type
67459 --
67460 l_entered_amt_idx := NULL;
67461 l_accted_amt_idx := 25;
67462 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67463 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
67464 l_rec_acct_attrs.array_char_value(1) := p_source_52;
67465 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
67466 l_rec_acct_attrs.array_num_value(2) :=
67467 xla_ae_sources_pkg.GetSystemSourceNum(
67468 p_source_code => 'XLA_EVENT_APPL_ID'
67469 , p_source_type_code => 'Y'
67470 , p_source_application_id => 602
67471 );
67472 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
67473 l_rec_acct_attrs.array_char_value(3) := p_source_54;
67474 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
67475 l_rec_acct_attrs.array_char_value(4) :=
67476 xla_ae_sources_pkg.GetSystemSourceChar(
67477 p_source_code => 'XLA_ENTITY_CODE'
67478 , p_source_type_code => 'Y'
67479 , p_source_application_id => 602
67480 );
67481 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
67482 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
67483 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
67484 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
67485 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
67486 l_rec_acct_attrs.array_num_value(7) := p_source_90;
67487 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
67488 l_rec_acct_attrs.array_char_value(8) := p_source_139;
67489 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
67490 l_rec_acct_attrs.array_char_value(9) := p_source_140;
67491 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
67492 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
67493 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
67494 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
67495 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
67496 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
67497 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
67498 l_rec_acct_attrs.array_char_value(13) := p_source_54;
67499 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
67500 l_rec_acct_attrs.array_char_value(14) := p_source_130;
67501 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
67502 l_rec_acct_attrs.array_num_value(15) := p_source_64;
67503 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
67504 l_rec_acct_attrs.array_num_value(16) := p_source_65;
67505 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
67506 l_rec_acct_attrs.array_char_value(17) := p_source_66;
67507 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
67508 l_rec_acct_attrs.array_num_value(18) := p_source_67;
67509 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
67510 l_rec_acct_attrs.array_char_value(19) := p_source_131;
67511 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
67512 l_rec_acct_attrs.array_num_value(20) := p_source_68;
67513 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
67514 l_rec_acct_attrs.array_num_value(21) := p_source_69;
67515 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
67516 l_rec_acct_attrs.array_char_value(22) := p_source_66;
67517 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
67518 l_rec_acct_attrs.array_num_value(23) := p_source_70;
67519 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
67520 l_rec_acct_attrs.array_char_value(24) := p_source_71;
67521 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
67522 l_rec_acct_attrs.array_num_value(25) := p_source_152;
67523 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
67524 l_rec_acct_attrs.array_date_value(26) := p_source_76;
67525 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
67526 l_rec_acct_attrs.array_char_value(27) := p_source_77;
67527 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
67528 l_rec_acct_attrs.array_date_value(28) := p_source_78;
67529 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
67530 l_rec_acct_attrs.array_char_value(29) := p_source_79;
67531 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_ID';
67532 l_rec_acct_attrs.array_num_value(30) := p_source_80;
67533 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_SITE_ID';
67534 l_rec_acct_attrs.array_num_value(31) := p_source_81;
67535 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
67536 l_rec_acct_attrs.array_char_value(32) := p_source_82;
67537 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
67538 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_134);
67542 l_rec_acct_attrs.array_num_value(35) := p_source_85;
67539 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
67540 l_rec_acct_attrs.array_char_value(34) := p_source_54;
67541 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
67543 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
67544 l_rec_acct_attrs.array_num_value(36) := p_source_86;
67545 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
67546 l_rec_acct_attrs.array_num_value(37) := p_source_87;
67547 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
67548 l_rec_acct_attrs.array_num_value(38) := p_source_88;
67549 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
67550 l_rec_acct_attrs.array_num_value(39) := p_source_89;
67551
67552 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
67553 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
67554
67555 ---------------------------------------------------------------------------------------------------------------
67556 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
67557 ---------------------------------------------------------------------------------------------------------------
67558 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
67559
67560 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67561 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67562
67563 IF xla_accounting_cache_pkg.GetValueChar
67564 (p_source_code => 'LEDGER_CATEGORY_CODE'
67565 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
67566 AND l_bflow_method_code = 'PRIOR_ENTRY'
67567 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
67568 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
67569 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
67570 )
67571 THEN
67572 xla_ae_lines_pkg.BflowUpgEntry
67573 (p_business_method_code => l_bflow_method_code
67574 ,p_business_class_code => l_bflow_class_code
67575 ,p_balance_type => l_balance_type_code);
67576 ELSE
67577 NULL;
67578 -- No business flow processing for business flow method of NONE.
67579 END IF;
67580
67581 --
67582 -- call analytical criteria
67583 --
67584
67585 --
67586 -- call description
67587 --
67588 -- No description or it is inherited.
67589 --
67590 -- call ADRs
67591 -- Bug 4922099
67592 --
67593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67594 (NVL(l_actual_upg_option, 'N') = 'O') OR
67595 (NVL(l_enc_upg_option, 'N') = 'O')
67596 )
67597 THEN
67598 NULL;
67599 --
67600 --
67601
67602 l_ccid := AcctDerRule_37(
67603 p_application_id => p_application_id
67604 , p_ae_header_id => l_ae_header_id
67605 , p_source_15 => p_source_15
67606 , p_source_15_meaning => p_source_15_meaning
67607 , p_source_30 => p_source_30
67608 , p_source_36 => p_source_36
67609 , p_source_37 => p_source_37
67610 , x_transaction_coa_id => l_adr_transaction_coa_id
67611 , x_accounting_coa_id => l_adr_accounting_coa_id
67612 , x_value_type_code => l_adr_value_type_code
67613 , p_side => 'CREDIT'
67614 );
67615
67616 xla_ae_lines_pkg.set_ccid(
67617 p_code_combination_id => l_ccid
67618 , p_value_type_code => l_adr_value_type_code
67619 , p_transaction_coa_id => l_adr_transaction_coa_id
67620 , p_accounting_coa_id => l_adr_accounting_coa_id
67621 , p_adr_code => 'AP_REAL_GAIN'
67622 , p_adr_type_code => 'S'
67623 , p_component_type => l_component_type
67624 , p_component_code => l_component_code
67625 , p_component_type_code => l_component_type_code
67626 , p_component_appl_id => l_component_appl_id
67627 , p_amb_context_code => l_amb_context_code
67628 , p_side => 'CREDIT'
67629 );
67630
67631
67632 l_ccid := AcctDerRule_38(
67633 p_application_id => p_application_id
67634 , p_ae_header_id => l_ae_header_id
67635 , p_source_15 => p_source_15
67636 , p_source_15_meaning => p_source_15_meaning
67637 , p_source_30 => p_source_30
67638 , p_source_38 => p_source_38
67639 , p_source_39 => p_source_39
67640 , x_transaction_coa_id => l_adr_transaction_coa_id
67641 , x_accounting_coa_id => l_adr_accounting_coa_id
67642 , x_value_type_code => l_adr_value_type_code
67643 , p_side => 'DEBIT'
67644 );
67645
67646 xla_ae_lines_pkg.set_ccid(
67647 p_code_combination_id => l_ccid
67648 , p_value_type_code => l_adr_value_type_code
67649 , p_transaction_coa_id => l_adr_transaction_coa_id
67650 , p_accounting_coa_id => l_adr_accounting_coa_id
67651 , p_adr_code => 'AP_REAL_LOSS'
67652 , p_adr_type_code => 'S'
67656 , p_component_appl_id => l_component_appl_id
67653 , p_component_type => l_component_type
67654 , p_component_code => l_component_code
67655 , p_component_type_code => l_component_type_code
67657 , p_amb_context_code => l_amb_context_code
67658 , p_side => 'DEBIT'
67659 );
67660
67661
67662 l_segment := AcctDerRule_22(
67663 p_application_id => p_application_id
67664 , p_ae_header_id => l_ae_header_id
67665 , p_source_15 => p_source_15
67666 , p_source_15_meaning => p_source_15_meaning
67667 , p_source_30 => p_source_30
67668 , x_transaction_coa_id => l_adr_transaction_coa_id
67669 , x_accounting_coa_id => l_adr_accounting_coa_id
67670 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67671 , x_flex_value_set_id => l_adr_flex_value_set_id
67672 , x_value_type_code => l_adr_value_type_code
67673 , x_value_combination_id => l_adr_value_combination_id
67674 , x_value_segment_code => l_adr_value_segment_code
67675 , p_side => 'ALL'
67676 , p_override_seg_flag => 'Y'
67677 );
67678
67679 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67680
67681 xla_ae_lines_pkg.set_segment(
67682 p_to_segment_code => 'GL_BALANCING'
67683 , p_segment_value => l_segment
67684 , p_from_segment_code => l_adr_value_segment_code
67685 , p_from_combination_id => l_adr_value_combination_id
67686 , p_value_type_code => l_adr_value_type_code
67687 , p_transaction_coa_id => l_adr_transaction_coa_id
67688 , p_accounting_coa_id => l_adr_accounting_coa_id
67689 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67690 , p_flex_value_set_id => l_adr_flex_value_set_id
67691 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67692 , p_adr_type_code => 'S'
67693 , p_component_type => l_component_type
67694 , p_component_code => l_component_code
67695 , p_component_type_code => l_component_type_code
67696 , p_component_appl_id => l_component_appl_id
67697 , p_amb_context_code => l_amb_context_code
67698 , p_entity_code => 'AP_INVOICES'
67699 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67700 , p_side => 'ALL'
67701 );
67702
67703 END IF;
67704
67705 l_segment := AcctDerRule_17(
67706 p_application_id => p_application_id
67707 , p_ae_header_id => l_ae_header_id
67708 , p_source_15 => p_source_15
67709 , p_source_15_meaning => p_source_15_meaning
67710 , p_source_36 => p_source_36
67711 , p_source_37 => p_source_37
67712 , x_transaction_coa_id => l_adr_transaction_coa_id
67713 , x_accounting_coa_id => l_adr_accounting_coa_id
67714 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67715 , x_flex_value_set_id => l_adr_flex_value_set_id
67716 , x_value_type_code => l_adr_value_type_code
67717 , x_value_combination_id => l_adr_value_combination_id
67718 , x_value_segment_code => l_adr_value_segment_code
67719 , p_side => 'CREDIT'
67720 , p_override_seg_flag => 'Y'
67721 );
67722
67723 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67724
67725 xla_ae_lines_pkg.set_segment(
67726 p_to_segment_code => 'GL_ACCOUNT'
67727 , p_segment_value => l_segment
67728 , p_from_segment_code => l_adr_value_segment_code
67729 , p_from_combination_id => l_adr_value_combination_id
67730 , p_value_type_code => l_adr_value_type_code
67731 , p_transaction_coa_id => l_adr_transaction_coa_id
67732 , p_accounting_coa_id => l_adr_accounting_coa_id
67733 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67734 , p_flex_value_set_id => l_adr_flex_value_set_id
67735 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67736 , p_adr_type_code => 'S'
67737 , p_component_type => l_component_type
67738 , p_component_code => l_component_code
67739 , p_component_type_code => l_component_type_code
67740 , p_component_appl_id => l_component_appl_id
67741 , p_amb_context_code => l_amb_context_code
67742 , p_entity_code => 'AP_INVOICES'
67743 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67744 , p_side => 'CREDIT'
67745 );
67746
67747 END IF;
67748
67749 l_segment := AcctDerRule_18(
67750 p_application_id => p_application_id
67751 , p_ae_header_id => l_ae_header_id
67752 , p_source_15 => p_source_15
67753 , p_source_15_meaning => p_source_15_meaning
67754 , p_source_38 => p_source_38
67755 , p_source_39 => p_source_39
67756 , x_transaction_coa_id => l_adr_transaction_coa_id
67757 , x_accounting_coa_id => l_adr_accounting_coa_id
67758 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67759 , x_flex_value_set_id => l_adr_flex_value_set_id
67760 , x_value_type_code => l_adr_value_type_code
67764 , p_override_seg_flag => 'Y'
67761 , x_value_combination_id => l_adr_value_combination_id
67762 , x_value_segment_code => l_adr_value_segment_code
67763 , p_side => 'DEBIT'
67765 );
67766
67767 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67768
67769 xla_ae_lines_pkg.set_segment(
67770 p_to_segment_code => 'GL_ACCOUNT'
67771 , p_segment_value => l_segment
67772 , p_from_segment_code => l_adr_value_segment_code
67773 , p_from_combination_id => l_adr_value_combination_id
67774 , p_value_type_code => l_adr_value_type_code
67775 , p_transaction_coa_id => l_adr_transaction_coa_id
67776 , p_accounting_coa_id => l_adr_accounting_coa_id
67777 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67778 , p_flex_value_set_id => l_adr_flex_value_set_id
67779 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67780 , p_adr_type_code => 'S'
67781 , p_component_type => l_component_type
67782 , p_component_code => l_component_code
67783 , p_component_type_code => l_component_type_code
67784 , p_component_appl_id => l_component_appl_id
67785 , p_amb_context_code => l_amb_context_code
67786 , p_entity_code => 'AP_INVOICES'
67787 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67788 , p_side => 'DEBIT'
67789 );
67790
67791 END IF;
67792
67793 --
67794 --
67795 END IF;
67796 --
67797 -- Bug 4922099
67798 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
67799 (NVL(l_enc_upg_option, 'N') = 'O')
67800 ) AND
67801 (l_bflow_method_code = 'PRIOR_ENTRY')
67802 )
67803 THEN
67804 IF
67805 --
67806 1 = 2
67807 --
67808 THEN
67809 xla_accounting_err_pkg.build_message
67810 (p_appli_s_name => 'XLA'
67811 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67812 ,p_token_1 => 'LINE_NUMBER'
67813 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
67814 ,p_token_2 => 'LINE_TYPE_NAME'
67815 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
67816 l_component_type
67817 ,l_component_code
67818 ,l_component_type_code
67819 ,l_component_appl_id
67820 ,l_amb_context_code
67821 ,l_entity_code
67822 ,l_event_class_code
67823 )
67824 ,p_token_3 => 'OWNER'
67825 ,p_value_3 => xla_lookups_pkg.get_meaning(
67826 p_lookup_type => 'XLA_OWNER_TYPE'
67827 ,p_lookup_code => l_component_type_code
67828 )
67829 ,p_token_4 => 'PRODUCT_NAME'
67830 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
67831 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
67832 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
67833 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
67834 ,p_ae_header_id => NULL
67835 );
67836
67837 IF (C_LEVEL_ERROR>= g_log_level) THEN
67838 trace
67839 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67840 ,p_level => C_LEVEL_ERROR
67841 ,p_module => l_log_module);
67842 END IF;
67843 END IF;
67844 END IF;
67845 --
67846 --
67847 ------------------------------------------------------------------------------------------------
67848 -- 4219869 Business Flow
67849 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
67850 -- Prior Entry. Currently, the following code is always generated.
67851 ------------------------------------------------------------------------------------------------
67852 XLA_AE_LINES_PKG.ValidateCurrentLine;
67853
67854 ------------------------------------------------------------------------------------
67855 -- 4219869 Business Flow
67856 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
67857 ------------------------------------------------------------------------------------
67858 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67859
67863 ----------------------------------------------------------------------------------
67860 ----------------------------------------------------------------------------------
67861 -- 4219869 Business Flow
67862 -- Update journal entry status -- Need to generate this within IF <condition>
67864 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67865 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
67866 ,p_balance_type_code => l_balance_type_code
67867 );
67868
67869 -------------------------------------------------------------------------------------------
67870 -- 4262811 - Generate the Accrual Reversal lines
67871 -------------------------------------------------------------------------------------------
67872 BEGIN
67873 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
67874 (g_array_event(p_event_id).array_value_num('header_index'));
67875 IF l_acc_rev_flag IS NULL THEN
67876 l_acc_rev_flag := 'N';
67877 END IF;
67878 EXCEPTION
67879 WHEN OTHERS THEN
67880 l_acc_rev_flag := 'N';
67881 END;
67882 --
67883 IF (l_acc_rev_flag = 'Y') THEN
67884
67885 -- 4645092 ------------------------------------------------------------------------------
67886 -- To allow MPA report to determine if it should generate report process
67887 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
67888 ------------------------------------------------------------------------------------------
67889
67890 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
67891 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
67892 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
67893 -- call ADRs
67894 -- Bug 4922099
67895 --
67896 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67897 (NVL(l_actual_upg_option, 'N') = 'O') OR
67898 (NVL(l_enc_upg_option, 'N') = 'O')
67899 )
67900 THEN
67901 NULL;
67902 --
67903 --
67904
67905 l_ccid := AcctDerRule_37(
67906 p_application_id => p_application_id
67907 , p_ae_header_id => l_ae_header_id
67908 , p_source_15 => p_source_15
67909 , p_source_15_meaning => p_source_15_meaning
67910 , p_source_30 => p_source_30
67911 , p_source_36 => p_source_36
67912 , p_source_37 => p_source_37
67913 , x_transaction_coa_id => l_adr_transaction_coa_id
67914 , x_accounting_coa_id => l_adr_accounting_coa_id
67915 , x_value_type_code => l_adr_value_type_code
67916 , p_side => 'CREDIT'
67917 );
67918
67919 xla_ae_lines_pkg.set_ccid(
67920 p_code_combination_id => l_ccid
67921 , p_value_type_code => l_adr_value_type_code
67922 , p_transaction_coa_id => l_adr_transaction_coa_id
67923 , p_accounting_coa_id => l_adr_accounting_coa_id
67924 , p_adr_code => 'AP_REAL_GAIN'
67925 , p_adr_type_code => 'S'
67926 , p_component_type => l_component_type
67927 , p_component_code => l_component_code
67928 , p_component_type_code => l_component_type_code
67929 , p_component_appl_id => l_component_appl_id
67930 , p_amb_context_code => l_amb_context_code
67931 , p_side => 'CREDIT'
67932 );
67933
67934
67935 l_ccid := AcctDerRule_38(
67936 p_application_id => p_application_id
67937 , p_ae_header_id => l_ae_header_id
67938 , p_source_15 => p_source_15
67939 , p_source_15_meaning => p_source_15_meaning
67940 , p_source_30 => p_source_30
67941 , p_source_38 => p_source_38
67942 , p_source_39 => p_source_39
67943 , x_transaction_coa_id => l_adr_transaction_coa_id
67944 , x_accounting_coa_id => l_adr_accounting_coa_id
67945 , x_value_type_code => l_adr_value_type_code
67946 , p_side => 'DEBIT'
67947 );
67948
67949 xla_ae_lines_pkg.set_ccid(
67950 p_code_combination_id => l_ccid
67951 , p_value_type_code => l_adr_value_type_code
67952 , p_transaction_coa_id => l_adr_transaction_coa_id
67953 , p_accounting_coa_id => l_adr_accounting_coa_id
67954 , p_adr_code => 'AP_REAL_LOSS'
67955 , p_adr_type_code => 'S'
67956 , p_component_type => l_component_type
67957 , p_component_code => l_component_code
67958 , p_component_type_code => l_component_type_code
67959 , p_component_appl_id => l_component_appl_id
67960 , p_amb_context_code => l_amb_context_code
67961 , p_side => 'DEBIT'
67962 );
67963
67964
67965 l_segment := AcctDerRule_22(
67966 p_application_id => p_application_id
67967 , p_ae_header_id => l_ae_header_id
67968 , p_source_15 => p_source_15
67969 , p_source_15_meaning => p_source_15_meaning
67970 , p_source_30 => p_source_30
67971 , x_transaction_coa_id => l_adr_transaction_coa_id
67972 , x_accounting_coa_id => l_adr_accounting_coa_id
67973 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67974 , x_flex_value_set_id => l_adr_flex_value_set_id
67978 , p_side => 'ALL'
67975 , x_value_type_code => l_adr_value_type_code
67976 , x_value_combination_id => l_adr_value_combination_id
67977 , x_value_segment_code => l_adr_value_segment_code
67979 , p_override_seg_flag => 'Y'
67980 );
67981
67982 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67983
67984 xla_ae_lines_pkg.set_segment(
67985 p_to_segment_code => 'GL_BALANCING'
67986 , p_segment_value => l_segment
67987 , p_from_segment_code => l_adr_value_segment_code
67988 , p_from_combination_id => l_adr_value_combination_id
67989 , p_value_type_code => l_adr_value_type_code
67990 , p_transaction_coa_id => l_adr_transaction_coa_id
67991 , p_accounting_coa_id => l_adr_accounting_coa_id
67992 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67993 , p_flex_value_set_id => l_adr_flex_value_set_id
67994 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67995 , p_adr_type_code => 'S'
67996 , p_component_type => l_component_type
67997 , p_component_code => l_component_code
67998 , p_component_type_code => l_component_type_code
67999 , p_component_appl_id => l_component_appl_id
68000 , p_amb_context_code => l_amb_context_code
68001 , p_entity_code => 'AP_INVOICES'
68002 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68003 , p_side => 'ALL'
68004 );
68005
68006 END IF;
68007
68008 l_segment := AcctDerRule_17(
68009 p_application_id => p_application_id
68010 , p_ae_header_id => l_ae_header_id
68011 , p_source_15 => p_source_15
68012 , p_source_15_meaning => p_source_15_meaning
68013 , p_source_36 => p_source_36
68014 , p_source_37 => p_source_37
68015 , x_transaction_coa_id => l_adr_transaction_coa_id
68016 , x_accounting_coa_id => l_adr_accounting_coa_id
68017 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68018 , x_flex_value_set_id => l_adr_flex_value_set_id
68019 , x_value_type_code => l_adr_value_type_code
68020 , x_value_combination_id => l_adr_value_combination_id
68021 , x_value_segment_code => l_adr_value_segment_code
68022 , p_side => 'CREDIT'
68023 , p_override_seg_flag => 'Y'
68024 );
68025
68026 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68027
68028 xla_ae_lines_pkg.set_segment(
68029 p_to_segment_code => 'GL_ACCOUNT'
68030 , p_segment_value => l_segment
68031 , p_from_segment_code => l_adr_value_segment_code
68032 , p_from_combination_id => l_adr_value_combination_id
68033 , p_value_type_code => l_adr_value_type_code
68034 , p_transaction_coa_id => l_adr_transaction_coa_id
68035 , p_accounting_coa_id => l_adr_accounting_coa_id
68036 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68037 , p_flex_value_set_id => l_adr_flex_value_set_id
68038 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68039 , p_adr_type_code => 'S'
68040 , p_component_type => l_component_type
68041 , p_component_code => l_component_code
68042 , p_component_type_code => l_component_type_code
68043 , p_component_appl_id => l_component_appl_id
68044 , p_amb_context_code => l_amb_context_code
68045 , p_entity_code => 'AP_INVOICES'
68046 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68047 , p_side => 'CREDIT'
68048 );
68049
68050 END IF;
68051
68052 l_segment := AcctDerRule_18(
68053 p_application_id => p_application_id
68054 , p_ae_header_id => l_ae_header_id
68055 , p_source_15 => p_source_15
68056 , p_source_15_meaning => p_source_15_meaning
68057 , p_source_38 => p_source_38
68058 , p_source_39 => p_source_39
68059 , x_transaction_coa_id => l_adr_transaction_coa_id
68060 , x_accounting_coa_id => l_adr_accounting_coa_id
68061 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68062 , x_flex_value_set_id => l_adr_flex_value_set_id
68063 , x_value_type_code => l_adr_value_type_code
68064 , x_value_combination_id => l_adr_value_combination_id
68065 , x_value_segment_code => l_adr_value_segment_code
68066 , p_side => 'DEBIT'
68067 , p_override_seg_flag => 'Y'
68068 );
68069
68070 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68071
68072 xla_ae_lines_pkg.set_segment(
68073 p_to_segment_code => 'GL_ACCOUNT'
68074 , p_segment_value => l_segment
68075 , p_from_segment_code => l_adr_value_segment_code
68076 , p_from_combination_id => l_adr_value_combination_id
68077 , p_value_type_code => l_adr_value_type_code
68078 , p_transaction_coa_id => l_adr_transaction_coa_id
68079 , p_accounting_coa_id => l_adr_accounting_coa_id
68080 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68084 , p_component_type => l_component_type
68081 , p_flex_value_set_id => l_adr_flex_value_set_id
68082 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68083 , p_adr_type_code => 'S'
68085 , p_component_code => l_component_code
68086 , p_component_type_code => l_component_type_code
68087 , p_component_appl_id => l_component_appl_id
68088 , p_amb_context_code => l_amb_context_code
68089 , p_entity_code => 'AP_INVOICES'
68090 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68091 , p_side => 'DEBIT'
68092 );
68093
68094 END IF;
68095
68096 --
68097 --
68098 END IF;
68099
68100 --
68101 -- Update the line information that should be overwritten
68102 --
68103 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
68104 p_header_num => 1);
68105 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
68106
68107 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
68108
68109 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
68110 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
68111 END IF;
68112
68113 --
68114 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
68115 --
68116 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
68117 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
68118 ELSE
68119 ---------------------------------------------------------------------------------------------------
68120 -- 4262811a Switch Sign
68121 ---------------------------------------------------------------------------------------------------
68122 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
68123 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68124 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68125 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68126 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68127 -- 5132302
68128 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
68129 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68130
68131 END IF;
68132
68133 -- 4955764
68134 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68135 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
68136
68137
68138 XLA_AE_LINES_PKG.ValidateCurrentLine;
68139 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68140
68141 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68142 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
68143 ,p_balance_type_code => l_balance_type_code);
68144
68145 END IF;
68146
68147 -----------------------------------------------------------------------------------------
68148 -- 4262811 Multiperiod Accounting
68149 -----------------------------------------------------------------------------------------
68150 -- No MPA option is assigned.
68151
68152
68153 END IF;
68154 END IF;
68155 --
68156
68157 --
68158 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68159 trace
68160 (p_msg => 'END of AcctLineType_126'
68161 ,p_level => C_LEVEL_PROCEDURE
68162 ,p_module => l_log_module);
68163 END IF;
68164 --
68165 EXCEPTION
68166 WHEN xla_exceptions_pkg.application_exception THEN
68167 RAISE;
68168 WHEN OTHERS THEN
68169 xla_exceptions_pkg.raise_message
68170 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_126');
68171 END AcctLineType_126;
68172 --
68173
68174 ---------------------------------------
68175 --
68176 -- PRIVATE FUNCTION
68177 -- AcctLineType_127
68178 --
68179 ---------------------------------------
68180 PROCEDURE AcctLineType_127 (
68181 p_application_id IN NUMBER
68182 ,p_event_id IN NUMBER
68183 ,p_calculate_acctd_flag IN VARCHAR2
68184 ,p_calculate_g_l_flag IN VARCHAR2
68185 ,p_actual_flag IN OUT VARCHAR2
68186 ,p_balance_type_code OUT VARCHAR2
68187 ,p_gain_or_loss_ref OUT VARCHAR2
68188
68189 --Automatic Offsets Value
68190 , p_source_15 IN VARCHAR2
68191 , p_source_15_meaning IN VARCHAR2
68192 --Invoice Distribution Account
68193 , p_source_30 IN NUMBER
68194 --Internal Realized Gain Account
68195 , p_source_36 IN NUMBER
68196 --Bank Gain Account
68197 , p_source_37 IN NUMBER
68198 --Internal Realized Loss Account
68199 , p_source_38 IN NUMBER
68200 --Bank Loss Account
68201 , p_source_39 IN NUMBER
68202 --Accounting Reversal Indicator
68206 --Override Accounted Amount Indicator
68203 , p_source_52 IN VARCHAR2
68204 --Distribution Link Type
68205 , p_source_54 IN VARCHAR2
68207 , p_source_79 IN VARCHAR2
68208 , p_source_79_meaning IN VARCHAR2
68209 --Third Party Type
68210 , p_source_82 IN VARCHAR2
68211 --Invoice Distribution Tax Line Identifier
68212 , p_source_85 IN NUMBER
68213 --Invoice Distribution Tax Distribution Identifier from Tax
68214 , p_source_86 IN NUMBER
68215 --Invoice Distribution Summary Tax Line Identifier
68216 , p_source_87 IN NUMBER
68217 --Business Flow Accounts Payable Application Identifier
68218 , p_source_90 IN NUMBER
68219 --Business Flow Invoice Distribution Type
68220 , p_source_91 IN VARCHAR2
68221 --Business Flow Invoice Entity Code
68222 , p_source_92 IN VARCHAR2
68223 --Business Flow Invoice Distribution Identifier
68224 , p_source_93 IN NUMBER
68225 --Business Flow Invoice Identifier
68226 , p_source_94 IN NUMBER
68227 --When to Account for Payment Option
68228 , p_source_96 IN VARCHAR2
68229 --Payment Distribution Type
68230 , p_source_97 IN VARCHAR2
68231 , p_source_97_meaning IN VARCHAR2
68232 --Payment Distribution Identifier
68233 , p_source_103 IN NUMBER
68234 --Payment Supplier Identifier
68235 , p_source_109 IN NUMBER
68236 --Payment Supplier Site Identifier
68237 , p_source_110 IN NUMBER
68238 --Payment Distribution Reversed Identifier
68239 , p_source_111 IN NUMBER
68240 --Payment Identifier
68241 , p_source_112 IN NUMBER
68242 --Payment Type
68243 , p_source_122 IN VARCHAR2
68244 , p_source_122_meaning IN VARCHAR2
68245 --Invoice/Payment Ledger Amount Difference
68246 , p_source_150 IN NUMBER
68247 )
68248 IS
68249
68250 l_component_type VARCHAR2(80);
68251 l_component_code VARCHAR2(30);
68252 l_component_type_code VARCHAR2(1);
68253 l_component_appl_id INTEGER;
68254 l_amb_context_code VARCHAR2(30);
68255 l_entity_code VARCHAR2(30);
68256 l_event_class_code VARCHAR2(30);
68257 l_ae_header_id NUMBER;
68258 l_event_type_code VARCHAR2(30);
68259 l_line_definition_code VARCHAR2(30);
68260 l_line_definition_owner_code VARCHAR2(1);
68261 --
68262 -- adr variables
68263 l_segment VARCHAR2(30);
68264 l_ccid NUMBER;
68265 l_adr_transaction_coa_id NUMBER;
68266 l_adr_accounting_coa_id NUMBER;
68267 l_adr_flexfield_segment_code VARCHAR2(30);
68268 l_adr_flex_value_set_id NUMBER;
68269 l_adr_value_type_code VARCHAR2(30);
68270 l_adr_value_combination_id NUMBER;
68271 l_adr_value_segment_code VARCHAR2(30);
68272
68273 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
68274 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
68275 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
68276 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
68277
68278 -- 4262811 Variables ------------------------------------------------------------------------------------------
68279 l_entered_amt_idx NUMBER;
68280 l_accted_amt_idx NUMBER;
68281 l_acc_rev_flag VARCHAR2(1);
68282 l_accrual_line_num NUMBER;
68283 l_tmp_amt NUMBER;
68284 l_acc_rev_natural_side_code VARCHAR2(1);
68285
68286 l_num_entries NUMBER;
68287 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
68288 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
68289 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
68290 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
68291 l_recog_line_1 NUMBER;
68292 l_recog_line_2 NUMBER;
68293
68294 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
68295 l_bflow_applied_to_amt NUMBER; -- 5132302
68296 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
68297
68298 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
68299
68300 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
68301 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
68302
68303 ---------------------------------------------------------------------------------------------------------------
68304
68305
68306 --
68307 -- bulk performance
68308 --
68309 l_balance_type_code VARCHAR2(1);
68310 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
68311 l_log_module VARCHAR2(240);
68312
68313 --
68314 -- Upgrade strategy
68315 --
68316 l_actual_upg_option VARCHAR2(1);
68317 l_enc_upg_option VARCHAR2(1);
68318
68319 --
68320 BEGIN
68321 --
68322 IF g_log_enabled THEN
68323 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_127';
68324 END IF;
68325 --
68326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68327
68328 trace
68329 (p_msg => 'BEGIN of AcctLineType_127'
68330 ,p_level => C_LEVEL_PROCEDURE
68331 ,p_module => l_log_module);
68332
68333 END IF;
68337 l_component_type_code := 'S';
68334 --
68335 l_component_type := 'AMB_JLT';
68336 l_component_code := 'AP_GAIN_LOSS_REF';
68338 l_component_appl_id := 200;
68339 l_amb_context_code := 'DEFAULT';
68340 l_entity_code := 'AP_PAYMENTS';
68341 l_event_class_code := 'REFUNDS';
68342 l_event_type_code := 'REFUNDS_ALL';
68343 l_line_definition_owner_code := 'S';
68344 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
68345 --
68346 l_balance_type_code := 'A';
68347 l_segment := NULL;
68348 l_ccid := NULL;
68349 l_adr_transaction_coa_id := NULL;
68350 l_adr_accounting_coa_id := NULL;
68351 l_adr_flexfield_segment_code := NULL;
68352 l_adr_flex_value_set_id := NULL;
68353 l_adr_value_type_code := NULL;
68354 l_adr_value_combination_id := NULL;
68355 l_adr_value_segment_code := NULL;
68356
68357 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
68358 l_bflow_class_code := ''; -- 4219869 Business Flow
68359 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
68360 l_budgetary_control_flag := 'N';
68361
68362 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68363 l_bflow_applied_to_amt := NULL; -- 5132302
68364 l_entered_amt_idx := NULL; -- 4262811
68365 l_accted_amt_idx := NULL; -- 4262811
68366 l_acc_rev_flag := NULL; -- 4262811
68367 l_accrual_line_num := NULL; -- 4262811
68368 l_tmp_amt := NULL; -- 4262811
68369 --
68370 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
68371 (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
68372 return;
68373 END IF;
68374
68375 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
68376 l_balance_type_code <> 'B' THEN
68377 IF (NVL(p_source_96,'
68378 ') <> 'CLEAR_CLEAR' AND
68379 NVL(p_source_96,'
68380 ') <> 'ALWAYS_CLEAR') AND
68381 NVL(p_source_122,'
68382 ') = 'R' AND
68383 NVL(p_source_97,'
68384 ') <> 'EXCHANGE RATE VARIANCE' AND
68385 NVL(p_source_97,'
68386 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
68387 NVL(p_source_97,'
68388 ') <> 'BANK CHARGE' AND
68389 NVL(p_source_97,'
68390 ') <> 'BANK ERROR'
68391 THEN
68392
68393 --
68394 XLA_AE_LINES_PKG.SetNewLine;
68395
68396 p_balance_type_code := l_balance_type_code;
68397 -- set the flag so later we will know whether the gain loss line needs to be created
68398
68399 IF(l_balance_type_code = 'A' ) THEN
68400 p_actual_flag :='G';
68401 END IF;
68402
68403 --
68404 -- bulk performance
68405 --
68406 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
68407 p_header_num => 0); -- 4262811
68408 --
68409 -- set accounting line options
68410 --
68411 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
68412 p_natural_side_code => 'G'
68413 , p_gain_or_loss_flag => 'N'
68414 , p_gl_transfer_mode_code => 'S'
68415 , p_acct_entry_type_code => 'A'
68416 , p_switch_side_flag => ''
68417 , p_merge_duplicate_code => 'A'
68418 );
68419 --
68420 l_acc_rev_natural_side_code := 'C'; -- 4262811
68421 --
68422 --
68423 -- set accounting line type info
68424 --
68425 xla_ae_lines_pkg.SetAcctLineType
68426 (p_component_type => l_component_type
68427 ,p_event_type_code => l_event_type_code
68428 ,p_line_definition_owner_code => l_line_definition_owner_code
68429 ,p_line_definition_code => l_line_definition_code
68430 ,p_accounting_line_code => l_component_code
68431 ,p_accounting_line_type_code => l_component_type_code
68432 ,p_accounting_line_appl_id => l_component_appl_id
68433 ,p_amb_context_code => l_amb_context_code
68434 ,p_entity_code => l_entity_code
68435 ,p_event_class_code => l_event_class_code);
68436 --
68437 -- set accounting class
68438 --
68439 xla_ae_lines_pkg.SetAcctClass(
68440 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
68441 , p_ae_header_id => l_ae_header_id
68442 );
68443
68444 --
68445 -- set rounding class
68446 --
68447 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
68448 'EXCHANGE_GAIN_LOSS';
68449
68450 --
68451 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
68452 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
68453 --
68454 -- bulk performance
68455 --
68456 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
68457
68458 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
68459 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
68460
68461 -- 4955764
68465 -- 4458381 Public Sector Enh
68462 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68463 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
68464
68466
68467 --
68468 -- set accounting attributes for the line type
68469 --
68470 l_entered_amt_idx := NULL;
68471 l_accted_amt_idx := 9;
68472 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68473 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
68474 l_rec_acct_attrs.array_char_value(1) := p_source_52;
68475 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
68476 l_rec_acct_attrs.array_num_value(2) := p_source_90;
68477 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
68478 l_rec_acct_attrs.array_char_value(3) := p_source_91;
68479 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
68480 l_rec_acct_attrs.array_char_value(4) := p_source_92;
68481 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
68482 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
68483 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
68484 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
68485 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
68486 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
68487 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
68488 l_rec_acct_attrs.array_char_value(8) := p_source_54;
68489 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
68490 l_rec_acct_attrs.array_num_value(9) := p_source_150;
68491 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
68492 l_rec_acct_attrs.array_char_value(10) := p_source_79;
68493 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
68494 l_rec_acct_attrs.array_num_value(11) := p_source_109;
68495 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
68496 l_rec_acct_attrs.array_num_value(12) := p_source_110;
68497 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
68498 l_rec_acct_attrs.array_char_value(13) := p_source_82;
68499 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
68500 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_111);
68501 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
68502 l_rec_acct_attrs.array_char_value(15) := p_source_54;
68503 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
68504 l_rec_acct_attrs.array_num_value(16) := p_source_85;
68505 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
68506 l_rec_acct_attrs.array_num_value(17) := p_source_86;
68507 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
68508 l_rec_acct_attrs.array_num_value(18) := p_source_87;
68509
68510 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
68511 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
68512
68513 ---------------------------------------------------------------------------------------------------------------
68514 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
68515 ---------------------------------------------------------------------------------------------------------------
68516 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
68517
68518 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68519 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68520
68521 IF xla_accounting_cache_pkg.GetValueChar
68522 (p_source_code => 'LEDGER_CATEGORY_CODE'
68523 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
68524 AND l_bflow_method_code = 'PRIOR_ENTRY'
68525 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
68526 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
68527 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
68528 )
68529 THEN
68530 xla_ae_lines_pkg.BflowUpgEntry
68531 (p_business_method_code => l_bflow_method_code
68532 ,p_business_class_code => l_bflow_class_code
68533 ,p_balance_type => l_balance_type_code);
68534 ELSE
68535 NULL;
68536 -- No business flow processing for business flow method of NONE.
68537 END IF;
68538
68539 --
68540 -- call analytical criteria
68541 --
68542
68543
68544 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
68545 xla_ae_lines_pkg.SetAnalyticalCriteria(
68546 p_analytical_criterion_name => 'Check Id'
68547 , p_analytical_criterion_owner => 'S'
68548 , p_analytical_criterion_code => 'CHECK_ID'
68549 , p_amb_context_code => 'DEFAULT'
68550 , p_balancing_flag => 'N'
68551
68552 , p_analytical_detail_char_1 => NULL
68553 , p_analytical_detail_num_1 => p_source_112
68554 , p_analytical_detail_date_1 => NULL
68555
68556 , p_ae_header_id => l_ae_header_id
68557 )
68558 ;
68559 --
68560
68561 --
68562 -- call description
68563 --
68564 -- No description or it is inherited.
68565 --
68566 -- call ADRs
68567 -- Bug 4922099
68568 --
68572 )
68569 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68570 (NVL(l_actual_upg_option, 'N') = 'O') OR
68571 (NVL(l_enc_upg_option, 'N') = 'O')
68573 THEN
68574 NULL;
68575 --
68576 --
68577
68578 l_ccid := AcctDerRule_37(
68579 p_application_id => p_application_id
68580 , p_ae_header_id => l_ae_header_id
68581 , p_source_15 => p_source_15
68582 , p_source_15_meaning => p_source_15_meaning
68583 , p_source_30 => p_source_30
68584 , p_source_36 => p_source_36
68585 , p_source_37 => p_source_37
68586 , x_transaction_coa_id => l_adr_transaction_coa_id
68587 , x_accounting_coa_id => l_adr_accounting_coa_id
68588 , x_value_type_code => l_adr_value_type_code
68589 , p_side => 'CREDIT'
68590 );
68591
68592 xla_ae_lines_pkg.set_ccid(
68593 p_code_combination_id => l_ccid
68594 , p_value_type_code => l_adr_value_type_code
68595 , p_transaction_coa_id => l_adr_transaction_coa_id
68596 , p_accounting_coa_id => l_adr_accounting_coa_id
68597 , p_adr_code => 'AP_REAL_GAIN'
68598 , p_adr_type_code => 'S'
68599 , p_component_type => l_component_type
68600 , p_component_code => l_component_code
68601 , p_component_type_code => l_component_type_code
68602 , p_component_appl_id => l_component_appl_id
68603 , p_amb_context_code => l_amb_context_code
68604 , p_side => 'CREDIT'
68605 );
68606
68607
68608 l_ccid := AcctDerRule_38(
68609 p_application_id => p_application_id
68610 , p_ae_header_id => l_ae_header_id
68611 , p_source_15 => p_source_15
68612 , p_source_15_meaning => p_source_15_meaning
68613 , p_source_30 => p_source_30
68614 , p_source_38 => p_source_38
68615 , p_source_39 => p_source_39
68616 , x_transaction_coa_id => l_adr_transaction_coa_id
68617 , x_accounting_coa_id => l_adr_accounting_coa_id
68618 , x_value_type_code => l_adr_value_type_code
68619 , p_side => 'DEBIT'
68620 );
68621
68622 xla_ae_lines_pkg.set_ccid(
68623 p_code_combination_id => l_ccid
68624 , p_value_type_code => l_adr_value_type_code
68625 , p_transaction_coa_id => l_adr_transaction_coa_id
68626 , p_accounting_coa_id => l_adr_accounting_coa_id
68627 , p_adr_code => 'AP_REAL_LOSS'
68628 , p_adr_type_code => 'S'
68629 , p_component_type => l_component_type
68630 , p_component_code => l_component_code
68631 , p_component_type_code => l_component_type_code
68632 , p_component_appl_id => l_component_appl_id
68633 , p_amb_context_code => l_amb_context_code
68634 , p_side => 'DEBIT'
68635 );
68636
68637
68638 l_segment := AcctDerRule_22(
68639 p_application_id => p_application_id
68640 , p_ae_header_id => l_ae_header_id
68641 , p_source_15 => p_source_15
68642 , p_source_15_meaning => p_source_15_meaning
68643 , p_source_30 => p_source_30
68644 , x_transaction_coa_id => l_adr_transaction_coa_id
68645 , x_accounting_coa_id => l_adr_accounting_coa_id
68646 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68647 , x_flex_value_set_id => l_adr_flex_value_set_id
68648 , x_value_type_code => l_adr_value_type_code
68649 , x_value_combination_id => l_adr_value_combination_id
68650 , x_value_segment_code => l_adr_value_segment_code
68651 , p_side => 'ALL'
68652 , p_override_seg_flag => 'Y'
68653 );
68654
68655 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68656
68657 xla_ae_lines_pkg.set_segment(
68658 p_to_segment_code => 'GL_BALANCING'
68659 , p_segment_value => l_segment
68660 , p_from_segment_code => l_adr_value_segment_code
68661 , p_from_combination_id => l_adr_value_combination_id
68662 , p_value_type_code => l_adr_value_type_code
68663 , p_transaction_coa_id => l_adr_transaction_coa_id
68664 , p_accounting_coa_id => l_adr_accounting_coa_id
68665 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68666 , p_flex_value_set_id => l_adr_flex_value_set_id
68667 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68668 , p_adr_type_code => 'S'
68669 , p_component_type => l_component_type
68670 , p_component_code => l_component_code
68671 , p_component_type_code => l_component_type_code
68672 , p_component_appl_id => l_component_appl_id
68673 , p_amb_context_code => l_amb_context_code
68674 , p_entity_code => 'AP_PAYMENTS'
68675 , p_event_class_code => 'REFUNDS'
68676 , p_side => 'ALL'
68677 );
68678
68679 END IF;
68680
68681 l_segment := AcctDerRule_17(
68682 p_application_id => p_application_id
68683 , p_ae_header_id => l_ae_header_id
68687 , p_source_37 => p_source_37
68684 , p_source_15 => p_source_15
68685 , p_source_15_meaning => p_source_15_meaning
68686 , p_source_36 => p_source_36
68688 , x_transaction_coa_id => l_adr_transaction_coa_id
68689 , x_accounting_coa_id => l_adr_accounting_coa_id
68690 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68691 , x_flex_value_set_id => l_adr_flex_value_set_id
68692 , x_value_type_code => l_adr_value_type_code
68693 , x_value_combination_id => l_adr_value_combination_id
68694 , x_value_segment_code => l_adr_value_segment_code
68695 , p_side => 'CREDIT'
68696 , p_override_seg_flag => 'Y'
68697 );
68698
68699 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68700
68701 xla_ae_lines_pkg.set_segment(
68702 p_to_segment_code => 'GL_ACCOUNT'
68703 , p_segment_value => l_segment
68704 , p_from_segment_code => l_adr_value_segment_code
68705 , p_from_combination_id => l_adr_value_combination_id
68706 , p_value_type_code => l_adr_value_type_code
68707 , p_transaction_coa_id => l_adr_transaction_coa_id
68708 , p_accounting_coa_id => l_adr_accounting_coa_id
68709 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68710 , p_flex_value_set_id => l_adr_flex_value_set_id
68711 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68712 , p_adr_type_code => 'S'
68713 , p_component_type => l_component_type
68714 , p_component_code => l_component_code
68715 , p_component_type_code => l_component_type_code
68716 , p_component_appl_id => l_component_appl_id
68717 , p_amb_context_code => l_amb_context_code
68718 , p_entity_code => 'AP_PAYMENTS'
68719 , p_event_class_code => 'REFUNDS'
68720 , p_side => 'CREDIT'
68721 );
68722
68723 END IF;
68724
68725 l_segment := AcctDerRule_18(
68726 p_application_id => p_application_id
68727 , p_ae_header_id => l_ae_header_id
68728 , p_source_15 => p_source_15
68729 , p_source_15_meaning => p_source_15_meaning
68730 , p_source_38 => p_source_38
68731 , p_source_39 => p_source_39
68732 , x_transaction_coa_id => l_adr_transaction_coa_id
68733 , x_accounting_coa_id => l_adr_accounting_coa_id
68734 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68735 , x_flex_value_set_id => l_adr_flex_value_set_id
68736 , x_value_type_code => l_adr_value_type_code
68737 , x_value_combination_id => l_adr_value_combination_id
68738 , x_value_segment_code => l_adr_value_segment_code
68739 , p_side => 'DEBIT'
68740 , p_override_seg_flag => 'Y'
68741 );
68742
68743 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68744
68745 xla_ae_lines_pkg.set_segment(
68746 p_to_segment_code => 'GL_ACCOUNT'
68747 , p_segment_value => l_segment
68748 , p_from_segment_code => l_adr_value_segment_code
68749 , p_from_combination_id => l_adr_value_combination_id
68750 , p_value_type_code => l_adr_value_type_code
68751 , p_transaction_coa_id => l_adr_transaction_coa_id
68752 , p_accounting_coa_id => l_adr_accounting_coa_id
68753 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68754 , p_flex_value_set_id => l_adr_flex_value_set_id
68755 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68756 , p_adr_type_code => 'S'
68757 , p_component_type => l_component_type
68758 , p_component_code => l_component_code
68759 , p_component_type_code => l_component_type_code
68760 , p_component_appl_id => l_component_appl_id
68761 , p_amb_context_code => l_amb_context_code
68762 , p_entity_code => 'AP_PAYMENTS'
68763 , p_event_class_code => 'REFUNDS'
68764 , p_side => 'DEBIT'
68765 );
68766
68767 END IF;
68768
68769 --
68770 --
68771 END IF;
68772 --
68773 -- Bug 4922099
68774 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
68775 (NVL(l_enc_upg_option, 'N') = 'O')
68776 ) AND
68777 (l_bflow_method_code = 'PRIOR_ENTRY')
68778 )
68779 THEN
68780 IF
68781 --
68782 1 = 2
68783 --
68784 THEN
68785 xla_accounting_err_pkg.build_message
68786 (p_appli_s_name => 'XLA'
68787 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68788 ,p_token_1 => 'LINE_NUMBER'
68789 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
68790 ,p_token_2 => 'LINE_TYPE_NAME'
68791 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
68792 l_component_type
68796 ,l_amb_context_code
68793 ,l_component_code
68794 ,l_component_type_code
68795 ,l_component_appl_id
68797 ,l_entity_code
68798 ,l_event_class_code
68799 )
68800 ,p_token_3 => 'OWNER'
68801 ,p_value_3 => xla_lookups_pkg.get_meaning(
68802 p_lookup_type => 'XLA_OWNER_TYPE'
68803 ,p_lookup_code => l_component_type_code
68804 )
68805 ,p_token_4 => 'PRODUCT_NAME'
68806 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
68807 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
68808 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
68809 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
68810 ,p_ae_header_id => NULL
68811 );
68812
68813 IF (C_LEVEL_ERROR>= g_log_level) THEN
68814 trace
68815 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68816 ,p_level => C_LEVEL_ERROR
68817 ,p_module => l_log_module);
68818 END IF;
68819 END IF;
68820 END IF;
68821 --
68822 --
68823 ------------------------------------------------------------------------------------------------
68824 -- 4219869 Business Flow
68825 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
68826 -- Prior Entry. Currently, the following code is always generated.
68827 ------------------------------------------------------------------------------------------------
68828 XLA_AE_LINES_PKG.ValidateCurrentLine;
68829
68830 ------------------------------------------------------------------------------------
68831 -- 4219869 Business Flow
68832 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
68833 ------------------------------------------------------------------------------------
68834 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68835
68836 ----------------------------------------------------------------------------------
68837 -- 4219869 Business Flow
68838 -- Update journal entry status -- Need to generate this within IF <condition>
68839 ----------------------------------------------------------------------------------
68840 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68841 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
68842 ,p_balance_type_code => l_balance_type_code
68843 );
68844
68845 -------------------------------------------------------------------------------------------
68846 -- 4262811 - Generate the Accrual Reversal lines
68847 -------------------------------------------------------------------------------------------
68848 BEGIN
68849 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
68850 (g_array_event(p_event_id).array_value_num('header_index'));
68851 IF l_acc_rev_flag IS NULL THEN
68852 l_acc_rev_flag := 'N';
68853 END IF;
68854 EXCEPTION
68855 WHEN OTHERS THEN
68856 l_acc_rev_flag := 'N';
68857 END;
68858 --
68859 IF (l_acc_rev_flag = 'Y') THEN
68860
68861 -- 4645092 ------------------------------------------------------------------------------
68862 -- To allow MPA report to determine if it should generate report process
68863 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
68864 ------------------------------------------------------------------------------------------
68865
68866 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
68867 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
68868 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
68869 -- call ADRs
68870 -- Bug 4922099
68871 --
68872 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68873 (NVL(l_actual_upg_option, 'N') = 'O') OR
68874 (NVL(l_enc_upg_option, 'N') = 'O')
68875 )
68876 THEN
68877 NULL;
68878 --
68879 --
68880
68881 l_ccid := AcctDerRule_37(
68882 p_application_id => p_application_id
68883 , p_ae_header_id => l_ae_header_id
68884 , p_source_15 => p_source_15
68885 , p_source_15_meaning => p_source_15_meaning
68886 , p_source_30 => p_source_30
68887 , p_source_36 => p_source_36
68888 , p_source_37 => p_source_37
68889 , x_transaction_coa_id => l_adr_transaction_coa_id
68890 , x_accounting_coa_id => l_adr_accounting_coa_id
68891 , x_value_type_code => l_adr_value_type_code
68895 xla_ae_lines_pkg.set_ccid(
68892 , p_side => 'CREDIT'
68893 );
68894
68896 p_code_combination_id => l_ccid
68897 , p_value_type_code => l_adr_value_type_code
68898 , p_transaction_coa_id => l_adr_transaction_coa_id
68899 , p_accounting_coa_id => l_adr_accounting_coa_id
68900 , p_adr_code => 'AP_REAL_GAIN'
68901 , p_adr_type_code => 'S'
68902 , p_component_type => l_component_type
68903 , p_component_code => l_component_code
68904 , p_component_type_code => l_component_type_code
68905 , p_component_appl_id => l_component_appl_id
68906 , p_amb_context_code => l_amb_context_code
68907 , p_side => 'CREDIT'
68908 );
68909
68910
68911 l_ccid := AcctDerRule_38(
68912 p_application_id => p_application_id
68913 , p_ae_header_id => l_ae_header_id
68914 , p_source_15 => p_source_15
68915 , p_source_15_meaning => p_source_15_meaning
68916 , p_source_30 => p_source_30
68917 , p_source_38 => p_source_38
68918 , p_source_39 => p_source_39
68919 , x_transaction_coa_id => l_adr_transaction_coa_id
68920 , x_accounting_coa_id => l_adr_accounting_coa_id
68921 , x_value_type_code => l_adr_value_type_code
68922 , p_side => 'DEBIT'
68923 );
68924
68925 xla_ae_lines_pkg.set_ccid(
68926 p_code_combination_id => l_ccid
68927 , p_value_type_code => l_adr_value_type_code
68928 , p_transaction_coa_id => l_adr_transaction_coa_id
68929 , p_accounting_coa_id => l_adr_accounting_coa_id
68930 , p_adr_code => 'AP_REAL_LOSS'
68931 , p_adr_type_code => 'S'
68932 , p_component_type => l_component_type
68933 , p_component_code => l_component_code
68934 , p_component_type_code => l_component_type_code
68935 , p_component_appl_id => l_component_appl_id
68936 , p_amb_context_code => l_amb_context_code
68937 , p_side => 'DEBIT'
68938 );
68939
68940
68941 l_segment := AcctDerRule_22(
68942 p_application_id => p_application_id
68943 , p_ae_header_id => l_ae_header_id
68944 , p_source_15 => p_source_15
68945 , p_source_15_meaning => p_source_15_meaning
68946 , p_source_30 => p_source_30
68947 , x_transaction_coa_id => l_adr_transaction_coa_id
68948 , x_accounting_coa_id => l_adr_accounting_coa_id
68949 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68950 , x_flex_value_set_id => l_adr_flex_value_set_id
68951 , x_value_type_code => l_adr_value_type_code
68952 , x_value_combination_id => l_adr_value_combination_id
68953 , x_value_segment_code => l_adr_value_segment_code
68954 , p_side => 'ALL'
68955 , p_override_seg_flag => 'Y'
68956 );
68957
68958 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68959
68960 xla_ae_lines_pkg.set_segment(
68961 p_to_segment_code => 'GL_BALANCING'
68962 , p_segment_value => l_segment
68963 , p_from_segment_code => l_adr_value_segment_code
68964 , p_from_combination_id => l_adr_value_combination_id
68965 , p_value_type_code => l_adr_value_type_code
68966 , p_transaction_coa_id => l_adr_transaction_coa_id
68967 , p_accounting_coa_id => l_adr_accounting_coa_id
68968 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68969 , p_flex_value_set_id => l_adr_flex_value_set_id
68970 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68971 , p_adr_type_code => 'S'
68972 , p_component_type => l_component_type
68973 , p_component_code => l_component_code
68974 , p_component_type_code => l_component_type_code
68975 , p_component_appl_id => l_component_appl_id
68976 , p_amb_context_code => l_amb_context_code
68977 , p_entity_code => 'AP_PAYMENTS'
68978 , p_event_class_code => 'REFUNDS'
68979 , p_side => 'ALL'
68980 );
68981
68982 END IF;
68983
68984 l_segment := AcctDerRule_17(
68985 p_application_id => p_application_id
68986 , p_ae_header_id => l_ae_header_id
68987 , p_source_15 => p_source_15
68988 , p_source_15_meaning => p_source_15_meaning
68989 , p_source_36 => p_source_36
68990 , p_source_37 => p_source_37
68991 , x_transaction_coa_id => l_adr_transaction_coa_id
68992 , x_accounting_coa_id => l_adr_accounting_coa_id
68993 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68994 , x_flex_value_set_id => l_adr_flex_value_set_id
68995 , x_value_type_code => l_adr_value_type_code
68996 , x_value_combination_id => l_adr_value_combination_id
68997 , x_value_segment_code => l_adr_value_segment_code
68998 , p_side => 'CREDIT'
68999 , p_override_seg_flag => 'Y'
69000 );
69001
69002 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69003
69004 xla_ae_lines_pkg.set_segment(
69005 p_to_segment_code => 'GL_ACCOUNT'
69009 , p_value_type_code => l_adr_value_type_code
69006 , p_segment_value => l_segment
69007 , p_from_segment_code => l_adr_value_segment_code
69008 , p_from_combination_id => l_adr_value_combination_id
69010 , p_transaction_coa_id => l_adr_transaction_coa_id
69011 , p_accounting_coa_id => l_adr_accounting_coa_id
69012 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69013 , p_flex_value_set_id => l_adr_flex_value_set_id
69014 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69015 , p_adr_type_code => 'S'
69016 , p_component_type => l_component_type
69017 , p_component_code => l_component_code
69018 , p_component_type_code => l_component_type_code
69019 , p_component_appl_id => l_component_appl_id
69020 , p_amb_context_code => l_amb_context_code
69021 , p_entity_code => 'AP_PAYMENTS'
69022 , p_event_class_code => 'REFUNDS'
69023 , p_side => 'CREDIT'
69024 );
69025
69026 END IF;
69027
69028 l_segment := AcctDerRule_18(
69029 p_application_id => p_application_id
69030 , p_ae_header_id => l_ae_header_id
69031 , p_source_15 => p_source_15
69032 , p_source_15_meaning => p_source_15_meaning
69033 , p_source_38 => p_source_38
69034 , p_source_39 => p_source_39
69035 , x_transaction_coa_id => l_adr_transaction_coa_id
69036 , x_accounting_coa_id => l_adr_accounting_coa_id
69037 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69038 , x_flex_value_set_id => l_adr_flex_value_set_id
69039 , x_value_type_code => l_adr_value_type_code
69040 , x_value_combination_id => l_adr_value_combination_id
69041 , x_value_segment_code => l_adr_value_segment_code
69042 , p_side => 'DEBIT'
69043 , p_override_seg_flag => 'Y'
69044 );
69045
69046 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69047
69048 xla_ae_lines_pkg.set_segment(
69049 p_to_segment_code => 'GL_ACCOUNT'
69050 , p_segment_value => l_segment
69051 , p_from_segment_code => l_adr_value_segment_code
69052 , p_from_combination_id => l_adr_value_combination_id
69053 , p_value_type_code => l_adr_value_type_code
69054 , p_transaction_coa_id => l_adr_transaction_coa_id
69055 , p_accounting_coa_id => l_adr_accounting_coa_id
69056 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69057 , p_flex_value_set_id => l_adr_flex_value_set_id
69058 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
69059 , p_adr_type_code => 'S'
69060 , p_component_type => l_component_type
69061 , p_component_code => l_component_code
69062 , p_component_type_code => l_component_type_code
69063 , p_component_appl_id => l_component_appl_id
69064 , p_amb_context_code => l_amb_context_code
69065 , p_entity_code => 'AP_PAYMENTS'
69066 , p_event_class_code => 'REFUNDS'
69067 , p_side => 'DEBIT'
69068 );
69069
69070 END IF;
69071
69072 --
69073 --
69074 END IF;
69075
69076 --
69077 -- Update the line information that should be overwritten
69078 --
69079 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69080 p_header_num => 1);
69081 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69082
69083 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69084
69085 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69086 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69087 END IF;
69088
69089 --
69090 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69091 --
69092 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69093 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69094 ELSE
69095 ---------------------------------------------------------------------------------------------------
69096 -- 4262811a Switch Sign
69097 ---------------------------------------------------------------------------------------------------
69098 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69099 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69100 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69101 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69102 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69103 -- 5132302
69104 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69105 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69106
69107 END IF;
69108
69109 -- 4955764
69113
69110 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69111 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69112
69114 XLA_AE_LINES_PKG.ValidateCurrentLine;
69115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69116
69117 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69118 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69119 ,p_balance_type_code => l_balance_type_code);
69120
69121 END IF;
69122
69123 -----------------------------------------------------------------------------------------
69124 -- 4262811 Multiperiod Accounting
69125 -----------------------------------------------------------------------------------------
69126 -- No MPA option is assigned.
69127
69128
69129 END IF;
69130 END IF;
69131 --
69132
69133 --
69134 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69135 trace
69136 (p_msg => 'END of AcctLineType_127'
69137 ,p_level => C_LEVEL_PROCEDURE
69138 ,p_module => l_log_module);
69139 END IF;
69140 --
69141 EXCEPTION
69142 WHEN xla_exceptions_pkg.application_exception THEN
69143 RAISE;
69144 WHEN OTHERS THEN
69145 xla_exceptions_pkg.raise_message
69146 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_127');
69147 END AcctLineType_127;
69148 --
69149
69150 ---------------------------------------
69151 --
69152 -- PRIVATE FUNCTION
69153 -- AcctLineType_128
69154 --
69155 ---------------------------------------
69156 PROCEDURE AcctLineType_128 (
69157 p_application_id IN NUMBER
69158 ,p_event_id IN NUMBER
69159 ,p_calculate_acctd_flag IN VARCHAR2
69160 ,p_calculate_g_l_flag IN VARCHAR2
69161 ,p_actual_flag IN OUT VARCHAR2
69162 ,p_balance_type_code OUT VARCHAR2
69163 ,p_gain_or_loss_ref OUT VARCHAR2
69164
69165 --Payment Currency Code
69166 , p_source_13 IN VARCHAR2
69167 --Automatic Offsets Value
69168 , p_source_15 IN VARCHAR2
69169 , p_source_15_meaning IN VARCHAR2
69170 --Invoice Distribution Account
69171 , p_source_30 IN NUMBER
69172 --Internal Realized Gain Account
69173 , p_source_36 IN NUMBER
69174 --Bank Gain Account
69175 , p_source_37 IN NUMBER
69176 --Accounting Reversal Indicator
69177 , p_source_52 IN VARCHAR2
69178 --Distribution Link Type
69179 , p_source_54 IN VARCHAR2
69180 --Override Accounted Amount Indicator
69181 , p_source_79 IN VARCHAR2
69182 , p_source_79_meaning IN VARCHAR2
69183 --Third Party Type
69184 , p_source_82 IN VARCHAR2
69185 --Invoice Distribution Tax Line Identifier
69186 , p_source_85 IN NUMBER
69187 --Invoice Distribution Summary Tax Line Identifier
69188 , p_source_87 IN NUMBER
69189 --Business Flow Accounts Payable Application Identifier
69190 , p_source_90 IN NUMBER
69191 --When to Account for Payment Option
69192 , p_source_96 IN VARCHAR2
69193 --Payment Distribution Type
69194 , p_source_97 IN VARCHAR2
69195 , p_source_97_meaning IN VARCHAR2
69196 --Payment Distribution Amount
69197 , p_source_98 IN NUMBER
69198 --Business Flow Payment Distribution Type
69199 , p_source_99 IN VARCHAR2
69200 --Business Flow Payment Entity Code
69201 , p_source_100 IN VARCHAR2
69202 --Business Flow Payment Distribution Identifier
69203 , p_source_101 IN NUMBER
69204 --Business Flow Payment Identifier
69205 , p_source_102 IN NUMBER
69206 --Payment Distribution Identifier
69207 , p_source_103 IN NUMBER
69208 --Cleared Exchange Date
69209 , p_source_105 IN DATE
69210 --Cleared Exchange Rate
69211 , p_source_106 IN NUMBER
69212 --Cleared Exchange Rate Type
69213 , p_source_107 IN VARCHAR2
69214 --Payment Supplier Identifier
69215 , p_source_109 IN NUMBER
69216 --Payment Supplier Site Identifier
69217 , p_source_110 IN NUMBER
69218 --Payment Distribution Reversed Identifier
69219 , p_source_111 IN NUMBER
69220 --Payment Identifier
69221 , p_source_112 IN NUMBER
69222 --Payment Maturity Date
69223 , p_source_114 IN DATE
69224 --Gain or Loss Indicator between Maturity and Clearing
69225 , p_source_153 IN VARCHAR2
69226 --Maturity/Clearing Ledger Amount Difference
69227 , p_source_154 IN NUMBER
69228 )
69229 IS
69230
69231 l_component_type VARCHAR2(80);
69232 l_component_code VARCHAR2(30);
69233 l_component_type_code VARCHAR2(1);
69234 l_component_appl_id INTEGER;
69235 l_amb_context_code VARCHAR2(30);
69236 l_entity_code VARCHAR2(30);
69237 l_event_class_code VARCHAR2(30);
69238 l_ae_header_id NUMBER;
69239 l_event_type_code VARCHAR2(30);
69240 l_line_definition_code VARCHAR2(30);
69241 l_line_definition_owner_code VARCHAR2(1);
69242 --
69243 -- adr variables
69244 l_segment VARCHAR2(30);
69245 l_ccid NUMBER;
69246 l_adr_transaction_coa_id NUMBER;
69247 l_adr_accounting_coa_id NUMBER;
69248 l_adr_flexfield_segment_code VARCHAR2(30);
69249 l_adr_flex_value_set_id NUMBER;
69253
69250 l_adr_value_type_code VARCHAR2(30);
69251 l_adr_value_combination_id NUMBER;
69252 l_adr_value_segment_code VARCHAR2(30);
69254 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
69255 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
69256 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
69257 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
69258
69259 -- 4262811 Variables ------------------------------------------------------------------------------------------
69260 l_entered_amt_idx NUMBER;
69261 l_accted_amt_idx NUMBER;
69262 l_acc_rev_flag VARCHAR2(1);
69263 l_accrual_line_num NUMBER;
69264 l_tmp_amt NUMBER;
69265 l_acc_rev_natural_side_code VARCHAR2(1);
69266
69267 l_num_entries NUMBER;
69268 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
69269 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
69270 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
69271 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
69272 l_recog_line_1 NUMBER;
69273 l_recog_line_2 NUMBER;
69274
69275 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
69276 l_bflow_applied_to_amt NUMBER; -- 5132302
69277 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
69278
69279 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
69280
69281 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
69282 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
69283
69284 ---------------------------------------------------------------------------------------------------------------
69285
69286
69287 --
69288 -- bulk performance
69289 --
69290 l_balance_type_code VARCHAR2(1);
69291 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
69292 l_log_module VARCHAR2(240);
69293
69294 --
69295 -- Upgrade strategy
69296 --
69297 l_actual_upg_option VARCHAR2(1);
69298 l_enc_upg_option VARCHAR2(1);
69299
69300 --
69301 BEGIN
69302 --
69303 IF g_log_enabled THEN
69304 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_128';
69305 END IF;
69306 --
69307 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69308
69309 trace
69310 (p_msg => 'BEGIN of AcctLineType_128'
69311 ,p_level => C_LEVEL_PROCEDURE
69312 ,p_module => l_log_module);
69313
69314 END IF;
69315 --
69316 l_component_type := 'AMB_JLT';
69317 l_component_code := 'AP_GAIN_MAT_CLEAR';
69318 l_component_type_code := 'S';
69319 l_component_appl_id := 200;
69320 l_amb_context_code := 'DEFAULT';
69321 l_entity_code := 'AP_PAYMENTS';
69322 l_event_class_code := 'RECONCILED PAYMENTS';
69323 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
69324 l_line_definition_owner_code := 'S';
69325 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
69326 --
69327 l_balance_type_code := 'A';
69328 l_segment := NULL;
69329 l_ccid := NULL;
69330 l_adr_transaction_coa_id := NULL;
69331 l_adr_accounting_coa_id := NULL;
69332 l_adr_flexfield_segment_code := NULL;
69333 l_adr_flex_value_set_id := NULL;
69334 l_adr_value_type_code := NULL;
69335 l_adr_value_combination_id := NULL;
69336 l_adr_value_segment_code := NULL;
69337
69338 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
69339 l_bflow_class_code := ''; -- 4219869 Business Flow
69340 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
69341 l_budgetary_control_flag := 'N';
69342
69343 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69344 l_bflow_applied_to_amt := NULL; -- 5132302
69345 l_entered_amt_idx := NULL; -- 4262811
69346 l_accted_amt_idx := NULL; -- 4262811
69347 l_acc_rev_flag := NULL; -- 4262811
69348 l_accrual_line_num := NULL; -- 4262811
69349 l_tmp_amt := NULL; -- 4262811
69350 --
69351 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
69352 (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
69353 return;
69354 END IF;
69355
69356 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69357 l_balance_type_code <> 'B' THEN
69358 IF NVL(p_source_96,'
69359 ') = 'ALWAYS_ALWAYS' AND
69360 p_source_114 IS NOT NULL AND
69361 NVL(p_source_153,'
69362 ') = 'GAIN' AND
69363 NVL(p_source_97,'
69364 ') <> 'EXCHANGE RATE VARIANCE' AND
69365 NVL(p_source_97,'
69366 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
69367 NVL(p_source_97,'
69368 ') <> 'BANK CHARGE' AND
69369 NVL(p_source_97,'
69370 ') <> 'BANK ERROR'
69371 THEN
69372
69373 --
69374 XLA_AE_LINES_PKG.SetNewLine;
69378
69375
69376 p_balance_type_code := l_balance_type_code;
69377 -- set the flag so later we will know whether the gain loss line needs to be created
69379 IF(l_balance_type_code = 'A' ) THEN
69380 p_actual_flag :='G';
69381 END IF;
69382
69383 --
69384 -- bulk performance
69385 --
69386 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
69387 p_header_num => 0); -- 4262811
69388 --
69389 -- set accounting line options
69390 --
69391 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
69392 p_natural_side_code => 'C'
69393 , p_gain_or_loss_flag => 'Y'
69394 , p_gl_transfer_mode_code => 'S'
69395 , p_acct_entry_type_code => 'A'
69396 , p_switch_side_flag => 'Y'
69397 , p_merge_duplicate_code => 'A'
69398 );
69399 --
69400 l_acc_rev_natural_side_code := 'D'; -- 4262811
69401 --
69402 --
69403 -- set accounting line type info
69404 --
69405 xla_ae_lines_pkg.SetAcctLineType
69406 (p_component_type => l_component_type
69407 ,p_event_type_code => l_event_type_code
69408 ,p_line_definition_owner_code => l_line_definition_owner_code
69409 ,p_line_definition_code => l_line_definition_code
69410 ,p_accounting_line_code => l_component_code
69411 ,p_accounting_line_type_code => l_component_type_code
69412 ,p_accounting_line_appl_id => l_component_appl_id
69413 ,p_amb_context_code => l_amb_context_code
69414 ,p_entity_code => l_entity_code
69415 ,p_event_class_code => l_event_class_code);
69416 --
69417 -- set accounting class
69418 --
69419 xla_ae_lines_pkg.SetAcctClass(
69420 p_accounting_class_code => 'GAIN'
69421 , p_ae_header_id => l_ae_header_id
69422 );
69423
69424 --
69425 -- set rounding class
69426 --
69427 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
69428 'GAIN';
69429
69430 --
69431 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
69432 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
69433 --
69434 -- bulk performance
69435 --
69436 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
69437
69438 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
69439 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
69440
69441 -- 4955764
69442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
69444
69445 -- 4458381 Public Sector Enh
69446
69447 --
69448 -- set accounting attributes for the line type
69449 --
69450 l_entered_amt_idx := 10;
69451 l_accted_amt_idx := 15;
69452 l_bflow_applied_to_amt_idx := 2; -- 5132302
69453 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
69454 l_rec_acct_attrs.array_char_value(1) := p_source_52;
69455 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
69456 l_rec_acct_attrs.array_num_value(2) := p_source_98;
69457 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
69458 l_rec_acct_attrs.array_num_value(3) := p_source_90;
69459 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
69460 l_rec_acct_attrs.array_char_value(4) := p_source_99;
69461 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
69462 l_rec_acct_attrs.array_char_value(5) := p_source_100;
69463 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
69464 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
69465 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
69466 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
69467 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
69468 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
69469 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
69470 l_rec_acct_attrs.array_char_value(9) := p_source_54;
69471 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
69472 l_rec_acct_attrs.array_num_value(10) := p_source_98;
69473 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
69474 l_rec_acct_attrs.array_char_value(11) := p_source_13;
69475 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
69476 l_rec_acct_attrs.array_date_value(12) := p_source_105;
69477 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
69478 l_rec_acct_attrs.array_num_value(13) := p_source_106;
69479 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
69480 l_rec_acct_attrs.array_char_value(14) := p_source_107;
69481 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
69482 l_rec_acct_attrs.array_num_value(15) := p_source_154;
69483 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
69484 l_rec_acct_attrs.array_char_value(16) := p_source_79;
69488 l_rec_acct_attrs.array_num_value(18) := p_source_110;
69485 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
69486 l_rec_acct_attrs.array_num_value(17) := p_source_109;
69487 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
69489 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
69490 l_rec_acct_attrs.array_char_value(19) := p_source_82;
69491 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
69492 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
69493 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
69494 l_rec_acct_attrs.array_char_value(21) := p_source_54;
69495 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
69496 l_rec_acct_attrs.array_num_value(22) := p_source_85;
69497 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
69498 l_rec_acct_attrs.array_num_value(23) := p_source_85;
69499 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
69500 l_rec_acct_attrs.array_num_value(24) := p_source_87;
69501
69502 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
69503 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
69504
69505 ---------------------------------------------------------------------------------------------------------------
69506 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
69507 ---------------------------------------------------------------------------------------------------------------
69508 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
69509
69510 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69511 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69512
69513 IF xla_accounting_cache_pkg.GetValueChar
69514 (p_source_code => 'LEDGER_CATEGORY_CODE'
69515 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
69516 AND l_bflow_method_code = 'PRIOR_ENTRY'
69517 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
69518 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
69519 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
69520 )
69521 THEN
69522 xla_ae_lines_pkg.BflowUpgEntry
69523 (p_business_method_code => l_bflow_method_code
69524 ,p_business_class_code => l_bflow_class_code
69525 ,p_balance_type => l_balance_type_code);
69526 ELSE
69527 NULL;
69528 -- No business flow processing for business flow method of NONE.
69529 END IF;
69530
69531 --
69532 -- call analytical criteria
69533 --
69534
69535
69536 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
69537 xla_ae_lines_pkg.SetAnalyticalCriteria(
69538 p_analytical_criterion_name => 'Check Id'
69539 , p_analytical_criterion_owner => 'S'
69540 , p_analytical_criterion_code => 'CHECK_ID'
69541 , p_amb_context_code => 'DEFAULT'
69542 , p_balancing_flag => 'N'
69543
69544 , p_analytical_detail_char_1 => NULL
69545 , p_analytical_detail_num_1 => p_source_112
69546 , p_analytical_detail_date_1 => NULL
69547
69548 , p_ae_header_id => l_ae_header_id
69549 )
69550 ;
69551 --
69552
69553 --
69554 -- call description
69555 --
69556 -- No description or it is inherited.
69557 --
69558 -- call ADRs
69559 -- Bug 4922099
69560 --
69561 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69562 (NVL(l_actual_upg_option, 'N') = 'O') OR
69563 (NVL(l_enc_upg_option, 'N') = 'O')
69564 )
69565 THEN
69566 NULL;
69567 --
69568 --
69569
69570 l_ccid := AcctDerRule_37(
69571 p_application_id => p_application_id
69572 , p_ae_header_id => l_ae_header_id
69573 , p_source_15 => p_source_15
69574 , p_source_15_meaning => p_source_15_meaning
69575 , p_source_30 => p_source_30
69576 , p_source_36 => p_source_36
69577 , p_source_37 => p_source_37
69578 , x_transaction_coa_id => l_adr_transaction_coa_id
69579 , x_accounting_coa_id => l_adr_accounting_coa_id
69580 , x_value_type_code => l_adr_value_type_code
69581 , p_side => 'NA'
69582 );
69583
69584 xla_ae_lines_pkg.set_ccid(
69585 p_code_combination_id => l_ccid
69586 , p_value_type_code => l_adr_value_type_code
69587 , p_transaction_coa_id => l_adr_transaction_coa_id
69588 , p_accounting_coa_id => l_adr_accounting_coa_id
69589 , p_adr_code => 'AP_REAL_GAIN'
69590 , p_adr_type_code => 'S'
69591 , p_component_type => l_component_type
69592 , p_component_code => l_component_code
69593 , p_component_type_code => l_component_type_code
69594 , p_component_appl_id => l_component_appl_id
69595 , p_amb_context_code => l_amb_context_code
69596 , p_side => 'NA'
69597 );
69598
69599
69600 l_segment := AcctDerRule_22(
69601 p_application_id => p_application_id
69605 , p_source_30 => p_source_30
69602 , p_ae_header_id => l_ae_header_id
69603 , p_source_15 => p_source_15
69604 , p_source_15_meaning => p_source_15_meaning
69606 , x_transaction_coa_id => l_adr_transaction_coa_id
69607 , x_accounting_coa_id => l_adr_accounting_coa_id
69608 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69609 , x_flex_value_set_id => l_adr_flex_value_set_id
69610 , x_value_type_code => l_adr_value_type_code
69611 , x_value_combination_id => l_adr_value_combination_id
69612 , x_value_segment_code => l_adr_value_segment_code
69613 , p_side => 'NA'
69614 , p_override_seg_flag => 'Y'
69615 );
69616
69617 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69618
69619 xla_ae_lines_pkg.set_segment(
69620 p_to_segment_code => 'GL_BALANCING'
69621 , p_segment_value => l_segment
69622 , p_from_segment_code => l_adr_value_segment_code
69623 , p_from_combination_id => l_adr_value_combination_id
69624 , p_value_type_code => l_adr_value_type_code
69625 , p_transaction_coa_id => l_adr_transaction_coa_id
69626 , p_accounting_coa_id => l_adr_accounting_coa_id
69627 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69628 , p_flex_value_set_id => l_adr_flex_value_set_id
69629 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69630 , p_adr_type_code => 'S'
69631 , p_component_type => l_component_type
69632 , p_component_code => l_component_code
69633 , p_component_type_code => l_component_type_code
69634 , p_component_appl_id => l_component_appl_id
69635 , p_amb_context_code => l_amb_context_code
69636 , p_entity_code => 'AP_PAYMENTS'
69637 , p_event_class_code => 'RECONCILED PAYMENTS'
69638 , p_side => 'NA'
69639 );
69640
69641 END IF;
69642
69643 l_segment := AcctDerRule_17(
69644 p_application_id => p_application_id
69645 , p_ae_header_id => l_ae_header_id
69646 , p_source_15 => p_source_15
69647 , p_source_15_meaning => p_source_15_meaning
69648 , p_source_36 => p_source_36
69649 , p_source_37 => p_source_37
69650 , x_transaction_coa_id => l_adr_transaction_coa_id
69651 , x_accounting_coa_id => l_adr_accounting_coa_id
69652 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69653 , x_flex_value_set_id => l_adr_flex_value_set_id
69654 , x_value_type_code => l_adr_value_type_code
69655 , x_value_combination_id => l_adr_value_combination_id
69656 , x_value_segment_code => l_adr_value_segment_code
69657 , p_side => 'NA'
69658 , p_override_seg_flag => 'Y'
69659 );
69660
69661 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69662
69663 xla_ae_lines_pkg.set_segment(
69664 p_to_segment_code => 'GL_ACCOUNT'
69665 , p_segment_value => l_segment
69666 , p_from_segment_code => l_adr_value_segment_code
69667 , p_from_combination_id => l_adr_value_combination_id
69668 , p_value_type_code => l_adr_value_type_code
69669 , p_transaction_coa_id => l_adr_transaction_coa_id
69670 , p_accounting_coa_id => l_adr_accounting_coa_id
69671 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69672 , p_flex_value_set_id => l_adr_flex_value_set_id
69673 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69674 , p_adr_type_code => 'S'
69675 , p_component_type => l_component_type
69676 , p_component_code => l_component_code
69677 , p_component_type_code => l_component_type_code
69678 , p_component_appl_id => l_component_appl_id
69679 , p_amb_context_code => l_amb_context_code
69680 , p_entity_code => 'AP_PAYMENTS'
69681 , p_event_class_code => 'RECONCILED PAYMENTS'
69682 , p_side => 'NA'
69683 );
69684
69685 END IF;
69686
69687 --
69688 --
69689 END IF;
69690 --
69691 -- Bug 4922099
69692 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
69693 (NVL(l_enc_upg_option, 'N') = 'O')
69694 ) AND
69695 (l_bflow_method_code = 'PRIOR_ENTRY')
69696 )
69697 THEN
69698 IF
69699 --
69700 1 = 2
69701 --
69702 THEN
69703 xla_accounting_err_pkg.build_message
69704 (p_appli_s_name => 'XLA'
69705 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69706 ,p_token_1 => 'LINE_NUMBER'
69707 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
69708 ,p_token_2 => 'LINE_TYPE_NAME'
69709 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
69710 l_component_type
69714 ,l_amb_context_code
69711 ,l_component_code
69712 ,l_component_type_code
69713 ,l_component_appl_id
69715 ,l_entity_code
69716 ,l_event_class_code
69717 )
69718 ,p_token_3 => 'OWNER'
69719 ,p_value_3 => xla_lookups_pkg.get_meaning(
69720 p_lookup_type => 'XLA_OWNER_TYPE'
69721 ,p_lookup_code => l_component_type_code
69722 )
69723 ,p_token_4 => 'PRODUCT_NAME'
69724 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
69725 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
69726 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
69727 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
69728 ,p_ae_header_id => NULL
69729 );
69730
69731 IF (C_LEVEL_ERROR>= g_log_level) THEN
69732 trace
69733 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69734 ,p_level => C_LEVEL_ERROR
69735 ,p_module => l_log_module);
69736 END IF;
69737 END IF;
69738 END IF;
69739 --
69740 --
69741 ------------------------------------------------------------------------------------------------
69742 -- 4219869 Business Flow
69743 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
69744 -- Prior Entry. Currently, the following code is always generated.
69745 ------------------------------------------------------------------------------------------------
69746 XLA_AE_LINES_PKG.ValidateCurrentLine;
69747
69748 ------------------------------------------------------------------------------------
69749 -- 4219869 Business Flow
69750 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
69751 ------------------------------------------------------------------------------------
69752 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69753
69754 ----------------------------------------------------------------------------------
69755 -- 4219869 Business Flow
69756 -- Update journal entry status -- Need to generate this within IF <condition>
69757 ----------------------------------------------------------------------------------
69758 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69759 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
69760 ,p_balance_type_code => l_balance_type_code
69761 );
69762
69763 -------------------------------------------------------------------------------------------
69764 -- 4262811 - Generate the Accrual Reversal lines
69765 -------------------------------------------------------------------------------------------
69766 BEGIN
69767 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
69768 (g_array_event(p_event_id).array_value_num('header_index'));
69769 IF l_acc_rev_flag IS NULL THEN
69770 l_acc_rev_flag := 'N';
69771 END IF;
69772 EXCEPTION
69773 WHEN OTHERS THEN
69774 l_acc_rev_flag := 'N';
69775 END;
69776 --
69777 IF (l_acc_rev_flag = 'Y') THEN
69778
69779 -- 4645092 ------------------------------------------------------------------------------
69780 -- To allow MPA report to determine if it should generate report process
69781 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
69782 ------------------------------------------------------------------------------------------
69783
69784 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
69785 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
69786 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
69787 -- call ADRs
69788 -- Bug 4922099
69789 --
69790 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69791 (NVL(l_actual_upg_option, 'N') = 'O') OR
69792 (NVL(l_enc_upg_option, 'N') = 'O')
69793 )
69794 THEN
69795 NULL;
69796 --
69797 --
69798
69799 l_ccid := AcctDerRule_37(
69800 p_application_id => p_application_id
69801 , p_ae_header_id => l_ae_header_id
69802 , p_source_15 => p_source_15
69803 , p_source_15_meaning => p_source_15_meaning
69804 , p_source_30 => p_source_30
69805 , p_source_36 => p_source_36
69806 , p_source_37 => p_source_37
69807 , x_transaction_coa_id => l_adr_transaction_coa_id
69808 , x_accounting_coa_id => l_adr_accounting_coa_id
69809 , x_value_type_code => l_adr_value_type_code
69810 , p_side => 'NA'
69811 );
69815 , p_value_type_code => l_adr_value_type_code
69812
69813 xla_ae_lines_pkg.set_ccid(
69814 p_code_combination_id => l_ccid
69816 , p_transaction_coa_id => l_adr_transaction_coa_id
69817 , p_accounting_coa_id => l_adr_accounting_coa_id
69818 , p_adr_code => 'AP_REAL_GAIN'
69819 , p_adr_type_code => 'S'
69820 , p_component_type => l_component_type
69821 , p_component_code => l_component_code
69822 , p_component_type_code => l_component_type_code
69823 , p_component_appl_id => l_component_appl_id
69824 , p_amb_context_code => l_amb_context_code
69825 , p_side => 'NA'
69826 );
69827
69828
69829 l_segment := AcctDerRule_22(
69830 p_application_id => p_application_id
69831 , p_ae_header_id => l_ae_header_id
69832 , p_source_15 => p_source_15
69833 , p_source_15_meaning => p_source_15_meaning
69834 , p_source_30 => p_source_30
69835 , x_transaction_coa_id => l_adr_transaction_coa_id
69836 , x_accounting_coa_id => l_adr_accounting_coa_id
69837 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69838 , x_flex_value_set_id => l_adr_flex_value_set_id
69839 , x_value_type_code => l_adr_value_type_code
69840 , x_value_combination_id => l_adr_value_combination_id
69841 , x_value_segment_code => l_adr_value_segment_code
69842 , p_side => 'NA'
69843 , p_override_seg_flag => 'Y'
69844 );
69845
69846 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69847
69848 xla_ae_lines_pkg.set_segment(
69849 p_to_segment_code => 'GL_BALANCING'
69850 , p_segment_value => l_segment
69851 , p_from_segment_code => l_adr_value_segment_code
69852 , p_from_combination_id => l_adr_value_combination_id
69853 , p_value_type_code => l_adr_value_type_code
69854 , p_transaction_coa_id => l_adr_transaction_coa_id
69855 , p_accounting_coa_id => l_adr_accounting_coa_id
69856 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69857 , p_flex_value_set_id => l_adr_flex_value_set_id
69858 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69859 , p_adr_type_code => 'S'
69860 , p_component_type => l_component_type
69861 , p_component_code => l_component_code
69862 , p_component_type_code => l_component_type_code
69863 , p_component_appl_id => l_component_appl_id
69864 , p_amb_context_code => l_amb_context_code
69865 , p_entity_code => 'AP_PAYMENTS'
69866 , p_event_class_code => 'RECONCILED PAYMENTS'
69867 , p_side => 'NA'
69868 );
69869
69870 END IF;
69871
69872 l_segment := AcctDerRule_17(
69873 p_application_id => p_application_id
69874 , p_ae_header_id => l_ae_header_id
69875 , p_source_15 => p_source_15
69876 , p_source_15_meaning => p_source_15_meaning
69877 , p_source_36 => p_source_36
69878 , p_source_37 => p_source_37
69879 , x_transaction_coa_id => l_adr_transaction_coa_id
69880 , x_accounting_coa_id => l_adr_accounting_coa_id
69881 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69882 , x_flex_value_set_id => l_adr_flex_value_set_id
69883 , x_value_type_code => l_adr_value_type_code
69884 , x_value_combination_id => l_adr_value_combination_id
69885 , x_value_segment_code => l_adr_value_segment_code
69886 , p_side => 'NA'
69887 , p_override_seg_flag => 'Y'
69888 );
69889
69890 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69891
69892 xla_ae_lines_pkg.set_segment(
69893 p_to_segment_code => 'GL_ACCOUNT'
69894 , p_segment_value => l_segment
69895 , p_from_segment_code => l_adr_value_segment_code
69896 , p_from_combination_id => l_adr_value_combination_id
69897 , p_value_type_code => l_adr_value_type_code
69898 , p_transaction_coa_id => l_adr_transaction_coa_id
69899 , p_accounting_coa_id => l_adr_accounting_coa_id
69900 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69901 , p_flex_value_set_id => l_adr_flex_value_set_id
69902 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69903 , p_adr_type_code => 'S'
69904 , p_component_type => l_component_type
69905 , p_component_code => l_component_code
69906 , p_component_type_code => l_component_type_code
69907 , p_component_appl_id => l_component_appl_id
69908 , p_amb_context_code => l_amb_context_code
69909 , p_entity_code => 'AP_PAYMENTS'
69910 , p_event_class_code => 'RECONCILED PAYMENTS'
69911 , p_side => 'NA'
69912 );
69913
69914 END IF;
69915
69916 --
69917 --
69918 END IF;
69919
69920 --
69921 -- Update the line information that should be overwritten
69922 --
69926
69923 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69924 p_header_num => 1);
69925 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69928
69929 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69930 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69931 END IF;
69932
69933 --
69934 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69935 --
69936 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69937 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69938 ELSE
69939 ---------------------------------------------------------------------------------------------------
69940 -- 4262811a Switch Sign
69941 ---------------------------------------------------------------------------------------------------
69942 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69946 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69947 -- 5132302
69948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69949 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69950
69951 END IF;
69952
69953 -- 4955764
69954 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69955 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69956
69957
69958 XLA_AE_LINES_PKG.ValidateCurrentLine;
69959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69960
69961 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69962 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69963 ,p_balance_type_code => l_balance_type_code);
69964
69965 END IF;
69966
69967 -----------------------------------------------------------------------------------------
69968 -- 4262811 Multiperiod Accounting
69969 -----------------------------------------------------------------------------------------
69970 -- No MPA option is assigned.
69971
69972
69973 END IF;
69974 END IF;
69975 --
69976
69977 --
69978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69979 trace
69980 (p_msg => 'END of AcctLineType_128'
69981 ,p_level => C_LEVEL_PROCEDURE
69982 ,p_module => l_log_module);
69983 END IF;
69984 --
69985 EXCEPTION
69986 WHEN xla_exceptions_pkg.application_exception THEN
69987 RAISE;
69988 WHEN OTHERS THEN
69989 xla_exceptions_pkg.raise_message
69990 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_128');
69991 END AcctLineType_128;
69992 --
69993
69994 ---------------------------------------
69995 --
69996 -- PRIVATE FUNCTION
69997 -- AcctLineType_129
69998 --
69999 ---------------------------------------
70000 PROCEDURE AcctLineType_129 (
70001 p_application_id IN NUMBER
70002 ,p_event_id IN NUMBER
70003 ,p_calculate_acctd_flag IN VARCHAR2
70004 ,p_calculate_g_l_flag IN VARCHAR2
70005 ,p_actual_flag IN OUT VARCHAR2
70006 ,p_balance_type_code OUT VARCHAR2
70007 ,p_gain_or_loss_ref OUT VARCHAR2
70008
70009 --Payment Currency Code
70010 , p_source_13 IN VARCHAR2
70011 --Automatic Offsets Value
70012 , p_source_15 IN VARCHAR2
70013 , p_source_15_meaning IN VARCHAR2
70014 --Invoice Distribution Account
70015 , p_source_30 IN NUMBER
70016 --Internal Realized Gain Account
70017 , p_source_36 IN NUMBER
70018 --Bank Gain Account
70019 , p_source_37 IN NUMBER
70020 --Accounting Reversal Indicator
70021 , p_source_52 IN VARCHAR2
70022 --Distribution Link Type
70023 , p_source_54 IN VARCHAR2
70024 --Override Accounted Amount Indicator
70025 , p_source_79 IN VARCHAR2
70026 , p_source_79_meaning IN VARCHAR2
70027 --Third Party Type
70028 , p_source_82 IN VARCHAR2
70029 --Invoice Distribution Tax Line Identifier
70030 , p_source_85 IN NUMBER
70031 --Invoice Distribution Tax Distribution Identifier from Tax
70032 , p_source_86 IN NUMBER
70033 --Invoice Distribution Summary Tax Line Identifier
70034 , p_source_87 IN NUMBER
70035 --Business Flow Accounts Payable Application Identifier
70036 , p_source_90 IN NUMBER
70037 --Business Flow Invoice Distribution Type
70038 , p_source_91 IN VARCHAR2
70039 --Business Flow Invoice Entity Code
70040 , p_source_92 IN VARCHAR2
70041 --Business Flow Invoice Distribution Identifier
70045 --When to Account for Payment Option
70042 , p_source_93 IN NUMBER
70043 --Business Flow Invoice Identifier
70044 , p_source_94 IN NUMBER
70046 , p_source_96 IN VARCHAR2
70047 --Payment Distribution Type
70048 , p_source_97 IN VARCHAR2
70049 , p_source_97_meaning IN VARCHAR2
70050 --Payment Distribution Amount
70051 , p_source_98 IN NUMBER
70052 --Payment Distribution Identifier
70053 , p_source_103 IN NUMBER
70054 --Payment Supplier Identifier
70055 , p_source_109 IN NUMBER
70056 --Payment Supplier Site Identifier
70057 , p_source_110 IN NUMBER
70058 --Payment Distribution Reversed Identifier
70059 , p_source_111 IN NUMBER
70060 --Payment Identifier
70061 , p_source_112 IN NUMBER
70062 --Payment Exchange Date
70063 , p_source_117 IN DATE
70064 --Payment Exchange Rate
70065 , p_source_118 IN NUMBER
70066 --Payment Exchange Rate Type
70067 , p_source_119 IN VARCHAR2
70068 --Payment Type
70069 , p_source_122 IN VARCHAR2
70070 , p_source_122_meaning IN VARCHAR2
70071 --Invoice Distribution Amount of the Payment Distribution
70072 , p_source_124 IN NUMBER
70073 --Invoice/Payment Ledger Amount Difference
70074 , p_source_150 IN NUMBER
70075 --Gain or Loss Indicator between Invoice and Payment
70076 , p_source_155 IN VARCHAR2
70077 )
70078 IS
70079
70080 l_component_type VARCHAR2(80);
70081 l_component_code VARCHAR2(30);
70082 l_component_type_code VARCHAR2(1);
70083 l_component_appl_id INTEGER;
70084 l_amb_context_code VARCHAR2(30);
70085 l_entity_code VARCHAR2(30);
70086 l_event_class_code VARCHAR2(30);
70087 l_ae_header_id NUMBER;
70088 l_event_type_code VARCHAR2(30);
70089 l_line_definition_code VARCHAR2(30);
70090 l_line_definition_owner_code VARCHAR2(1);
70091 --
70092 -- adr variables
70093 l_segment VARCHAR2(30);
70094 l_ccid NUMBER;
70095 l_adr_transaction_coa_id NUMBER;
70096 l_adr_accounting_coa_id NUMBER;
70097 l_adr_flexfield_segment_code VARCHAR2(30);
70098 l_adr_flex_value_set_id NUMBER;
70099 l_adr_value_type_code VARCHAR2(30);
70100 l_adr_value_combination_id NUMBER;
70101 l_adr_value_segment_code VARCHAR2(30);
70102
70103 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70104 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70105 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70106 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70107
70108 -- 4262811 Variables ------------------------------------------------------------------------------------------
70109 l_entered_amt_idx NUMBER;
70110 l_accted_amt_idx NUMBER;
70111 l_acc_rev_flag VARCHAR2(1);
70112 l_accrual_line_num NUMBER;
70113 l_tmp_amt NUMBER;
70114 l_acc_rev_natural_side_code VARCHAR2(1);
70115
70116 l_num_entries NUMBER;
70117 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70118 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70119 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70120 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70121 l_recog_line_1 NUMBER;
70122 l_recog_line_2 NUMBER;
70123
70124 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70125 l_bflow_applied_to_amt NUMBER; -- 5132302
70126 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70127
70128 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70129
70130 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70131 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70132
70133 ---------------------------------------------------------------------------------------------------------------
70134
70135
70136 --
70137 -- bulk performance
70138 --
70139 l_balance_type_code VARCHAR2(1);
70140 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70141 l_log_module VARCHAR2(240);
70142
70143 --
70144 -- Upgrade strategy
70145 --
70146 l_actual_upg_option VARCHAR2(1);
70147 l_enc_upg_option VARCHAR2(1);
70148
70149 --
70150 BEGIN
70151 --
70152 IF g_log_enabled THEN
70153 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_129';
70154 END IF;
70155 --
70156 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70157
70158 trace
70159 (p_msg => 'BEGIN of AcctLineType_129'
70160 ,p_level => C_LEVEL_PROCEDURE
70161 ,p_module => l_log_module);
70162
70163 END IF;
70164 --
70165 l_component_type := 'AMB_JLT';
70166 l_component_code := 'AP_GAIN_PMT';
70167 l_component_type_code := 'S';
70168 l_component_appl_id := 200;
70169 l_amb_context_code := 'DEFAULT';
70170 l_entity_code := 'AP_PAYMENTS';
70171 l_event_class_code := 'PAYMENTS';
70175 --
70172 l_event_type_code := 'PAYMENTS_ALL';
70173 l_line_definition_owner_code := 'S';
70174 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
70176 l_balance_type_code := 'A';
70177 l_segment := NULL;
70178 l_ccid := NULL;
70179 l_adr_transaction_coa_id := NULL;
70180 l_adr_accounting_coa_id := NULL;
70181 l_adr_flexfield_segment_code := NULL;
70182 l_adr_flex_value_set_id := NULL;
70183 l_adr_value_type_code := NULL;
70184 l_adr_value_combination_id := NULL;
70185 l_adr_value_segment_code := NULL;
70186
70187 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
70188 l_bflow_class_code := ''; -- 4219869 Business Flow
70189 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
70190 l_budgetary_control_flag := 'N';
70191
70192 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70193 l_bflow_applied_to_amt := NULL; -- 5132302
70194 l_entered_amt_idx := NULL; -- 4262811
70195 l_accted_amt_idx := NULL; -- 4262811
70196 l_acc_rev_flag := NULL; -- 4262811
70197 l_accrual_line_num := NULL; -- 4262811
70198 l_tmp_amt := NULL; -- 4262811
70199 --
70200 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70201 (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
70202 return;
70203 END IF;
70204
70205 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
70206 l_balance_type_code <> 'B' THEN
70207 IF (NVL(p_source_96,'
70208 ') <> 'CLEAR_CLEAR' AND
70209 NVL(p_source_96,'
70210 ') <> 'ALWAYS_CLEAR') AND
70211 NVL(p_source_155,'
70212 ') = 'GAIN' AND
70213 NVL(p_source_97,'
70214 ') <> 'EXCHANGE RATE VARIANCE' AND
70215 NVL(p_source_97,'
70216 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
70217 NVL(p_source_97,'
70218 ') <> 'BANK ERROR' AND
70219 NVL(p_source_97,'
70220 ') <> 'BANK CHARGE' AND
70221 NVL(p_source_97,'
70222 ') <> 'AWT' AND
70223 NVL(p_source_122,'
70224 ') <> 'R'
70225 THEN
70226
70227 --
70228 XLA_AE_LINES_PKG.SetNewLine;
70229
70230 p_balance_type_code := l_balance_type_code;
70231 -- set the flag so later we will know whether the gain loss line needs to be created
70232
70233 IF(l_balance_type_code = 'A' ) THEN
70234 p_actual_flag :='G';
70235 END IF;
70236
70237 --
70238 -- bulk performance
70239 --
70240 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70241 p_header_num => 0); -- 4262811
70242 --
70243 -- set accounting line options
70244 --
70245 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70246 p_natural_side_code => 'C'
70247 , p_gain_or_loss_flag => 'Y'
70248 , p_gl_transfer_mode_code => 'S'
70249 , p_acct_entry_type_code => 'A'
70250 , p_switch_side_flag => 'Y'
70251 , p_merge_duplicate_code => 'A'
70252 );
70253 --
70254 l_acc_rev_natural_side_code := 'D'; -- 4262811
70255 --
70256 --
70257 -- set accounting line type info
70258 --
70259 xla_ae_lines_pkg.SetAcctLineType
70260 (p_component_type => l_component_type
70261 ,p_event_type_code => l_event_type_code
70262 ,p_line_definition_owner_code => l_line_definition_owner_code
70263 ,p_line_definition_code => l_line_definition_code
70264 ,p_accounting_line_code => l_component_code
70265 ,p_accounting_line_type_code => l_component_type_code
70266 ,p_accounting_line_appl_id => l_component_appl_id
70267 ,p_amb_context_code => l_amb_context_code
70268 ,p_entity_code => l_entity_code
70269 ,p_event_class_code => l_event_class_code);
70270 --
70271 -- set accounting class
70272 --
70273 xla_ae_lines_pkg.SetAcctClass(
70274 p_accounting_class_code => 'GAIN'
70275 , p_ae_header_id => l_ae_header_id
70276 );
70277
70278 --
70279 -- set rounding class
70280 --
70281 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
70282 'GAIN';
70283
70284 --
70285 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
70286 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
70287 --
70288 -- bulk performance
70289 --
70290 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
70291
70292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
70293 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
70294
70295 -- 4955764
70296 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70297 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
70298
70299 -- 4458381 Public Sector Enh
70300
70301 --
70302 -- set accounting attributes for the line type
70306 l_bflow_applied_to_amt_idx := 2; -- 5132302
70303 --
70304 l_entered_amt_idx := 10;
70305 l_accted_amt_idx := 15;
70307 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
70308 l_rec_acct_attrs.array_char_value(1) := p_source_52;
70309 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
70310 l_rec_acct_attrs.array_num_value(2) := p_source_124;
70311 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
70312 l_rec_acct_attrs.array_num_value(3) := p_source_90;
70313 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
70314 l_rec_acct_attrs.array_char_value(4) := p_source_91;
70315 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
70316 l_rec_acct_attrs.array_char_value(5) := p_source_92;
70317 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
70318 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
70319 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
70320 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
70321 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
70322 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
70323 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
70324 l_rec_acct_attrs.array_char_value(9) := p_source_54;
70325 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
70326 l_rec_acct_attrs.array_num_value(10) := p_source_98;
70327 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
70328 l_rec_acct_attrs.array_char_value(11) := p_source_13;
70329 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
70330 l_rec_acct_attrs.array_date_value(12) := p_source_117;
70331 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
70332 l_rec_acct_attrs.array_num_value(13) := p_source_118;
70333 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
70334 l_rec_acct_attrs.array_char_value(14) := p_source_119;
70335 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
70336 l_rec_acct_attrs.array_num_value(15) := p_source_150;
70337 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
70338 l_rec_acct_attrs.array_char_value(16) := p_source_79;
70339 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
70340 l_rec_acct_attrs.array_num_value(17) := p_source_109;
70341 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
70342 l_rec_acct_attrs.array_num_value(18) := p_source_110;
70343 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
70344 l_rec_acct_attrs.array_char_value(19) := p_source_82;
70345 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
70346 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
70347 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
70348 l_rec_acct_attrs.array_char_value(21) := p_source_54;
70349 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
70350 l_rec_acct_attrs.array_num_value(22) := p_source_85;
70351 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
70352 l_rec_acct_attrs.array_num_value(23) := p_source_86;
70353 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
70354 l_rec_acct_attrs.array_num_value(24) := p_source_87;
70355
70356 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
70357 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
70358
70359 ---------------------------------------------------------------------------------------------------------------
70360 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
70361 ---------------------------------------------------------------------------------------------------------------
70362 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
70363
70364 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70365 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70366
70367 IF xla_accounting_cache_pkg.GetValueChar
70368 (p_source_code => 'LEDGER_CATEGORY_CODE'
70369 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
70370 AND l_bflow_method_code = 'PRIOR_ENTRY'
70371 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
70372 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
70373 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70374 )
70375 THEN
70376 xla_ae_lines_pkg.BflowUpgEntry
70377 (p_business_method_code => l_bflow_method_code
70378 ,p_business_class_code => l_bflow_class_code
70379 ,p_balance_type => l_balance_type_code);
70380 ELSE
70381 NULL;
70382 -- No business flow processing for business flow method of NONE.
70383 END IF;
70384
70385 --
70386 -- call analytical criteria
70387 --
70388
70389
70390 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
70391 xla_ae_lines_pkg.SetAnalyticalCriteria(
70392 p_analytical_criterion_name => 'Check Id'
70393 , p_analytical_criterion_owner => 'S'
70394 , p_analytical_criterion_code => 'CHECK_ID'
70395 , p_amb_context_code => 'DEFAULT'
70396 , p_balancing_flag => 'N'
70397
70401
70398 , p_analytical_detail_char_1 => NULL
70399 , p_analytical_detail_num_1 => p_source_112
70400 , p_analytical_detail_date_1 => NULL
70402 , p_ae_header_id => l_ae_header_id
70403 )
70404 ;
70405 --
70406
70407 --
70408 -- call description
70409 --
70410 -- No description or it is inherited.
70411 --
70412 -- call ADRs
70413 -- Bug 4922099
70414 --
70415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70416 (NVL(l_actual_upg_option, 'N') = 'O') OR
70417 (NVL(l_enc_upg_option, 'N') = 'O')
70418 )
70419 THEN
70420 NULL;
70421 --
70422 --
70423
70424 l_ccid := AcctDerRule_37(
70425 p_application_id => p_application_id
70426 , p_ae_header_id => l_ae_header_id
70427 , p_source_15 => p_source_15
70428 , p_source_15_meaning => p_source_15_meaning
70429 , p_source_30 => p_source_30
70430 , p_source_36 => p_source_36
70431 , p_source_37 => p_source_37
70432 , x_transaction_coa_id => l_adr_transaction_coa_id
70433 , x_accounting_coa_id => l_adr_accounting_coa_id
70434 , x_value_type_code => l_adr_value_type_code
70435 , p_side => 'NA'
70436 );
70437
70438 xla_ae_lines_pkg.set_ccid(
70439 p_code_combination_id => l_ccid
70440 , p_value_type_code => l_adr_value_type_code
70441 , p_transaction_coa_id => l_adr_transaction_coa_id
70442 , p_accounting_coa_id => l_adr_accounting_coa_id
70443 , p_adr_code => 'AP_REAL_GAIN'
70444 , p_adr_type_code => 'S'
70445 , p_component_type => l_component_type
70446 , p_component_code => l_component_code
70447 , p_component_type_code => l_component_type_code
70448 , p_component_appl_id => l_component_appl_id
70449 , p_amb_context_code => l_amb_context_code
70450 , p_side => 'NA'
70451 );
70452
70453
70454 l_segment := AcctDerRule_22(
70455 p_application_id => p_application_id
70456 , p_ae_header_id => l_ae_header_id
70457 , p_source_15 => p_source_15
70458 , p_source_15_meaning => p_source_15_meaning
70459 , p_source_30 => p_source_30
70460 , x_transaction_coa_id => l_adr_transaction_coa_id
70461 , x_accounting_coa_id => l_adr_accounting_coa_id
70462 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70463 , x_flex_value_set_id => l_adr_flex_value_set_id
70464 , x_value_type_code => l_adr_value_type_code
70465 , x_value_combination_id => l_adr_value_combination_id
70466 , x_value_segment_code => l_adr_value_segment_code
70467 , p_side => 'NA'
70468 , p_override_seg_flag => 'Y'
70469 );
70470
70471 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70472
70473 xla_ae_lines_pkg.set_segment(
70474 p_to_segment_code => 'GL_BALANCING'
70475 , p_segment_value => l_segment
70476 , p_from_segment_code => l_adr_value_segment_code
70477 , p_from_combination_id => l_adr_value_combination_id
70478 , p_value_type_code => l_adr_value_type_code
70479 , p_transaction_coa_id => l_adr_transaction_coa_id
70480 , p_accounting_coa_id => l_adr_accounting_coa_id
70481 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70482 , p_flex_value_set_id => l_adr_flex_value_set_id
70483 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70484 , p_adr_type_code => 'S'
70485 , p_component_type => l_component_type
70486 , p_component_code => l_component_code
70487 , p_component_type_code => l_component_type_code
70488 , p_component_appl_id => l_component_appl_id
70489 , p_amb_context_code => l_amb_context_code
70490 , p_entity_code => 'AP_PAYMENTS'
70491 , p_event_class_code => 'PAYMENTS'
70492 , p_side => 'NA'
70493 );
70494
70495 END IF;
70496
70497 l_segment := AcctDerRule_17(
70498 p_application_id => p_application_id
70499 , p_ae_header_id => l_ae_header_id
70500 , p_source_15 => p_source_15
70501 , p_source_15_meaning => p_source_15_meaning
70502 , p_source_36 => p_source_36
70503 , p_source_37 => p_source_37
70504 , x_transaction_coa_id => l_adr_transaction_coa_id
70505 , x_accounting_coa_id => l_adr_accounting_coa_id
70506 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70507 , x_flex_value_set_id => l_adr_flex_value_set_id
70508 , x_value_type_code => l_adr_value_type_code
70509 , x_value_combination_id => l_adr_value_combination_id
70510 , x_value_segment_code => l_adr_value_segment_code
70511 , p_side => 'NA'
70512 , p_override_seg_flag => 'Y'
70513 );
70514
70515 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70516
70517 xla_ae_lines_pkg.set_segment(
70518 p_to_segment_code => 'GL_ACCOUNT'
70522 , p_value_type_code => l_adr_value_type_code
70519 , p_segment_value => l_segment
70520 , p_from_segment_code => l_adr_value_segment_code
70521 , p_from_combination_id => l_adr_value_combination_id
70523 , p_transaction_coa_id => l_adr_transaction_coa_id
70524 , p_accounting_coa_id => l_adr_accounting_coa_id
70525 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70526 , p_flex_value_set_id => l_adr_flex_value_set_id
70527 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70528 , p_adr_type_code => 'S'
70529 , p_component_type => l_component_type
70530 , p_component_code => l_component_code
70531 , p_component_type_code => l_component_type_code
70532 , p_component_appl_id => l_component_appl_id
70533 , p_amb_context_code => l_amb_context_code
70534 , p_entity_code => 'AP_PAYMENTS'
70535 , p_event_class_code => 'PAYMENTS'
70536 , p_side => 'NA'
70537 );
70538
70539 END IF;
70540
70541 --
70542 --
70543 END IF;
70544 --
70545 -- Bug 4922099
70546 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70547 (NVL(l_enc_upg_option, 'N') = 'O')
70548 ) AND
70549 (l_bflow_method_code = 'PRIOR_ENTRY')
70550 )
70551 THEN
70552 IF
70553 --
70554 1 = 2
70555 --
70556 THEN
70557 xla_accounting_err_pkg.build_message
70558 (p_appli_s_name => 'XLA'
70559 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70560 ,p_token_1 => 'LINE_NUMBER'
70561 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70562 ,p_token_2 => 'LINE_TYPE_NAME'
70563 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70564 l_component_type
70565 ,l_component_code
70566 ,l_component_type_code
70567 ,l_component_appl_id
70568 ,l_amb_context_code
70569 ,l_entity_code
70570 ,l_event_class_code
70571 )
70572 ,p_token_3 => 'OWNER'
70573 ,p_value_3 => xla_lookups_pkg.get_meaning(
70574 p_lookup_type => 'XLA_OWNER_TYPE'
70575 ,p_lookup_code => l_component_type_code
70576 )
70577 ,p_token_4 => 'PRODUCT_NAME'
70578 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
70579 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
70580 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
70581 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
70582 ,p_ae_header_id => NULL
70583 );
70584
70585 IF (C_LEVEL_ERROR>= g_log_level) THEN
70586 trace
70587 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70588 ,p_level => C_LEVEL_ERROR
70589 ,p_module => l_log_module);
70590 END IF;
70591 END IF;
70592 END IF;
70593 --
70594 --
70595 ------------------------------------------------------------------------------------------------
70596 -- 4219869 Business Flow
70597 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
70598 -- Prior Entry. Currently, the following code is always generated.
70599 ------------------------------------------------------------------------------------------------
70600 XLA_AE_LINES_PKG.ValidateCurrentLine;
70601
70602 ------------------------------------------------------------------------------------
70603 -- 4219869 Business Flow
70604 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
70605 ------------------------------------------------------------------------------------
70606 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70607
70608 ----------------------------------------------------------------------------------
70609 -- 4219869 Business Flow
70610 -- Update journal entry status -- Need to generate this within IF <condition>
70611 ----------------------------------------------------------------------------------
70612 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70616
70613 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
70614 ,p_balance_type_code => l_balance_type_code
70615 );
70617 -------------------------------------------------------------------------------------------
70618 -- 4262811 - Generate the Accrual Reversal lines
70619 -------------------------------------------------------------------------------------------
70620 BEGIN
70621 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
70622 (g_array_event(p_event_id).array_value_num('header_index'));
70623 IF l_acc_rev_flag IS NULL THEN
70624 l_acc_rev_flag := 'N';
70625 END IF;
70626 EXCEPTION
70627 WHEN OTHERS THEN
70628 l_acc_rev_flag := 'N';
70629 END;
70630 --
70631 IF (l_acc_rev_flag = 'Y') THEN
70632
70633 -- 4645092 ------------------------------------------------------------------------------
70634 -- To allow MPA report to determine if it should generate report process
70635 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
70636 ------------------------------------------------------------------------------------------
70637
70638 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
70639 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
70640 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
70641 -- call ADRs
70642 -- Bug 4922099
70643 --
70644 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70645 (NVL(l_actual_upg_option, 'N') = 'O') OR
70646 (NVL(l_enc_upg_option, 'N') = 'O')
70647 )
70648 THEN
70649 NULL;
70650 --
70651 --
70652
70653 l_ccid := AcctDerRule_37(
70654 p_application_id => p_application_id
70655 , p_ae_header_id => l_ae_header_id
70656 , p_source_15 => p_source_15
70657 , p_source_15_meaning => p_source_15_meaning
70658 , p_source_30 => p_source_30
70659 , p_source_36 => p_source_36
70660 , p_source_37 => p_source_37
70661 , x_transaction_coa_id => l_adr_transaction_coa_id
70662 , x_accounting_coa_id => l_adr_accounting_coa_id
70663 , x_value_type_code => l_adr_value_type_code
70664 , p_side => 'NA'
70665 );
70666
70667 xla_ae_lines_pkg.set_ccid(
70668 p_code_combination_id => l_ccid
70669 , p_value_type_code => l_adr_value_type_code
70670 , p_transaction_coa_id => l_adr_transaction_coa_id
70671 , p_accounting_coa_id => l_adr_accounting_coa_id
70672 , p_adr_code => 'AP_REAL_GAIN'
70673 , p_adr_type_code => 'S'
70674 , p_component_type => l_component_type
70675 , p_component_code => l_component_code
70676 , p_component_type_code => l_component_type_code
70677 , p_component_appl_id => l_component_appl_id
70678 , p_amb_context_code => l_amb_context_code
70679 , p_side => 'NA'
70680 );
70681
70682
70683 l_segment := AcctDerRule_22(
70684 p_application_id => p_application_id
70685 , p_ae_header_id => l_ae_header_id
70686 , p_source_15 => p_source_15
70687 , p_source_15_meaning => p_source_15_meaning
70688 , p_source_30 => p_source_30
70689 , x_transaction_coa_id => l_adr_transaction_coa_id
70690 , x_accounting_coa_id => l_adr_accounting_coa_id
70691 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70692 , x_flex_value_set_id => l_adr_flex_value_set_id
70693 , x_value_type_code => l_adr_value_type_code
70694 , x_value_combination_id => l_adr_value_combination_id
70695 , x_value_segment_code => l_adr_value_segment_code
70696 , p_side => 'NA'
70697 , p_override_seg_flag => 'Y'
70698 );
70699
70700 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70701
70702 xla_ae_lines_pkg.set_segment(
70703 p_to_segment_code => 'GL_BALANCING'
70704 , p_segment_value => l_segment
70705 , p_from_segment_code => l_adr_value_segment_code
70706 , p_from_combination_id => l_adr_value_combination_id
70707 , p_value_type_code => l_adr_value_type_code
70708 , p_transaction_coa_id => l_adr_transaction_coa_id
70709 , p_accounting_coa_id => l_adr_accounting_coa_id
70710 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70711 , p_flex_value_set_id => l_adr_flex_value_set_id
70712 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70713 , p_adr_type_code => 'S'
70714 , p_component_type => l_component_type
70715 , p_component_code => l_component_code
70716 , p_component_type_code => l_component_type_code
70717 , p_component_appl_id => l_component_appl_id
70718 , p_amb_context_code => l_amb_context_code
70719 , p_entity_code => 'AP_PAYMENTS'
70720 , p_event_class_code => 'PAYMENTS'
70721 , p_side => 'NA'
70722 );
70723
70724 END IF;
70725
70726 l_segment := AcctDerRule_17(
70727 p_application_id => p_application_id
70728 , p_ae_header_id => l_ae_header_id
70732 , p_source_37 => p_source_37
70729 , p_source_15 => p_source_15
70730 , p_source_15_meaning => p_source_15_meaning
70731 , p_source_36 => p_source_36
70733 , x_transaction_coa_id => l_adr_transaction_coa_id
70734 , x_accounting_coa_id => l_adr_accounting_coa_id
70735 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70736 , x_flex_value_set_id => l_adr_flex_value_set_id
70737 , x_value_type_code => l_adr_value_type_code
70738 , x_value_combination_id => l_adr_value_combination_id
70739 , x_value_segment_code => l_adr_value_segment_code
70740 , p_side => 'NA'
70741 , p_override_seg_flag => 'Y'
70742 );
70743
70744 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70745
70746 xla_ae_lines_pkg.set_segment(
70747 p_to_segment_code => 'GL_ACCOUNT'
70748 , p_segment_value => l_segment
70749 , p_from_segment_code => l_adr_value_segment_code
70750 , p_from_combination_id => l_adr_value_combination_id
70751 , p_value_type_code => l_adr_value_type_code
70752 , p_transaction_coa_id => l_adr_transaction_coa_id
70753 , p_accounting_coa_id => l_adr_accounting_coa_id
70754 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70755 , p_flex_value_set_id => l_adr_flex_value_set_id
70756 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70757 , p_adr_type_code => 'S'
70758 , p_component_type => l_component_type
70759 , p_component_code => l_component_code
70760 , p_component_type_code => l_component_type_code
70761 , p_component_appl_id => l_component_appl_id
70762 , p_amb_context_code => l_amb_context_code
70763 , p_entity_code => 'AP_PAYMENTS'
70764 , p_event_class_code => 'PAYMENTS'
70765 , p_side => 'NA'
70766 );
70767
70768 END IF;
70769
70770 --
70771 --
70772 END IF;
70773
70774 --
70775 -- Update the line information that should be overwritten
70776 --
70777 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
70778 p_header_num => 1);
70779 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
70780
70781 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
70782
70783 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
70784 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
70785 END IF;
70786
70787 --
70788 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
70789 --
70790 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
70791 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
70792 ELSE
70793 ---------------------------------------------------------------------------------------------------
70794 -- 4262811a Switch Sign
70795 ---------------------------------------------------------------------------------------------------
70796 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
70797 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70798 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70799 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70800 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70801 -- 5132302
70802 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
70803 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70804
70805 END IF;
70806
70807 -- 4955764
70808 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70809 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
70810
70811
70812 XLA_AE_LINES_PKG.ValidateCurrentLine;
70813 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70814
70815 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70816 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
70817 ,p_balance_type_code => l_balance_type_code);
70818
70819 END IF;
70820
70821 -----------------------------------------------------------------------------------------
70822 -- 4262811 Multiperiod Accounting
70823 -----------------------------------------------------------------------------------------
70824 -- No MPA option is assigned.
70825
70826
70827 END IF;
70828 END IF;
70829 --
70830
70831 --
70832 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70833 trace
70834 (p_msg => 'END of AcctLineType_129'
70835 ,p_level => C_LEVEL_PROCEDURE
70836 ,p_module => l_log_module);
70837 END IF;
70838 --
70839 EXCEPTION
70840 WHEN xla_exceptions_pkg.application_exception THEN
70844 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_129');
70841 RAISE;
70842 WHEN OTHERS THEN
70843 xla_exceptions_pkg.raise_message
70845 END AcctLineType_129;
70846 --
70847
70848 ---------------------------------------
70849 --
70850 -- PRIVATE FUNCTION
70851 -- AcctLineType_130
70852 --
70853 ---------------------------------------
70854 PROCEDURE AcctLineType_130 (
70855 p_application_id IN NUMBER
70856 ,p_event_id IN NUMBER
70857 ,p_calculate_acctd_flag IN VARCHAR2
70858 ,p_calculate_g_l_flag IN VARCHAR2
70859 ,p_actual_flag IN OUT VARCHAR2
70860 ,p_balance_type_code OUT VARCHAR2
70861 ,p_gain_or_loss_ref OUT VARCHAR2
70862
70863 --Payment Currency Code
70864 , p_source_13 IN VARCHAR2
70865 --Automatic Offsets Value
70866 , p_source_15 IN VARCHAR2
70867 , p_source_15_meaning IN VARCHAR2
70868 --Invoice Distribution Account
70869 , p_source_30 IN NUMBER
70870 --Internal Realized Gain Account
70871 , p_source_36 IN NUMBER
70872 --Bank Gain Account
70873 , p_source_37 IN NUMBER
70874 --Accounting Reversal Indicator
70875 , p_source_52 IN VARCHAR2
70876 --Distribution Link Type
70877 , p_source_54 IN VARCHAR2
70878 --Override Accounted Amount Indicator
70879 , p_source_79 IN VARCHAR2
70880 , p_source_79_meaning IN VARCHAR2
70881 --Third Party Type
70882 , p_source_82 IN VARCHAR2
70883 --Invoice Distribution Tax Line Identifier
70884 , p_source_85 IN NUMBER
70885 --Invoice Distribution Summary Tax Line Identifier
70886 , p_source_87 IN NUMBER
70887 --Business Flow Accounts Payable Application Identifier
70888 , p_source_90 IN NUMBER
70889 --When to Account for Payment Option
70890 , p_source_96 IN VARCHAR2
70891 --Payment Distribution Type
70892 , p_source_97 IN VARCHAR2
70893 , p_source_97_meaning IN VARCHAR2
70894 --Payment Distribution Amount
70895 , p_source_98 IN NUMBER
70896 --Business Flow Payment Distribution Type
70897 , p_source_99 IN VARCHAR2
70898 --Business Flow Payment Entity Code
70899 , p_source_100 IN VARCHAR2
70900 --Business Flow Payment Distribution Identifier
70901 , p_source_101 IN NUMBER
70902 --Business Flow Payment Identifier
70903 , p_source_102 IN NUMBER
70904 --Payment Distribution Identifier
70905 , p_source_103 IN NUMBER
70906 --Cleared Exchange Date
70907 , p_source_105 IN DATE
70908 --Cleared Exchange Rate
70909 , p_source_106 IN NUMBER
70910 --Cleared Exchange Rate Type
70911 , p_source_107 IN VARCHAR2
70912 --Payment Supplier Identifier
70913 , p_source_109 IN NUMBER
70914 --Payment Supplier Site Identifier
70915 , p_source_110 IN NUMBER
70916 --Payment Distribution Reversed Identifier
70917 , p_source_111 IN NUMBER
70918 --Payment Identifier
70919 , p_source_112 IN NUMBER
70920 --Payment Maturity Date
70921 , p_source_114 IN DATE
70922 --Gain or Loss Indicator between Payment and Clearing
70923 , p_source_156 IN VARCHAR2
70924 --Payment/Clearing Ledger Amount Difference
70925 , p_source_157 IN NUMBER
70926 )
70927 IS
70928
70929 l_component_type VARCHAR2(80);
70930 l_component_code VARCHAR2(30);
70931 l_component_type_code VARCHAR2(1);
70932 l_component_appl_id INTEGER;
70933 l_amb_context_code VARCHAR2(30);
70934 l_entity_code VARCHAR2(30);
70935 l_event_class_code VARCHAR2(30);
70936 l_ae_header_id NUMBER;
70937 l_event_type_code VARCHAR2(30);
70938 l_line_definition_code VARCHAR2(30);
70939 l_line_definition_owner_code VARCHAR2(1);
70940 --
70941 -- adr variables
70942 l_segment VARCHAR2(30);
70943 l_ccid NUMBER;
70944 l_adr_transaction_coa_id NUMBER;
70945 l_adr_accounting_coa_id NUMBER;
70946 l_adr_flexfield_segment_code VARCHAR2(30);
70947 l_adr_flex_value_set_id NUMBER;
70948 l_adr_value_type_code VARCHAR2(30);
70949 l_adr_value_combination_id NUMBER;
70950 l_adr_value_segment_code VARCHAR2(30);
70951
70952 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70953 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70954 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70955 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70956
70957 -- 4262811 Variables ------------------------------------------------------------------------------------------
70958 l_entered_amt_idx NUMBER;
70959 l_accted_amt_idx NUMBER;
70960 l_acc_rev_flag VARCHAR2(1);
70961 l_accrual_line_num NUMBER;
70962 l_tmp_amt NUMBER;
70963 l_acc_rev_natural_side_code VARCHAR2(1);
70964
70965 l_num_entries NUMBER;
70966 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70967 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70968 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70969 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70970 l_recog_line_1 NUMBER;
70971 l_recog_line_2 NUMBER;
70972
70976
70973 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70974 l_bflow_applied_to_amt NUMBER; -- 5132302
70975 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70977 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70978
70979 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70980 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70981
70982 ---------------------------------------------------------------------------------------------------------------
70983
70984
70985 --
70986 -- bulk performance
70987 --
70988 l_balance_type_code VARCHAR2(1);
70989 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70990 l_log_module VARCHAR2(240);
70991
70992 --
70993 -- Upgrade strategy
70994 --
70995 l_actual_upg_option VARCHAR2(1);
70996 l_enc_upg_option VARCHAR2(1);
70997
70998 --
70999 BEGIN
71000 --
71001 IF g_log_enabled THEN
71002 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_130';
71003 END IF;
71004 --
71005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71006
71007 trace
71008 (p_msg => 'BEGIN of AcctLineType_130'
71009 ,p_level => C_LEVEL_PROCEDURE
71010 ,p_module => l_log_module);
71011
71012 END IF;
71013 --
71014 l_component_type := 'AMB_JLT';
71015 l_component_code := 'AP_GAIN_PMT_CLEAR';
71016 l_component_type_code := 'S';
71017 l_component_appl_id := 200;
71018 l_amb_context_code := 'DEFAULT';
71019 l_entity_code := 'AP_PAYMENTS';
71020 l_event_class_code := 'RECONCILED PAYMENTS';
71021 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
71022 l_line_definition_owner_code := 'S';
71023 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
71024 --
71025 l_balance_type_code := 'A';
71026 l_segment := NULL;
71027 l_ccid := NULL;
71028 l_adr_transaction_coa_id := NULL;
71029 l_adr_accounting_coa_id := NULL;
71030 l_adr_flexfield_segment_code := NULL;
71031 l_adr_flex_value_set_id := NULL;
71032 l_adr_value_type_code := NULL;
71033 l_adr_value_combination_id := NULL;
71034 l_adr_value_segment_code := NULL;
71035
71036 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
71037 l_bflow_class_code := ''; -- 4219869 Business Flow
71038 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
71039 l_budgetary_control_flag := 'N';
71040
71041 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71042 l_bflow_applied_to_amt := NULL; -- 5132302
71043 l_entered_amt_idx := NULL; -- 4262811
71044 l_accted_amt_idx := NULL; -- 4262811
71045 l_acc_rev_flag := NULL; -- 4262811
71046 l_accrual_line_num := NULL; -- 4262811
71047 l_tmp_amt := NULL; -- 4262811
71048 --
71049 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
71050 (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
71051 return;
71052 END IF;
71053
71054 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
71055 l_balance_type_code <> 'B' THEN
71056 IF NVL(p_source_96,'
71057 ') = 'ALWAYS_ALWAYS' AND
71058 p_source_114 IS NULL AND
71059 NVL(p_source_156,'
71060 ') = 'GAIN' AND
71061 NVL(p_source_97,'
71062 ') <> 'EXCHANGE RATE VARIANCE' AND
71063 NVL(p_source_97,'
71064 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
71065 NVL(p_source_97,'
71066 ') <> 'BANK CHARGE' AND
71067 NVL(p_source_97,'
71068 ') <> 'BANK ERROR' AND
71069 NVL(p_source_97,'
71070 ') <> 'AWT'
71071 THEN
71072
71073 --
71074 XLA_AE_LINES_PKG.SetNewLine;
71075
71076 p_balance_type_code := l_balance_type_code;
71077 -- set the flag so later we will know whether the gain loss line needs to be created
71078
71079 IF(l_balance_type_code = 'A' ) THEN
71080 p_actual_flag :='G';
71081 END IF;
71082
71083 --
71084 -- bulk performance
71085 --
71086 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
71087 p_header_num => 0); -- 4262811
71088 --
71089 -- set accounting line options
71090 --
71091 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
71092 p_natural_side_code => 'C'
71093 , p_gain_or_loss_flag => 'Y'
71094 , p_gl_transfer_mode_code => 'S'
71095 , p_acct_entry_type_code => 'A'
71096 , p_switch_side_flag => 'Y'
71097 , p_merge_duplicate_code => 'A'
71098 );
71099 --
71100 l_acc_rev_natural_side_code := 'D'; -- 4262811
71101 --
71102 --
71103 -- set accounting line type info
71104 --
71105 xla_ae_lines_pkg.SetAcctLineType
71106 (p_component_type => l_component_type
71110 ,p_accounting_line_code => l_component_code
71107 ,p_event_type_code => l_event_type_code
71108 ,p_line_definition_owner_code => l_line_definition_owner_code
71109 ,p_line_definition_code => l_line_definition_code
71111 ,p_accounting_line_type_code => l_component_type_code
71112 ,p_accounting_line_appl_id => l_component_appl_id
71113 ,p_amb_context_code => l_amb_context_code
71114 ,p_entity_code => l_entity_code
71115 ,p_event_class_code => l_event_class_code);
71116 --
71117 -- set accounting class
71118 --
71119 xla_ae_lines_pkg.SetAcctClass(
71120 p_accounting_class_code => 'GAIN'
71121 , p_ae_header_id => l_ae_header_id
71122 );
71123
71124 --
71125 -- set rounding class
71126 --
71127 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71128 'GAIN';
71129
71130 --
71131 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71132 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71133 --
71134 -- bulk performance
71135 --
71136 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71137
71138 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71139 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71140
71141 -- 4955764
71142 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71143 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71144
71145 -- 4458381 Public Sector Enh
71146
71147 --
71148 -- set accounting attributes for the line type
71149 --
71150 l_entered_amt_idx := 10;
71151 l_accted_amt_idx := 15;
71152 l_bflow_applied_to_amt_idx := 2; -- 5132302
71153 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71154 l_rec_acct_attrs.array_char_value(1) := p_source_52;
71155 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
71156 l_rec_acct_attrs.array_num_value(2) := p_source_98;
71157 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
71158 l_rec_acct_attrs.array_num_value(3) := p_source_90;
71159 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
71160 l_rec_acct_attrs.array_char_value(4) := p_source_99;
71161 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
71162 l_rec_acct_attrs.array_char_value(5) := p_source_100;
71163 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
71164 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
71165 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
71166 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
71167 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
71168 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
71169 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
71170 l_rec_acct_attrs.array_char_value(9) := p_source_54;
71171 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
71172 l_rec_acct_attrs.array_num_value(10) := p_source_98;
71173 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
71174 l_rec_acct_attrs.array_char_value(11) := p_source_13;
71175 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
71176 l_rec_acct_attrs.array_date_value(12) := p_source_105;
71177 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
71178 l_rec_acct_attrs.array_num_value(13) := p_source_106;
71179 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
71180 l_rec_acct_attrs.array_char_value(14) := p_source_107;
71181 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
71182 l_rec_acct_attrs.array_num_value(15) := p_source_157;
71183 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
71184 l_rec_acct_attrs.array_char_value(16) := p_source_79;
71185 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
71186 l_rec_acct_attrs.array_num_value(17) := p_source_109;
71187 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
71188 l_rec_acct_attrs.array_num_value(18) := p_source_110;
71189 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
71190 l_rec_acct_attrs.array_char_value(19) := p_source_82;
71191 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
71192 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
71193 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
71194 l_rec_acct_attrs.array_char_value(21) := p_source_54;
71195 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
71196 l_rec_acct_attrs.array_num_value(22) := p_source_85;
71197 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
71198 l_rec_acct_attrs.array_num_value(23) := p_source_85;
71199 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
71200 l_rec_acct_attrs.array_num_value(24) := p_source_87;
71201
71202 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
71203 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
71204
71208 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
71205 ---------------------------------------------------------------------------------------------------------------
71206 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
71207 ---------------------------------------------------------------------------------------------------------------
71209
71210 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71211 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71212
71213 IF xla_accounting_cache_pkg.GetValueChar
71214 (p_source_code => 'LEDGER_CATEGORY_CODE'
71215 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
71216 AND l_bflow_method_code = 'PRIOR_ENTRY'
71217 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
71218 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
71219 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
71220 )
71221 THEN
71222 xla_ae_lines_pkg.BflowUpgEntry
71223 (p_business_method_code => l_bflow_method_code
71224 ,p_business_class_code => l_bflow_class_code
71225 ,p_balance_type => l_balance_type_code);
71226 ELSE
71227 NULL;
71228 -- No business flow processing for business flow method of NONE.
71229 END IF;
71230
71231 --
71232 -- call analytical criteria
71233 --
71234
71235
71236 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
71237 xla_ae_lines_pkg.SetAnalyticalCriteria(
71238 p_analytical_criterion_name => 'Check Id'
71239 , p_analytical_criterion_owner => 'S'
71240 , p_analytical_criterion_code => 'CHECK_ID'
71241 , p_amb_context_code => 'DEFAULT'
71242 , p_balancing_flag => 'N'
71243
71244 , p_analytical_detail_char_1 => NULL
71245 , p_analytical_detail_num_1 => p_source_112
71246 , p_analytical_detail_date_1 => NULL
71247
71248 , p_ae_header_id => l_ae_header_id
71249 )
71250 ;
71251 --
71252
71253 --
71254 -- call description
71255 --
71256 -- No description or it is inherited.
71257 --
71258 -- call ADRs
71259 -- Bug 4922099
71260 --
71261 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71262 (NVL(l_actual_upg_option, 'N') = 'O') OR
71263 (NVL(l_enc_upg_option, 'N') = 'O')
71264 )
71265 THEN
71266 NULL;
71267 --
71268 --
71269
71270 l_ccid := AcctDerRule_37(
71271 p_application_id => p_application_id
71272 , p_ae_header_id => l_ae_header_id
71273 , p_source_15 => p_source_15
71274 , p_source_15_meaning => p_source_15_meaning
71275 , p_source_30 => p_source_30
71276 , p_source_36 => p_source_36
71277 , p_source_37 => p_source_37
71278 , x_transaction_coa_id => l_adr_transaction_coa_id
71279 , x_accounting_coa_id => l_adr_accounting_coa_id
71280 , x_value_type_code => l_adr_value_type_code
71281 , p_side => 'NA'
71282 );
71283
71284 xla_ae_lines_pkg.set_ccid(
71285 p_code_combination_id => l_ccid
71286 , p_value_type_code => l_adr_value_type_code
71287 , p_transaction_coa_id => l_adr_transaction_coa_id
71288 , p_accounting_coa_id => l_adr_accounting_coa_id
71289 , p_adr_code => 'AP_REAL_GAIN'
71290 , p_adr_type_code => 'S'
71291 , p_component_type => l_component_type
71292 , p_component_code => l_component_code
71293 , p_component_type_code => l_component_type_code
71294 , p_component_appl_id => l_component_appl_id
71295 , p_amb_context_code => l_amb_context_code
71296 , p_side => 'NA'
71297 );
71298
71299
71300 l_segment := AcctDerRule_22(
71301 p_application_id => p_application_id
71302 , p_ae_header_id => l_ae_header_id
71303 , p_source_15 => p_source_15
71304 , p_source_15_meaning => p_source_15_meaning
71305 , p_source_30 => p_source_30
71306 , x_transaction_coa_id => l_adr_transaction_coa_id
71307 , x_accounting_coa_id => l_adr_accounting_coa_id
71308 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71309 , x_flex_value_set_id => l_adr_flex_value_set_id
71310 , x_value_type_code => l_adr_value_type_code
71311 , x_value_combination_id => l_adr_value_combination_id
71312 , x_value_segment_code => l_adr_value_segment_code
71313 , p_side => 'NA'
71314 , p_override_seg_flag => 'Y'
71315 );
71316
71317 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71318
71319 xla_ae_lines_pkg.set_segment(
71320 p_to_segment_code => 'GL_BALANCING'
71321 , p_segment_value => l_segment
71322 , p_from_segment_code => l_adr_value_segment_code
71323 , p_from_combination_id => l_adr_value_combination_id
71327 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71324 , p_value_type_code => l_adr_value_type_code
71325 , p_transaction_coa_id => l_adr_transaction_coa_id
71326 , p_accounting_coa_id => l_adr_accounting_coa_id
71328 , p_flex_value_set_id => l_adr_flex_value_set_id
71329 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71330 , p_adr_type_code => 'S'
71331 , p_component_type => l_component_type
71332 , p_component_code => l_component_code
71333 , p_component_type_code => l_component_type_code
71334 , p_component_appl_id => l_component_appl_id
71335 , p_amb_context_code => l_amb_context_code
71336 , p_entity_code => 'AP_PAYMENTS'
71337 , p_event_class_code => 'RECONCILED PAYMENTS'
71338 , p_side => 'NA'
71339 );
71340
71341 END IF;
71342
71343 l_segment := AcctDerRule_17(
71344 p_application_id => p_application_id
71345 , p_ae_header_id => l_ae_header_id
71346 , p_source_15 => p_source_15
71347 , p_source_15_meaning => p_source_15_meaning
71348 , p_source_36 => p_source_36
71349 , p_source_37 => p_source_37
71350 , x_transaction_coa_id => l_adr_transaction_coa_id
71351 , x_accounting_coa_id => l_adr_accounting_coa_id
71352 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71353 , x_flex_value_set_id => l_adr_flex_value_set_id
71354 , x_value_type_code => l_adr_value_type_code
71355 , x_value_combination_id => l_adr_value_combination_id
71356 , x_value_segment_code => l_adr_value_segment_code
71357 , p_side => 'NA'
71358 , p_override_seg_flag => 'Y'
71359 );
71360
71361 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71362
71363 xla_ae_lines_pkg.set_segment(
71364 p_to_segment_code => 'GL_ACCOUNT'
71365 , p_segment_value => l_segment
71366 , p_from_segment_code => l_adr_value_segment_code
71367 , p_from_combination_id => l_adr_value_combination_id
71368 , p_value_type_code => l_adr_value_type_code
71369 , p_transaction_coa_id => l_adr_transaction_coa_id
71370 , p_accounting_coa_id => l_adr_accounting_coa_id
71371 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71372 , p_flex_value_set_id => l_adr_flex_value_set_id
71373 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71374 , p_adr_type_code => 'S'
71375 , p_component_type => l_component_type
71376 , p_component_code => l_component_code
71377 , p_component_type_code => l_component_type_code
71378 , p_component_appl_id => l_component_appl_id
71379 , p_amb_context_code => l_amb_context_code
71380 , p_entity_code => 'AP_PAYMENTS'
71381 , p_event_class_code => 'RECONCILED PAYMENTS'
71382 , p_side => 'NA'
71383 );
71384
71385 END IF;
71386
71387 --
71388 --
71389 END IF;
71390 --
71391 -- Bug 4922099
71392 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
71393 (NVL(l_enc_upg_option, 'N') = 'O')
71394 ) AND
71395 (l_bflow_method_code = 'PRIOR_ENTRY')
71396 )
71397 THEN
71398 IF
71399 --
71400 1 = 2
71401 --
71402 THEN
71403 xla_accounting_err_pkg.build_message
71404 (p_appli_s_name => 'XLA'
71405 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71406 ,p_token_1 => 'LINE_NUMBER'
71407 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
71408 ,p_token_2 => 'LINE_TYPE_NAME'
71409 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
71410 l_component_type
71411 ,l_component_code
71412 ,l_component_type_code
71413 ,l_component_appl_id
71414 ,l_amb_context_code
71415 ,l_entity_code
71416 ,l_event_class_code
71417 )
71418 ,p_token_3 => 'OWNER'
71419 ,p_value_3 => xla_lookups_pkg.get_meaning(
71420 p_lookup_type => 'XLA_OWNER_TYPE'
71421 ,p_lookup_code => l_component_type_code
71422 )
71423 ,p_token_4 => 'PRODUCT_NAME'
71424 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
71428 ,p_ae_header_id => NULL
71425 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
71426 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
71427 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
71429 );
71430
71431 IF (C_LEVEL_ERROR>= g_log_level) THEN
71432 trace
71433 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71434 ,p_level => C_LEVEL_ERROR
71435 ,p_module => l_log_module);
71436 END IF;
71437 END IF;
71438 END IF;
71439 --
71440 --
71441 ------------------------------------------------------------------------------------------------
71442 -- 4219869 Business Flow
71443 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
71444 -- Prior Entry. Currently, the following code is always generated.
71445 ------------------------------------------------------------------------------------------------
71446 XLA_AE_LINES_PKG.ValidateCurrentLine;
71447
71448 ------------------------------------------------------------------------------------
71449 -- 4219869 Business Flow
71450 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
71451 ------------------------------------------------------------------------------------
71452 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71453
71454 ----------------------------------------------------------------------------------
71455 -- 4219869 Business Flow
71456 -- Update journal entry status -- Need to generate this within IF <condition>
71457 ----------------------------------------------------------------------------------
71458 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71459 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
71460 ,p_balance_type_code => l_balance_type_code
71461 );
71462
71463 -------------------------------------------------------------------------------------------
71464 -- 4262811 - Generate the Accrual Reversal lines
71465 -------------------------------------------------------------------------------------------
71466 BEGIN
71467 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71468 (g_array_event(p_event_id).array_value_num('header_index'));
71469 IF l_acc_rev_flag IS NULL THEN
71470 l_acc_rev_flag := 'N';
71471 END IF;
71472 EXCEPTION
71473 WHEN OTHERS THEN
71474 l_acc_rev_flag := 'N';
71475 END;
71476 --
71477 IF (l_acc_rev_flag = 'Y') THEN
71478
71479 -- 4645092 ------------------------------------------------------------------------------
71480 -- To allow MPA report to determine if it should generate report process
71481 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71482 ------------------------------------------------------------------------------------------
71483
71484 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71485 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71486 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71487 -- call ADRs
71488 -- Bug 4922099
71489 --
71490 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71491 (NVL(l_actual_upg_option, 'N') = 'O') OR
71492 (NVL(l_enc_upg_option, 'N') = 'O')
71493 )
71494 THEN
71495 NULL;
71496 --
71497 --
71498
71499 l_ccid := AcctDerRule_37(
71500 p_application_id => p_application_id
71501 , p_ae_header_id => l_ae_header_id
71502 , p_source_15 => p_source_15
71503 , p_source_15_meaning => p_source_15_meaning
71504 , p_source_30 => p_source_30
71505 , p_source_36 => p_source_36
71506 , p_source_37 => p_source_37
71507 , x_transaction_coa_id => l_adr_transaction_coa_id
71508 , x_accounting_coa_id => l_adr_accounting_coa_id
71509 , x_value_type_code => l_adr_value_type_code
71510 , p_side => 'NA'
71511 );
71512
71513 xla_ae_lines_pkg.set_ccid(
71514 p_code_combination_id => l_ccid
71515 , p_value_type_code => l_adr_value_type_code
71516 , p_transaction_coa_id => l_adr_transaction_coa_id
71517 , p_accounting_coa_id => l_adr_accounting_coa_id
71518 , p_adr_code => 'AP_REAL_GAIN'
71519 , p_adr_type_code => 'S'
71520 , p_component_type => l_component_type
71521 , p_component_code => l_component_code
71522 , p_component_type_code => l_component_type_code
71523 , p_component_appl_id => l_component_appl_id
71524 , p_amb_context_code => l_amb_context_code
71525 , p_side => 'NA'
71526 );
71527
71528
71529 l_segment := AcctDerRule_22(
71530 p_application_id => p_application_id
71531 , p_ae_header_id => l_ae_header_id
71532 , p_source_15 => p_source_15
71533 , p_source_15_meaning => p_source_15_meaning
71534 , p_source_30 => p_source_30
71535 , x_transaction_coa_id => l_adr_transaction_coa_id
71536 , x_accounting_coa_id => l_adr_accounting_coa_id
71540 , x_value_combination_id => l_adr_value_combination_id
71537 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71538 , x_flex_value_set_id => l_adr_flex_value_set_id
71539 , x_value_type_code => l_adr_value_type_code
71541 , x_value_segment_code => l_adr_value_segment_code
71542 , p_side => 'NA'
71543 , p_override_seg_flag => 'Y'
71544 );
71545
71546 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71547
71548 xla_ae_lines_pkg.set_segment(
71549 p_to_segment_code => 'GL_BALANCING'
71550 , p_segment_value => l_segment
71551 , p_from_segment_code => l_adr_value_segment_code
71552 , p_from_combination_id => l_adr_value_combination_id
71553 , p_value_type_code => l_adr_value_type_code
71554 , p_transaction_coa_id => l_adr_transaction_coa_id
71555 , p_accounting_coa_id => l_adr_accounting_coa_id
71556 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71557 , p_flex_value_set_id => l_adr_flex_value_set_id
71558 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71559 , p_adr_type_code => 'S'
71560 , p_component_type => l_component_type
71561 , p_component_code => l_component_code
71562 , p_component_type_code => l_component_type_code
71563 , p_component_appl_id => l_component_appl_id
71564 , p_amb_context_code => l_amb_context_code
71565 , p_entity_code => 'AP_PAYMENTS'
71566 , p_event_class_code => 'RECONCILED PAYMENTS'
71567 , p_side => 'NA'
71568 );
71569
71570 END IF;
71571
71572 l_segment := AcctDerRule_17(
71573 p_application_id => p_application_id
71574 , p_ae_header_id => l_ae_header_id
71575 , p_source_15 => p_source_15
71576 , p_source_15_meaning => p_source_15_meaning
71577 , p_source_36 => p_source_36
71578 , p_source_37 => p_source_37
71579 , x_transaction_coa_id => l_adr_transaction_coa_id
71580 , x_accounting_coa_id => l_adr_accounting_coa_id
71581 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71582 , x_flex_value_set_id => l_adr_flex_value_set_id
71583 , x_value_type_code => l_adr_value_type_code
71584 , x_value_combination_id => l_adr_value_combination_id
71585 , x_value_segment_code => l_adr_value_segment_code
71586 , p_side => 'NA'
71587 , p_override_seg_flag => 'Y'
71588 );
71589
71590 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71591
71592 xla_ae_lines_pkg.set_segment(
71593 p_to_segment_code => 'GL_ACCOUNT'
71594 , p_segment_value => l_segment
71595 , p_from_segment_code => l_adr_value_segment_code
71596 , p_from_combination_id => l_adr_value_combination_id
71597 , p_value_type_code => l_adr_value_type_code
71598 , p_transaction_coa_id => l_adr_transaction_coa_id
71599 , p_accounting_coa_id => l_adr_accounting_coa_id
71600 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71601 , p_flex_value_set_id => l_adr_flex_value_set_id
71602 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71603 , p_adr_type_code => 'S'
71604 , p_component_type => l_component_type
71605 , p_component_code => l_component_code
71606 , p_component_type_code => l_component_type_code
71607 , p_component_appl_id => l_component_appl_id
71608 , p_amb_context_code => l_amb_context_code
71609 , p_entity_code => 'AP_PAYMENTS'
71610 , p_event_class_code => 'RECONCILED PAYMENTS'
71611 , p_side => 'NA'
71612 );
71613
71614 END IF;
71615
71616 --
71617 --
71618 END IF;
71619
71620 --
71621 -- Update the line information that should be overwritten
71622 --
71623 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
71624 p_header_num => 1);
71625 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
71626
71627 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
71628
71629 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
71630 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
71631 END IF;
71632
71633 --
71634 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
71635 --
71636 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
71637 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
71638 ELSE
71639 ---------------------------------------------------------------------------------------------------
71640 -- 4262811a Switch Sign
71641 ---------------------------------------------------------------------------------------------------
71642 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
71646 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71644 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71645 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71647 -- 5132302
71648 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
71649 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71650
71651 END IF;
71652
71653 -- 4955764
71654 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71655 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
71656
71657
71658 XLA_AE_LINES_PKG.ValidateCurrentLine;
71659 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71660
71661 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71662 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
71663 ,p_balance_type_code => l_balance_type_code);
71664
71665 END IF;
71666
71667 -----------------------------------------------------------------------------------------
71668 -- 4262811 Multiperiod Accounting
71669 -----------------------------------------------------------------------------------------
71670 -- No MPA option is assigned.
71671
71672
71673 END IF;
71674 END IF;
71675 --
71676
71677 --
71678 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71679 trace
71680 (p_msg => 'END of AcctLineType_130'
71681 ,p_level => C_LEVEL_PROCEDURE
71682 ,p_module => l_log_module);
71683 END IF;
71684 --
71685 EXCEPTION
71686 WHEN xla_exceptions_pkg.application_exception THEN
71687 RAISE;
71688 WHEN OTHERS THEN
71689 xla_exceptions_pkg.raise_message
71690 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_130');
71691 END AcctLineType_130;
71692 --
71693
71694 ---------------------------------------
71695 --
71696 -- PRIVATE FUNCTION
71697 -- AcctLineType_131
71698 --
71699 ---------------------------------------
71700 PROCEDURE AcctLineType_131 (
71701 p_application_id IN NUMBER
71702 ,p_event_id IN NUMBER
71703 ,p_calculate_acctd_flag IN VARCHAR2
71704 ,p_calculate_g_l_flag IN VARCHAR2
71705 ,p_actual_flag IN OUT VARCHAR2
71706 ,p_balance_type_code OUT VARCHAR2
71707 ,p_gain_or_loss_ref OUT VARCHAR2
71708
71709 --Payment Currency Code
71710 , p_source_13 IN VARCHAR2
71711 --Automatic Offsets Value
71712 , p_source_15 IN VARCHAR2
71713 , p_source_15_meaning IN VARCHAR2
71714 --Invoice Distribution Account
71715 , p_source_30 IN NUMBER
71716 --Internal Realized Gain Account
71717 , p_source_36 IN NUMBER
71718 --Bank Gain Account
71719 , p_source_37 IN NUMBER
71720 --Accounting Reversal Indicator
71721 , p_source_52 IN VARCHAR2
71722 --Distribution Link Type
71723 , p_source_54 IN VARCHAR2
71724 --Override Accounted Amount Indicator
71725 , p_source_79 IN VARCHAR2
71726 , p_source_79_meaning IN VARCHAR2
71727 --Third Party Type
71728 , p_source_82 IN VARCHAR2
71729 --Business Flow Accounts Payable Application Identifier
71730 , p_source_90 IN NUMBER
71731 --When to Account for Payment Option
71732 , p_source_96 IN VARCHAR2
71733 --Payment Distribution Type
71734 , p_source_97 IN VARCHAR2
71735 , p_source_97_meaning IN VARCHAR2
71736 --Payment Distribution Amount
71737 , p_source_98 IN NUMBER
71738 --Business Flow Payment Distribution Type
71739 , p_source_99 IN VARCHAR2
71740 --Business Flow Payment Entity Code
71741 , p_source_100 IN VARCHAR2
71742 --Business Flow Payment Distribution Identifier
71743 , p_source_101 IN NUMBER
71744 --Business Flow Payment Identifier
71745 , p_source_102 IN NUMBER
71746 --Payment Distribution Identifier
71747 , p_source_103 IN NUMBER
71748 --Payment Supplier Identifier
71749 , p_source_109 IN NUMBER
71750 --Payment Supplier Site Identifier
71751 , p_source_110 IN NUMBER
71752 --Payment Distribution Reversed Identifier
71753 , p_source_111 IN NUMBER
71754 --Payment Identifier
71755 , p_source_112 IN NUMBER
71756 --Payment Maturity Date
71757 , p_source_114 IN DATE
71758 --Payment Exchange Date
71759 , p_source_117 IN DATE
71760 --Payment Exchange Rate
71761 , p_source_118 IN NUMBER
71762 --Payment Exchange Rate Type
71763 , p_source_119 IN VARCHAR2
71764 --Payment/Maturity Ledger Amount Difference
71765 , p_source_151 IN NUMBER
71766 --Gain or Loss Indicator between Payment and Maturity
71767 , p_source_158 IN VARCHAR2
71768 )
71769 IS
71770
71771 l_component_type VARCHAR2(80);
71772 l_component_code VARCHAR2(30);
71773 l_component_type_code VARCHAR2(1);
71774 l_component_appl_id INTEGER;
71775 l_amb_context_code VARCHAR2(30);
71776 l_entity_code VARCHAR2(30);
71780 l_line_definition_code VARCHAR2(30);
71777 l_event_class_code VARCHAR2(30);
71778 l_ae_header_id NUMBER;
71779 l_event_type_code VARCHAR2(30);
71781 l_line_definition_owner_code VARCHAR2(1);
71782 --
71783 -- adr variables
71784 l_segment VARCHAR2(30);
71785 l_ccid NUMBER;
71786 l_adr_transaction_coa_id NUMBER;
71787 l_adr_accounting_coa_id NUMBER;
71788 l_adr_flexfield_segment_code VARCHAR2(30);
71789 l_adr_flex_value_set_id NUMBER;
71790 l_adr_value_type_code VARCHAR2(30);
71791 l_adr_value_combination_id NUMBER;
71792 l_adr_value_segment_code VARCHAR2(30);
71793
71794 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
71795 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
71796 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
71797 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
71798
71799 -- 4262811 Variables ------------------------------------------------------------------------------------------
71800 l_entered_amt_idx NUMBER;
71801 l_accted_amt_idx NUMBER;
71802 l_acc_rev_flag VARCHAR2(1);
71803 l_accrual_line_num NUMBER;
71804 l_tmp_amt NUMBER;
71805 l_acc_rev_natural_side_code VARCHAR2(1);
71806
71807 l_num_entries NUMBER;
71808 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
71809 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
71810 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
71811 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
71812 l_recog_line_1 NUMBER;
71813 l_recog_line_2 NUMBER;
71814
71815 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
71816 l_bflow_applied_to_amt NUMBER; -- 5132302
71817 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
71818
71819 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
71820
71821 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
71822 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
71823
71824 ---------------------------------------------------------------------------------------------------------------
71825
71826
71827 --
71828 -- bulk performance
71829 --
71830 l_balance_type_code VARCHAR2(1);
71831 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
71832 l_log_module VARCHAR2(240);
71833
71834 --
71835 -- Upgrade strategy
71836 --
71837 l_actual_upg_option VARCHAR2(1);
71838 l_enc_upg_option VARCHAR2(1);
71839
71840 --
71841 BEGIN
71842 --
71843 IF g_log_enabled THEN
71844 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_131';
71845 END IF;
71846 --
71847 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71848
71849 trace
71850 (p_msg => 'BEGIN of AcctLineType_131'
71851 ,p_level => C_LEVEL_PROCEDURE
71852 ,p_module => l_log_module);
71853
71854 END IF;
71855 --
71856 l_component_type := 'AMB_JLT';
71857 l_component_code := 'AP_GAIN_PMT_MAT';
71858 l_component_type_code := 'S';
71859 l_component_appl_id := 200;
71860 l_amb_context_code := 'DEFAULT';
71861 l_entity_code := 'AP_PAYMENTS';
71862 l_event_class_code := 'FUTURE DATED PAYMENTS';
71863 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
71864 l_line_definition_owner_code := 'S';
71865 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
71866 --
71867 l_balance_type_code := 'A';
71868 l_segment := NULL;
71869 l_ccid := NULL;
71870 l_adr_transaction_coa_id := NULL;
71871 l_adr_accounting_coa_id := NULL;
71872 l_adr_flexfield_segment_code := NULL;
71873 l_adr_flex_value_set_id := NULL;
71874 l_adr_value_type_code := NULL;
71875 l_adr_value_combination_id := NULL;
71876 l_adr_value_segment_code := NULL;
71877
71878 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
71879 l_bflow_class_code := ''; -- 4219869 Business Flow
71880 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
71881 l_budgetary_control_flag := 'N';
71882
71883 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71884 l_bflow_applied_to_amt := NULL; -- 5132302
71885 l_entered_amt_idx := NULL; -- 4262811
71886 l_accted_amt_idx := NULL; -- 4262811
71887 l_acc_rev_flag := NULL; -- 4262811
71888 l_accrual_line_num := NULL; -- 4262811
71889 l_tmp_amt := NULL; -- 4262811
71890 --
71891 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
71892 (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
71893 return;
71894 END IF;
71895
71899 ') = 'ALWAYS_ALWAYS' OR
71896 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
71897 l_balance_type_code <> 'B' THEN
71898 IF (NVL(p_source_96,'
71900 NVL(p_source_96,'
71901 ') = 'ISSUE_ISSUE') AND
71902 p_source_114 IS NOT NULL AND
71903 NVL(p_source_158,'
71904 ') = 'GAIN' AND
71905 NVL(p_source_97,'
71906 ') <> 'EXCHANGE RATE VARIANCE' AND
71907 NVL(p_source_97,'
71908 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
71909 NVL(p_source_97,'
71910 ') <> 'BANK CHARGE' AND
71911 NVL(p_source_97,'
71912 ') <> 'BANK ERROR' AND
71913 NVL(p_source_97,'
71914 ') <> 'AWT'
71915 THEN
71916
71917 --
71918 XLA_AE_LINES_PKG.SetNewLine;
71919
71920 p_balance_type_code := l_balance_type_code;
71921 -- set the flag so later we will know whether the gain loss line needs to be created
71922
71923 IF(l_balance_type_code = 'A' ) THEN
71924 p_actual_flag :='G';
71925 END IF;
71926
71927 --
71928 -- bulk performance
71929 --
71930 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
71931 p_header_num => 0); -- 4262811
71932 --
71933 -- set accounting line options
71934 --
71935 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
71936 p_natural_side_code => 'C'
71937 , p_gain_or_loss_flag => 'Y'
71938 , p_gl_transfer_mode_code => 'S'
71939 , p_acct_entry_type_code => 'A'
71940 , p_switch_side_flag => 'Y'
71941 , p_merge_duplicate_code => 'A'
71942 );
71943 --
71944 l_acc_rev_natural_side_code := 'D'; -- 4262811
71945 --
71946 --
71947 -- set accounting line type info
71948 --
71949 xla_ae_lines_pkg.SetAcctLineType
71950 (p_component_type => l_component_type
71951 ,p_event_type_code => l_event_type_code
71952 ,p_line_definition_owner_code => l_line_definition_owner_code
71953 ,p_line_definition_code => l_line_definition_code
71954 ,p_accounting_line_code => l_component_code
71955 ,p_accounting_line_type_code => l_component_type_code
71956 ,p_accounting_line_appl_id => l_component_appl_id
71957 ,p_amb_context_code => l_amb_context_code
71958 ,p_entity_code => l_entity_code
71959 ,p_event_class_code => l_event_class_code);
71960 --
71961 -- set accounting class
71962 --
71963 xla_ae_lines_pkg.SetAcctClass(
71964 p_accounting_class_code => 'GAIN'
71965 , p_ae_header_id => l_ae_header_id
71966 );
71967
71968 --
71969 -- set rounding class
71970 --
71971 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71972 'GAIN';
71973
71974 --
71975 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71976 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71977 --
71978 -- bulk performance
71979 --
71980 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71981
71982 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71983 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71984
71985 -- 4955764
71986 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71987 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71988
71989 -- 4458381 Public Sector Enh
71990
71991 --
71992 -- set accounting attributes for the line type
71993 --
71994 l_entered_amt_idx := 9;
71995 l_accted_amt_idx := 14;
71996 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71997 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71998 l_rec_acct_attrs.array_char_value(1) := p_source_52;
71999 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
72000 l_rec_acct_attrs.array_num_value(2) := p_source_90;
72001 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
72002 l_rec_acct_attrs.array_char_value(3) := p_source_99;
72003 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
72004 l_rec_acct_attrs.array_char_value(4) := p_source_100;
72005 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
72006 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
72007 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
72008 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
72009 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
72010 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
72011 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
72012 l_rec_acct_attrs.array_char_value(8) := p_source_54;
72013 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
72014 l_rec_acct_attrs.array_num_value(9) := p_source_98;
72015 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
72016 l_rec_acct_attrs.array_char_value(10) := p_source_13;
72020 l_rec_acct_attrs.array_num_value(12) := p_source_118;
72017 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
72018 l_rec_acct_attrs.array_date_value(11) := p_source_117;
72019 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
72021 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
72022 l_rec_acct_attrs.array_char_value(13) := p_source_119;
72023 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
72024 l_rec_acct_attrs.array_num_value(14) := p_source_151;
72025 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
72026 l_rec_acct_attrs.array_char_value(15) := p_source_79;
72027 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
72028 l_rec_acct_attrs.array_num_value(16) := p_source_109;
72029 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
72030 l_rec_acct_attrs.array_num_value(17) := p_source_110;
72031 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
72032 l_rec_acct_attrs.array_char_value(18) := p_source_82;
72033 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
72034 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
72035 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
72036 l_rec_acct_attrs.array_char_value(20) := p_source_54;
72037
72038 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
72039 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
72040
72041 ---------------------------------------------------------------------------------------------------------------
72042 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
72043 ---------------------------------------------------------------------------------------------------------------
72044 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
72045
72046 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72047 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72048
72049 IF xla_accounting_cache_pkg.GetValueChar
72050 (p_source_code => 'LEDGER_CATEGORY_CODE'
72051 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
72052 AND l_bflow_method_code = 'PRIOR_ENTRY'
72053 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
72054 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
72055 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
72056 )
72057 THEN
72058 xla_ae_lines_pkg.BflowUpgEntry
72059 (p_business_method_code => l_bflow_method_code
72060 ,p_business_class_code => l_bflow_class_code
72061 ,p_balance_type => l_balance_type_code);
72062 ELSE
72063 NULL;
72064 -- No business flow processing for business flow method of NONE.
72065 END IF;
72066
72067 --
72068 -- call analytical criteria
72069 --
72070
72071
72072 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
72073 xla_ae_lines_pkg.SetAnalyticalCriteria(
72074 p_analytical_criterion_name => 'Check Id'
72075 , p_analytical_criterion_owner => 'S'
72076 , p_analytical_criterion_code => 'CHECK_ID'
72077 , p_amb_context_code => 'DEFAULT'
72078 , p_balancing_flag => 'N'
72079
72080 , p_analytical_detail_char_1 => NULL
72081 , p_analytical_detail_num_1 => p_source_112
72082 , p_analytical_detail_date_1 => NULL
72083
72084 , p_ae_header_id => l_ae_header_id
72085 )
72086 ;
72087 --
72088
72089 --
72090 -- call description
72091 --
72092 -- No description or it is inherited.
72093 --
72094 -- call ADRs
72095 -- Bug 4922099
72096 --
72097 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72098 (NVL(l_actual_upg_option, 'N') = 'O') OR
72099 (NVL(l_enc_upg_option, 'N') = 'O')
72100 )
72101 THEN
72102 NULL;
72103 --
72104 --
72105
72106 l_ccid := AcctDerRule_37(
72107 p_application_id => p_application_id
72108 , p_ae_header_id => l_ae_header_id
72109 , p_source_15 => p_source_15
72110 , p_source_15_meaning => p_source_15_meaning
72111 , p_source_30 => p_source_30
72112 , p_source_36 => p_source_36
72113 , p_source_37 => p_source_37
72114 , x_transaction_coa_id => l_adr_transaction_coa_id
72115 , x_accounting_coa_id => l_adr_accounting_coa_id
72116 , x_value_type_code => l_adr_value_type_code
72117 , p_side => 'NA'
72118 );
72119
72120 xla_ae_lines_pkg.set_ccid(
72121 p_code_combination_id => l_ccid
72122 , p_value_type_code => l_adr_value_type_code
72123 , p_transaction_coa_id => l_adr_transaction_coa_id
72124 , p_accounting_coa_id => l_adr_accounting_coa_id
72125 , p_adr_code => 'AP_REAL_GAIN'
72126 , p_adr_type_code => 'S'
72127 , p_component_type => l_component_type
72128 , p_component_code => l_component_code
72129 , p_component_type_code => l_component_type_code
72130 , p_component_appl_id => l_component_appl_id
72131 , p_amb_context_code => l_amb_context_code
72135
72132 , p_side => 'NA'
72133 );
72134
72136 l_segment := AcctDerRule_22(
72137 p_application_id => p_application_id
72138 , p_ae_header_id => l_ae_header_id
72139 , p_source_15 => p_source_15
72140 , p_source_15_meaning => p_source_15_meaning
72141 , p_source_30 => p_source_30
72142 , x_transaction_coa_id => l_adr_transaction_coa_id
72143 , x_accounting_coa_id => l_adr_accounting_coa_id
72144 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72145 , x_flex_value_set_id => l_adr_flex_value_set_id
72146 , x_value_type_code => l_adr_value_type_code
72147 , x_value_combination_id => l_adr_value_combination_id
72148 , x_value_segment_code => l_adr_value_segment_code
72149 , p_side => 'NA'
72150 , p_override_seg_flag => 'Y'
72151 );
72152
72153 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72154
72155 xla_ae_lines_pkg.set_segment(
72156 p_to_segment_code => 'GL_BALANCING'
72157 , p_segment_value => l_segment
72158 , p_from_segment_code => l_adr_value_segment_code
72159 , p_from_combination_id => l_adr_value_combination_id
72160 , p_value_type_code => l_adr_value_type_code
72161 , p_transaction_coa_id => l_adr_transaction_coa_id
72162 , p_accounting_coa_id => l_adr_accounting_coa_id
72163 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72164 , p_flex_value_set_id => l_adr_flex_value_set_id
72165 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72166 , p_adr_type_code => 'S'
72167 , p_component_type => l_component_type
72168 , p_component_code => l_component_code
72169 , p_component_type_code => l_component_type_code
72170 , p_component_appl_id => l_component_appl_id
72171 , p_amb_context_code => l_amb_context_code
72172 , p_entity_code => 'AP_PAYMENTS'
72173 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72174 , p_side => 'NA'
72175 );
72176
72177 END IF;
72178
72179 l_segment := AcctDerRule_17(
72180 p_application_id => p_application_id
72181 , p_ae_header_id => l_ae_header_id
72182 , p_source_15 => p_source_15
72183 , p_source_15_meaning => p_source_15_meaning
72184 , p_source_36 => p_source_36
72185 , p_source_37 => p_source_37
72186 , x_transaction_coa_id => l_adr_transaction_coa_id
72187 , x_accounting_coa_id => l_adr_accounting_coa_id
72188 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72189 , x_flex_value_set_id => l_adr_flex_value_set_id
72190 , x_value_type_code => l_adr_value_type_code
72191 , x_value_combination_id => l_adr_value_combination_id
72192 , x_value_segment_code => l_adr_value_segment_code
72193 , p_side => 'NA'
72194 , p_override_seg_flag => 'Y'
72195 );
72196
72197 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72198
72199 xla_ae_lines_pkg.set_segment(
72200 p_to_segment_code => 'GL_ACCOUNT'
72201 , p_segment_value => l_segment
72202 , p_from_segment_code => l_adr_value_segment_code
72203 , p_from_combination_id => l_adr_value_combination_id
72204 , p_value_type_code => l_adr_value_type_code
72205 , p_transaction_coa_id => l_adr_transaction_coa_id
72206 , p_accounting_coa_id => l_adr_accounting_coa_id
72207 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72208 , p_flex_value_set_id => l_adr_flex_value_set_id
72209 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72210 , p_adr_type_code => 'S'
72211 , p_component_type => l_component_type
72212 , p_component_code => l_component_code
72213 , p_component_type_code => l_component_type_code
72214 , p_component_appl_id => l_component_appl_id
72215 , p_amb_context_code => l_amb_context_code
72216 , p_entity_code => 'AP_PAYMENTS'
72217 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72218 , p_side => 'NA'
72219 );
72220
72221 END IF;
72222
72223 --
72224 --
72225 END IF;
72226 --
72227 -- Bug 4922099
72228 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
72229 (NVL(l_enc_upg_option, 'N') = 'O')
72230 ) AND
72231 (l_bflow_method_code = 'PRIOR_ENTRY')
72232 )
72233 THEN
72234 IF
72235 --
72236 1 = 2
72237 --
72238 THEN
72239 xla_accounting_err_pkg.build_message
72240 (p_appli_s_name => 'XLA'
72241 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72242 ,p_token_1 => 'LINE_NUMBER'
72243 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
72244 ,p_token_2 => 'LINE_TYPE_NAME'
72248 ,l_component_type_code
72245 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
72246 l_component_type
72247 ,l_component_code
72249 ,l_component_appl_id
72250 ,l_amb_context_code
72251 ,l_entity_code
72252 ,l_event_class_code
72253 )
72254 ,p_token_3 => 'OWNER'
72255 ,p_value_3 => xla_lookups_pkg.get_meaning(
72256 p_lookup_type => 'XLA_OWNER_TYPE'
72257 ,p_lookup_code => l_component_type_code
72258 )
72259 ,p_token_4 => 'PRODUCT_NAME'
72260 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
72261 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
72262 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
72263 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
72264 ,p_ae_header_id => NULL
72265 );
72266
72267 IF (C_LEVEL_ERROR>= g_log_level) THEN
72268 trace
72269 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72270 ,p_level => C_LEVEL_ERROR
72271 ,p_module => l_log_module);
72272 END IF;
72273 END IF;
72274 END IF;
72275 --
72276 --
72277 ------------------------------------------------------------------------------------------------
72278 -- 4219869 Business Flow
72279 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
72280 -- Prior Entry. Currently, the following code is always generated.
72281 ------------------------------------------------------------------------------------------------
72282 XLA_AE_LINES_PKG.ValidateCurrentLine;
72283
72284 ------------------------------------------------------------------------------------
72285 -- 4219869 Business Flow
72286 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
72287 ------------------------------------------------------------------------------------
72288 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72289
72290 ----------------------------------------------------------------------------------
72291 -- 4219869 Business Flow
72292 -- Update journal entry status -- Need to generate this within IF <condition>
72293 ----------------------------------------------------------------------------------
72294 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72295 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
72296 ,p_balance_type_code => l_balance_type_code
72297 );
72298
72299 -------------------------------------------------------------------------------------------
72300 -- 4262811 - Generate the Accrual Reversal lines
72301 -------------------------------------------------------------------------------------------
72302 BEGIN
72303 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
72304 (g_array_event(p_event_id).array_value_num('header_index'));
72305 IF l_acc_rev_flag IS NULL THEN
72306 l_acc_rev_flag := 'N';
72307 END IF;
72308 EXCEPTION
72309 WHEN OTHERS THEN
72310 l_acc_rev_flag := 'N';
72311 END;
72312 --
72313 IF (l_acc_rev_flag = 'Y') THEN
72314
72315 -- 4645092 ------------------------------------------------------------------------------
72316 -- To allow MPA report to determine if it should generate report process
72317 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
72318 ------------------------------------------------------------------------------------------
72319
72320 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
72321 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
72322 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
72323 -- call ADRs
72324 -- Bug 4922099
72325 --
72326 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72327 (NVL(l_actual_upg_option, 'N') = 'O') OR
72328 (NVL(l_enc_upg_option, 'N') = 'O')
72329 )
72330 THEN
72331 NULL;
72332 --
72333 --
72334
72335 l_ccid := AcctDerRule_37(
72336 p_application_id => p_application_id
72337 , p_ae_header_id => l_ae_header_id
72338 , p_source_15 => p_source_15
72339 , p_source_15_meaning => p_source_15_meaning
72340 , p_source_30 => p_source_30
72341 , p_source_36 => p_source_36
72342 , p_source_37 => p_source_37
72343 , x_transaction_coa_id => l_adr_transaction_coa_id
72347 );
72344 , x_accounting_coa_id => l_adr_accounting_coa_id
72345 , x_value_type_code => l_adr_value_type_code
72346 , p_side => 'NA'
72348
72349 xla_ae_lines_pkg.set_ccid(
72350 p_code_combination_id => l_ccid
72351 , p_value_type_code => l_adr_value_type_code
72352 , p_transaction_coa_id => l_adr_transaction_coa_id
72353 , p_accounting_coa_id => l_adr_accounting_coa_id
72354 , p_adr_code => 'AP_REAL_GAIN'
72355 , p_adr_type_code => 'S'
72356 , p_component_type => l_component_type
72357 , p_component_code => l_component_code
72358 , p_component_type_code => l_component_type_code
72359 , p_component_appl_id => l_component_appl_id
72360 , p_amb_context_code => l_amb_context_code
72361 , p_side => 'NA'
72362 );
72363
72364
72365 l_segment := AcctDerRule_22(
72366 p_application_id => p_application_id
72367 , p_ae_header_id => l_ae_header_id
72368 , p_source_15 => p_source_15
72369 , p_source_15_meaning => p_source_15_meaning
72370 , p_source_30 => p_source_30
72371 , x_transaction_coa_id => l_adr_transaction_coa_id
72372 , x_accounting_coa_id => l_adr_accounting_coa_id
72373 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72374 , x_flex_value_set_id => l_adr_flex_value_set_id
72375 , x_value_type_code => l_adr_value_type_code
72376 , x_value_combination_id => l_adr_value_combination_id
72377 , x_value_segment_code => l_adr_value_segment_code
72378 , p_side => 'NA'
72379 , p_override_seg_flag => 'Y'
72380 );
72381
72382 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72383
72384 xla_ae_lines_pkg.set_segment(
72385 p_to_segment_code => 'GL_BALANCING'
72386 , p_segment_value => l_segment
72387 , p_from_segment_code => l_adr_value_segment_code
72388 , p_from_combination_id => l_adr_value_combination_id
72389 , p_value_type_code => l_adr_value_type_code
72390 , p_transaction_coa_id => l_adr_transaction_coa_id
72391 , p_accounting_coa_id => l_adr_accounting_coa_id
72392 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72393 , p_flex_value_set_id => l_adr_flex_value_set_id
72394 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72395 , p_adr_type_code => 'S'
72396 , p_component_type => l_component_type
72397 , p_component_code => l_component_code
72398 , p_component_type_code => l_component_type_code
72399 , p_component_appl_id => l_component_appl_id
72400 , p_amb_context_code => l_amb_context_code
72401 , p_entity_code => 'AP_PAYMENTS'
72402 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72403 , p_side => 'NA'
72404 );
72405
72406 END IF;
72407
72408 l_segment := AcctDerRule_17(
72409 p_application_id => p_application_id
72410 , p_ae_header_id => l_ae_header_id
72411 , p_source_15 => p_source_15
72412 , p_source_15_meaning => p_source_15_meaning
72413 , p_source_36 => p_source_36
72414 , p_source_37 => p_source_37
72415 , x_transaction_coa_id => l_adr_transaction_coa_id
72416 , x_accounting_coa_id => l_adr_accounting_coa_id
72417 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72418 , x_flex_value_set_id => l_adr_flex_value_set_id
72419 , x_value_type_code => l_adr_value_type_code
72420 , x_value_combination_id => l_adr_value_combination_id
72421 , x_value_segment_code => l_adr_value_segment_code
72422 , p_side => 'NA'
72423 , p_override_seg_flag => 'Y'
72424 );
72425
72426 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72427
72428 xla_ae_lines_pkg.set_segment(
72429 p_to_segment_code => 'GL_ACCOUNT'
72430 , p_segment_value => l_segment
72431 , p_from_segment_code => l_adr_value_segment_code
72432 , p_from_combination_id => l_adr_value_combination_id
72433 , p_value_type_code => l_adr_value_type_code
72434 , p_transaction_coa_id => l_adr_transaction_coa_id
72435 , p_accounting_coa_id => l_adr_accounting_coa_id
72436 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72437 , p_flex_value_set_id => l_adr_flex_value_set_id
72438 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72439 , p_adr_type_code => 'S'
72440 , p_component_type => l_component_type
72441 , p_component_code => l_component_code
72442 , p_component_type_code => l_component_type_code
72443 , p_component_appl_id => l_component_appl_id
72444 , p_amb_context_code => l_amb_context_code
72445 , p_entity_code => 'AP_PAYMENTS'
72446 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72447 , p_side => 'NA'
72448 );
72449
72450 END IF;
72451
72452 --
72456 --
72453 --
72454 END IF;
72455
72457 -- Update the line information that should be overwritten
72458 --
72459 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
72460 p_header_num => 1);
72461 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
72462
72463 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
72464
72465 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
72466 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
72467 END IF;
72468
72469 --
72470 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
72471 --
72472 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
72473 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
72474 ELSE
72475 ---------------------------------------------------------------------------------------------------
72476 -- 4262811a Switch Sign
72477 ---------------------------------------------------------------------------------------------------
72478 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
72479 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72481 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72482 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72483 -- 5132302
72484 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
72485 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72486
72487 END IF;
72488
72489 -- 4955764
72490 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72491 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
72492
72493
72494 XLA_AE_LINES_PKG.ValidateCurrentLine;
72495 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72496
72497 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72498 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
72499 ,p_balance_type_code => l_balance_type_code);
72500
72501 END IF;
72502
72503 -----------------------------------------------------------------------------------------
72504 -- 4262811 Multiperiod Accounting
72505 -----------------------------------------------------------------------------------------
72506 -- No MPA option is assigned.
72507
72508
72509 END IF;
72510 END IF;
72511 --
72512
72513 --
72514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72515 trace
72516 (p_msg => 'END of AcctLineType_131'
72517 ,p_level => C_LEVEL_PROCEDURE
72518 ,p_module => l_log_module);
72519 END IF;
72520 --
72521 EXCEPTION
72522 WHEN xla_exceptions_pkg.application_exception THEN
72523 RAISE;
72524 WHEN OTHERS THEN
72525 xla_exceptions_pkg.raise_message
72526 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_131');
72527 END AcctLineType_131;
72528 --
72529
72530 ---------------------------------------
72531 --
72532 -- PRIVATE FUNCTION
72533 -- AcctLineType_132
72534 --
72535 ---------------------------------------
72536 PROCEDURE AcctLineType_132 (
72537 p_application_id IN NUMBER
72538 ,p_event_id IN NUMBER
72539 ,p_calculate_acctd_flag IN VARCHAR2
72540 ,p_calculate_g_l_flag IN VARCHAR2
72541 ,p_actual_flag IN OUT VARCHAR2
72542 ,p_balance_type_code OUT VARCHAR2
72543 ,p_gain_or_loss_ref OUT VARCHAR2
72544
72545 --Automatic Offsets Value
72546 , p_source_15 IN VARCHAR2
72547 , p_source_15_meaning IN VARCHAR2
72548 --Invoice Distribution Account
72549 , p_source_30 IN NUMBER
72550 --Internal Realized Gain Account
72551 , p_source_36 IN NUMBER
72552 --Bank Gain Account
72553 , p_source_37 IN NUMBER
72554 --Accounting Reversal Indicator
72555 , p_source_52 IN VARCHAR2
72556 --Distribution Link Type
72557 , p_source_54 IN VARCHAR2
72558 --Invoice Identifier
72559 , p_source_57 IN NUMBER
72560 --Payables Encumbrance Upgrade Credit Account
72561 , p_source_64 IN NUMBER
72562 --Payables Encumbrance Upgrade Credit Amount
72563 , p_source_65 IN NUMBER
72564 --Invoice Currency Code
72565 , p_source_66 IN VARCHAR2
72566 --Payables Encumbrance Upgrade Credit Base Amount
72567 , p_source_67 IN NUMBER
72568 --Payables Encumbrance Upgrade Debit Account
72569 , p_source_68 IN NUMBER
72570 --Payables Encumbrance Upgrade Debit Amount
72571 , p_source_69 IN NUMBER
72572 --Payables Encumbrance Upgrade Debit Base Amount
72573 , p_source_70 IN NUMBER
72574 --Payables Encumbrance Upgrade Option
72578 --Deferred Accounting Option
72575 , p_source_71 IN VARCHAR2
72576 --Deferred Accounting End Date
72577 , p_source_76 IN DATE
72579 , p_source_77 IN VARCHAR2
72580 --Deferred Accounting Start Date
72581 , p_source_78 IN DATE
72582 --Override Accounted Amount Indicator
72583 , p_source_79 IN VARCHAR2
72584 , p_source_79_meaning IN VARCHAR2
72585 --Invoice Supplier Identifier
72586 , p_source_80 IN NUMBER
72587 --Invoice Supplier Site Identifier
72588 , p_source_81 IN NUMBER
72589 --Third Party Type
72590 , p_source_82 IN VARCHAR2
72591 --Invoice Distribution Tax Line Identifier
72592 , p_source_85 IN NUMBER
72593 --Invoice Distribution Tax Distribution Identifier from Tax
72594 , p_source_86 IN NUMBER
72595 --Invoice Distribution Summary Tax Line Identifier
72596 , p_source_87 IN NUMBER
72597 --Payables Upgrade Credit Encumbrance Type Identifier
72598 , p_source_88 IN NUMBER
72599 --Payables Upgrade Debit Encumbrance Type Identifier
72600 , p_source_89 IN NUMBER
72601 --Business Flow Accounts Payable Application Identifier
72602 , p_source_90 IN NUMBER
72603 --Prepayment Application Distribution Identifier
72604 , p_source_127 IN NUMBER
72605 --Upgrade Encumbrance Credit Account Class
72606 , p_source_130 IN VARCHAR2
72607 --Upgrade Encumbrance Debit Account Class
72608 , p_source_131 IN VARCHAR2
72609 --Prepayment Distribution Amount
72610 , p_source_132 IN NUMBER
72611 --Identifier of the Prepayment Application Reversed
72612 , p_source_134 IN NUMBER
72613 --Invoice Exchange Date
72614 , p_source_136 IN DATE
72615 --Invoice Exchange Rate
72616 , p_source_137 IN NUMBER
72617 --Invoice Exchange Rate Type
72618 , p_source_138 IN VARCHAR2
72619 --Business Flow Prepayment Invoice Distribution Type
72620 , p_source_139 IN VARCHAR2
72621 --Business Flow Prepayment Invoice Entity Code
72622 , p_source_140 IN VARCHAR2
72623 --Business Flow Prepayment Invoice Distribution Identifier
72624 , p_source_141 IN NUMBER
72625 --Business Flow Prepayment Invoice Identifier
72626 , p_source_142 IN NUMBER
72627 --Prepayment Distribution Type
72628 , p_source_143 IN VARCHAR2
72629 --Prepayment/Invoice Ledger Amount Difference
72630 , p_source_152 IN NUMBER
72631 --Gain or Loss Indicator between Prepayment and Invoice
72632 , p_source_159 IN VARCHAR2
72633 )
72634 IS
72635
72636 l_component_type VARCHAR2(80);
72637 l_component_code VARCHAR2(30);
72638 l_component_type_code VARCHAR2(1);
72639 l_component_appl_id INTEGER;
72640 l_amb_context_code VARCHAR2(30);
72641 l_entity_code VARCHAR2(30);
72642 l_event_class_code VARCHAR2(30);
72643 l_ae_header_id NUMBER;
72644 l_event_type_code VARCHAR2(30);
72645 l_line_definition_code VARCHAR2(30);
72646 l_line_definition_owner_code VARCHAR2(1);
72647 --
72648 -- adr variables
72649 l_segment VARCHAR2(30);
72650 l_ccid NUMBER;
72651 l_adr_transaction_coa_id NUMBER;
72652 l_adr_accounting_coa_id NUMBER;
72653 l_adr_flexfield_segment_code VARCHAR2(30);
72654 l_adr_flex_value_set_id NUMBER;
72655 l_adr_value_type_code VARCHAR2(30);
72656 l_adr_value_combination_id NUMBER;
72657 l_adr_value_segment_code VARCHAR2(30);
72658
72659 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
72660 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
72661 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
72662 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
72663
72664 -- 4262811 Variables ------------------------------------------------------------------------------------------
72665 l_entered_amt_idx NUMBER;
72666 l_accted_amt_idx NUMBER;
72667 l_acc_rev_flag VARCHAR2(1);
72668 l_accrual_line_num NUMBER;
72669 l_tmp_amt NUMBER;
72670 l_acc_rev_natural_side_code VARCHAR2(1);
72671
72672 l_num_entries NUMBER;
72673 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
72674 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
72675 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
72676 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
72677 l_recog_line_1 NUMBER;
72678 l_recog_line_2 NUMBER;
72679
72680 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
72681 l_bflow_applied_to_amt NUMBER; -- 5132302
72682 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
72683
72684 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
72685
72686 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
72687 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
72688
72689 ---------------------------------------------------------------------------------------------------------------
72690
72691
72692 --
72693 -- bulk performance
72694 --
72698
72695 l_balance_type_code VARCHAR2(1);
72696 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
72697 l_log_module VARCHAR2(240);
72699 --
72700 -- Upgrade strategy
72701 --
72702 l_actual_upg_option VARCHAR2(1);
72703 l_enc_upg_option VARCHAR2(1);
72704
72705 --
72706 BEGIN
72707 --
72708 IF g_log_enabled THEN
72709 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_132';
72710 END IF;
72711 --
72712 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72713
72714 trace
72715 (p_msg => 'BEGIN of AcctLineType_132'
72716 ,p_level => C_LEVEL_PROCEDURE
72717 ,p_module => l_log_module);
72718
72719 END IF;
72720 --
72721 l_component_type := 'AMB_JLT';
72722 l_component_code := 'AP_GAIN_PREPAY_APP';
72723 l_component_type_code := 'S';
72724 l_component_appl_id := 200;
72725 l_amb_context_code := 'DEFAULT';
72726 l_entity_code := 'AP_INVOICES';
72727 l_event_class_code := 'PREPAYMENT APPLICATIONS';
72728 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
72729 l_line_definition_owner_code := 'S';
72730 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
72731 --
72732 l_balance_type_code := 'A';
72733 l_segment := NULL;
72734 l_ccid := NULL;
72735 l_adr_transaction_coa_id := NULL;
72736 l_adr_accounting_coa_id := NULL;
72737 l_adr_flexfield_segment_code := NULL;
72738 l_adr_flex_value_set_id := NULL;
72739 l_adr_value_type_code := NULL;
72740 l_adr_value_combination_id := NULL;
72741 l_adr_value_segment_code := NULL;
72742
72743 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
72744 l_bflow_class_code := ''; -- 4219869 Business Flow
72745 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
72746 l_budgetary_control_flag := 'N';
72747
72748 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72749 l_bflow_applied_to_amt := NULL; -- 5132302
72750 l_entered_amt_idx := NULL; -- 4262811
72751 l_accted_amt_idx := NULL; -- 4262811
72752 l_acc_rev_flag := NULL; -- 4262811
72753 l_accrual_line_num := NULL; -- 4262811
72754 l_tmp_amt := NULL; -- 4262811
72755 --
72756 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
72757 (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
72758 return;
72759 END IF;
72760
72761 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
72762 l_balance_type_code <> 'B' THEN
72763 IF NVL(p_source_143,'
72764 ') = 'PREPAY APPL' AND
72765 NVL(p_source_159,'
72766 ') = 'GAIN'
72767 THEN
72768
72769 --
72770 XLA_AE_LINES_PKG.SetNewLine;
72771
72772 p_balance_type_code := l_balance_type_code;
72773 -- set the flag so later we will know whether the gain loss line needs to be created
72774
72775 IF(l_balance_type_code = 'A' ) THEN
72776 p_actual_flag :='G';
72777 END IF;
72778
72779 --
72780 -- bulk performance
72781 --
72782 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
72783 p_header_num => 0); -- 4262811
72784 --
72785 -- set accounting line options
72786 --
72787 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
72788 p_natural_side_code => 'D'
72789 , p_gain_or_loss_flag => 'Y'
72790 , p_gl_transfer_mode_code => 'S'
72791 , p_acct_entry_type_code => 'A'
72792 , p_switch_side_flag => 'Y'
72793 , p_merge_duplicate_code => 'A'
72794 );
72795 --
72796 l_acc_rev_natural_side_code := 'C'; -- 4262811
72797 --
72798 --
72799 -- set accounting line type info
72800 --
72801 xla_ae_lines_pkg.SetAcctLineType
72802 (p_component_type => l_component_type
72803 ,p_event_type_code => l_event_type_code
72804 ,p_line_definition_owner_code => l_line_definition_owner_code
72805 ,p_line_definition_code => l_line_definition_code
72806 ,p_accounting_line_code => l_component_code
72807 ,p_accounting_line_type_code => l_component_type_code
72808 ,p_accounting_line_appl_id => l_component_appl_id
72809 ,p_amb_context_code => l_amb_context_code
72810 ,p_entity_code => l_entity_code
72811 ,p_event_class_code => l_event_class_code);
72812 --
72813 -- set accounting class
72814 --
72815 xla_ae_lines_pkg.SetAcctClass(
72816 p_accounting_class_code => 'GAIN'
72817 , p_ae_header_id => l_ae_header_id
72818 );
72819
72820 --
72821 -- set rounding class
72822 --
72823 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
72824 'GAIN';
72825
72826 --
72827 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
72831 --
72828 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
72829 --
72830 -- bulk performance
72832 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
72833
72834 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
72835 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
72836
72837 -- 4955764
72838 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72839 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
72840
72841 -- 4458381 Public Sector Enh
72842
72843 --
72844 -- set accounting attributes for the line type
72845 --
72846 l_entered_amt_idx := 25;
72847 l_accted_amt_idx := 30;
72848 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72849 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
72850 l_rec_acct_attrs.array_char_value(1) := p_source_52;
72851 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
72852 l_rec_acct_attrs.array_num_value(2) :=
72853 xla_ae_sources_pkg.GetSystemSourceNum(
72854 p_source_code => 'XLA_EVENT_APPL_ID'
72855 , p_source_type_code => 'Y'
72856 , p_source_application_id => 602
72857 );
72858 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
72859 l_rec_acct_attrs.array_char_value(3) := p_source_54;
72860 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
72861 l_rec_acct_attrs.array_char_value(4) :=
72862 xla_ae_sources_pkg.GetSystemSourceChar(
72863 p_source_code => 'XLA_ENTITY_CODE'
72864 , p_source_type_code => 'Y'
72865 , p_source_application_id => 602
72866 );
72867 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
72868 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
72869 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
72870 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
72871 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
72872 l_rec_acct_attrs.array_num_value(7) := p_source_90;
72873 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
72874 l_rec_acct_attrs.array_char_value(8) := p_source_139;
72875 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
72876 l_rec_acct_attrs.array_char_value(9) := p_source_140;
72877 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
72878 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
72879 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
72880 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
72881 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
72882 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
72883 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
72884 l_rec_acct_attrs.array_char_value(13) := p_source_54;
72885 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
72886 l_rec_acct_attrs.array_char_value(14) := p_source_130;
72887 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
72888 l_rec_acct_attrs.array_num_value(15) := p_source_64;
72889 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
72890 l_rec_acct_attrs.array_num_value(16) := p_source_65;
72891 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
72892 l_rec_acct_attrs.array_char_value(17) := p_source_66;
72893 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
72894 l_rec_acct_attrs.array_num_value(18) := p_source_67;
72895 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
72896 l_rec_acct_attrs.array_char_value(19) := p_source_131;
72897 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
72898 l_rec_acct_attrs.array_num_value(20) := p_source_68;
72899 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
72900 l_rec_acct_attrs.array_num_value(21) := p_source_69;
72901 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
72902 l_rec_acct_attrs.array_char_value(22) := p_source_66;
72903 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
72904 l_rec_acct_attrs.array_num_value(23) := p_source_70;
72905 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
72906 l_rec_acct_attrs.array_char_value(24) := p_source_71;
72907 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
72908 l_rec_acct_attrs.array_num_value(25) := p_source_132;
72909 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
72910 l_rec_acct_attrs.array_char_value(26) := p_source_66;
72911 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
72912 l_rec_acct_attrs.array_date_value(27) := p_source_136;
72913 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
72914 l_rec_acct_attrs.array_num_value(28) := p_source_137;
72915 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
72916 l_rec_acct_attrs.array_char_value(29) := p_source_138;
72917 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
72918 l_rec_acct_attrs.array_num_value(30) := p_source_152;
72919 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
72920 l_rec_acct_attrs.array_date_value(31) := p_source_76;
72924 l_rec_acct_attrs.array_date_value(33) := p_source_78;
72921 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
72922 l_rec_acct_attrs.array_char_value(32) := p_source_77;
72923 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
72925 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
72926 l_rec_acct_attrs.array_char_value(34) := p_source_79;
72927 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
72928 l_rec_acct_attrs.array_num_value(35) := p_source_80;
72929 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
72930 l_rec_acct_attrs.array_num_value(36) := p_source_81;
72931 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
72932 l_rec_acct_attrs.array_char_value(37) := p_source_82;
72933 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
72934 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
72935 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
72936 l_rec_acct_attrs.array_char_value(39) := p_source_54;
72937 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
72938 l_rec_acct_attrs.array_num_value(40) := p_source_85;
72939 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
72940 l_rec_acct_attrs.array_num_value(41) := p_source_86;
72941 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
72942 l_rec_acct_attrs.array_num_value(42) := p_source_87;
72943 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
72944 l_rec_acct_attrs.array_num_value(43) := p_source_88;
72945 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
72946 l_rec_acct_attrs.array_num_value(44) := p_source_89;
72947
72948 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
72949 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
72950
72951 ---------------------------------------------------------------------------------------------------------------
72952 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
72953 ---------------------------------------------------------------------------------------------------------------
72954 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
72955
72956 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72957 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72958
72959 IF xla_accounting_cache_pkg.GetValueChar
72960 (p_source_code => 'LEDGER_CATEGORY_CODE'
72961 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
72962 AND l_bflow_method_code = 'PRIOR_ENTRY'
72963 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
72964 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
72965 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
72966 )
72967 THEN
72968 xla_ae_lines_pkg.BflowUpgEntry
72969 (p_business_method_code => l_bflow_method_code
72970 ,p_business_class_code => l_bflow_class_code
72971 ,p_balance_type => l_balance_type_code);
72972 ELSE
72973 NULL;
72974 -- No business flow processing for business flow method of NONE.
72975 END IF;
72976
72977 --
72978 -- call analytical criteria
72979 --
72980
72981 --
72982 -- call description
72983 --
72984 -- No description or it is inherited.
72985 --
72986 -- call ADRs
72987 -- Bug 4922099
72988 --
72989 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72990 (NVL(l_actual_upg_option, 'N') = 'O') OR
72991 (NVL(l_enc_upg_option, 'N') = 'O')
72992 )
72993 THEN
72994 NULL;
72995 --
72996 --
72997
72998 l_ccid := AcctDerRule_37(
72999 p_application_id => p_application_id
73000 , p_ae_header_id => l_ae_header_id
73001 , p_source_15 => p_source_15
73002 , p_source_15_meaning => p_source_15_meaning
73003 , p_source_30 => p_source_30
73004 , p_source_36 => p_source_36
73005 , p_source_37 => p_source_37
73006 , x_transaction_coa_id => l_adr_transaction_coa_id
73007 , x_accounting_coa_id => l_adr_accounting_coa_id
73008 , x_value_type_code => l_adr_value_type_code
73009 , p_side => 'NA'
73010 );
73011
73012 xla_ae_lines_pkg.set_ccid(
73013 p_code_combination_id => l_ccid
73014 , p_value_type_code => l_adr_value_type_code
73015 , p_transaction_coa_id => l_adr_transaction_coa_id
73016 , p_accounting_coa_id => l_adr_accounting_coa_id
73017 , p_adr_code => 'AP_REAL_GAIN'
73018 , p_adr_type_code => 'S'
73019 , p_component_type => l_component_type
73020 , p_component_code => l_component_code
73021 , p_component_type_code => l_component_type_code
73022 , p_component_appl_id => l_component_appl_id
73023 , p_amb_context_code => l_amb_context_code
73024 , p_side => 'NA'
73025 );
73026
73027
73028 l_segment := AcctDerRule_22(
73029 p_application_id => p_application_id
73030 , p_ae_header_id => l_ae_header_id
73031 , p_source_15 => p_source_15
73032 , p_source_15_meaning => p_source_15_meaning
73036 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73033 , p_source_30 => p_source_30
73034 , x_transaction_coa_id => l_adr_transaction_coa_id
73035 , x_accounting_coa_id => l_adr_accounting_coa_id
73037 , x_flex_value_set_id => l_adr_flex_value_set_id
73038 , x_value_type_code => l_adr_value_type_code
73039 , x_value_combination_id => l_adr_value_combination_id
73040 , x_value_segment_code => l_adr_value_segment_code
73041 , p_side => 'NA'
73042 , p_override_seg_flag => 'Y'
73043 );
73044
73045 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73046
73047 xla_ae_lines_pkg.set_segment(
73048 p_to_segment_code => 'GL_BALANCING'
73049 , p_segment_value => l_segment
73050 , p_from_segment_code => l_adr_value_segment_code
73051 , p_from_combination_id => l_adr_value_combination_id
73052 , p_value_type_code => l_adr_value_type_code
73053 , p_transaction_coa_id => l_adr_transaction_coa_id
73054 , p_accounting_coa_id => l_adr_accounting_coa_id
73055 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73056 , p_flex_value_set_id => l_adr_flex_value_set_id
73057 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73058 , p_adr_type_code => 'S'
73059 , p_component_type => l_component_type
73060 , p_component_code => l_component_code
73061 , p_component_type_code => l_component_type_code
73062 , p_component_appl_id => l_component_appl_id
73063 , p_amb_context_code => l_amb_context_code
73064 , p_entity_code => 'AP_INVOICES'
73065 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73066 , p_side => 'NA'
73067 );
73068
73069 END IF;
73070
73071 l_segment := AcctDerRule_17(
73072 p_application_id => p_application_id
73073 , p_ae_header_id => l_ae_header_id
73074 , p_source_15 => p_source_15
73075 , p_source_15_meaning => p_source_15_meaning
73076 , p_source_36 => p_source_36
73077 , p_source_37 => p_source_37
73078 , x_transaction_coa_id => l_adr_transaction_coa_id
73079 , x_accounting_coa_id => l_adr_accounting_coa_id
73080 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73081 , x_flex_value_set_id => l_adr_flex_value_set_id
73082 , x_value_type_code => l_adr_value_type_code
73083 , x_value_combination_id => l_adr_value_combination_id
73084 , x_value_segment_code => l_adr_value_segment_code
73085 , p_side => 'NA'
73086 , p_override_seg_flag => 'Y'
73087 );
73088
73089 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73090
73091 xla_ae_lines_pkg.set_segment(
73092 p_to_segment_code => 'GL_ACCOUNT'
73093 , p_segment_value => l_segment
73094 , p_from_segment_code => l_adr_value_segment_code
73095 , p_from_combination_id => l_adr_value_combination_id
73096 , p_value_type_code => l_adr_value_type_code
73097 , p_transaction_coa_id => l_adr_transaction_coa_id
73098 , p_accounting_coa_id => l_adr_accounting_coa_id
73099 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73100 , p_flex_value_set_id => l_adr_flex_value_set_id
73101 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73102 , p_adr_type_code => 'S'
73103 , p_component_type => l_component_type
73104 , p_component_code => l_component_code
73105 , p_component_type_code => l_component_type_code
73106 , p_component_appl_id => l_component_appl_id
73107 , p_amb_context_code => l_amb_context_code
73108 , p_entity_code => 'AP_INVOICES'
73109 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73110 , p_side => 'NA'
73111 );
73112
73113 END IF;
73114
73115 --
73116 --
73117 END IF;
73118 --
73119 -- Bug 4922099
73120 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
73121 (NVL(l_enc_upg_option, 'N') = 'O')
73122 ) AND
73123 (l_bflow_method_code = 'PRIOR_ENTRY')
73124 )
73125 THEN
73126 IF
73127 --
73128 1 = 2
73129 --
73130 THEN
73131 xla_accounting_err_pkg.build_message
73132 (p_appli_s_name => 'XLA'
73133 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73134 ,p_token_1 => 'LINE_NUMBER'
73135 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
73136 ,p_token_2 => 'LINE_TYPE_NAME'
73137 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
73138 l_component_type
73139 ,l_component_code
73143 ,l_entity_code
73140 ,l_component_type_code
73141 ,l_component_appl_id
73142 ,l_amb_context_code
73144 ,l_event_class_code
73145 )
73146 ,p_token_3 => 'OWNER'
73147 ,p_value_3 => xla_lookups_pkg.get_meaning(
73148 p_lookup_type => 'XLA_OWNER_TYPE'
73149 ,p_lookup_code => l_component_type_code
73150 )
73151 ,p_token_4 => 'PRODUCT_NAME'
73152 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
73153 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
73154 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
73155 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
73156 ,p_ae_header_id => NULL
73157 );
73158
73159 IF (C_LEVEL_ERROR>= g_log_level) THEN
73160 trace
73161 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73162 ,p_level => C_LEVEL_ERROR
73163 ,p_module => l_log_module);
73164 END IF;
73165 END IF;
73166 END IF;
73167 --
73168 --
73169 ------------------------------------------------------------------------------------------------
73170 -- 4219869 Business Flow
73171 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
73172 -- Prior Entry. Currently, the following code is always generated.
73173 ------------------------------------------------------------------------------------------------
73174 XLA_AE_LINES_PKG.ValidateCurrentLine;
73175
73176 ------------------------------------------------------------------------------------
73177 -- 4219869 Business Flow
73178 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
73179 ------------------------------------------------------------------------------------
73180 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73181
73182 ----------------------------------------------------------------------------------
73183 -- 4219869 Business Flow
73184 -- Update journal entry status -- Need to generate this within IF <condition>
73185 ----------------------------------------------------------------------------------
73186 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73187 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
73188 ,p_balance_type_code => l_balance_type_code
73189 );
73190
73191 -------------------------------------------------------------------------------------------
73192 -- 4262811 - Generate the Accrual Reversal lines
73193 -------------------------------------------------------------------------------------------
73194 BEGIN
73195 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
73196 (g_array_event(p_event_id).array_value_num('header_index'));
73197 IF l_acc_rev_flag IS NULL THEN
73198 l_acc_rev_flag := 'N';
73199 END IF;
73200 EXCEPTION
73201 WHEN OTHERS THEN
73202 l_acc_rev_flag := 'N';
73203 END;
73204 --
73205 IF (l_acc_rev_flag = 'Y') THEN
73206
73207 -- 4645092 ------------------------------------------------------------------------------
73208 -- To allow MPA report to determine if it should generate report process
73209 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
73210 ------------------------------------------------------------------------------------------
73211
73212 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
73213 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
73214 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
73215 -- call ADRs
73216 -- Bug 4922099
73217 --
73218 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73219 (NVL(l_actual_upg_option, 'N') = 'O') OR
73220 (NVL(l_enc_upg_option, 'N') = 'O')
73221 )
73222 THEN
73223 NULL;
73224 --
73225 --
73226
73227 l_ccid := AcctDerRule_37(
73228 p_application_id => p_application_id
73229 , p_ae_header_id => l_ae_header_id
73230 , p_source_15 => p_source_15
73231 , p_source_15_meaning => p_source_15_meaning
73232 , p_source_30 => p_source_30
73233 , p_source_36 => p_source_36
73234 , p_source_37 => p_source_37
73235 , x_transaction_coa_id => l_adr_transaction_coa_id
73236 , x_accounting_coa_id => l_adr_accounting_coa_id
73237 , x_value_type_code => l_adr_value_type_code
73241 xla_ae_lines_pkg.set_ccid(
73238 , p_side => 'NA'
73239 );
73240
73242 p_code_combination_id => l_ccid
73243 , p_value_type_code => l_adr_value_type_code
73244 , p_transaction_coa_id => l_adr_transaction_coa_id
73245 , p_accounting_coa_id => l_adr_accounting_coa_id
73246 , p_adr_code => 'AP_REAL_GAIN'
73247 , p_adr_type_code => 'S'
73248 , p_component_type => l_component_type
73249 , p_component_code => l_component_code
73250 , p_component_type_code => l_component_type_code
73251 , p_component_appl_id => l_component_appl_id
73252 , p_amb_context_code => l_amb_context_code
73253 , p_side => 'NA'
73254 );
73255
73256
73257 l_segment := AcctDerRule_22(
73258 p_application_id => p_application_id
73259 , p_ae_header_id => l_ae_header_id
73260 , p_source_15 => p_source_15
73261 , p_source_15_meaning => p_source_15_meaning
73262 , p_source_30 => p_source_30
73263 , x_transaction_coa_id => l_adr_transaction_coa_id
73264 , x_accounting_coa_id => l_adr_accounting_coa_id
73265 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73266 , x_flex_value_set_id => l_adr_flex_value_set_id
73267 , x_value_type_code => l_adr_value_type_code
73268 , x_value_combination_id => l_adr_value_combination_id
73269 , x_value_segment_code => l_adr_value_segment_code
73270 , p_side => 'NA'
73271 , p_override_seg_flag => 'Y'
73272 );
73273
73274 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73275
73276 xla_ae_lines_pkg.set_segment(
73277 p_to_segment_code => 'GL_BALANCING'
73278 , p_segment_value => l_segment
73279 , p_from_segment_code => l_adr_value_segment_code
73280 , p_from_combination_id => l_adr_value_combination_id
73281 , p_value_type_code => l_adr_value_type_code
73282 , p_transaction_coa_id => l_adr_transaction_coa_id
73283 , p_accounting_coa_id => l_adr_accounting_coa_id
73284 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73285 , p_flex_value_set_id => l_adr_flex_value_set_id
73286 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73287 , p_adr_type_code => 'S'
73288 , p_component_type => l_component_type
73289 , p_component_code => l_component_code
73290 , p_component_type_code => l_component_type_code
73291 , p_component_appl_id => l_component_appl_id
73292 , p_amb_context_code => l_amb_context_code
73293 , p_entity_code => 'AP_INVOICES'
73294 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73295 , p_side => 'NA'
73296 );
73297
73298 END IF;
73299
73300 l_segment := AcctDerRule_17(
73301 p_application_id => p_application_id
73302 , p_ae_header_id => l_ae_header_id
73303 , p_source_15 => p_source_15
73304 , p_source_15_meaning => p_source_15_meaning
73305 , p_source_36 => p_source_36
73306 , p_source_37 => p_source_37
73307 , x_transaction_coa_id => l_adr_transaction_coa_id
73308 , x_accounting_coa_id => l_adr_accounting_coa_id
73309 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73310 , x_flex_value_set_id => l_adr_flex_value_set_id
73311 , x_value_type_code => l_adr_value_type_code
73312 , x_value_combination_id => l_adr_value_combination_id
73313 , x_value_segment_code => l_adr_value_segment_code
73314 , p_side => 'NA'
73315 , p_override_seg_flag => 'Y'
73316 );
73317
73318 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73319
73320 xla_ae_lines_pkg.set_segment(
73321 p_to_segment_code => 'GL_ACCOUNT'
73322 , p_segment_value => l_segment
73323 , p_from_segment_code => l_adr_value_segment_code
73324 , p_from_combination_id => l_adr_value_combination_id
73325 , p_value_type_code => l_adr_value_type_code
73326 , p_transaction_coa_id => l_adr_transaction_coa_id
73327 , p_accounting_coa_id => l_adr_accounting_coa_id
73328 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73329 , p_flex_value_set_id => l_adr_flex_value_set_id
73330 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73331 , p_adr_type_code => 'S'
73332 , p_component_type => l_component_type
73333 , p_component_code => l_component_code
73334 , p_component_type_code => l_component_type_code
73335 , p_component_appl_id => l_component_appl_id
73336 , p_amb_context_code => l_amb_context_code
73337 , p_entity_code => 'AP_INVOICES'
73338 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73339 , p_side => 'NA'
73340 );
73341
73342 END IF;
73343
73344 --
73345 --
73346 END IF;
73347
73348 --
73349 -- Update the line information that should be overwritten
73350 --
73354
73351 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
73352 p_header_num => 1);
73353 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
73355 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
73356
73357 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
73358 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
73359 END IF;
73360
73361 --
73362 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
73363 --
73364 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
73365 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
73366 ELSE
73367 ---------------------------------------------------------------------------------------------------
73368 -- 4262811a Switch Sign
73369 ---------------------------------------------------------------------------------------------------
73370 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
73371 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73372 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73373 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73374 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73375 -- 5132302
73376 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
73377 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73378
73379 END IF;
73380
73381 -- 4955764
73382 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73383 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
73384
73385
73386 XLA_AE_LINES_PKG.ValidateCurrentLine;
73387 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73388
73389 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73390 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
73391 ,p_balance_type_code => l_balance_type_code);
73392
73393 END IF;
73394
73395 -----------------------------------------------------------------------------------------
73396 -- 4262811 Multiperiod Accounting
73397 -----------------------------------------------------------------------------------------
73398 -- No MPA option is assigned.
73399
73400
73401 END IF;
73402 END IF;
73403 --
73404
73405 --
73406 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73407 trace
73408 (p_msg => 'END of AcctLineType_132'
73409 ,p_level => C_LEVEL_PROCEDURE
73410 ,p_module => l_log_module);
73411 END IF;
73412 --
73413 EXCEPTION
73414 WHEN xla_exceptions_pkg.application_exception THEN
73415 RAISE;
73416 WHEN OTHERS THEN
73417 xla_exceptions_pkg.raise_message
73418 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_132');
73419 END AcctLineType_132;
73420 --
73421
73422 ---------------------------------------
73423 --
73424 -- PRIVATE FUNCTION
73425 -- AcctLineType_133
73426 --
73427 ---------------------------------------
73428 PROCEDURE AcctLineType_133 (
73429 p_application_id IN NUMBER
73430 ,p_event_id IN NUMBER
73431 ,p_calculate_acctd_flag IN VARCHAR2
73432 ,p_calculate_g_l_flag IN VARCHAR2
73433 ,p_actual_flag IN OUT VARCHAR2
73434 ,p_balance_type_code OUT VARCHAR2
73435 ,p_gain_or_loss_ref OUT VARCHAR2
73436
73437 --Payment Currency Code
73438 , p_source_13 IN VARCHAR2
73439 --Automatic Offsets Value
73440 , p_source_15 IN VARCHAR2
73441 , p_source_15_meaning IN VARCHAR2
73442 --Invoice Distribution Account
73443 , p_source_30 IN NUMBER
73444 --Internal Realized Gain Account
73445 , p_source_36 IN NUMBER
73446 --Bank Gain Account
73447 , p_source_37 IN NUMBER
73448 --Accounting Reversal Indicator
73449 , p_source_52 IN VARCHAR2
73450 --Distribution Link Type
73451 , p_source_54 IN VARCHAR2
73452 --Override Accounted Amount Indicator
73453 , p_source_79 IN VARCHAR2
73454 , p_source_79_meaning IN VARCHAR2
73455 --Third Party Type
73456 , p_source_82 IN VARCHAR2
73457 --Invoice Distribution Tax Line Identifier
73458 , p_source_85 IN NUMBER
73459 --Invoice Distribution Tax Distribution Identifier from Tax
73460 , p_source_86 IN NUMBER
73461 --Invoice Distribution Summary Tax Line Identifier
73462 , p_source_87 IN NUMBER
73463 --Business Flow Accounts Payable Application Identifier
73464 , p_source_90 IN NUMBER
73465 --Business Flow Invoice Distribution Type
73466 , p_source_91 IN VARCHAR2
73467 --Business Flow Invoice Entity Code
73468 , p_source_92 IN VARCHAR2
73469 --Business Flow Invoice Distribution Identifier
73470 , p_source_93 IN NUMBER
73471 --Business Flow Invoice Identifier
73475 --Payment Distribution Type
73472 , p_source_94 IN NUMBER
73473 --When to Account for Payment Option
73474 , p_source_96 IN VARCHAR2
73476 , p_source_97 IN VARCHAR2
73477 , p_source_97_meaning IN VARCHAR2
73478 --Payment Distribution Amount
73479 , p_source_98 IN NUMBER
73480 --Payment Distribution Identifier
73481 , p_source_103 IN NUMBER
73482 --Payment Supplier Identifier
73483 , p_source_109 IN NUMBER
73484 --Payment Supplier Site Identifier
73485 , p_source_110 IN NUMBER
73486 --Payment Distribution Reversed Identifier
73487 , p_source_111 IN NUMBER
73488 --Payment Identifier
73489 , p_source_112 IN NUMBER
73490 --Payment Exchange Date
73491 , p_source_117 IN DATE
73492 --Payment Exchange Rate
73493 , p_source_118 IN NUMBER
73494 --Payment Exchange Rate Type
73495 , p_source_119 IN VARCHAR2
73496 --Payment Type
73497 , p_source_122 IN VARCHAR2
73498 , p_source_122_meaning IN VARCHAR2
73499 --Invoice/Payment Ledger Amount Difference
73500 , p_source_150 IN NUMBER
73501 --Gain or Loss Indicator between Invoice and Payment
73502 , p_source_155 IN VARCHAR2
73503 )
73504 IS
73505
73506 l_component_type VARCHAR2(80);
73507 l_component_code VARCHAR2(30);
73508 l_component_type_code VARCHAR2(1);
73509 l_component_appl_id INTEGER;
73510 l_amb_context_code VARCHAR2(30);
73511 l_entity_code VARCHAR2(30);
73512 l_event_class_code VARCHAR2(30);
73513 l_ae_header_id NUMBER;
73514 l_event_type_code VARCHAR2(30);
73515 l_line_definition_code VARCHAR2(30);
73516 l_line_definition_owner_code VARCHAR2(1);
73517 --
73518 -- adr variables
73519 l_segment VARCHAR2(30);
73520 l_ccid NUMBER;
73521 l_adr_transaction_coa_id NUMBER;
73522 l_adr_accounting_coa_id NUMBER;
73523 l_adr_flexfield_segment_code VARCHAR2(30);
73524 l_adr_flex_value_set_id NUMBER;
73525 l_adr_value_type_code VARCHAR2(30);
73526 l_adr_value_combination_id NUMBER;
73527 l_adr_value_segment_code VARCHAR2(30);
73528
73529 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
73530 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
73531 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
73532 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
73533
73534 -- 4262811 Variables ------------------------------------------------------------------------------------------
73535 l_entered_amt_idx NUMBER;
73536 l_accted_amt_idx NUMBER;
73537 l_acc_rev_flag VARCHAR2(1);
73538 l_accrual_line_num NUMBER;
73539 l_tmp_amt NUMBER;
73540 l_acc_rev_natural_side_code VARCHAR2(1);
73541
73542 l_num_entries NUMBER;
73543 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
73544 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
73545 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
73546 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
73547 l_recog_line_1 NUMBER;
73548 l_recog_line_2 NUMBER;
73549
73550 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
73551 l_bflow_applied_to_amt NUMBER; -- 5132302
73552 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
73553
73554 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
73555
73556 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
73557 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
73558
73559 ---------------------------------------------------------------------------------------------------------------
73560
73561
73562 --
73563 -- bulk performance
73564 --
73565 l_balance_type_code VARCHAR2(1);
73566 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
73567 l_log_module VARCHAR2(240);
73568
73569 --
73570 -- Upgrade strategy
73571 --
73572 l_actual_upg_option VARCHAR2(1);
73573 l_enc_upg_option VARCHAR2(1);
73574
73575 --
73576 BEGIN
73577 --
73578 IF g_log_enabled THEN
73579 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_133';
73580 END IF;
73581 --
73582 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73583
73584 trace
73585 (p_msg => 'BEGIN of AcctLineType_133'
73586 ,p_level => C_LEVEL_PROCEDURE
73587 ,p_module => l_log_module);
73588
73589 END IF;
73590 --
73591 l_component_type := 'AMB_JLT';
73592 l_component_code := 'AP_GAIN_REF';
73593 l_component_type_code := 'S';
73594 l_component_appl_id := 200;
73595 l_amb_context_code := 'DEFAULT';
73596 l_entity_code := 'AP_PAYMENTS';
73597 l_event_class_code := 'REFUNDS';
73598 l_event_type_code := 'REFUNDS_ALL';
73599 l_line_definition_owner_code := 'S';
73600 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
73601 --
73602 l_balance_type_code := 'A';
73603 l_segment := NULL;
73607 l_adr_flexfield_segment_code := NULL;
73604 l_ccid := NULL;
73605 l_adr_transaction_coa_id := NULL;
73606 l_adr_accounting_coa_id := NULL;
73608 l_adr_flex_value_set_id := NULL;
73609 l_adr_value_type_code := NULL;
73610 l_adr_value_combination_id := NULL;
73611 l_adr_value_segment_code := NULL;
73612
73613 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
73614 l_bflow_class_code := ''; -- 4219869 Business Flow
73615 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
73616 l_budgetary_control_flag := 'N';
73617
73618 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73619 l_bflow_applied_to_amt := NULL; -- 5132302
73620 l_entered_amt_idx := NULL; -- 4262811
73621 l_accted_amt_idx := NULL; -- 4262811
73622 l_acc_rev_flag := NULL; -- 4262811
73623 l_accrual_line_num := NULL; -- 4262811
73624 l_tmp_amt := NULL; -- 4262811
73625 --
73626 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
73627 (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
73628 return;
73629 END IF;
73630
73631 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
73632 l_balance_type_code <> 'B' THEN
73633 IF (NVL(p_source_96,'
73634 ') <> 'CLEAR_CLEAR' AND
73635 NVL(p_source_96,'
73636 ') <> 'ALWAYS_CLEAR') AND
73637 NVL(p_source_155,'
73638 ') = 'GAIN' AND
73639 NVL(p_source_122,'
73640 ') = 'R' AND
73641 NVL(p_source_97,'
73642 ') <> 'EXCHANGE RATE VARIANCE' AND
73643 NVL(p_source_97,'
73644 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
73645 NVL(p_source_97,'
73646 ') <> 'BANK CHARGE' AND
73647 NVL(p_source_97,'
73648 ') <> 'BANK ERROR'
73649 THEN
73650
73651 --
73652 XLA_AE_LINES_PKG.SetNewLine;
73653
73654 p_balance_type_code := l_balance_type_code;
73655 -- set the flag so later we will know whether the gain loss line needs to be created
73656
73657 IF(l_balance_type_code = 'A' ) THEN
73658 p_actual_flag :='G';
73659 END IF;
73660
73661 --
73662 -- bulk performance
73663 --
73664 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
73665 p_header_num => 0); -- 4262811
73666 --
73667 -- set accounting line options
73668 --
73669 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
73670 p_natural_side_code => 'C'
73671 , p_gain_or_loss_flag => 'Y'
73672 , p_gl_transfer_mode_code => 'S'
73673 , p_acct_entry_type_code => 'A'
73674 , p_switch_side_flag => 'Y'
73675 , p_merge_duplicate_code => 'A'
73676 );
73677 --
73678 l_acc_rev_natural_side_code := 'D'; -- 4262811
73679 --
73680 --
73681 -- set accounting line type info
73682 --
73683 xla_ae_lines_pkg.SetAcctLineType
73684 (p_component_type => l_component_type
73685 ,p_event_type_code => l_event_type_code
73686 ,p_line_definition_owner_code => l_line_definition_owner_code
73687 ,p_line_definition_code => l_line_definition_code
73688 ,p_accounting_line_code => l_component_code
73689 ,p_accounting_line_type_code => l_component_type_code
73690 ,p_accounting_line_appl_id => l_component_appl_id
73691 ,p_amb_context_code => l_amb_context_code
73692 ,p_entity_code => l_entity_code
73693 ,p_event_class_code => l_event_class_code);
73694 --
73695 -- set accounting class
73696 --
73697 xla_ae_lines_pkg.SetAcctClass(
73698 p_accounting_class_code => 'GAIN'
73699 , p_ae_header_id => l_ae_header_id
73700 );
73701
73702 --
73703 -- set rounding class
73704 --
73705 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
73706 'GAIN';
73707
73708 --
73709 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
73710 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
73711 --
73712 -- bulk performance
73713 --
73714 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
73715
73716 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
73717 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
73718
73719 -- 4955764
73720 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73721 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
73722
73723 -- 4458381 Public Sector Enh
73724
73725 --
73726 -- set accounting attributes for the line type
73727 --
73728 l_entered_amt_idx := 9;
73729 l_accted_amt_idx := 14;
73730 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73731 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
73732 l_rec_acct_attrs.array_char_value(1) := p_source_52;
73733 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
73737 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
73734 l_rec_acct_attrs.array_num_value(2) := p_source_90;
73735 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
73736 l_rec_acct_attrs.array_char_value(3) := p_source_91;
73738 l_rec_acct_attrs.array_char_value(4) := p_source_92;
73739 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
73740 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
73741 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
73742 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
73743 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
73744 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
73745 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
73746 l_rec_acct_attrs.array_char_value(8) := p_source_54;
73747 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
73748 l_rec_acct_attrs.array_num_value(9) := p_source_98;
73749 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
73750 l_rec_acct_attrs.array_char_value(10) := p_source_13;
73751 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
73752 l_rec_acct_attrs.array_date_value(11) := p_source_117;
73753 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
73754 l_rec_acct_attrs.array_num_value(12) := p_source_118;
73755 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
73756 l_rec_acct_attrs.array_char_value(13) := p_source_119;
73757 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
73758 l_rec_acct_attrs.array_num_value(14) := p_source_150;
73759 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
73760 l_rec_acct_attrs.array_char_value(15) := p_source_79;
73761 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
73762 l_rec_acct_attrs.array_num_value(16) := p_source_109;
73763 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
73764 l_rec_acct_attrs.array_num_value(17) := p_source_110;
73765 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
73766 l_rec_acct_attrs.array_char_value(18) := p_source_82;
73767 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
73768 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
73769 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
73770 l_rec_acct_attrs.array_char_value(20) := p_source_54;
73771 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
73772 l_rec_acct_attrs.array_num_value(21) := p_source_85;
73773 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
73774 l_rec_acct_attrs.array_num_value(22) := p_source_86;
73775 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
73776 l_rec_acct_attrs.array_num_value(23) := p_source_87;
73777
73778 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
73779 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
73780
73781 ---------------------------------------------------------------------------------------------------------------
73782 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
73783 ---------------------------------------------------------------------------------------------------------------
73784 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
73785
73786 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73787 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73788
73789 IF xla_accounting_cache_pkg.GetValueChar
73790 (p_source_code => 'LEDGER_CATEGORY_CODE'
73791 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
73792 AND l_bflow_method_code = 'PRIOR_ENTRY'
73793 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
73794 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
73795 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
73796 )
73797 THEN
73798 xla_ae_lines_pkg.BflowUpgEntry
73799 (p_business_method_code => l_bflow_method_code
73800 ,p_business_class_code => l_bflow_class_code
73801 ,p_balance_type => l_balance_type_code);
73802 ELSE
73803 NULL;
73804 -- No business flow processing for business flow method of NONE.
73805 END IF;
73806
73807 --
73808 -- call analytical criteria
73809 --
73810
73811
73812 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
73813 xla_ae_lines_pkg.SetAnalyticalCriteria(
73814 p_analytical_criterion_name => 'Check Id'
73815 , p_analytical_criterion_owner => 'S'
73816 , p_analytical_criterion_code => 'CHECK_ID'
73817 , p_amb_context_code => 'DEFAULT'
73818 , p_balancing_flag => 'N'
73819
73820 , p_analytical_detail_char_1 => NULL
73821 , p_analytical_detail_num_1 => p_source_112
73822 , p_analytical_detail_date_1 => NULL
73823
73824 , p_ae_header_id => l_ae_header_id
73825 )
73826 ;
73827 --
73828
73829 --
73830 -- call description
73831 --
73832 -- No description or it is inherited.
73833 --
73834 -- call ADRs
73835 -- Bug 4922099
73839 (NVL(l_enc_upg_option, 'N') = 'O')
73836 --
73837 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73838 (NVL(l_actual_upg_option, 'N') = 'O') OR
73840 )
73841 THEN
73842 NULL;
73843 --
73844 --
73845
73846 l_ccid := AcctDerRule_37(
73847 p_application_id => p_application_id
73848 , p_ae_header_id => l_ae_header_id
73849 , p_source_15 => p_source_15
73850 , p_source_15_meaning => p_source_15_meaning
73851 , p_source_30 => p_source_30
73852 , p_source_36 => p_source_36
73853 , p_source_37 => p_source_37
73854 , x_transaction_coa_id => l_adr_transaction_coa_id
73855 , x_accounting_coa_id => l_adr_accounting_coa_id
73856 , x_value_type_code => l_adr_value_type_code
73857 , p_side => 'NA'
73858 );
73859
73860 xla_ae_lines_pkg.set_ccid(
73861 p_code_combination_id => l_ccid
73862 , p_value_type_code => l_adr_value_type_code
73863 , p_transaction_coa_id => l_adr_transaction_coa_id
73864 , p_accounting_coa_id => l_adr_accounting_coa_id
73865 , p_adr_code => 'AP_REAL_GAIN'
73866 , p_adr_type_code => 'S'
73867 , p_component_type => l_component_type
73868 , p_component_code => l_component_code
73869 , p_component_type_code => l_component_type_code
73870 , p_component_appl_id => l_component_appl_id
73871 , p_amb_context_code => l_amb_context_code
73872 , p_side => 'NA'
73873 );
73874
73875
73876 l_segment := AcctDerRule_22(
73877 p_application_id => p_application_id
73878 , p_ae_header_id => l_ae_header_id
73879 , p_source_15 => p_source_15
73880 , p_source_15_meaning => p_source_15_meaning
73881 , p_source_30 => p_source_30
73882 , x_transaction_coa_id => l_adr_transaction_coa_id
73883 , x_accounting_coa_id => l_adr_accounting_coa_id
73884 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73885 , x_flex_value_set_id => l_adr_flex_value_set_id
73886 , x_value_type_code => l_adr_value_type_code
73887 , x_value_combination_id => l_adr_value_combination_id
73888 , x_value_segment_code => l_adr_value_segment_code
73889 , p_side => 'NA'
73890 , p_override_seg_flag => 'Y'
73891 );
73892
73893 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73894
73895 xla_ae_lines_pkg.set_segment(
73896 p_to_segment_code => 'GL_BALANCING'
73897 , p_segment_value => l_segment
73898 , p_from_segment_code => l_adr_value_segment_code
73899 , p_from_combination_id => l_adr_value_combination_id
73900 , p_value_type_code => l_adr_value_type_code
73901 , p_transaction_coa_id => l_adr_transaction_coa_id
73902 , p_accounting_coa_id => l_adr_accounting_coa_id
73903 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73904 , p_flex_value_set_id => l_adr_flex_value_set_id
73905 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73906 , p_adr_type_code => 'S'
73907 , p_component_type => l_component_type
73908 , p_component_code => l_component_code
73909 , p_component_type_code => l_component_type_code
73910 , p_component_appl_id => l_component_appl_id
73911 , p_amb_context_code => l_amb_context_code
73912 , p_entity_code => 'AP_PAYMENTS'
73913 , p_event_class_code => 'REFUNDS'
73914 , p_side => 'NA'
73915 );
73916
73917 END IF;
73918
73919 l_segment := AcctDerRule_17(
73920 p_application_id => p_application_id
73921 , p_ae_header_id => l_ae_header_id
73922 , p_source_15 => p_source_15
73923 , p_source_15_meaning => p_source_15_meaning
73924 , p_source_36 => p_source_36
73925 , p_source_37 => p_source_37
73926 , x_transaction_coa_id => l_adr_transaction_coa_id
73927 , x_accounting_coa_id => l_adr_accounting_coa_id
73928 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73929 , x_flex_value_set_id => l_adr_flex_value_set_id
73930 , x_value_type_code => l_adr_value_type_code
73931 , x_value_combination_id => l_adr_value_combination_id
73932 , x_value_segment_code => l_adr_value_segment_code
73933 , p_side => 'NA'
73934 , p_override_seg_flag => 'Y'
73935 );
73936
73937 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73938
73939 xla_ae_lines_pkg.set_segment(
73940 p_to_segment_code => 'GL_ACCOUNT'
73941 , p_segment_value => l_segment
73942 , p_from_segment_code => l_adr_value_segment_code
73943 , p_from_combination_id => l_adr_value_combination_id
73944 , p_value_type_code => l_adr_value_type_code
73945 , p_transaction_coa_id => l_adr_transaction_coa_id
73946 , p_accounting_coa_id => l_adr_accounting_coa_id
73947 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73951 , p_component_type => l_component_type
73948 , p_flex_value_set_id => l_adr_flex_value_set_id
73949 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73950 , p_adr_type_code => 'S'
73952 , p_component_code => l_component_code
73953 , p_component_type_code => l_component_type_code
73954 , p_component_appl_id => l_component_appl_id
73955 , p_amb_context_code => l_amb_context_code
73956 , p_entity_code => 'AP_PAYMENTS'
73957 , p_event_class_code => 'REFUNDS'
73958 , p_side => 'NA'
73959 );
73960
73961 END IF;
73962
73963 --
73964 --
73965 END IF;
73966 --
73967 -- Bug 4922099
73968 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
73969 (NVL(l_enc_upg_option, 'N') = 'O')
73970 ) AND
73971 (l_bflow_method_code = 'PRIOR_ENTRY')
73972 )
73973 THEN
73974 IF
73975 --
73976 1 = 2
73977 --
73978 THEN
73979 xla_accounting_err_pkg.build_message
73980 (p_appli_s_name => 'XLA'
73981 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73982 ,p_token_1 => 'LINE_NUMBER'
73983 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
73984 ,p_token_2 => 'LINE_TYPE_NAME'
73985 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
73986 l_component_type
73987 ,l_component_code
73988 ,l_component_type_code
73989 ,l_component_appl_id
73990 ,l_amb_context_code
73991 ,l_entity_code
73992 ,l_event_class_code
73993 )
73994 ,p_token_3 => 'OWNER'
73995 ,p_value_3 => xla_lookups_pkg.get_meaning(
73996 p_lookup_type => 'XLA_OWNER_TYPE'
73997 ,p_lookup_code => l_component_type_code
73998 )
73999 ,p_token_4 => 'PRODUCT_NAME'
74000 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
74001 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
74002 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
74003 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
74004 ,p_ae_header_id => NULL
74005 );
74006
74007 IF (C_LEVEL_ERROR>= g_log_level) THEN
74008 trace
74009 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74010 ,p_level => C_LEVEL_ERROR
74011 ,p_module => l_log_module);
74012 END IF;
74013 END IF;
74014 END IF;
74015 --
74016 --
74017 ------------------------------------------------------------------------------------------------
74018 -- 4219869 Business Flow
74019 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
74020 -- Prior Entry. Currently, the following code is always generated.
74021 ------------------------------------------------------------------------------------------------
74022 XLA_AE_LINES_PKG.ValidateCurrentLine;
74023
74024 ------------------------------------------------------------------------------------
74025 -- 4219869 Business Flow
74026 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
74027 ------------------------------------------------------------------------------------
74028 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74029
74030 ----------------------------------------------------------------------------------
74031 -- 4219869 Business Flow
74032 -- Update journal entry status -- Need to generate this within IF <condition>
74033 ----------------------------------------------------------------------------------
74034 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74035 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
74036 ,p_balance_type_code => l_balance_type_code
74037 );
74038
74039 -------------------------------------------------------------------------------------------
74040 -- 4262811 - Generate the Accrual Reversal lines
74041 -------------------------------------------------------------------------------------------
74042 BEGIN
74046 l_acc_rev_flag := 'N';
74043 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
74044 (g_array_event(p_event_id).array_value_num('header_index'));
74045 IF l_acc_rev_flag IS NULL THEN
74047 END IF;
74048 EXCEPTION
74049 WHEN OTHERS THEN
74050 l_acc_rev_flag := 'N';
74051 END;
74052 --
74053 IF (l_acc_rev_flag = 'Y') THEN
74054
74055 -- 4645092 ------------------------------------------------------------------------------
74056 -- To allow MPA report to determine if it should generate report process
74057 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
74058 ------------------------------------------------------------------------------------------
74059
74060 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
74061 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
74062 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
74063 -- call ADRs
74064 -- Bug 4922099
74065 --
74066 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74067 (NVL(l_actual_upg_option, 'N') = 'O') OR
74068 (NVL(l_enc_upg_option, 'N') = 'O')
74069 )
74070 THEN
74071 NULL;
74072 --
74073 --
74074
74075 l_ccid := AcctDerRule_37(
74076 p_application_id => p_application_id
74077 , p_ae_header_id => l_ae_header_id
74078 , p_source_15 => p_source_15
74079 , p_source_15_meaning => p_source_15_meaning
74080 , p_source_30 => p_source_30
74081 , p_source_36 => p_source_36
74082 , p_source_37 => p_source_37
74083 , x_transaction_coa_id => l_adr_transaction_coa_id
74084 , x_accounting_coa_id => l_adr_accounting_coa_id
74085 , x_value_type_code => l_adr_value_type_code
74086 , p_side => 'NA'
74087 );
74088
74089 xla_ae_lines_pkg.set_ccid(
74090 p_code_combination_id => l_ccid
74091 , p_value_type_code => l_adr_value_type_code
74092 , p_transaction_coa_id => l_adr_transaction_coa_id
74093 , p_accounting_coa_id => l_adr_accounting_coa_id
74094 , p_adr_code => 'AP_REAL_GAIN'
74095 , p_adr_type_code => 'S'
74096 , p_component_type => l_component_type
74097 , p_component_code => l_component_code
74098 , p_component_type_code => l_component_type_code
74099 , p_component_appl_id => l_component_appl_id
74100 , p_amb_context_code => l_amb_context_code
74101 , p_side => 'NA'
74102 );
74103
74104
74105 l_segment := AcctDerRule_22(
74106 p_application_id => p_application_id
74107 , p_ae_header_id => l_ae_header_id
74108 , p_source_15 => p_source_15
74109 , p_source_15_meaning => p_source_15_meaning
74110 , p_source_30 => p_source_30
74111 , x_transaction_coa_id => l_adr_transaction_coa_id
74112 , x_accounting_coa_id => l_adr_accounting_coa_id
74113 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74114 , x_flex_value_set_id => l_adr_flex_value_set_id
74115 , x_value_type_code => l_adr_value_type_code
74116 , x_value_combination_id => l_adr_value_combination_id
74117 , x_value_segment_code => l_adr_value_segment_code
74118 , p_side => 'NA'
74119 , p_override_seg_flag => 'Y'
74120 );
74121
74122 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74123
74124 xla_ae_lines_pkg.set_segment(
74125 p_to_segment_code => 'GL_BALANCING'
74126 , p_segment_value => l_segment
74127 , p_from_segment_code => l_adr_value_segment_code
74128 , p_from_combination_id => l_adr_value_combination_id
74129 , p_value_type_code => l_adr_value_type_code
74130 , p_transaction_coa_id => l_adr_transaction_coa_id
74131 , p_accounting_coa_id => l_adr_accounting_coa_id
74132 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74133 , p_flex_value_set_id => l_adr_flex_value_set_id
74134 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
74135 , p_adr_type_code => 'S'
74136 , p_component_type => l_component_type
74137 , p_component_code => l_component_code
74138 , p_component_type_code => l_component_type_code
74139 , p_component_appl_id => l_component_appl_id
74140 , p_amb_context_code => l_amb_context_code
74141 , p_entity_code => 'AP_PAYMENTS'
74142 , p_event_class_code => 'REFUNDS'
74143 , p_side => 'NA'
74144 );
74145
74146 END IF;
74147
74148 l_segment := AcctDerRule_17(
74149 p_application_id => p_application_id
74150 , p_ae_header_id => l_ae_header_id
74151 , p_source_15 => p_source_15
74152 , p_source_15_meaning => p_source_15_meaning
74153 , p_source_36 => p_source_36
74154 , p_source_37 => p_source_37
74155 , x_transaction_coa_id => l_adr_transaction_coa_id
74156 , x_accounting_coa_id => l_adr_accounting_coa_id
74157 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74158 , x_flex_value_set_id => l_adr_flex_value_set_id
74162 , p_side => 'NA'
74159 , x_value_type_code => l_adr_value_type_code
74160 , x_value_combination_id => l_adr_value_combination_id
74161 , x_value_segment_code => l_adr_value_segment_code
74163 , p_override_seg_flag => 'Y'
74164 );
74165
74166 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74167
74168 xla_ae_lines_pkg.set_segment(
74169 p_to_segment_code => 'GL_ACCOUNT'
74170 , p_segment_value => l_segment
74171 , p_from_segment_code => l_adr_value_segment_code
74172 , p_from_combination_id => l_adr_value_combination_id
74173 , p_value_type_code => l_adr_value_type_code
74174 , p_transaction_coa_id => l_adr_transaction_coa_id
74175 , p_accounting_coa_id => l_adr_accounting_coa_id
74176 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74177 , p_flex_value_set_id => l_adr_flex_value_set_id
74178 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74179 , p_adr_type_code => 'S'
74180 , p_component_type => l_component_type
74181 , p_component_code => l_component_code
74182 , p_component_type_code => l_component_type_code
74183 , p_component_appl_id => l_component_appl_id
74184 , p_amb_context_code => l_amb_context_code
74185 , p_entity_code => 'AP_PAYMENTS'
74186 , p_event_class_code => 'REFUNDS'
74187 , p_side => 'NA'
74188 );
74189
74190 END IF;
74191
74192 --
74193 --
74194 END IF;
74195
74196 --
74197 -- Update the line information that should be overwritten
74198 --
74199 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74200 p_header_num => 1);
74201 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74202
74203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74204
74205 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74206 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74207 END IF;
74208
74209 --
74210 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74211 --
74212 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74213 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74214 ELSE
74215 ---------------------------------------------------------------------------------------------------
74216 -- 4262811a Switch Sign
74217 ---------------------------------------------------------------------------------------------------
74218 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74221 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74223 -- 5132302
74224 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74226
74227 END IF;
74228
74229 -- 4955764
74230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74232
74233
74234 XLA_AE_LINES_PKG.ValidateCurrentLine;
74235 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74236
74237 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74238 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74239 ,p_balance_type_code => l_balance_type_code);
74240
74241 END IF;
74242
74243 -----------------------------------------------------------------------------------------
74244 -- 4262811 Multiperiod Accounting
74245 -----------------------------------------------------------------------------------------
74246 -- No MPA option is assigned.
74247
74248
74249 END IF;
74250 END IF;
74251 --
74252
74253 --
74254 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74255 trace
74256 (p_msg => 'END of AcctLineType_133'
74257 ,p_level => C_LEVEL_PROCEDURE
74258 ,p_module => l_log_module);
74259 END IF;
74260 --
74261 EXCEPTION
74262 WHEN xla_exceptions_pkg.application_exception THEN
74263 RAISE;
74264 WHEN OTHERS THEN
74265 xla_exceptions_pkg.raise_message
74266 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_133');
74267 END AcctLineType_133;
74268 --
74269
74270 ---------------------------------------
74271 --
74272 -- PRIVATE FUNCTION
74273 -- AcctLineType_134
74274 --
74275 ---------------------------------------
74279 ,p_calculate_acctd_flag IN VARCHAR2
74276 PROCEDURE AcctLineType_134 (
74277 p_application_id IN NUMBER
74278 ,p_event_id IN NUMBER
74280 ,p_calculate_g_l_flag IN VARCHAR2
74281 ,p_actual_flag IN OUT VARCHAR2
74282 ,p_balance_type_code OUT VARCHAR2
74283 ,p_gain_or_loss_ref OUT VARCHAR2
74284
74285 --Payment Currency Code
74286 , p_source_13 IN VARCHAR2
74287 --Interest Account
74288 , p_source_28 IN NUMBER
74289 --Prorate Interest Invoice Across Distributions Option
74290 , p_source_29 IN VARCHAR2
74291 --Invoice Distribution Account
74292 , p_source_30 IN NUMBER
74293 --Invoice Distribution Type
74294 , p_source_33 IN VARCHAR2
74295 , p_source_33_meaning IN VARCHAR2
74296 --Accounting Reversal Indicator
74297 , p_source_52 IN VARCHAR2
74298 --Distribution Link Type
74299 , p_source_54 IN VARCHAR2
74300 --Override Accounted Amount Indicator
74301 , p_source_79 IN VARCHAR2
74302 , p_source_79_meaning IN VARCHAR2
74303 --Third Party Type
74304 , p_source_82 IN VARCHAR2
74305 --Invoice Distribution Tax Line Identifier
74306 , p_source_85 IN NUMBER
74307 --Invoice Distribution Summary Tax Line Identifier
74308 , p_source_87 IN NUMBER
74309 --Business Flow Accounts Payable Application Identifier
74310 , p_source_90 IN NUMBER
74311 --When to Account for Payment Option
74312 , p_source_96 IN VARCHAR2
74313 --Payment Distribution Type
74314 , p_source_97 IN VARCHAR2
74315 , p_source_97_meaning IN VARCHAR2
74316 --Payment Distribution Amount
74317 , p_source_98 IN NUMBER
74318 --Business Flow Payment Distribution Type
74319 , p_source_99 IN VARCHAR2
74320 --Business Flow Payment Entity Code
74321 , p_source_100 IN VARCHAR2
74322 --Business Flow Payment Distribution Identifier
74323 , p_source_101 IN NUMBER
74324 --Business Flow Payment Identifier
74325 , p_source_102 IN NUMBER
74326 --Payment Distribution Identifier
74327 , p_source_103 IN NUMBER
74328 --Cleared Exchange Date
74329 , p_source_105 IN DATE
74330 --Cleared Exchange Rate
74331 , p_source_106 IN NUMBER
74332 --Cleared Exchange Rate Type
74333 , p_source_107 IN VARCHAR2
74334 --Payment Distribution (Cleared Rate) Ledger Amount
74335 , p_source_108 IN NUMBER
74336 --Payment Supplier Identifier
74337 , p_source_109 IN NUMBER
74338 --Payment Supplier Site Identifier
74339 , p_source_110 IN NUMBER
74340 --Payment Distribution Reversed Identifier
74341 , p_source_111 IN NUMBER
74342 --Payment Identifier
74343 , p_source_112 IN NUMBER
74344 --Payment Type
74345 , p_source_122 IN VARCHAR2
74346 , p_source_122_meaning IN VARCHAR2
74347 --Invoice Type Paid
74348 , p_source_160 IN VARCHAR2
74349 , p_source_160_meaning IN VARCHAR2
74350 )
74351 IS
74352
74353 l_component_type VARCHAR2(80);
74354 l_component_code VARCHAR2(30);
74355 l_component_type_code VARCHAR2(1);
74356 l_component_appl_id INTEGER;
74357 l_amb_context_code VARCHAR2(30);
74358 l_entity_code VARCHAR2(30);
74359 l_event_class_code VARCHAR2(30);
74360 l_ae_header_id NUMBER;
74361 l_event_type_code VARCHAR2(30);
74362 l_line_definition_code VARCHAR2(30);
74363 l_line_definition_owner_code VARCHAR2(1);
74364 --
74365 -- adr variables
74366 l_segment VARCHAR2(30);
74367 l_ccid NUMBER;
74368 l_adr_transaction_coa_id NUMBER;
74369 l_adr_accounting_coa_id NUMBER;
74370 l_adr_flexfield_segment_code VARCHAR2(30);
74371 l_adr_flex_value_set_id NUMBER;
74372 l_adr_value_type_code VARCHAR2(30);
74373 l_adr_value_combination_id NUMBER;
74374 l_adr_value_segment_code VARCHAR2(30);
74375
74376 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
74377 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
74378 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
74379 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
74380
74381 -- 4262811 Variables ------------------------------------------------------------------------------------------
74382 l_entered_amt_idx NUMBER;
74383 l_accted_amt_idx NUMBER;
74384 l_acc_rev_flag VARCHAR2(1);
74385 l_accrual_line_num NUMBER;
74386 l_tmp_amt NUMBER;
74387 l_acc_rev_natural_side_code VARCHAR2(1);
74388
74389 l_num_entries NUMBER;
74390 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
74391 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
74392 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
74393 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
74394 l_recog_line_1 NUMBER;
74395 l_recog_line_2 NUMBER;
74396
74397 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
74398 l_bflow_applied_to_amt NUMBER; -- 5132302
74399 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
74400
74404 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
74401 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
74402
74403 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
74405
74406 ---------------------------------------------------------------------------------------------------------------
74407
74408
74409 --
74410 -- bulk performance
74411 --
74412 l_balance_type_code VARCHAR2(1);
74413 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
74414 l_log_module VARCHAR2(240);
74415
74416 --
74417 -- Upgrade strategy
74418 --
74419 l_actual_upg_option VARCHAR2(1);
74420 l_enc_upg_option VARCHAR2(1);
74421
74422 --
74423 BEGIN
74424 --
74425 IF g_log_enabled THEN
74426 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_134';
74427 END IF;
74428 --
74429 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74430
74431 trace
74432 (p_msg => 'BEGIN of AcctLineType_134'
74433 ,p_level => C_LEVEL_PROCEDURE
74434 ,p_module => l_log_module);
74435
74436 END IF;
74437 --
74438 l_component_type := 'AMB_JLT';
74439 l_component_code := 'AP_INTEREST_EXPENSE_CLEAR';
74440 l_component_type_code := 'S';
74441 l_component_appl_id := 200;
74442 l_amb_context_code := 'DEFAULT';
74443 l_entity_code := 'AP_PAYMENTS';
74444 l_event_class_code := 'RECONCILED PAYMENTS';
74445 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
74446 l_line_definition_owner_code := 'S';
74447 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
74448 --
74449 l_balance_type_code := 'A';
74450 l_segment := NULL;
74451 l_ccid := NULL;
74452 l_adr_transaction_coa_id := NULL;
74453 l_adr_accounting_coa_id := NULL;
74454 l_adr_flexfield_segment_code := NULL;
74455 l_adr_flex_value_set_id := NULL;
74456 l_adr_value_type_code := NULL;
74457 l_adr_value_combination_id := NULL;
74458 l_adr_value_segment_code := NULL;
74459
74460 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
74461 l_bflow_class_code := ''; -- 4219869 Business Flow
74462 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
74463 l_budgetary_control_flag := 'N';
74464
74465 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74466 l_bflow_applied_to_amt := NULL; -- 5132302
74467 l_entered_amt_idx := NULL; -- 4262811
74468 l_accted_amt_idx := NULL; -- 4262811
74469 l_acc_rev_flag := NULL; -- 4262811
74470 l_accrual_line_num := NULL; -- 4262811
74471 l_tmp_amt := NULL; -- 4262811
74472 --
74473
74474 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
74475 l_balance_type_code <> 'B' THEN
74476 IF NVL(p_source_96,'
74477 ') = 'CLEAR_CLEAR' AND
74478 NVL(p_source_33,'
74479 ') = 'ITEM' AND
74480 NVL(p_source_160,'
74481 ') = 'INTEREST' AND
74482 (NVL(p_source_97,'
74483 ') = 'CASH' OR
74484 NVL(p_source_97,'
74485 ') = 'DISCOUNT') AND
74486 NVL(p_source_122,'
74487 ') <> 'R'
74488 THEN
74489
74490 --
74491 XLA_AE_LINES_PKG.SetNewLine;
74492
74493 p_balance_type_code := l_balance_type_code;
74494 -- set the flag so later we will know whether the gain loss line needs to be created
74495
74496 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
74497 p_actual_flag :='A';
74498 END IF;
74499
74500 --
74501 -- bulk performance
74502 --
74503 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
74504 p_header_num => 0); -- 4262811
74505 --
74506 -- set accounting line options
74507 --
74508 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
74509 p_natural_side_code => 'D'
74510 , p_gain_or_loss_flag => 'N'
74511 , p_gl_transfer_mode_code => 'S'
74512 , p_acct_entry_type_code => 'A'
74513 , p_switch_side_flag => 'Y'
74514 , p_merge_duplicate_code => 'A'
74515 );
74516 --
74517 l_acc_rev_natural_side_code := 'C'; -- 4262811
74518 --
74519 --
74520 -- set accounting line type info
74521 --
74522 xla_ae_lines_pkg.SetAcctLineType
74523 (p_component_type => l_component_type
74524 ,p_event_type_code => l_event_type_code
74525 ,p_line_definition_owner_code => l_line_definition_owner_code
74526 ,p_line_definition_code => l_line_definition_code
74527 ,p_accounting_line_code => l_component_code
74528 ,p_accounting_line_type_code => l_component_type_code
74529 ,p_accounting_line_appl_id => l_component_appl_id
74530 ,p_amb_context_code => l_amb_context_code
74531 ,p_entity_code => l_entity_code
74532 ,p_event_class_code => l_event_class_code);
74533 --
74534 -- set accounting class
74535 --
74536 xla_ae_lines_pkg.SetAcctClass(
74540
74537 p_accounting_class_code => 'INTEREST_EXPENSE'
74538 , p_ae_header_id => l_ae_header_id
74539 );
74541 --
74542 -- set rounding class
74543 --
74544 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
74545 'INTEREST_EXPENSE';
74546
74547 --
74548 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
74549 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
74550 --
74551 -- bulk performance
74552 --
74553 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
74554
74555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
74556 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
74557
74558 -- 4955764
74559 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74560 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
74561
74562 -- 4458381 Public Sector Enh
74563
74564 --
74565 -- set accounting attributes for the line type
74566 --
74567 l_entered_amt_idx := 10;
74568 l_accted_amt_idx := 15;
74569 l_bflow_applied_to_amt_idx := 2; -- 5132302
74570 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
74571 l_rec_acct_attrs.array_char_value(1) := p_source_52;
74572 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
74573 l_rec_acct_attrs.array_num_value(2) := p_source_98;
74574 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
74575 l_rec_acct_attrs.array_num_value(3) := p_source_90;
74576 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
74577 l_rec_acct_attrs.array_char_value(4) := p_source_99;
74578 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
74579 l_rec_acct_attrs.array_char_value(5) := p_source_100;
74580 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
74581 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
74582 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
74583 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
74584 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
74585 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
74586 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
74587 l_rec_acct_attrs.array_char_value(9) := p_source_54;
74588 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
74589 l_rec_acct_attrs.array_num_value(10) := p_source_98;
74590 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
74591 l_rec_acct_attrs.array_char_value(11) := p_source_13;
74592 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
74593 l_rec_acct_attrs.array_date_value(12) := p_source_105;
74594 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
74595 l_rec_acct_attrs.array_num_value(13) := p_source_106;
74596 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
74597 l_rec_acct_attrs.array_char_value(14) := p_source_107;
74598 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
74599 l_rec_acct_attrs.array_num_value(15) := p_source_108;
74600 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
74601 l_rec_acct_attrs.array_char_value(16) := p_source_79;
74602 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
74603 l_rec_acct_attrs.array_num_value(17) := p_source_109;
74604 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
74605 l_rec_acct_attrs.array_num_value(18) := p_source_110;
74606 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
74607 l_rec_acct_attrs.array_char_value(19) := p_source_82;
74608 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
74609 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
74610 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
74611 l_rec_acct_attrs.array_char_value(21) := p_source_54;
74612 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
74613 l_rec_acct_attrs.array_num_value(22) := p_source_85;
74614 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
74615 l_rec_acct_attrs.array_num_value(23) := p_source_85;
74616 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
74617 l_rec_acct_attrs.array_num_value(24) := p_source_87;
74618
74619 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
74620 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
74621
74622 ---------------------------------------------------------------------------------------------------------------
74623 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
74624 ---------------------------------------------------------------------------------------------------------------
74625 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
74626
74627 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74628 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74629
74633 AND l_bflow_method_code = 'PRIOR_ENTRY'
74630 IF xla_accounting_cache_pkg.GetValueChar
74631 (p_source_code => 'LEDGER_CATEGORY_CODE'
74632 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
74634 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
74635 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
74636 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
74637 )
74638 THEN
74639 xla_ae_lines_pkg.BflowUpgEntry
74640 (p_business_method_code => l_bflow_method_code
74641 ,p_business_class_code => l_bflow_class_code
74642 ,p_balance_type => l_balance_type_code);
74643 ELSE
74644 NULL;
74645 -- No business flow processing for business flow method of NONE.
74646 END IF;
74647
74648 --
74649 -- call analytical criteria
74650 --
74651
74652
74653 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
74654 xla_ae_lines_pkg.SetAnalyticalCriteria(
74655 p_analytical_criterion_name => 'Check Id'
74656 , p_analytical_criterion_owner => 'S'
74657 , p_analytical_criterion_code => 'CHECK_ID'
74658 , p_amb_context_code => 'DEFAULT'
74659 , p_balancing_flag => 'N'
74660
74661 , p_analytical_detail_char_1 => NULL
74662 , p_analytical_detail_num_1 => p_source_112
74663 , p_analytical_detail_date_1 => NULL
74664
74665 , p_ae_header_id => l_ae_header_id
74666 )
74667 ;
74668 --
74669
74670 --
74671 -- call description
74672 --
74673 -- No description or it is inherited.
74674 --
74675 -- call ADRs
74676 -- Bug 4922099
74677 --
74678 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74679 (NVL(l_actual_upg_option, 'N') = 'O') OR
74680 (NVL(l_enc_upg_option, 'N') = 'O')
74681 )
74682 THEN
74683 NULL;
74684 --
74685 --
74686
74687 l_ccid := AcctDerRule_32(
74688 p_application_id => p_application_id
74689 , p_ae_header_id => l_ae_header_id
74690 , p_source_28 => p_source_28
74691 , p_source_29 => p_source_29
74692 , p_source_30 => p_source_30
74693 , x_transaction_coa_id => l_adr_transaction_coa_id
74694 , x_accounting_coa_id => l_adr_accounting_coa_id
74695 , x_value_type_code => l_adr_value_type_code
74696 , p_side => 'NA'
74697 );
74698
74699 xla_ae_lines_pkg.set_ccid(
74700 p_code_combination_id => l_ccid
74701 , p_value_type_code => l_adr_value_type_code
74702 , p_transaction_coa_id => l_adr_transaction_coa_id
74703 , p_accounting_coa_id => l_adr_accounting_coa_id
74704 , p_adr_code => 'AP_INTEREST'
74705 , p_adr_type_code => 'S'
74706 , p_component_type => l_component_type
74707 , p_component_code => l_component_code
74708 , p_component_type_code => l_component_type_code
74709 , p_component_appl_id => l_component_appl_id
74710 , p_amb_context_code => l_amb_context_code
74711 , p_side => 'NA'
74712 );
74713
74714
74715 l_segment := AcctDerRule_12(
74716 p_application_id => p_application_id
74717 , p_ae_header_id => l_ae_header_id
74718 , p_source_28 => p_source_28
74719 , p_source_29 => p_source_29
74720 , x_transaction_coa_id => l_adr_transaction_coa_id
74721 , x_accounting_coa_id => l_adr_accounting_coa_id
74722 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74723 , x_flex_value_set_id => l_adr_flex_value_set_id
74724 , x_value_type_code => l_adr_value_type_code
74725 , x_value_combination_id => l_adr_value_combination_id
74726 , x_value_segment_code => l_adr_value_segment_code
74727 , p_side => 'NA'
74728 , p_override_seg_flag => 'Y'
74729 );
74730
74731 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74732
74733 xla_ae_lines_pkg.set_segment(
74734 p_to_segment_code => 'GL_ACCOUNT'
74735 , p_segment_value => l_segment
74736 , p_from_segment_code => l_adr_value_segment_code
74737 , p_from_combination_id => l_adr_value_combination_id
74738 , p_value_type_code => l_adr_value_type_code
74739 , p_transaction_coa_id => l_adr_transaction_coa_id
74740 , p_accounting_coa_id => l_adr_accounting_coa_id
74741 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74742 , p_flex_value_set_id => l_adr_flex_value_set_id
74743 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
74744 , p_adr_type_code => 'S'
74745 , p_component_type => l_component_type
74746 , p_component_code => l_component_code
74747 , p_component_type_code => l_component_type_code
74748 , p_component_appl_id => l_component_appl_id
74749 , p_amb_context_code => l_amb_context_code
74750 , p_entity_code => 'AP_PAYMENTS'
74751 , p_event_class_code => 'RECONCILED PAYMENTS'
74752 , p_side => 'NA'
74753 );
74754
74755 END IF;
74756
74760 --
74757 --
74758 --
74759 END IF;
74761 -- Bug 4922099
74762 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
74763 (NVL(l_enc_upg_option, 'N') = 'O')
74764 ) AND
74765 (l_bflow_method_code = 'PRIOR_ENTRY')
74766 )
74767 THEN
74768 IF
74769 --
74770 1 = 2
74771 --
74772 THEN
74773 xla_accounting_err_pkg.build_message
74774 (p_appli_s_name => 'XLA'
74775 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74776 ,p_token_1 => 'LINE_NUMBER'
74777 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
74778 ,p_token_2 => 'LINE_TYPE_NAME'
74779 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
74780 l_component_type
74781 ,l_component_code
74782 ,l_component_type_code
74783 ,l_component_appl_id
74784 ,l_amb_context_code
74785 ,l_entity_code
74786 ,l_event_class_code
74787 )
74788 ,p_token_3 => 'OWNER'
74789 ,p_value_3 => xla_lookups_pkg.get_meaning(
74790 p_lookup_type => 'XLA_OWNER_TYPE'
74791 ,p_lookup_code => l_component_type_code
74792 )
74793 ,p_token_4 => 'PRODUCT_NAME'
74794 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
74795 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
74796 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
74797 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
74798 ,p_ae_header_id => NULL
74799 );
74800
74801 IF (C_LEVEL_ERROR>= g_log_level) THEN
74802 trace
74803 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74804 ,p_level => C_LEVEL_ERROR
74805 ,p_module => l_log_module);
74806 END IF;
74807 END IF;
74808 END IF;
74809 --
74810 --
74811 ------------------------------------------------------------------------------------------------
74812 -- 4219869 Business Flow
74813 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
74814 -- Prior Entry. Currently, the following code is always generated.
74815 ------------------------------------------------------------------------------------------------
74816 XLA_AE_LINES_PKG.ValidateCurrentLine;
74817
74818 ------------------------------------------------------------------------------------
74819 -- 4219869 Business Flow
74820 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
74821 ------------------------------------------------------------------------------------
74822 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74823
74824 ----------------------------------------------------------------------------------
74825 -- 4219869 Business Flow
74826 -- Update journal entry status -- Need to generate this within IF <condition>
74827 ----------------------------------------------------------------------------------
74828 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74829 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
74830 ,p_balance_type_code => l_balance_type_code
74831 );
74832
74833 -------------------------------------------------------------------------------------------
74834 -- 4262811 - Generate the Accrual Reversal lines
74835 -------------------------------------------------------------------------------------------
74836 BEGIN
74837 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
74838 (g_array_event(p_event_id).array_value_num('header_index'));
74839 IF l_acc_rev_flag IS NULL THEN
74840 l_acc_rev_flag := 'N';
74841 END IF;
74842 EXCEPTION
74843 WHEN OTHERS THEN
74844 l_acc_rev_flag := 'N';
74845 END;
74846 --
74847 IF (l_acc_rev_flag = 'Y') THEN
74848
74849 -- 4645092 ------------------------------------------------------------------------------
74850 -- To allow MPA report to determine if it should generate report process
74851 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
74855 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
74852 ------------------------------------------------------------------------------------------
74853
74854 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
74856 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
74857 -- call ADRs
74858 -- Bug 4922099
74859 --
74860 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74861 (NVL(l_actual_upg_option, 'N') = 'O') OR
74862 (NVL(l_enc_upg_option, 'N') = 'O')
74863 )
74864 THEN
74865 NULL;
74866 --
74867 --
74868
74869 l_ccid := AcctDerRule_32(
74870 p_application_id => p_application_id
74871 , p_ae_header_id => l_ae_header_id
74872 , p_source_28 => p_source_28
74873 , p_source_29 => p_source_29
74874 , p_source_30 => p_source_30
74875 , x_transaction_coa_id => l_adr_transaction_coa_id
74876 , x_accounting_coa_id => l_adr_accounting_coa_id
74877 , x_value_type_code => l_adr_value_type_code
74878 , p_side => 'NA'
74879 );
74880
74881 xla_ae_lines_pkg.set_ccid(
74882 p_code_combination_id => l_ccid
74883 , p_value_type_code => l_adr_value_type_code
74884 , p_transaction_coa_id => l_adr_transaction_coa_id
74885 , p_accounting_coa_id => l_adr_accounting_coa_id
74886 , p_adr_code => 'AP_INTEREST'
74887 , p_adr_type_code => 'S'
74888 , p_component_type => l_component_type
74889 , p_component_code => l_component_code
74890 , p_component_type_code => l_component_type_code
74891 , p_component_appl_id => l_component_appl_id
74892 , p_amb_context_code => l_amb_context_code
74893 , p_side => 'NA'
74894 );
74895
74896
74897 l_segment := AcctDerRule_12(
74898 p_application_id => p_application_id
74899 , p_ae_header_id => l_ae_header_id
74900 , p_source_28 => p_source_28
74901 , p_source_29 => p_source_29
74902 , x_transaction_coa_id => l_adr_transaction_coa_id
74903 , x_accounting_coa_id => l_adr_accounting_coa_id
74904 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74905 , x_flex_value_set_id => l_adr_flex_value_set_id
74906 , x_value_type_code => l_adr_value_type_code
74907 , x_value_combination_id => l_adr_value_combination_id
74908 , x_value_segment_code => l_adr_value_segment_code
74909 , p_side => 'NA'
74910 , p_override_seg_flag => 'Y'
74911 );
74912
74913 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74914
74915 xla_ae_lines_pkg.set_segment(
74916 p_to_segment_code => 'GL_ACCOUNT'
74917 , p_segment_value => l_segment
74918 , p_from_segment_code => l_adr_value_segment_code
74919 , p_from_combination_id => l_adr_value_combination_id
74920 , p_value_type_code => l_adr_value_type_code
74921 , p_transaction_coa_id => l_adr_transaction_coa_id
74922 , p_accounting_coa_id => l_adr_accounting_coa_id
74923 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74924 , p_flex_value_set_id => l_adr_flex_value_set_id
74925 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
74926 , p_adr_type_code => 'S'
74927 , p_component_type => l_component_type
74928 , p_component_code => l_component_code
74929 , p_component_type_code => l_component_type_code
74930 , p_component_appl_id => l_component_appl_id
74931 , p_amb_context_code => l_amb_context_code
74932 , p_entity_code => 'AP_PAYMENTS'
74933 , p_event_class_code => 'RECONCILED PAYMENTS'
74934 , p_side => 'NA'
74935 );
74936
74937 END IF;
74938
74939 --
74940 --
74941 END IF;
74942
74943 --
74944 -- Update the line information that should be overwritten
74945 --
74946 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74947 p_header_num => 1);
74948 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74949
74950 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74951
74952 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74953 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74954 END IF;
74955
74956 --
74957 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74958 --
74959 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74960 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74961 ELSE
74962 ---------------------------------------------------------------------------------------------------
74963 -- 4262811a Switch Sign
74964 ---------------------------------------------------------------------------------------------------
74965 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74969 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74966 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74967 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74968 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74970 -- 5132302
74971 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74972 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74973
74974 END IF;
74975
74976 -- 4955764
74977 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74978 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74979
74980
74981 XLA_AE_LINES_PKG.ValidateCurrentLine;
74982 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74983
74984 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74985 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74986 ,p_balance_type_code => l_balance_type_code);
74987
74988 END IF;
74989
74990 -----------------------------------------------------------------------------------------
74991 -- 4262811 Multiperiod Accounting
74992 -----------------------------------------------------------------------------------------
74993 -- No MPA option is assigned.
74994
74995
74996 END IF;
74997 END IF;
74998 --
74999
75000 --
75001 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75002 trace
75003 (p_msg => 'END of AcctLineType_134'
75004 ,p_level => C_LEVEL_PROCEDURE
75005 ,p_module => l_log_module);
75006 END IF;
75007 --
75008 EXCEPTION
75009 WHEN xla_exceptions_pkg.application_exception THEN
75010 RAISE;
75011 WHEN OTHERS THEN
75012 xla_exceptions_pkg.raise_message
75013 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_134');
75014 END AcctLineType_134;
75015 --
75016
75017 ---------------------------------------
75018 --
75019 -- PRIVATE FUNCTION
75020 -- AcctLineType_135
75021 --
75022 ---------------------------------------
75023 PROCEDURE AcctLineType_135 (
75024 p_application_id IN NUMBER
75025 ,p_event_id IN NUMBER
75026 ,p_calculate_acctd_flag IN VARCHAR2
75027 ,p_calculate_g_l_flag IN VARCHAR2
75028 ,p_actual_flag IN OUT VARCHAR2
75029 ,p_balance_type_code OUT VARCHAR2
75030 ,p_gain_or_loss_ref OUT VARCHAR2
75031
75032 --Payment Currency Code
75033 , p_source_13 IN VARCHAR2
75034 --Interest Account
75035 , p_source_28 IN NUMBER
75036 --Prorate Interest Invoice Across Distributions Option
75037 , p_source_29 IN VARCHAR2
75038 --Invoice Distribution Account
75039 , p_source_30 IN NUMBER
75040 --Invoice Distribution Type
75041 , p_source_33 IN VARCHAR2
75042 , p_source_33_meaning IN VARCHAR2
75043 --Accounting Reversal Indicator
75044 , p_source_52 IN VARCHAR2
75045 --Distribution Link Type
75046 , p_source_54 IN VARCHAR2
75047 --Override Accounted Amount Indicator
75048 , p_source_79 IN VARCHAR2
75049 , p_source_79_meaning IN VARCHAR2
75050 --Third Party Type
75051 , p_source_82 IN VARCHAR2
75052 --Invoice Distribution Tax Line Identifier
75053 , p_source_85 IN NUMBER
75054 --Invoice Distribution Tax Distribution Identifier from Tax
75055 , p_source_86 IN NUMBER
75056 --Invoice Distribution Summary Tax Line Identifier
75057 , p_source_87 IN NUMBER
75058 --Business Flow Accounts Payable Application Identifier
75059 , p_source_90 IN NUMBER
75060 --Business Flow Invoice Distribution Type
75061 , p_source_91 IN VARCHAR2
75062 --Business Flow Invoice Entity Code
75063 , p_source_92 IN VARCHAR2
75064 --Business Flow Invoice Distribution Identifier
75065 , p_source_93 IN NUMBER
75066 --Business Flow Invoice Identifier
75067 , p_source_94 IN NUMBER
75068 --When to Account for Payment Option
75069 , p_source_96 IN VARCHAR2
75070 --Payment Distribution Type
75071 , p_source_97 IN VARCHAR2
75072 , p_source_97_meaning IN VARCHAR2
75073 --Payment Distribution Amount
75074 , p_source_98 IN NUMBER
75075 --Payment Distribution Identifier
75076 , p_source_103 IN NUMBER
75077 --Payment Supplier Identifier
75078 , p_source_109 IN NUMBER
75079 --Payment Supplier Site Identifier
75080 , p_source_110 IN NUMBER
75081 --Payment Distribution Reversed Identifier
75082 , p_source_111 IN NUMBER
75083 --Payment Identifier
75084 , p_source_112 IN NUMBER
75085 --Payment Distribution (Payment Rate) Ledger Amount
75086 , p_source_115 IN NUMBER
75087 --Payment Exchange Date
75088 , p_source_117 IN DATE
75089 --Payment Exchange Rate
75090 , p_source_118 IN NUMBER
75091 --Payment Exchange Rate Type
75092 , p_source_119 IN VARCHAR2
75093 --Payment Processing Type
75094 , p_source_123 IN VARCHAR2
75095 --Invoice Distribution Amount of the Payment Distribution
75099 , p_source_160_meaning IN VARCHAR2
75096 , p_source_124 IN NUMBER
75097 --Invoice Type Paid
75098 , p_source_160 IN VARCHAR2
75100 )
75101 IS
75102
75103 l_component_type VARCHAR2(80);
75104 l_component_code VARCHAR2(30);
75105 l_component_type_code VARCHAR2(1);
75106 l_component_appl_id INTEGER;
75107 l_amb_context_code VARCHAR2(30);
75108 l_entity_code VARCHAR2(30);
75109 l_event_class_code VARCHAR2(30);
75110 l_ae_header_id NUMBER;
75111 l_event_type_code VARCHAR2(30);
75112 l_line_definition_code VARCHAR2(30);
75113 l_line_definition_owner_code VARCHAR2(1);
75114 --
75115 -- adr variables
75116 l_segment VARCHAR2(30);
75117 l_ccid NUMBER;
75118 l_adr_transaction_coa_id NUMBER;
75119 l_adr_accounting_coa_id NUMBER;
75120 l_adr_flexfield_segment_code VARCHAR2(30);
75121 l_adr_flex_value_set_id NUMBER;
75122 l_adr_value_type_code VARCHAR2(30);
75123 l_adr_value_combination_id NUMBER;
75124 l_adr_value_segment_code VARCHAR2(30);
75125
75126 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75127 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75128 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75129 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75130
75131 -- 4262811 Variables ------------------------------------------------------------------------------------------
75132 l_entered_amt_idx NUMBER;
75133 l_accted_amt_idx NUMBER;
75134 l_acc_rev_flag VARCHAR2(1);
75135 l_accrual_line_num NUMBER;
75136 l_tmp_amt NUMBER;
75137 l_acc_rev_natural_side_code VARCHAR2(1);
75138
75139 l_num_entries NUMBER;
75140 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75141 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75142 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75143 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75144 l_recog_line_1 NUMBER;
75145 l_recog_line_2 NUMBER;
75146
75147 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75148 l_bflow_applied_to_amt NUMBER; -- 5132302
75149 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75150
75151 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75152
75153 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75154 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75155
75156 ---------------------------------------------------------------------------------------------------------------
75157
75158
75159 --
75160 -- bulk performance
75161 --
75162 l_balance_type_code VARCHAR2(1);
75163 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75164 l_log_module VARCHAR2(240);
75165
75166 --
75167 -- Upgrade strategy
75168 --
75169 l_actual_upg_option VARCHAR2(1);
75170 l_enc_upg_option VARCHAR2(1);
75171
75172 --
75173 BEGIN
75174 --
75175 IF g_log_enabled THEN
75176 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_135';
75177 END IF;
75178 --
75179 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75180
75181 trace
75182 (p_msg => 'BEGIN of AcctLineType_135'
75183 ,p_level => C_LEVEL_PROCEDURE
75184 ,p_module => l_log_module);
75185
75186 END IF;
75187 --
75188 l_component_type := 'AMB_JLT';
75189 l_component_code := 'AP_INTEREST_EXPENSE_PMT';
75190 l_component_type_code := 'S';
75191 l_component_appl_id := 200;
75192 l_amb_context_code := 'DEFAULT';
75193 l_entity_code := 'AP_PAYMENTS';
75194 l_event_class_code := 'PAYMENTS';
75195 l_event_type_code := 'PAYMENTS_ALL';
75196 l_line_definition_owner_code := 'S';
75197 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
75198 --
75199 l_balance_type_code := 'A';
75200 l_segment := NULL;
75201 l_ccid := NULL;
75202 l_adr_transaction_coa_id := NULL;
75203 l_adr_accounting_coa_id := NULL;
75204 l_adr_flexfield_segment_code := NULL;
75205 l_adr_flex_value_set_id := NULL;
75206 l_adr_value_type_code := NULL;
75207 l_adr_value_combination_id := NULL;
75208 l_adr_value_segment_code := NULL;
75209
75210 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75211 l_bflow_class_code := ''; -- 4219869 Business Flow
75212 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75213 l_budgetary_control_flag := 'N';
75214
75215 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75216 l_bflow_applied_to_amt := NULL; -- 5132302
75217 l_entered_amt_idx := NULL; -- 4262811
75218 l_accted_amt_idx := NULL; -- 4262811
75219 l_acc_rev_flag := NULL; -- 4262811
75220 l_accrual_line_num := NULL; -- 4262811
75221 l_tmp_amt := NULL; -- 4262811
75225 l_balance_type_code <> 'B' THEN
75222 --
75223
75224 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75226 IF NVL(p_source_96,'
75227 ') <> 'CLEAR_CLEAR' AND
75228 NVL(p_source_160,'
75229 ') = 'INTEREST' AND
75230 NVL(p_source_33,'
75231 ') = 'ITEM' AND
75232 (NVL(p_source_97,'
75233 ') = 'CASH' OR
75234 NVL(p_source_97,'
75235 ') = 'DISCOUNT') AND
75236 NVL(p_source_123,'
75237 ') <> 'PAYMENTCARD'
75238 THEN
75239
75240 --
75241 XLA_AE_LINES_PKG.SetNewLine;
75242
75243 p_balance_type_code := l_balance_type_code;
75244 -- set the flag so later we will know whether the gain loss line needs to be created
75245
75246 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
75247 p_actual_flag :='A';
75248 END IF;
75249
75250 --
75251 -- bulk performance
75252 --
75253 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
75254 p_header_num => 0); -- 4262811
75255 --
75256 -- set accounting line options
75257 --
75258 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
75259 p_natural_side_code => 'D'
75260 , p_gain_or_loss_flag => 'N'
75261 , p_gl_transfer_mode_code => 'S'
75262 , p_acct_entry_type_code => 'A'
75263 , p_switch_side_flag => 'Y'
75264 , p_merge_duplicate_code => 'A'
75265 );
75266 --
75267 l_acc_rev_natural_side_code := 'C'; -- 4262811
75268 --
75269 --
75270 -- set accounting line type info
75271 --
75272 xla_ae_lines_pkg.SetAcctLineType
75273 (p_component_type => l_component_type
75274 ,p_event_type_code => l_event_type_code
75275 ,p_line_definition_owner_code => l_line_definition_owner_code
75276 ,p_line_definition_code => l_line_definition_code
75277 ,p_accounting_line_code => l_component_code
75278 ,p_accounting_line_type_code => l_component_type_code
75279 ,p_accounting_line_appl_id => l_component_appl_id
75280 ,p_amb_context_code => l_amb_context_code
75281 ,p_entity_code => l_entity_code
75282 ,p_event_class_code => l_event_class_code);
75283 --
75284 -- set accounting class
75285 --
75286 xla_ae_lines_pkg.SetAcctClass(
75287 p_accounting_class_code => 'INTEREST_EXPENSE'
75288 , p_ae_header_id => l_ae_header_id
75289 );
75290
75291 --
75292 -- set rounding class
75293 --
75294 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
75295 'INTEREST_EXPENSE';
75296
75297 --
75298 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
75299 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
75300 --
75301 -- bulk performance
75302 --
75303 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
75304
75305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
75306 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
75307
75308 -- 4955764
75309 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75310 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
75311
75312 -- 4458381 Public Sector Enh
75313
75314 --
75315 -- set accounting attributes for the line type
75316 --
75317 l_entered_amt_idx := 10;
75318 l_accted_amt_idx := 15;
75319 l_bflow_applied_to_amt_idx := 2; -- 5132302
75320 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
75321 l_rec_acct_attrs.array_char_value(1) := p_source_52;
75322 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
75323 l_rec_acct_attrs.array_num_value(2) := p_source_124;
75324 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
75325 l_rec_acct_attrs.array_num_value(3) := p_source_90;
75326 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
75327 l_rec_acct_attrs.array_char_value(4) := p_source_91;
75328 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
75329 l_rec_acct_attrs.array_char_value(5) := p_source_92;
75330 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
75331 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
75332 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
75333 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
75334 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
75335 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
75336 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
75337 l_rec_acct_attrs.array_char_value(9) := p_source_54;
75338 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
75339 l_rec_acct_attrs.array_num_value(10) := p_source_98;
75340 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
75341 l_rec_acct_attrs.array_char_value(11) := p_source_13;
75345 l_rec_acct_attrs.array_num_value(13) := p_source_118;
75342 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
75343 l_rec_acct_attrs.array_date_value(12) := p_source_117;
75344 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
75346 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
75347 l_rec_acct_attrs.array_char_value(14) := p_source_119;
75348 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
75349 l_rec_acct_attrs.array_num_value(15) := p_source_115;
75350 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
75351 l_rec_acct_attrs.array_char_value(16) := p_source_79;
75352 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
75353 l_rec_acct_attrs.array_num_value(17) := p_source_109;
75354 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
75355 l_rec_acct_attrs.array_num_value(18) := p_source_110;
75356 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
75357 l_rec_acct_attrs.array_char_value(19) := p_source_82;
75358 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
75359 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
75360 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
75361 l_rec_acct_attrs.array_char_value(21) := p_source_54;
75362 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
75363 l_rec_acct_attrs.array_num_value(22) := p_source_85;
75364 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
75365 l_rec_acct_attrs.array_num_value(23) := p_source_86;
75366 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
75367 l_rec_acct_attrs.array_num_value(24) := p_source_87;
75368
75369 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
75370 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
75371
75372 ---------------------------------------------------------------------------------------------------------------
75373 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
75374 ---------------------------------------------------------------------------------------------------------------
75375 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
75376
75377 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75378 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75379
75380 IF xla_accounting_cache_pkg.GetValueChar
75381 (p_source_code => 'LEDGER_CATEGORY_CODE'
75382 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
75383 AND l_bflow_method_code = 'PRIOR_ENTRY'
75384 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
75385 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
75386 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
75387 )
75388 THEN
75389 xla_ae_lines_pkg.BflowUpgEntry
75390 (p_business_method_code => l_bflow_method_code
75391 ,p_business_class_code => l_bflow_class_code
75392 ,p_balance_type => l_balance_type_code);
75393 ELSE
75394 NULL;
75395 -- No business flow processing for business flow method of NONE.
75396 END IF;
75397
75398 --
75399 -- call analytical criteria
75400 --
75401
75402
75403 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
75404 xla_ae_lines_pkg.SetAnalyticalCriteria(
75405 p_analytical_criterion_name => 'Check Id'
75406 , p_analytical_criterion_owner => 'S'
75407 , p_analytical_criterion_code => 'CHECK_ID'
75408 , p_amb_context_code => 'DEFAULT'
75409 , p_balancing_flag => 'N'
75410
75411 , p_analytical_detail_char_1 => NULL
75412 , p_analytical_detail_num_1 => p_source_112
75413 , p_analytical_detail_date_1 => NULL
75414
75415 , p_ae_header_id => l_ae_header_id
75416 )
75417 ;
75418 --
75419
75420 --
75421 -- call description
75422 --
75423 -- No description or it is inherited.
75424 --
75425 -- call ADRs
75426 -- Bug 4922099
75427 --
75428 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75429 (NVL(l_actual_upg_option, 'N') = 'O') OR
75430 (NVL(l_enc_upg_option, 'N') = 'O')
75431 )
75432 THEN
75433 NULL;
75434 --
75435 --
75436
75437 l_ccid := AcctDerRule_32(
75438 p_application_id => p_application_id
75439 , p_ae_header_id => l_ae_header_id
75440 , p_source_28 => p_source_28
75441 , p_source_29 => p_source_29
75442 , p_source_30 => p_source_30
75443 , x_transaction_coa_id => l_adr_transaction_coa_id
75444 , x_accounting_coa_id => l_adr_accounting_coa_id
75445 , x_value_type_code => l_adr_value_type_code
75446 , p_side => 'NA'
75447 );
75448
75449 xla_ae_lines_pkg.set_ccid(
75450 p_code_combination_id => l_ccid
75451 , p_value_type_code => l_adr_value_type_code
75452 , p_transaction_coa_id => l_adr_transaction_coa_id
75453 , p_accounting_coa_id => l_adr_accounting_coa_id
75454 , p_adr_code => 'AP_INTEREST'
75455 , p_adr_type_code => 'S'
75459 , p_component_appl_id => l_component_appl_id
75456 , p_component_type => l_component_type
75457 , p_component_code => l_component_code
75458 , p_component_type_code => l_component_type_code
75460 , p_amb_context_code => l_amb_context_code
75461 , p_side => 'NA'
75462 );
75463
75464
75465 l_segment := AcctDerRule_12(
75466 p_application_id => p_application_id
75467 , p_ae_header_id => l_ae_header_id
75468 , p_source_28 => p_source_28
75469 , p_source_29 => p_source_29
75470 , x_transaction_coa_id => l_adr_transaction_coa_id
75471 , x_accounting_coa_id => l_adr_accounting_coa_id
75472 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75473 , x_flex_value_set_id => l_adr_flex_value_set_id
75474 , x_value_type_code => l_adr_value_type_code
75475 , x_value_combination_id => l_adr_value_combination_id
75476 , x_value_segment_code => l_adr_value_segment_code
75477 , p_side => 'NA'
75478 , p_override_seg_flag => 'Y'
75479 );
75480
75481 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75482
75483 xla_ae_lines_pkg.set_segment(
75484 p_to_segment_code => 'GL_ACCOUNT'
75485 , p_segment_value => l_segment
75486 , p_from_segment_code => l_adr_value_segment_code
75487 , p_from_combination_id => l_adr_value_combination_id
75488 , p_value_type_code => l_adr_value_type_code
75489 , p_transaction_coa_id => l_adr_transaction_coa_id
75490 , p_accounting_coa_id => l_adr_accounting_coa_id
75491 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75492 , p_flex_value_set_id => l_adr_flex_value_set_id
75493 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75494 , p_adr_type_code => 'S'
75495 , p_component_type => l_component_type
75496 , p_component_code => l_component_code
75497 , p_component_type_code => l_component_type_code
75498 , p_component_appl_id => l_component_appl_id
75499 , p_amb_context_code => l_amb_context_code
75500 , p_entity_code => 'AP_PAYMENTS'
75501 , p_event_class_code => 'PAYMENTS'
75502 , p_side => 'NA'
75503 );
75504
75505 END IF;
75506
75507 --
75508 --
75509 END IF;
75510 --
75511 -- Bug 4922099
75512 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
75513 (NVL(l_enc_upg_option, 'N') = 'O')
75514 ) AND
75515 (l_bflow_method_code = 'PRIOR_ENTRY')
75516 )
75517 THEN
75518 IF
75519 --
75520 1 = 2
75521 --
75522 THEN
75523 xla_accounting_err_pkg.build_message
75524 (p_appli_s_name => 'XLA'
75525 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75526 ,p_token_1 => 'LINE_NUMBER'
75527 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
75528 ,p_token_2 => 'LINE_TYPE_NAME'
75529 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
75530 l_component_type
75531 ,l_component_code
75532 ,l_component_type_code
75533 ,l_component_appl_id
75534 ,l_amb_context_code
75535 ,l_entity_code
75536 ,l_event_class_code
75537 )
75538 ,p_token_3 => 'OWNER'
75539 ,p_value_3 => xla_lookups_pkg.get_meaning(
75540 p_lookup_type => 'XLA_OWNER_TYPE'
75541 ,p_lookup_code => l_component_type_code
75542 )
75543 ,p_token_4 => 'PRODUCT_NAME'
75544 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
75545 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
75546 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
75547 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
75548 ,p_ae_header_id => NULL
75549 );
75550
75551 IF (C_LEVEL_ERROR>= g_log_level) THEN
75552 trace
75553 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75554 ,p_level => C_LEVEL_ERROR
75558 END IF;
75555 ,p_module => l_log_module);
75556 END IF;
75557 END IF;
75559 --
75560 --
75561 ------------------------------------------------------------------------------------------------
75562 -- 4219869 Business Flow
75563 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
75564 -- Prior Entry. Currently, the following code is always generated.
75565 ------------------------------------------------------------------------------------------------
75566 XLA_AE_LINES_PKG.ValidateCurrentLine;
75567
75568 ------------------------------------------------------------------------------------
75569 -- 4219869 Business Flow
75570 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
75571 ------------------------------------------------------------------------------------
75572 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75573
75574 ----------------------------------------------------------------------------------
75575 -- 4219869 Business Flow
75576 -- Update journal entry status -- Need to generate this within IF <condition>
75577 ----------------------------------------------------------------------------------
75578 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75579 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
75580 ,p_balance_type_code => l_balance_type_code
75581 );
75582
75583 -------------------------------------------------------------------------------------------
75584 -- 4262811 - Generate the Accrual Reversal lines
75585 -------------------------------------------------------------------------------------------
75586 BEGIN
75587 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
75588 (g_array_event(p_event_id).array_value_num('header_index'));
75589 IF l_acc_rev_flag IS NULL THEN
75590 l_acc_rev_flag := 'N';
75591 END IF;
75592 EXCEPTION
75593 WHEN OTHERS THEN
75594 l_acc_rev_flag := 'N';
75595 END;
75596 --
75597 IF (l_acc_rev_flag = 'Y') THEN
75598
75599 -- 4645092 ------------------------------------------------------------------------------
75600 -- To allow MPA report to determine if it should generate report process
75601 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
75602 ------------------------------------------------------------------------------------------
75603
75604 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
75605 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
75606 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
75607 -- call ADRs
75608 -- Bug 4922099
75609 --
75610 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75611 (NVL(l_actual_upg_option, 'N') = 'O') OR
75612 (NVL(l_enc_upg_option, 'N') = 'O')
75613 )
75614 THEN
75615 NULL;
75616 --
75617 --
75618
75619 l_ccid := AcctDerRule_32(
75620 p_application_id => p_application_id
75621 , p_ae_header_id => l_ae_header_id
75622 , p_source_28 => p_source_28
75623 , p_source_29 => p_source_29
75624 , p_source_30 => p_source_30
75625 , x_transaction_coa_id => l_adr_transaction_coa_id
75626 , x_accounting_coa_id => l_adr_accounting_coa_id
75627 , x_value_type_code => l_adr_value_type_code
75628 , p_side => 'NA'
75629 );
75630
75631 xla_ae_lines_pkg.set_ccid(
75632 p_code_combination_id => l_ccid
75633 , p_value_type_code => l_adr_value_type_code
75634 , p_transaction_coa_id => l_adr_transaction_coa_id
75635 , p_accounting_coa_id => l_adr_accounting_coa_id
75636 , p_adr_code => 'AP_INTEREST'
75637 , p_adr_type_code => 'S'
75638 , p_component_type => l_component_type
75639 , p_component_code => l_component_code
75640 , p_component_type_code => l_component_type_code
75641 , p_component_appl_id => l_component_appl_id
75642 , p_amb_context_code => l_amb_context_code
75643 , p_side => 'NA'
75644 );
75645
75646
75647 l_segment := AcctDerRule_12(
75648 p_application_id => p_application_id
75649 , p_ae_header_id => l_ae_header_id
75650 , p_source_28 => p_source_28
75651 , p_source_29 => p_source_29
75652 , x_transaction_coa_id => l_adr_transaction_coa_id
75653 , x_accounting_coa_id => l_adr_accounting_coa_id
75654 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75655 , x_flex_value_set_id => l_adr_flex_value_set_id
75656 , x_value_type_code => l_adr_value_type_code
75657 , x_value_combination_id => l_adr_value_combination_id
75658 , x_value_segment_code => l_adr_value_segment_code
75659 , p_side => 'NA'
75660 , p_override_seg_flag => 'Y'
75661 );
75662
75663 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75664
75665 xla_ae_lines_pkg.set_segment(
75666 p_to_segment_code => 'GL_ACCOUNT'
75667 , p_segment_value => l_segment
75668 , p_from_segment_code => l_adr_value_segment_code
75672 , p_accounting_coa_id => l_adr_accounting_coa_id
75669 , p_from_combination_id => l_adr_value_combination_id
75670 , p_value_type_code => l_adr_value_type_code
75671 , p_transaction_coa_id => l_adr_transaction_coa_id
75673 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75674 , p_flex_value_set_id => l_adr_flex_value_set_id
75675 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75676 , p_adr_type_code => 'S'
75677 , p_component_type => l_component_type
75678 , p_component_code => l_component_code
75679 , p_component_type_code => l_component_type_code
75680 , p_component_appl_id => l_component_appl_id
75681 , p_amb_context_code => l_amb_context_code
75682 , p_entity_code => 'AP_PAYMENTS'
75683 , p_event_class_code => 'PAYMENTS'
75684 , p_side => 'NA'
75685 );
75686
75687 END IF;
75688
75689 --
75690 --
75691 END IF;
75692
75693 --
75694 -- Update the line information that should be overwritten
75695 --
75696 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
75697 p_header_num => 1);
75698 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
75699
75700 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
75701
75702 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
75703 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
75704 END IF;
75705
75706 --
75707 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
75708 --
75709 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
75710 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
75711 ELSE
75712 ---------------------------------------------------------------------------------------------------
75713 -- 4262811a Switch Sign
75714 ---------------------------------------------------------------------------------------------------
75715 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
75716 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75717 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75718 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75719 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75720 -- 5132302
75721 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
75722 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75723
75724 END IF;
75725
75726 -- 4955764
75727 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75728 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
75729
75730
75731 XLA_AE_LINES_PKG.ValidateCurrentLine;
75732 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75733
75734 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75735 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
75736 ,p_balance_type_code => l_balance_type_code);
75737
75738 END IF;
75739
75740 -----------------------------------------------------------------------------------------
75741 -- 4262811 Multiperiod Accounting
75742 -----------------------------------------------------------------------------------------
75743 -- No MPA option is assigned.
75744
75745
75746 END IF;
75747 END IF;
75748 --
75749
75750 --
75751 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75752 trace
75753 (p_msg => 'END of AcctLineType_135'
75754 ,p_level => C_LEVEL_PROCEDURE
75755 ,p_module => l_log_module);
75756 END IF;
75757 --
75758 EXCEPTION
75759 WHEN xla_exceptions_pkg.application_exception THEN
75760 RAISE;
75761 WHEN OTHERS THEN
75762 xla_exceptions_pkg.raise_message
75763 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_135');
75764 END AcctLineType_135;
75765 --
75766
75767 ---------------------------------------
75768 --
75769 -- PRIVATE FUNCTION
75770 -- AcctLineType_136
75771 --
75772 ---------------------------------------
75773 PROCEDURE AcctLineType_136 (
75774 p_application_id IN NUMBER
75775 ,p_event_id IN NUMBER
75776 ,p_calculate_acctd_flag IN VARCHAR2
75777 ,p_calculate_g_l_flag IN VARCHAR2
75778 ,p_actual_flag IN OUT VARCHAR2
75779 ,p_balance_type_code OUT VARCHAR2
75780 ,p_gain_or_loss_ref OUT VARCHAR2
75781
75782 --Invoice Distribution Description
75783 , p_source_1 IN VARCHAR2
75784 --Invoice Distribution Ledger Amount
75785 , p_source_21 IN NUMBER
75786 --Invoice Distribution Account
75787 , p_source_30 IN NUMBER
75791 --Accounting Reversal Indicator
75788 --Invoice Distribution Type
75789 , p_source_33 IN VARCHAR2
75790 , p_source_33_meaning IN VARCHAR2
75792 , p_source_52 IN VARCHAR2
75793 --Distribution Link Type
75794 , p_source_54 IN VARCHAR2
75795 --Allocation to Main Distribution Identifier
75796 , p_source_56 IN NUMBER
75797 --Invoice Identifier
75798 , p_source_57 IN NUMBER
75799 --Invoice Distribution Identifier
75800 , p_source_63 IN NUMBER
75801 --Payables Encumbrance Upgrade Credit Account
75802 , p_source_64 IN NUMBER
75803 --Payables Encumbrance Upgrade Credit Amount
75804 , p_source_65 IN NUMBER
75805 --Invoice Currency Code
75806 , p_source_66 IN VARCHAR2
75807 --Payables Encumbrance Upgrade Credit Base Amount
75808 , p_source_67 IN NUMBER
75809 --Payables Encumbrance Upgrade Debit Account
75810 , p_source_68 IN NUMBER
75811 --Payables Encumbrance Upgrade Debit Amount
75812 , p_source_69 IN NUMBER
75813 --Payables Encumbrance Upgrade Debit Base Amount
75814 , p_source_70 IN NUMBER
75815 --Payables Encumbrance Upgrade Option
75816 , p_source_71 IN VARCHAR2
75817 --Invoice Distribution Amount
75818 , p_source_72 IN NUMBER
75819 --Deferred Accounting End Date
75820 , p_source_76 IN DATE
75821 --Deferred Accounting Option
75822 , p_source_77 IN VARCHAR2
75823 --Deferred Accounting Start Date
75824 , p_source_78 IN DATE
75825 --Override Accounted Amount Indicator
75826 , p_source_79 IN VARCHAR2
75827 , p_source_79_meaning IN VARCHAR2
75828 --Invoice Supplier Identifier
75829 , p_source_80 IN NUMBER
75830 --Invoice Supplier Site Identifier
75831 , p_source_81 IN NUMBER
75832 --Third Party Type
75833 , p_source_82 IN VARCHAR2
75834 --Parent Reversal Identifier
75835 , p_source_83 IN NUMBER
75836 --Invoice Distribution Statistical Amount
75837 , p_source_84 IN NUMBER
75838 --Invoice Distribution Tax Line Identifier
75839 , p_source_85 IN NUMBER
75840 --Invoice Distribution Tax Distribution Identifier from Tax
75841 , p_source_86 IN NUMBER
75842 --Invoice Distribution Summary Tax Line Identifier
75843 , p_source_87 IN NUMBER
75844 --Payables Upgrade Credit Encumbrance Type Identifier
75845 , p_source_88 IN NUMBER
75846 --Payables Upgrade Debit Encumbrance Type Identifier
75847 , p_source_89 IN NUMBER
75848 --Business Flow Accounts Payable Application Identifier
75849 , p_source_90 IN NUMBER
75850 --Business Flow Invoice Distribution Type
75851 , p_source_91 IN VARCHAR2
75852 --Business Flow Invoice Entity Code
75853 , p_source_92 IN VARCHAR2
75854 --Business Flow Invoice Distribution Identifier
75855 , p_source_93 IN NUMBER
75856 --Business Flow Invoice Identifier
75857 , p_source_94 IN NUMBER
75858 --Accrue on Receipt Option
75859 , p_source_95 IN VARCHAR2
75860 , p_source_95_meaning IN VARCHAR2
75861 --Invoice Exchange Date
75862 , p_source_136 IN DATE
75863 --Invoice Exchange Rate
75864 , p_source_137 IN NUMBER
75865 --Invoice Exchange Rate Type
75866 , p_source_138 IN VARCHAR2
75867 )
75868 IS
75869
75870 l_component_type VARCHAR2(80);
75871 l_component_code VARCHAR2(30);
75872 l_component_type_code VARCHAR2(1);
75873 l_component_appl_id INTEGER;
75874 l_amb_context_code VARCHAR2(30);
75875 l_entity_code VARCHAR2(30);
75876 l_event_class_code VARCHAR2(30);
75877 l_ae_header_id NUMBER;
75878 l_event_type_code VARCHAR2(30);
75879 l_line_definition_code VARCHAR2(30);
75880 l_line_definition_owner_code VARCHAR2(1);
75881 --
75882 -- adr variables
75883 l_segment VARCHAR2(30);
75884 l_ccid NUMBER;
75885 l_adr_transaction_coa_id NUMBER;
75886 l_adr_accounting_coa_id NUMBER;
75887 l_adr_flexfield_segment_code VARCHAR2(30);
75888 l_adr_flex_value_set_id NUMBER;
75889 l_adr_value_type_code VARCHAR2(30);
75890 l_adr_value_combination_id NUMBER;
75891 l_adr_value_segment_code VARCHAR2(30);
75892
75893 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75894 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75895 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75896 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75897
75898 -- 4262811 Variables ------------------------------------------------------------------------------------------
75899 l_entered_amt_idx NUMBER;
75900 l_accted_amt_idx NUMBER;
75901 l_acc_rev_flag VARCHAR2(1);
75902 l_accrual_line_num NUMBER;
75903 l_tmp_amt NUMBER;
75904 l_acc_rev_natural_side_code VARCHAR2(1);
75905
75906 l_num_entries NUMBER;
75907 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75908 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75909 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75910 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75914 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75911 l_recog_line_1 NUMBER;
75912 l_recog_line_2 NUMBER;
75913
75915 l_bflow_applied_to_amt NUMBER; -- 5132302
75916 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75917
75918 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75919
75920 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75921 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75922
75923 ---------------------------------------------------------------------------------------------------------------
75924
75925
75926 --
75927 -- bulk performance
75928 --
75929 l_balance_type_code VARCHAR2(1);
75930 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75931 l_log_module VARCHAR2(240);
75932
75933 --
75934 -- Upgrade strategy
75935 --
75936 l_actual_upg_option VARCHAR2(1);
75937 l_enc_upg_option VARCHAR2(1);
75938
75939 --
75940 BEGIN
75941 --
75942 IF g_log_enabled THEN
75943 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_136';
75944 END IF;
75945 --
75946 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75947
75948 trace
75949 (p_msg => 'BEGIN of AcctLineType_136'
75950 ,p_level => C_LEVEL_PROCEDURE
75951 ,p_module => l_log_module);
75952
75953 END IF;
75954 --
75955 l_component_type := 'AMB_JLT';
75956 l_component_code := 'AP_INV_PRICE_VAR_CM';
75957 l_component_type_code := 'S';
75958 l_component_appl_id := 200;
75959 l_amb_context_code := 'DEFAULT';
75960 l_entity_code := 'AP_INVOICES';
75961 l_event_class_code := 'CREDIT MEMOS';
75962 l_event_type_code := 'CREDIT MEMOS_ALL';
75963 l_line_definition_owner_code := 'S';
75964 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
75965 --
75966 l_balance_type_code := 'A';
75967 l_segment := NULL;
75968 l_ccid := NULL;
75969 l_adr_transaction_coa_id := NULL;
75970 l_adr_accounting_coa_id := NULL;
75971 l_adr_flexfield_segment_code := NULL;
75972 l_adr_flex_value_set_id := NULL;
75973 l_adr_value_type_code := NULL;
75974 l_adr_value_combination_id := NULL;
75975 l_adr_value_segment_code := NULL;
75976
75977 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75978 l_bflow_class_code := ''; -- 4219869 Business Flow
75979 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75980 l_budgetary_control_flag := 'N';
75981
75982 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75983 l_bflow_applied_to_amt := NULL; -- 5132302
75984 l_entered_amt_idx := NULL; -- 4262811
75985 l_accted_amt_idx := NULL; -- 4262811
75986 l_acc_rev_flag := NULL; -- 4262811
75987 l_accrual_line_num := NULL; -- 4262811
75988 l_tmp_amt := NULL; -- 4262811
75989 --
75990
75991 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75992 l_balance_type_code <> 'B' THEN
75993 IF NVL(p_source_33,'
75994 ') = 'IPV' AND
75995 NVL(p_source_95,'
75996 ') = 'Y'
75997 THEN
75998
75999 --
76000 XLA_AE_LINES_PKG.SetNewLine;
76001
76002 p_balance_type_code := l_balance_type_code;
76003 -- set the flag so later we will know whether the gain loss line needs to be created
76004
76005 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
76006 p_actual_flag :='A';
76007 END IF;
76008
76009 --
76010 -- bulk performance
76011 --
76012 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76013 p_header_num => 0); -- 4262811
76014 --
76015 -- set accounting line options
76016 --
76017 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76018 p_natural_side_code => 'D'
76019 , p_gain_or_loss_flag => 'N'
76020 , p_gl_transfer_mode_code => 'S'
76021 , p_acct_entry_type_code => 'A'
76022 , p_switch_side_flag => 'Y'
76023 , p_merge_duplicate_code => 'A'
76024 );
76025 --
76026 l_acc_rev_natural_side_code := 'C'; -- 4262811
76027 --
76028 --
76029 -- set accounting line type info
76030 --
76031 xla_ae_lines_pkg.SetAcctLineType
76032 (p_component_type => l_component_type
76033 ,p_event_type_code => l_event_type_code
76034 ,p_line_definition_owner_code => l_line_definition_owner_code
76035 ,p_line_definition_code => l_line_definition_code
76036 ,p_accounting_line_code => l_component_code
76037 ,p_accounting_line_type_code => l_component_type_code
76038 ,p_accounting_line_appl_id => l_component_appl_id
76039 ,p_amb_context_code => l_amb_context_code
76040 ,p_entity_code => l_entity_code
76041 ,p_event_class_code => l_event_class_code);
76045 xla_ae_lines_pkg.SetAcctClass(
76042 --
76043 -- set accounting class
76044 --
76046 p_accounting_class_code => 'IPV'
76047 , p_ae_header_id => l_ae_header_id
76048 );
76049
76050 --
76051 -- set rounding class
76052 --
76053 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76054 'IPV';
76055
76056 --
76057 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76058 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76059 --
76060 -- bulk performance
76061 --
76062 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76063
76064 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76065 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76066
76067 -- 4955764
76068 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76069 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76070
76071 -- 4458381 Public Sector Enh
76072
76073 --
76074 -- set accounting attributes for the line type
76075 --
76076 l_entered_amt_idx := 23;
76077 l_accted_amt_idx := 28;
76078 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76079 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
76080 l_rec_acct_attrs.array_char_value(1) := p_source_52;
76081 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
76082 l_rec_acct_attrs.array_num_value(2) :=
76083 xla_ae_sources_pkg.GetSystemSourceNum(
76084 p_source_code => 'XLA_EVENT_APPL_ID'
76085 , p_source_type_code => 'Y'
76086 , p_source_application_id => 602
76087 );
76088 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
76089 l_rec_acct_attrs.array_char_value(3) := p_source_54;
76090 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
76091 l_rec_acct_attrs.array_char_value(4) :=
76092 xla_ae_sources_pkg.GetSystemSourceChar(
76093 p_source_code => 'XLA_ENTITY_CODE'
76094 , p_source_type_code => 'Y'
76095 , p_source_application_id => 602
76096 );
76097 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
76098 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
76099 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
76100 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
76101 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
76102 l_rec_acct_attrs.array_num_value(7) := p_source_90;
76103 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
76104 l_rec_acct_attrs.array_char_value(8) := p_source_91;
76105 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
76106 l_rec_acct_attrs.array_char_value(9) := p_source_92;
76107 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
76108 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
76109 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
76110 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
76111 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
76112 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
76113 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
76114 l_rec_acct_attrs.array_char_value(13) := p_source_54;
76115 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
76116 l_rec_acct_attrs.array_num_value(14) := p_source_64;
76117 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
76118 l_rec_acct_attrs.array_num_value(15) := p_source_65;
76119 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
76120 l_rec_acct_attrs.array_char_value(16) := p_source_66;
76121 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
76122 l_rec_acct_attrs.array_num_value(17) := p_source_67;
76123 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
76124 l_rec_acct_attrs.array_num_value(18) := p_source_68;
76125 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
76126 l_rec_acct_attrs.array_num_value(19) := p_source_69;
76127 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
76128 l_rec_acct_attrs.array_char_value(20) := p_source_66;
76129 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
76130 l_rec_acct_attrs.array_num_value(21) := p_source_70;
76131 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
76132 l_rec_acct_attrs.array_char_value(22) := p_source_71;
76133 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
76134 l_rec_acct_attrs.array_num_value(23) := p_source_72;
76135 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
76136 l_rec_acct_attrs.array_char_value(24) := p_source_66;
76137 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
76138 l_rec_acct_attrs.array_date_value(25) := p_source_136;
76139 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
76140 l_rec_acct_attrs.array_num_value(26) := p_source_137;
76141 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
76142 l_rec_acct_attrs.array_char_value(27) := p_source_138;
76143 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
76147 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
76144 l_rec_acct_attrs.array_num_value(28) := p_source_21;
76145 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
76146 l_rec_acct_attrs.array_date_value(29) := p_source_76;
76148 l_rec_acct_attrs.array_char_value(30) := p_source_77;
76149 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
76150 l_rec_acct_attrs.array_date_value(31) := p_source_78;
76151 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
76152 l_rec_acct_attrs.array_char_value(32) := p_source_79;
76153 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
76154 l_rec_acct_attrs.array_num_value(33) := p_source_80;
76155 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
76156 l_rec_acct_attrs.array_num_value(34) := p_source_81;
76157 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
76158 l_rec_acct_attrs.array_char_value(35) := p_source_82;
76159 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
76160 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
76161 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
76162 l_rec_acct_attrs.array_char_value(37) := p_source_54;
76163 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
76164 l_rec_acct_attrs.array_num_value(38) := p_source_84;
76165 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
76166 l_rec_acct_attrs.array_num_value(39) := p_source_85;
76167 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
76168 l_rec_acct_attrs.array_num_value(40) := p_source_86;
76169 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
76170 l_rec_acct_attrs.array_num_value(41) := p_source_87;
76171 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
76172 l_rec_acct_attrs.array_num_value(42) := p_source_88;
76173 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
76174 l_rec_acct_attrs.array_num_value(43) := p_source_89;
76175
76176 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76177 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76178
76179 ---------------------------------------------------------------------------------------------------------------
76180 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76181 ---------------------------------------------------------------------------------------------------------------
76182 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76183
76184 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76185 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76186
76187 IF xla_accounting_cache_pkg.GetValueChar
76188 (p_source_code => 'LEDGER_CATEGORY_CODE'
76189 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76190 AND l_bflow_method_code = 'PRIOR_ENTRY'
76191 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76192 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76193 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76194 )
76195 THEN
76196 xla_ae_lines_pkg.BflowUpgEntry
76197 (p_business_method_code => l_bflow_method_code
76198 ,p_business_class_code => l_bflow_class_code
76199 ,p_balance_type => l_balance_type_code);
76200 ELSE
76201 NULL;
76202 -- No business flow processing for business flow method of NONE.
76203 END IF;
76204
76205 --
76206 -- call analytical criteria
76207 --
76208
76209 --
76210 -- call description
76211 --
76212
76213 xla_ae_lines_pkg.SetLineDescription(
76214 p_ae_header_id => l_ae_header_id
76215 ,p_description => Description_1 (
76216 p_application_id => p_application_id
76217 , p_ae_header_id => l_ae_header_id
76218 , p_source_1 => p_source_1
76219 )
76220 );
76221
76222
76223 --
76224 -- call ADRs
76225 -- Bug 4922099
76226 --
76227 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76228 (NVL(l_actual_upg_option, 'N') = 'O') OR
76229 (NVL(l_enc_upg_option, 'N') = 'O')
76230 )
76231 THEN
76232 NULL;
76233 --
76234 --
76235
76236 l_ccid := AcctDerRule_33(
76237 p_application_id => p_application_id
76238 , p_ae_header_id => l_ae_header_id
76239 , p_source_30 => p_source_30
76240 , x_transaction_coa_id => l_adr_transaction_coa_id
76241 , x_accounting_coa_id => l_adr_accounting_coa_id
76242 , x_value_type_code => l_adr_value_type_code
76243 , p_side => 'NA'
76244 );
76245
76246 xla_ae_lines_pkg.set_ccid(
76247 p_code_combination_id => l_ccid
76248 , p_value_type_code => l_adr_value_type_code
76249 , p_transaction_coa_id => l_adr_transaction_coa_id
76250 , p_accounting_coa_id => l_adr_accounting_coa_id
76251 , p_adr_code => 'AP_INVOICE_DIST'
76252 , p_adr_type_code => 'S'
76253 , p_component_type => l_component_type
76257 , p_amb_context_code => l_amb_context_code
76254 , p_component_code => l_component_code
76255 , p_component_type_code => l_component_type_code
76256 , p_component_appl_id => l_component_appl_id
76258 , p_side => 'NA'
76259 );
76260
76261
76262 --
76263 --
76264 END IF;
76265 --
76266 -- Bug 4922099
76267 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76268 (NVL(l_enc_upg_option, 'N') = 'O')
76269 ) AND
76270 (l_bflow_method_code = 'PRIOR_ENTRY')
76271 )
76272 THEN
76273 IF
76274 --
76275 1 = 2
76276 --
76277 THEN
76278 xla_accounting_err_pkg.build_message
76279 (p_appli_s_name => 'XLA'
76280 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76281 ,p_token_1 => 'LINE_NUMBER'
76282 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76283 ,p_token_2 => 'LINE_TYPE_NAME'
76284 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76285 l_component_type
76286 ,l_component_code
76287 ,l_component_type_code
76288 ,l_component_appl_id
76289 ,l_amb_context_code
76290 ,l_entity_code
76291 ,l_event_class_code
76292 )
76293 ,p_token_3 => 'OWNER'
76294 ,p_value_3 => xla_lookups_pkg.get_meaning(
76295 p_lookup_type => 'XLA_OWNER_TYPE'
76296 ,p_lookup_code => l_component_type_code
76297 )
76298 ,p_token_4 => 'PRODUCT_NAME'
76299 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
76300 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
76301 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
76302 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
76303 ,p_ae_header_id => NULL
76304 );
76305
76306 IF (C_LEVEL_ERROR>= g_log_level) THEN
76307 trace
76308 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76309 ,p_level => C_LEVEL_ERROR
76310 ,p_module => l_log_module);
76311 END IF;
76312 END IF;
76313 END IF;
76314 --
76315 --
76316 ------------------------------------------------------------------------------------------------
76317 -- 4219869 Business Flow
76318 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
76319 -- Prior Entry. Currently, the following code is always generated.
76320 ------------------------------------------------------------------------------------------------
76321 XLA_AE_LINES_PKG.ValidateCurrentLine;
76322
76323 ------------------------------------------------------------------------------------
76324 -- 4219869 Business Flow
76325 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
76326 ------------------------------------------------------------------------------------
76327 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76328
76329 ----------------------------------------------------------------------------------
76330 -- 4219869 Business Flow
76331 -- Update journal entry status -- Need to generate this within IF <condition>
76332 ----------------------------------------------------------------------------------
76333 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76334 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
76335 ,p_balance_type_code => l_balance_type_code
76336 );
76337
76338 -------------------------------------------------------------------------------------------
76339 -- 4262811 - Generate the Accrual Reversal lines
76340 -------------------------------------------------------------------------------------------
76341 BEGIN
76342 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
76343 (g_array_event(p_event_id).array_value_num('header_index'));
76344 IF l_acc_rev_flag IS NULL THEN
76345 l_acc_rev_flag := 'N';
76346 END IF;
76347 EXCEPTION
76348 WHEN OTHERS THEN
76349 l_acc_rev_flag := 'N';
76350 END;
76351 --
76352 IF (l_acc_rev_flag = 'Y') THEN
76353
76357 ------------------------------------------------------------------------------------------
76354 -- 4645092 ------------------------------------------------------------------------------
76355 -- To allow MPA report to determine if it should generate report process
76356 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
76358
76359 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
76360 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
76361 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
76362 -- call ADRs
76363 -- Bug 4922099
76364 --
76365 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76366 (NVL(l_actual_upg_option, 'N') = 'O') OR
76367 (NVL(l_enc_upg_option, 'N') = 'O')
76368 )
76369 THEN
76370 NULL;
76371 --
76372 --
76373
76374 l_ccid := AcctDerRule_33(
76375 p_application_id => p_application_id
76376 , p_ae_header_id => l_ae_header_id
76377 , p_source_30 => p_source_30
76378 , x_transaction_coa_id => l_adr_transaction_coa_id
76379 , x_accounting_coa_id => l_adr_accounting_coa_id
76380 , x_value_type_code => l_adr_value_type_code
76381 , p_side => 'NA'
76382 );
76383
76384 xla_ae_lines_pkg.set_ccid(
76385 p_code_combination_id => l_ccid
76386 , p_value_type_code => l_adr_value_type_code
76387 , p_transaction_coa_id => l_adr_transaction_coa_id
76388 , p_accounting_coa_id => l_adr_accounting_coa_id
76389 , p_adr_code => 'AP_INVOICE_DIST'
76390 , p_adr_type_code => 'S'
76391 , p_component_type => l_component_type
76392 , p_component_code => l_component_code
76393 , p_component_type_code => l_component_type_code
76394 , p_component_appl_id => l_component_appl_id
76395 , p_amb_context_code => l_amb_context_code
76396 , p_side => 'NA'
76397 );
76398
76399
76400 --
76401 --
76402 END IF;
76403
76404 --
76405 -- Update the line information that should be overwritten
76406 --
76407 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
76408 p_header_num => 1);
76409 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
76410
76411 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
76412
76413 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
76414 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
76415 END IF;
76416
76417 --
76418 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
76419 --
76420 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
76421 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
76422 ELSE
76423 ---------------------------------------------------------------------------------------------------
76424 -- 4262811a Switch Sign
76425 ---------------------------------------------------------------------------------------------------
76426 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
76427 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76428 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76429 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76430 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76431 -- 5132302
76432 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
76433 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76434
76435 END IF;
76436
76437 -- 4955764
76438 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76439 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
76440
76441
76442 XLA_AE_LINES_PKG.ValidateCurrentLine;
76443 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76444
76445 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76446 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
76447 ,p_balance_type_code => l_balance_type_code);
76448
76449 END IF;
76450
76451 -----------------------------------------------------------------------------------------
76452 -- 4262811 Multiperiod Accounting
76453 -----------------------------------------------------------------------------------------
76454 -- No MPA option is assigned.
76455
76456
76457 END IF;
76458 END IF;
76459 --
76460
76461 --
76462 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76463 trace
76464 (p_msg => 'END of AcctLineType_136'
76465 ,p_level => C_LEVEL_PROCEDURE
76469 EXCEPTION
76466 ,p_module => l_log_module);
76467 END IF;
76468 --
76470 WHEN xla_exceptions_pkg.application_exception THEN
76471 RAISE;
76472 WHEN OTHERS THEN
76473 xla_exceptions_pkg.raise_message
76474 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_136');
76475 END AcctLineType_136;
76476 --
76477
76478 ---------------------------------------
76479 --
76480 -- PRIVATE FUNCTION
76481 -- AcctLineType_137
76482 --
76483 ---------------------------------------
76484 PROCEDURE AcctLineType_137 (
76485 p_application_id IN NUMBER
76486 ,p_event_id IN NUMBER
76487 ,p_calculate_acctd_flag IN VARCHAR2
76488 ,p_calculate_g_l_flag IN VARCHAR2
76489 ,p_actual_flag IN OUT VARCHAR2
76490 ,p_balance_type_code OUT VARCHAR2
76491 ,p_gain_or_loss_ref OUT VARCHAR2
76492
76493 --Invoice Distribution Description
76494 , p_source_1 IN VARCHAR2
76495 --Invoice Distribution Ledger Amount
76496 , p_source_21 IN NUMBER
76497 --Invoice Distribution Account
76498 , p_source_30 IN NUMBER
76499 --Invoice Distribution Type
76500 , p_source_33 IN VARCHAR2
76501 , p_source_33_meaning IN VARCHAR2
76502 --Accounting Reversal Indicator
76503 , p_source_52 IN VARCHAR2
76504 --Distribution Link Type
76505 , p_source_54 IN VARCHAR2
76506 --Allocation to Main Distribution Identifier
76507 , p_source_56 IN NUMBER
76508 --Invoice Identifier
76509 , p_source_57 IN NUMBER
76510 --Invoice Distribution Identifier
76511 , p_source_63 IN NUMBER
76512 --Payables Encumbrance Upgrade Credit Account
76513 , p_source_64 IN NUMBER
76514 --Payables Encumbrance Upgrade Credit Amount
76515 , p_source_65 IN NUMBER
76516 --Invoice Currency Code
76517 , p_source_66 IN VARCHAR2
76518 --Payables Encumbrance Upgrade Credit Base Amount
76519 , p_source_67 IN NUMBER
76520 --Payables Encumbrance Upgrade Debit Account
76521 , p_source_68 IN NUMBER
76522 --Payables Encumbrance Upgrade Debit Amount
76523 , p_source_69 IN NUMBER
76524 --Payables Encumbrance Upgrade Debit Base Amount
76525 , p_source_70 IN NUMBER
76526 --Payables Encumbrance Upgrade Option
76527 , p_source_71 IN VARCHAR2
76528 --Invoice Distribution Amount
76529 , p_source_72 IN NUMBER
76530 --Deferred Accounting End Date
76531 , p_source_76 IN DATE
76532 --Deferred Accounting Option
76533 , p_source_77 IN VARCHAR2
76534 --Deferred Accounting Start Date
76535 , p_source_78 IN DATE
76536 --Override Accounted Amount Indicator
76537 , p_source_79 IN VARCHAR2
76538 , p_source_79_meaning IN VARCHAR2
76539 --Invoice Supplier Identifier
76540 , p_source_80 IN NUMBER
76541 --Invoice Supplier Site Identifier
76542 , p_source_81 IN NUMBER
76543 --Third Party Type
76544 , p_source_82 IN VARCHAR2
76545 --Parent Reversal Identifier
76546 , p_source_83 IN NUMBER
76547 --Invoice Distribution Tax Line Identifier
76548 , p_source_85 IN NUMBER
76549 --Invoice Distribution Tax Distribution Identifier from Tax
76550 , p_source_86 IN NUMBER
76551 --Invoice Distribution Summary Tax Line Identifier
76552 , p_source_87 IN NUMBER
76553 --Payables Upgrade Credit Encumbrance Type Identifier
76554 , p_source_88 IN NUMBER
76555 --Payables Upgrade Debit Encumbrance Type Identifier
76556 , p_source_89 IN NUMBER
76557 --Business Flow Accounts Payable Application Identifier
76558 , p_source_90 IN NUMBER
76559 --Business Flow Invoice Distribution Type
76560 , p_source_91 IN VARCHAR2
76561 --Business Flow Invoice Entity Code
76562 , p_source_92 IN VARCHAR2
76563 --Business Flow Invoice Distribution Identifier
76564 , p_source_93 IN NUMBER
76565 --Business Flow Invoice Identifier
76566 , p_source_94 IN NUMBER
76567 --Accrue on Receipt Option
76568 , p_source_95 IN VARCHAR2
76569 , p_source_95_meaning IN VARCHAR2
76570 --Invoice Exchange Date
76571 , p_source_136 IN DATE
76572 --Invoice Exchange Rate
76573 , p_source_137 IN NUMBER
76574 --Invoice Exchange Rate Type
76575 , p_source_138 IN VARCHAR2
76576 )
76577 IS
76578
76579 l_component_type VARCHAR2(80);
76580 l_component_code VARCHAR2(30);
76581 l_component_type_code VARCHAR2(1);
76582 l_component_appl_id INTEGER;
76583 l_amb_context_code VARCHAR2(30);
76584 l_entity_code VARCHAR2(30);
76585 l_event_class_code VARCHAR2(30);
76586 l_ae_header_id NUMBER;
76587 l_event_type_code VARCHAR2(30);
76588 l_line_definition_code VARCHAR2(30);
76589 l_line_definition_owner_code VARCHAR2(1);
76590 --
76591 -- adr variables
76592 l_segment VARCHAR2(30);
76593 l_ccid NUMBER;
76594 l_adr_transaction_coa_id NUMBER;
76595 l_adr_accounting_coa_id NUMBER;
76596 l_adr_flexfield_segment_code VARCHAR2(30);
76597 l_adr_flex_value_set_id NUMBER;
76598 l_adr_value_type_code VARCHAR2(30);
76599 l_adr_value_combination_id NUMBER;
76603 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
76600 l_adr_value_segment_code VARCHAR2(30);
76601
76602 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
76604 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
76605 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
76606
76607 -- 4262811 Variables ------------------------------------------------------------------------------------------
76608 l_entered_amt_idx NUMBER;
76609 l_accted_amt_idx NUMBER;
76610 l_acc_rev_flag VARCHAR2(1);
76611 l_accrual_line_num NUMBER;
76612 l_tmp_amt NUMBER;
76613 l_acc_rev_natural_side_code VARCHAR2(1);
76614
76615 l_num_entries NUMBER;
76616 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
76617 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
76618 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
76619 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
76620 l_recog_line_1 NUMBER;
76621 l_recog_line_2 NUMBER;
76622
76623 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
76624 l_bflow_applied_to_amt NUMBER; -- 5132302
76625 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
76626
76627 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
76628
76629 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
76630 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
76631
76632 ---------------------------------------------------------------------------------------------------------------
76633
76634
76635 --
76636 -- bulk performance
76637 --
76638 l_balance_type_code VARCHAR2(1);
76639 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76640 l_log_module VARCHAR2(240);
76641
76642 --
76643 -- Upgrade strategy
76644 --
76645 l_actual_upg_option VARCHAR2(1);
76646 l_enc_upg_option VARCHAR2(1);
76647
76648 --
76649 BEGIN
76650 --
76651 IF g_log_enabled THEN
76652 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_137';
76653 END IF;
76654 --
76655 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76656
76657 trace
76658 (p_msg => 'BEGIN of AcctLineType_137'
76659 ,p_level => C_LEVEL_PROCEDURE
76660 ,p_module => l_log_module);
76661
76662 END IF;
76663 --
76664 l_component_type := 'AMB_JLT';
76665 l_component_code := 'AP_INV_PRICE_VAR_DM';
76666 l_component_type_code := 'S';
76667 l_component_appl_id := 200;
76668 l_amb_context_code := 'DEFAULT';
76669 l_entity_code := 'AP_INVOICES';
76670 l_event_class_code := 'DEBIT MEMOS';
76671 l_event_type_code := 'DEBIT MEMOS_ALL';
76672 l_line_definition_owner_code := 'S';
76673 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
76674 --
76675 l_balance_type_code := 'A';
76676 l_segment := NULL;
76677 l_ccid := NULL;
76678 l_adr_transaction_coa_id := NULL;
76679 l_adr_accounting_coa_id := NULL;
76680 l_adr_flexfield_segment_code := NULL;
76681 l_adr_flex_value_set_id := NULL;
76682 l_adr_value_type_code := NULL;
76683 l_adr_value_combination_id := NULL;
76684 l_adr_value_segment_code := NULL;
76685
76686 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
76687 l_bflow_class_code := ''; -- 4219869 Business Flow
76688 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
76689 l_budgetary_control_flag := 'N';
76690
76691 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76692 l_bflow_applied_to_amt := NULL; -- 5132302
76693 l_entered_amt_idx := NULL; -- 4262811
76694 l_accted_amt_idx := NULL; -- 4262811
76695 l_acc_rev_flag := NULL; -- 4262811
76696 l_accrual_line_num := NULL; -- 4262811
76697 l_tmp_amt := NULL; -- 4262811
76698 --
76699
76700 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
76701 l_balance_type_code <> 'B' THEN
76702 IF NVL(p_source_33,'
76703 ') = 'IPV' AND
76704 NVL(p_source_95,'
76705 ') = 'Y'
76706 THEN
76707
76708 --
76709 XLA_AE_LINES_PKG.SetNewLine;
76710
76711 p_balance_type_code := l_balance_type_code;
76712 -- set the flag so later we will know whether the gain loss line needs to be created
76713
76714 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
76715 p_actual_flag :='A';
76716 END IF;
76717
76718 --
76719 -- bulk performance
76720 --
76721 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76722 p_header_num => 0); -- 4262811
76723 --
76724 -- set accounting line options
76725 --
76726 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76727 p_natural_side_code => 'D'
76728 , p_gain_or_loss_flag => 'N'
76729 , p_gl_transfer_mode_code => 'S'
76733 );
76730 , p_acct_entry_type_code => 'A'
76731 , p_switch_side_flag => 'Y'
76732 , p_merge_duplicate_code => 'A'
76734 --
76735 l_acc_rev_natural_side_code := 'C'; -- 4262811
76736 --
76737 --
76738 -- set accounting line type info
76739 --
76740 xla_ae_lines_pkg.SetAcctLineType
76741 (p_component_type => l_component_type
76742 ,p_event_type_code => l_event_type_code
76743 ,p_line_definition_owner_code => l_line_definition_owner_code
76744 ,p_line_definition_code => l_line_definition_code
76745 ,p_accounting_line_code => l_component_code
76746 ,p_accounting_line_type_code => l_component_type_code
76747 ,p_accounting_line_appl_id => l_component_appl_id
76748 ,p_amb_context_code => l_amb_context_code
76749 ,p_entity_code => l_entity_code
76750 ,p_event_class_code => l_event_class_code);
76751 --
76752 -- set accounting class
76753 --
76754 xla_ae_lines_pkg.SetAcctClass(
76755 p_accounting_class_code => 'IPV'
76756 , p_ae_header_id => l_ae_header_id
76757 );
76758
76759 --
76760 -- set rounding class
76761 --
76762 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76763 'IPV';
76764
76765 --
76766 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76767 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76768 --
76769 -- bulk performance
76770 --
76771 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76772
76773 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76774 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76775
76776 -- 4955764
76777 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76778 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76779
76780 -- 4458381 Public Sector Enh
76781
76782 --
76783 -- set accounting attributes for the line type
76784 --
76785 l_entered_amt_idx := 23;
76786 l_accted_amt_idx := 28;
76787 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76788 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
76789 l_rec_acct_attrs.array_char_value(1) := p_source_52;
76790 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
76791 l_rec_acct_attrs.array_num_value(2) :=
76792 xla_ae_sources_pkg.GetSystemSourceNum(
76793 p_source_code => 'XLA_EVENT_APPL_ID'
76794 , p_source_type_code => 'Y'
76795 , p_source_application_id => 602
76796 );
76797 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
76798 l_rec_acct_attrs.array_char_value(3) := p_source_54;
76799 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
76800 l_rec_acct_attrs.array_char_value(4) :=
76801 xla_ae_sources_pkg.GetSystemSourceChar(
76802 p_source_code => 'XLA_ENTITY_CODE'
76803 , p_source_type_code => 'Y'
76804 , p_source_application_id => 602
76805 );
76806 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
76807 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
76808 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
76809 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
76810 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
76811 l_rec_acct_attrs.array_num_value(7) := p_source_90;
76812 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
76813 l_rec_acct_attrs.array_char_value(8) := p_source_91;
76814 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
76815 l_rec_acct_attrs.array_char_value(9) := p_source_92;
76816 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
76817 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
76818 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
76819 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
76820 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
76821 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
76822 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
76823 l_rec_acct_attrs.array_char_value(13) := p_source_54;
76824 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
76825 l_rec_acct_attrs.array_num_value(14) := p_source_64;
76826 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
76827 l_rec_acct_attrs.array_num_value(15) := p_source_65;
76828 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
76829 l_rec_acct_attrs.array_char_value(16) := p_source_66;
76830 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
76831 l_rec_acct_attrs.array_num_value(17) := p_source_67;
76832 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
76833 l_rec_acct_attrs.array_num_value(18) := p_source_68;
76834 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
76835 l_rec_acct_attrs.array_num_value(19) := p_source_69;
76836 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
76840 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
76837 l_rec_acct_attrs.array_char_value(20) := p_source_66;
76838 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
76839 l_rec_acct_attrs.array_num_value(21) := p_source_70;
76841 l_rec_acct_attrs.array_char_value(22) := p_source_71;
76842 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
76843 l_rec_acct_attrs.array_num_value(23) := p_source_72;
76844 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
76845 l_rec_acct_attrs.array_char_value(24) := p_source_66;
76846 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
76847 l_rec_acct_attrs.array_date_value(25) := p_source_136;
76848 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
76849 l_rec_acct_attrs.array_num_value(26) := p_source_137;
76850 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
76851 l_rec_acct_attrs.array_char_value(27) := p_source_138;
76852 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
76853 l_rec_acct_attrs.array_num_value(28) := p_source_21;
76854 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
76855 l_rec_acct_attrs.array_date_value(29) := p_source_76;
76856 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
76857 l_rec_acct_attrs.array_char_value(30) := p_source_77;
76858 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
76859 l_rec_acct_attrs.array_date_value(31) := p_source_78;
76860 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
76861 l_rec_acct_attrs.array_char_value(32) := p_source_79;
76862 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
76863 l_rec_acct_attrs.array_num_value(33) := p_source_80;
76864 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
76865 l_rec_acct_attrs.array_num_value(34) := p_source_81;
76866 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
76867 l_rec_acct_attrs.array_char_value(35) := p_source_82;
76868 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
76869 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
76870 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
76871 l_rec_acct_attrs.array_char_value(37) := p_source_54;
76872 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
76873 l_rec_acct_attrs.array_num_value(38) := p_source_85;
76874 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
76875 l_rec_acct_attrs.array_num_value(39) := p_source_86;
76876 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
76877 l_rec_acct_attrs.array_num_value(40) := p_source_87;
76878 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
76879 l_rec_acct_attrs.array_num_value(41) := p_source_88;
76880 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
76881 l_rec_acct_attrs.array_num_value(42) := p_source_89;
76882
76883 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76884 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76885
76886 ---------------------------------------------------------------------------------------------------------------
76887 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76888 ---------------------------------------------------------------------------------------------------------------
76889 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76890
76891 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76892 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76893
76894 IF xla_accounting_cache_pkg.GetValueChar
76895 (p_source_code => 'LEDGER_CATEGORY_CODE'
76896 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76897 AND l_bflow_method_code = 'PRIOR_ENTRY'
76898 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76899 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76900 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76901 )
76902 THEN
76903 xla_ae_lines_pkg.BflowUpgEntry
76904 (p_business_method_code => l_bflow_method_code
76905 ,p_business_class_code => l_bflow_class_code
76906 ,p_balance_type => l_balance_type_code);
76907 ELSE
76908 NULL;
76909 -- No business flow processing for business flow method of NONE.
76910 END IF;
76911
76912 --
76913 -- call analytical criteria
76914 --
76915
76916 --
76917 -- call description
76918 --
76919
76920 xla_ae_lines_pkg.SetLineDescription(
76921 p_ae_header_id => l_ae_header_id
76922 ,p_description => Description_1 (
76923 p_application_id => p_application_id
76924 , p_ae_header_id => l_ae_header_id
76925 , p_source_1 => p_source_1
76926 )
76927 );
76928
76929
76930 --
76931 -- call ADRs
76932 -- Bug 4922099
76933 --
76934 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76935 (NVL(l_actual_upg_option, 'N') = 'O') OR
76936 (NVL(l_enc_upg_option, 'N') = 'O')
76937 )
76938 THEN
76939 NULL;
76940 --
76941 --
76942
76943 l_ccid := AcctDerRule_33(
76947 , x_transaction_coa_id => l_adr_transaction_coa_id
76944 p_application_id => p_application_id
76945 , p_ae_header_id => l_ae_header_id
76946 , p_source_30 => p_source_30
76948 , x_accounting_coa_id => l_adr_accounting_coa_id
76949 , x_value_type_code => l_adr_value_type_code
76950 , p_side => 'NA'
76951 );
76952
76953 xla_ae_lines_pkg.set_ccid(
76954 p_code_combination_id => l_ccid
76955 , p_value_type_code => l_adr_value_type_code
76956 , p_transaction_coa_id => l_adr_transaction_coa_id
76957 , p_accounting_coa_id => l_adr_accounting_coa_id
76958 , p_adr_code => 'AP_INVOICE_DIST'
76959 , p_adr_type_code => 'S'
76960 , p_component_type => l_component_type
76961 , p_component_code => l_component_code
76962 , p_component_type_code => l_component_type_code
76963 , p_component_appl_id => l_component_appl_id
76964 , p_amb_context_code => l_amb_context_code
76965 , p_side => 'NA'
76966 );
76967
76968
76969 --
76970 --
76971 END IF;
76972 --
76973 -- Bug 4922099
76974 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76975 (NVL(l_enc_upg_option, 'N') = 'O')
76976 ) AND
76977 (l_bflow_method_code = 'PRIOR_ENTRY')
76978 )
76979 THEN
76980 IF
76981 --
76982 1 = 2
76983 --
76984 THEN
76985 xla_accounting_err_pkg.build_message
76986 (p_appli_s_name => 'XLA'
76987 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76988 ,p_token_1 => 'LINE_NUMBER'
76989 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76990 ,p_token_2 => 'LINE_TYPE_NAME'
76991 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76992 l_component_type
76993 ,l_component_code
76994 ,l_component_type_code
76995 ,l_component_appl_id
76996 ,l_amb_context_code
76997 ,l_entity_code
76998 ,l_event_class_code
76999 )
77000 ,p_token_3 => 'OWNER'
77001 ,p_value_3 => xla_lookups_pkg.get_meaning(
77002 p_lookup_type => 'XLA_OWNER_TYPE'
77003 ,p_lookup_code => l_component_type_code
77004 )
77005 ,p_token_4 => 'PRODUCT_NAME'
77006 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77007 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77008 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77009 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77010 ,p_ae_header_id => NULL
77011 );
77012
77013 IF (C_LEVEL_ERROR>= g_log_level) THEN
77014 trace
77015 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77016 ,p_level => C_LEVEL_ERROR
77017 ,p_module => l_log_module);
77018 END IF;
77019 END IF;
77020 END IF;
77021 --
77022 --
77023 ------------------------------------------------------------------------------------------------
77024 -- 4219869 Business Flow
77025 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77026 -- Prior Entry. Currently, the following code is always generated.
77027 ------------------------------------------------------------------------------------------------
77028 XLA_AE_LINES_PKG.ValidateCurrentLine;
77029
77030 ------------------------------------------------------------------------------------
77031 -- 4219869 Business Flow
77032 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77033 ------------------------------------------------------------------------------------
77034 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77035
77036 ----------------------------------------------------------------------------------
77037 -- 4219869 Business Flow
77038 -- Update journal entry status -- Need to generate this within IF <condition>
77039 ----------------------------------------------------------------------------------
77043 );
77040 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77041 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77042 ,p_balance_type_code => l_balance_type_code
77044
77045 -------------------------------------------------------------------------------------------
77046 -- 4262811 - Generate the Accrual Reversal lines
77047 -------------------------------------------------------------------------------------------
77048 BEGIN
77049 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77050 (g_array_event(p_event_id).array_value_num('header_index'));
77051 IF l_acc_rev_flag IS NULL THEN
77052 l_acc_rev_flag := 'N';
77053 END IF;
77054 EXCEPTION
77055 WHEN OTHERS THEN
77056 l_acc_rev_flag := 'N';
77057 END;
77058 --
77059 IF (l_acc_rev_flag = 'Y') THEN
77060
77061 -- 4645092 ------------------------------------------------------------------------------
77062 -- To allow MPA report to determine if it should generate report process
77063 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77064 ------------------------------------------------------------------------------------------
77065
77066 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77067 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
77068 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
77069 -- call ADRs
77070 -- Bug 4922099
77071 --
77072 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77073 (NVL(l_actual_upg_option, 'N') = 'O') OR
77074 (NVL(l_enc_upg_option, 'N') = 'O')
77075 )
77076 THEN
77077 NULL;
77078 --
77079 --
77080
77081 l_ccid := AcctDerRule_33(
77082 p_application_id => p_application_id
77083 , p_ae_header_id => l_ae_header_id
77084 , p_source_30 => p_source_30
77085 , x_transaction_coa_id => l_adr_transaction_coa_id
77086 , x_accounting_coa_id => l_adr_accounting_coa_id
77087 , x_value_type_code => l_adr_value_type_code
77088 , p_side => 'NA'
77089 );
77090
77091 xla_ae_lines_pkg.set_ccid(
77092 p_code_combination_id => l_ccid
77093 , p_value_type_code => l_adr_value_type_code
77094 , p_transaction_coa_id => l_adr_transaction_coa_id
77095 , p_accounting_coa_id => l_adr_accounting_coa_id
77096 , p_adr_code => 'AP_INVOICE_DIST'
77097 , p_adr_type_code => 'S'
77098 , p_component_type => l_component_type
77099 , p_component_code => l_component_code
77100 , p_component_type_code => l_component_type_code
77101 , p_component_appl_id => l_component_appl_id
77102 , p_amb_context_code => l_amb_context_code
77103 , p_side => 'NA'
77104 );
77105
77106
77107 --
77108 --
77109 END IF;
77110
77111 --
77112 -- Update the line information that should be overwritten
77113 --
77114 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77115 p_header_num => 1);
77116 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77117
77118 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77119
77120 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77121 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77122 END IF;
77123
77124 --
77125 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77126 --
77127 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77128 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77129 ELSE
77130 ---------------------------------------------------------------------------------------------------
77131 -- 4262811a Switch Sign
77132 ---------------------------------------------------------------------------------------------------
77133 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77134 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77135 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77136 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77137 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77138 -- 5132302
77139 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77140 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77141
77142 END IF;
77143
77144 -- 4955764
77145 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77146 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77147
77148
77152 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77149 XLA_AE_LINES_PKG.ValidateCurrentLine;
77150 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77151
77153 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77154 ,p_balance_type_code => l_balance_type_code);
77155
77156 END IF;
77157
77158 -----------------------------------------------------------------------------------------
77159 -- 4262811 Multiperiod Accounting
77160 -----------------------------------------------------------------------------------------
77161 -- No MPA option is assigned.
77162
77163
77164 END IF;
77165 END IF;
77166 --
77167
77168 --
77169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77170 trace
77171 (p_msg => 'END of AcctLineType_137'
77172 ,p_level => C_LEVEL_PROCEDURE
77173 ,p_module => l_log_module);
77174 END IF;
77175 --
77176 EXCEPTION
77177 WHEN xla_exceptions_pkg.application_exception THEN
77178 RAISE;
77179 WHEN OTHERS THEN
77180 xla_exceptions_pkg.raise_message
77181 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_137');
77182 END AcctLineType_137;
77183 --
77184
77185 ---------------------------------------
77186 --
77187 -- PRIVATE FUNCTION
77188 -- AcctLineType_138
77189 --
77190 ---------------------------------------
77191 PROCEDURE AcctLineType_138 (
77192 p_application_id IN NUMBER
77193 ,p_event_id IN NUMBER
77194 ,p_calculate_acctd_flag IN VARCHAR2
77195 ,p_calculate_g_l_flag IN VARCHAR2
77196 ,p_actual_flag IN OUT VARCHAR2
77197 ,p_balance_type_code OUT VARCHAR2
77198 ,p_gain_or_loss_ref OUT VARCHAR2
77199
77200 --Invoice Distribution Description
77201 , p_source_1 IN VARCHAR2
77202 --Invoice Distribution Ledger Amount
77203 , p_source_21 IN NUMBER
77204 --Invoice Distribution Account
77205 , p_source_30 IN NUMBER
77206 --Invoice Distribution Type
77207 , p_source_33 IN VARCHAR2
77208 , p_source_33_meaning IN VARCHAR2
77209 --Accounting Reversal Indicator
77210 , p_source_52 IN VARCHAR2
77211 --Distribution Link Type
77212 , p_source_54 IN VARCHAR2
77213 --Allocation to Main Distribution Identifier
77214 , p_source_56 IN NUMBER
77215 --Invoice Identifier
77216 , p_source_57 IN NUMBER
77217 --Invoice Distribution Identifier
77218 , p_source_63 IN NUMBER
77219 --Payables Encumbrance Upgrade Credit Account
77220 , p_source_64 IN NUMBER
77221 --Payables Encumbrance Upgrade Credit Amount
77222 , p_source_65 IN NUMBER
77223 --Invoice Currency Code
77224 , p_source_66 IN VARCHAR2
77225 --Payables Encumbrance Upgrade Credit Base Amount
77226 , p_source_67 IN NUMBER
77227 --Payables Encumbrance Upgrade Debit Account
77228 , p_source_68 IN NUMBER
77229 --Payables Encumbrance Upgrade Debit Amount
77230 , p_source_69 IN NUMBER
77231 --Payables Encumbrance Upgrade Debit Base Amount
77232 , p_source_70 IN NUMBER
77233 --Payables Encumbrance Upgrade Option
77234 , p_source_71 IN VARCHAR2
77235 --Invoice Distribution Amount
77236 , p_source_72 IN NUMBER
77237 --Deferred Accounting End Date
77238 , p_source_76 IN DATE
77239 --Deferred Accounting Option
77240 , p_source_77 IN VARCHAR2
77241 --Deferred Accounting Start Date
77242 , p_source_78 IN DATE
77243 --Override Accounted Amount Indicator
77244 , p_source_79 IN VARCHAR2
77245 , p_source_79_meaning IN VARCHAR2
77246 --Invoice Supplier Identifier
77247 , p_source_80 IN NUMBER
77248 --Invoice Supplier Site Identifier
77249 , p_source_81 IN NUMBER
77250 --Third Party Type
77251 , p_source_82 IN VARCHAR2
77252 --Parent Reversal Identifier
77253 , p_source_83 IN NUMBER
77254 --Invoice Distribution Statistical Amount
77255 , p_source_84 IN NUMBER
77256 --Invoice Distribution Tax Line Identifier
77257 , p_source_85 IN NUMBER
77258 --Invoice Distribution Tax Distribution Identifier from Tax
77259 , p_source_86 IN NUMBER
77260 --Invoice Distribution Summary Tax Line Identifier
77261 , p_source_87 IN NUMBER
77262 --Payables Upgrade Credit Encumbrance Type Identifier
77263 , p_source_88 IN NUMBER
77264 --Payables Upgrade Debit Encumbrance Type Identifier
77265 , p_source_89 IN NUMBER
77266 --Business Flow Accounts Payable Application Identifier
77267 , p_source_90 IN NUMBER
77268 --Business Flow Invoice Distribution Type
77269 , p_source_91 IN VARCHAR2
77270 --Business Flow Invoice Entity Code
77271 , p_source_92 IN VARCHAR2
77272 --Business Flow Invoice Distribution Identifier
77273 , p_source_93 IN NUMBER
77274 --Business Flow Invoice Identifier
77275 , p_source_94 IN NUMBER
77276 --Accrue on Receipt Option
77277 , p_source_95 IN VARCHAR2
77278 , p_source_95_meaning IN VARCHAR2
77279 --Invoice Exchange Date
77280 , p_source_136 IN DATE
77281 --Invoice Exchange Rate
77282 , p_source_137 IN NUMBER
77283 --Invoice Exchange Rate Type
77284 , p_source_138 IN VARCHAR2
77285 )
77286 IS
77287
77288 l_component_type VARCHAR2(80);
77292 l_amb_context_code VARCHAR2(30);
77289 l_component_code VARCHAR2(30);
77290 l_component_type_code VARCHAR2(1);
77291 l_component_appl_id INTEGER;
77293 l_entity_code VARCHAR2(30);
77294 l_event_class_code VARCHAR2(30);
77295 l_ae_header_id NUMBER;
77296 l_event_type_code VARCHAR2(30);
77297 l_line_definition_code VARCHAR2(30);
77298 l_line_definition_owner_code VARCHAR2(1);
77299 --
77300 -- adr variables
77301 l_segment VARCHAR2(30);
77302 l_ccid NUMBER;
77303 l_adr_transaction_coa_id NUMBER;
77304 l_adr_accounting_coa_id NUMBER;
77305 l_adr_flexfield_segment_code VARCHAR2(30);
77306 l_adr_flex_value_set_id NUMBER;
77307 l_adr_value_type_code VARCHAR2(30);
77308 l_adr_value_combination_id NUMBER;
77309 l_adr_value_segment_code VARCHAR2(30);
77310
77311 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77312 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77313 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77314 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77315
77316 -- 4262811 Variables ------------------------------------------------------------------------------------------
77317 l_entered_amt_idx NUMBER;
77318 l_accted_amt_idx NUMBER;
77319 l_acc_rev_flag VARCHAR2(1);
77320 l_accrual_line_num NUMBER;
77321 l_tmp_amt NUMBER;
77322 l_acc_rev_natural_side_code VARCHAR2(1);
77323
77324 l_num_entries NUMBER;
77325 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77326 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77327 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77328 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77329 l_recog_line_1 NUMBER;
77330 l_recog_line_2 NUMBER;
77331
77332 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77333 l_bflow_applied_to_amt NUMBER; -- 5132302
77334 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77335
77336 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77337
77338 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77339 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77340
77341 ---------------------------------------------------------------------------------------------------------------
77342
77343
77344 --
77345 -- bulk performance
77346 --
77347 l_balance_type_code VARCHAR2(1);
77348 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77349 l_log_module VARCHAR2(240);
77350
77351 --
77352 -- Upgrade strategy
77353 --
77354 l_actual_upg_option VARCHAR2(1);
77355 l_enc_upg_option VARCHAR2(1);
77356
77357 --
77358 BEGIN
77359 --
77360 IF g_log_enabled THEN
77361 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_138';
77362 END IF;
77363 --
77364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77365
77366 trace
77367 (p_msg => 'BEGIN of AcctLineType_138'
77368 ,p_level => C_LEVEL_PROCEDURE
77369 ,p_module => l_log_module);
77370
77371 END IF;
77372 --
77373 l_component_type := 'AMB_JLT';
77374 l_component_code := 'AP_INV_PRICE_VAR_INV';
77375 l_component_type_code := 'S';
77376 l_component_appl_id := 200;
77377 l_amb_context_code := 'DEFAULT';
77378 l_entity_code := 'AP_INVOICES';
77379 l_event_class_code := 'INVOICES';
77380 l_event_type_code := 'INVOICES_ALL';
77381 l_line_definition_owner_code := 'S';
77382 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
77383 --
77384 l_balance_type_code := 'A';
77385 l_segment := NULL;
77386 l_ccid := NULL;
77387 l_adr_transaction_coa_id := NULL;
77388 l_adr_accounting_coa_id := NULL;
77389 l_adr_flexfield_segment_code := NULL;
77390 l_adr_flex_value_set_id := NULL;
77391 l_adr_value_type_code := NULL;
77392 l_adr_value_combination_id := NULL;
77393 l_adr_value_segment_code := NULL;
77394
77395 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
77396 l_bflow_class_code := ''; -- 4219869 Business Flow
77397 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
77398 l_budgetary_control_flag := 'N';
77399
77400 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77401 l_bflow_applied_to_amt := NULL; -- 5132302
77402 l_entered_amt_idx := NULL; -- 4262811
77403 l_accted_amt_idx := NULL; -- 4262811
77404 l_acc_rev_flag := NULL; -- 4262811
77405 l_accrual_line_num := NULL; -- 4262811
77406 l_tmp_amt := NULL; -- 4262811
77407 --
77408
77409 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
77410 l_balance_type_code <> 'B' THEN
77411 IF NVL(p_source_33,'
77412 ') = 'IPV' AND
77413 NVL(p_source_95,'
77414 ') = 'Y'
77415 THEN
77416
77417 --
77421 -- set the flag so later we will know whether the gain loss line needs to be created
77418 XLA_AE_LINES_PKG.SetNewLine;
77419
77420 p_balance_type_code := l_balance_type_code;
77422
77423 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
77424 p_actual_flag :='A';
77425 END IF;
77426
77427 --
77428 -- bulk performance
77429 --
77430 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
77431 p_header_num => 0); -- 4262811
77432 --
77433 -- set accounting line options
77434 --
77435 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
77436 p_natural_side_code => 'D'
77437 , p_gain_or_loss_flag => 'N'
77438 , p_gl_transfer_mode_code => 'S'
77439 , p_acct_entry_type_code => 'A'
77440 , p_switch_side_flag => 'Y'
77441 , p_merge_duplicate_code => 'A'
77442 );
77443 --
77444 l_acc_rev_natural_side_code := 'C'; -- 4262811
77445 --
77446 --
77447 -- set accounting line type info
77448 --
77449 xla_ae_lines_pkg.SetAcctLineType
77450 (p_component_type => l_component_type
77451 ,p_event_type_code => l_event_type_code
77452 ,p_line_definition_owner_code => l_line_definition_owner_code
77453 ,p_line_definition_code => l_line_definition_code
77454 ,p_accounting_line_code => l_component_code
77455 ,p_accounting_line_type_code => l_component_type_code
77456 ,p_accounting_line_appl_id => l_component_appl_id
77457 ,p_amb_context_code => l_amb_context_code
77458 ,p_entity_code => l_entity_code
77459 ,p_event_class_code => l_event_class_code);
77460 --
77461 -- set accounting class
77462 --
77463 xla_ae_lines_pkg.SetAcctClass(
77464 p_accounting_class_code => 'IPV'
77465 , p_ae_header_id => l_ae_header_id
77466 );
77467
77468 --
77469 -- set rounding class
77470 --
77471 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
77472 'IPV';
77473
77474 --
77475 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
77476 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
77477 --
77478 -- bulk performance
77479 --
77480 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
77481
77482 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
77483 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
77484
77485 -- 4955764
77486 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77487 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
77488
77489 -- 4458381 Public Sector Enh
77490
77491 --
77492 -- set accounting attributes for the line type
77493 --
77494 l_entered_amt_idx := 24;
77495 l_accted_amt_idx := 29;
77496 l_bflow_applied_to_amt_idx := 7; -- 5132302
77497 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
77498 l_rec_acct_attrs.array_char_value(1) := p_source_52;
77499 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
77500 l_rec_acct_attrs.array_num_value(2) :=
77501 xla_ae_sources_pkg.GetSystemSourceNum(
77502 p_source_code => 'XLA_EVENT_APPL_ID'
77503 , p_source_type_code => 'Y'
77504 , p_source_application_id => 602
77505 );
77506 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
77507 l_rec_acct_attrs.array_char_value(3) := p_source_54;
77508 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
77509 l_rec_acct_attrs.array_char_value(4) :=
77510 xla_ae_sources_pkg.GetSystemSourceChar(
77511 p_source_code => 'XLA_ENTITY_CODE'
77512 , p_source_type_code => 'Y'
77513 , p_source_application_id => 602
77514 );
77515 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
77516 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
77517 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
77518 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
77519 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
77520 l_rec_acct_attrs.array_num_value(7) := p_source_72;
77521 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
77522 l_rec_acct_attrs.array_num_value(8) := p_source_90;
77523 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
77524 l_rec_acct_attrs.array_char_value(9) := p_source_91;
77525 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
77526 l_rec_acct_attrs.array_char_value(10) := p_source_92;
77527 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
77528 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
77529 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
77530 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
77531 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
77535 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
77532 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
77533 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
77534 l_rec_acct_attrs.array_char_value(14) := p_source_54;
77536 l_rec_acct_attrs.array_num_value(15) := p_source_64;
77537 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
77538 l_rec_acct_attrs.array_num_value(16) := p_source_65;
77539 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
77540 l_rec_acct_attrs.array_char_value(17) := p_source_66;
77541 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
77542 l_rec_acct_attrs.array_num_value(18) := p_source_67;
77543 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
77544 l_rec_acct_attrs.array_num_value(19) := p_source_68;
77545 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
77546 l_rec_acct_attrs.array_num_value(20) := p_source_69;
77547 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
77548 l_rec_acct_attrs.array_char_value(21) := p_source_66;
77549 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
77550 l_rec_acct_attrs.array_num_value(22) := p_source_70;
77551 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
77552 l_rec_acct_attrs.array_char_value(23) := p_source_71;
77553 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
77554 l_rec_acct_attrs.array_num_value(24) := p_source_72;
77555 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
77556 l_rec_acct_attrs.array_char_value(25) := p_source_66;
77557 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
77558 l_rec_acct_attrs.array_date_value(26) := p_source_136;
77559 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
77560 l_rec_acct_attrs.array_num_value(27) := p_source_137;
77561 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
77562 l_rec_acct_attrs.array_char_value(28) := p_source_138;
77563 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
77564 l_rec_acct_attrs.array_num_value(29) := p_source_21;
77565 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
77566 l_rec_acct_attrs.array_date_value(30) := p_source_76;
77567 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
77568 l_rec_acct_attrs.array_char_value(31) := p_source_77;
77569 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
77570 l_rec_acct_attrs.array_date_value(32) := p_source_78;
77571 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
77572 l_rec_acct_attrs.array_char_value(33) := p_source_79;
77573 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
77574 l_rec_acct_attrs.array_num_value(34) := p_source_80;
77575 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
77576 l_rec_acct_attrs.array_num_value(35) := p_source_81;
77577 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
77578 l_rec_acct_attrs.array_char_value(36) := p_source_82;
77579 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
77580 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
77581 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
77582 l_rec_acct_attrs.array_char_value(38) := p_source_54;
77583 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
77584 l_rec_acct_attrs.array_num_value(39) := p_source_84;
77585 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
77586 l_rec_acct_attrs.array_num_value(40) := p_source_85;
77587 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
77588 l_rec_acct_attrs.array_num_value(41) := p_source_86;
77589 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
77590 l_rec_acct_attrs.array_num_value(42) := p_source_87;
77591 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
77592 l_rec_acct_attrs.array_num_value(43) := p_source_88;
77593 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
77594 l_rec_acct_attrs.array_num_value(44) := p_source_89;
77595
77596 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
77597 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
77598
77599 ---------------------------------------------------------------------------------------------------------------
77600 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
77601 ---------------------------------------------------------------------------------------------------------------
77602 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
77603
77604 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77605 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77606
77607 IF xla_accounting_cache_pkg.GetValueChar
77608 (p_source_code => 'LEDGER_CATEGORY_CODE'
77609 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
77610 AND l_bflow_method_code = 'PRIOR_ENTRY'
77611 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
77612 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
77613 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
77614 )
77615 THEN
77616 xla_ae_lines_pkg.BflowUpgEntry
77620 ELSE
77617 (p_business_method_code => l_bflow_method_code
77618 ,p_business_class_code => l_bflow_class_code
77619 ,p_balance_type => l_balance_type_code);
77621 NULL;
77622 -- No business flow processing for business flow method of NONE.
77623 END IF;
77624
77625 --
77626 -- call analytical criteria
77627 --
77628
77629 --
77630 -- call description
77631 --
77632
77633 xla_ae_lines_pkg.SetLineDescription(
77634 p_ae_header_id => l_ae_header_id
77635 ,p_description => Description_1 (
77636 p_application_id => p_application_id
77637 , p_ae_header_id => l_ae_header_id
77638 , p_source_1 => p_source_1
77639 )
77640 );
77641
77642
77643 --
77644 -- call ADRs
77645 -- Bug 4922099
77646 --
77647 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77648 (NVL(l_actual_upg_option, 'N') = 'O') OR
77649 (NVL(l_enc_upg_option, 'N') = 'O')
77650 )
77651 THEN
77652 NULL;
77653 --
77654 --
77655
77656 l_ccid := AcctDerRule_33(
77657 p_application_id => p_application_id
77658 , p_ae_header_id => l_ae_header_id
77659 , p_source_30 => p_source_30
77660 , x_transaction_coa_id => l_adr_transaction_coa_id
77661 , x_accounting_coa_id => l_adr_accounting_coa_id
77662 , x_value_type_code => l_adr_value_type_code
77663 , p_side => 'NA'
77664 );
77665
77666 xla_ae_lines_pkg.set_ccid(
77667 p_code_combination_id => l_ccid
77668 , p_value_type_code => l_adr_value_type_code
77669 , p_transaction_coa_id => l_adr_transaction_coa_id
77670 , p_accounting_coa_id => l_adr_accounting_coa_id
77671 , p_adr_code => 'AP_INVOICE_DIST'
77672 , p_adr_type_code => 'S'
77673 , p_component_type => l_component_type
77674 , p_component_code => l_component_code
77675 , p_component_type_code => l_component_type_code
77676 , p_component_appl_id => l_component_appl_id
77677 , p_amb_context_code => l_amb_context_code
77678 , p_side => 'NA'
77679 );
77680
77681
77682 --
77683 --
77684 END IF;
77685 --
77686 -- Bug 4922099
77687 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
77688 (NVL(l_enc_upg_option, 'N') = 'O')
77689 ) AND
77690 (l_bflow_method_code = 'PRIOR_ENTRY')
77691 )
77692 THEN
77693 IF
77694 --
77695 1 = 2
77696 --
77697 THEN
77698 xla_accounting_err_pkg.build_message
77699 (p_appli_s_name => 'XLA'
77700 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77701 ,p_token_1 => 'LINE_NUMBER'
77702 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
77703 ,p_token_2 => 'LINE_TYPE_NAME'
77704 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
77705 l_component_type
77706 ,l_component_code
77707 ,l_component_type_code
77708 ,l_component_appl_id
77709 ,l_amb_context_code
77710 ,l_entity_code
77711 ,l_event_class_code
77712 )
77713 ,p_token_3 => 'OWNER'
77714 ,p_value_3 => xla_lookups_pkg.get_meaning(
77715 p_lookup_type => 'XLA_OWNER_TYPE'
77716 ,p_lookup_code => l_component_type_code
77717 )
77718 ,p_token_4 => 'PRODUCT_NAME'
77719 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77720 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77721 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77722 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77723 ,p_ae_header_id => NULL
77724 );
77725
77726 IF (C_LEVEL_ERROR>= g_log_level) THEN
77727 trace
77728 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77729 ,p_level => C_LEVEL_ERROR
77730 ,p_module => l_log_module);
77731 END IF;
77735 --
77732 END IF;
77733 END IF;
77734 --
77736 ------------------------------------------------------------------------------------------------
77737 -- 4219869 Business Flow
77738 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77739 -- Prior Entry. Currently, the following code is always generated.
77740 ------------------------------------------------------------------------------------------------
77741 XLA_AE_LINES_PKG.ValidateCurrentLine;
77742
77743 ------------------------------------------------------------------------------------
77744 -- 4219869 Business Flow
77745 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77746 ------------------------------------------------------------------------------------
77747 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77748
77749 ----------------------------------------------------------------------------------
77750 -- 4219869 Business Flow
77751 -- Update journal entry status -- Need to generate this within IF <condition>
77752 ----------------------------------------------------------------------------------
77753 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77754 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77755 ,p_balance_type_code => l_balance_type_code
77756 );
77757
77758 -------------------------------------------------------------------------------------------
77759 -- 4262811 - Generate the Accrual Reversal lines
77760 -------------------------------------------------------------------------------------------
77761 BEGIN
77762 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77763 (g_array_event(p_event_id).array_value_num('header_index'));
77764 IF l_acc_rev_flag IS NULL THEN
77765 l_acc_rev_flag := 'N';
77766 END IF;
77767 EXCEPTION
77768 WHEN OTHERS THEN
77769 l_acc_rev_flag := 'N';
77770 END;
77771 --
77772 IF (l_acc_rev_flag = 'Y') THEN
77773
77774 -- 4645092 ------------------------------------------------------------------------------
77775 -- To allow MPA report to determine if it should generate report process
77776 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77777 ------------------------------------------------------------------------------------------
77778
77779 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77780 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
77781 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
77782 -- call ADRs
77783 -- Bug 4922099
77784 --
77785 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77786 (NVL(l_actual_upg_option, 'N') = 'O') OR
77787 (NVL(l_enc_upg_option, 'N') = 'O')
77788 )
77789 THEN
77790 NULL;
77791 --
77792 --
77793
77794 l_ccid := AcctDerRule_33(
77795 p_application_id => p_application_id
77796 , p_ae_header_id => l_ae_header_id
77797 , p_source_30 => p_source_30
77798 , x_transaction_coa_id => l_adr_transaction_coa_id
77799 , x_accounting_coa_id => l_adr_accounting_coa_id
77800 , x_value_type_code => l_adr_value_type_code
77801 , p_side => 'NA'
77802 );
77803
77804 xla_ae_lines_pkg.set_ccid(
77805 p_code_combination_id => l_ccid
77806 , p_value_type_code => l_adr_value_type_code
77807 , p_transaction_coa_id => l_adr_transaction_coa_id
77808 , p_accounting_coa_id => l_adr_accounting_coa_id
77809 , p_adr_code => 'AP_INVOICE_DIST'
77810 , p_adr_type_code => 'S'
77811 , p_component_type => l_component_type
77812 , p_component_code => l_component_code
77813 , p_component_type_code => l_component_type_code
77814 , p_component_appl_id => l_component_appl_id
77815 , p_amb_context_code => l_amb_context_code
77816 , p_side => 'NA'
77817 );
77818
77819
77820 --
77821 --
77822 END IF;
77823
77824 --
77825 -- Update the line information that should be overwritten
77826 --
77827 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77828 p_header_num => 1);
77829 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77830
77831 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77832
77833 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77834 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77835 END IF;
77836
77837 --
77838 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77839 --
77840 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77841 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77842 ELSE
77843 ---------------------------------------------------------------------------------------------------
77844 -- 4262811a Switch Sign
77848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77845 ---------------------------------------------------------------------------------------------------
77846 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77847 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77849 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77851 -- 5132302
77852 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77854
77855 END IF;
77856
77857 -- 4955764
77858 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77859 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77860
77861
77862 XLA_AE_LINES_PKG.ValidateCurrentLine;
77863 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77864
77865 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77866 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77867 ,p_balance_type_code => l_balance_type_code);
77868
77869 END IF;
77870
77871 -----------------------------------------------------------------------------------------
77872 -- 4262811 Multiperiod Accounting
77873 -----------------------------------------------------------------------------------------
77874 -- No MPA option is assigned.
77875
77876
77877 END IF;
77878 END IF;
77879 --
77880
77881 --
77882 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77883 trace
77884 (p_msg => 'END of AcctLineType_138'
77885 ,p_level => C_LEVEL_PROCEDURE
77886 ,p_module => l_log_module);
77887 END IF;
77888 --
77889 EXCEPTION
77890 WHEN xla_exceptions_pkg.application_exception THEN
77891 RAISE;
77892 WHEN OTHERS THEN
77893 xla_exceptions_pkg.raise_message
77894 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_138');
77895 END AcctLineType_138;
77896 --
77897
77898 ---------------------------------------
77899 --
77900 -- PRIVATE FUNCTION
77901 -- AcctLineType_139
77902 --
77903 ---------------------------------------
77904 PROCEDURE AcctLineType_139 (
77905 p_application_id IN NUMBER
77906 ,p_event_id IN NUMBER
77907 ,p_calculate_acctd_flag IN VARCHAR2
77908 ,p_calculate_g_l_flag IN VARCHAR2
77909 ,p_actual_flag IN OUT VARCHAR2
77910 ,p_balance_type_code OUT VARCHAR2
77911 ,p_gain_or_loss_ref OUT VARCHAR2
77912
77913 --Invoice Distribution Description
77914 , p_source_1 IN VARCHAR2
77915 --Invoice Distribution Ledger Amount
77916 , p_source_21 IN NUMBER
77917 --Invoice Distribution Account
77918 , p_source_30 IN NUMBER
77919 --Invoice Distribution Type
77920 , p_source_33 IN VARCHAR2
77921 , p_source_33_meaning IN VARCHAR2
77922 --Accounting Reversal Indicator
77923 , p_source_52 IN VARCHAR2
77924 --Distribution Link Type
77925 , p_source_54 IN VARCHAR2
77926 --Allocation to Main Distribution Identifier
77927 , p_source_56 IN NUMBER
77928 --Invoice Identifier
77929 , p_source_57 IN NUMBER
77930 --Invoice Distribution Identifier
77931 , p_source_63 IN NUMBER
77932 --Payables Encumbrance Upgrade Credit Account
77933 , p_source_64 IN NUMBER
77934 --Payables Encumbrance Upgrade Credit Amount
77935 , p_source_65 IN NUMBER
77936 --Invoice Currency Code
77937 , p_source_66 IN VARCHAR2
77938 --Payables Encumbrance Upgrade Credit Base Amount
77939 , p_source_67 IN NUMBER
77940 --Payables Encumbrance Upgrade Debit Account
77941 , p_source_68 IN NUMBER
77942 --Payables Encumbrance Upgrade Debit Amount
77943 , p_source_69 IN NUMBER
77944 --Payables Encumbrance Upgrade Debit Base Amount
77945 , p_source_70 IN NUMBER
77946 --Payables Encumbrance Upgrade Option
77947 , p_source_71 IN VARCHAR2
77948 --Invoice Distribution Amount
77949 , p_source_72 IN NUMBER
77950 --Deferred Accounting End Date
77951 , p_source_76 IN DATE
77952 --Deferred Accounting Option
77953 , p_source_77 IN VARCHAR2
77954 --Deferred Accounting Start Date
77955 , p_source_78 IN DATE
77956 --Override Accounted Amount Indicator
77957 , p_source_79 IN VARCHAR2
77958 , p_source_79_meaning IN VARCHAR2
77959 --Invoice Supplier Identifier
77960 , p_source_80 IN NUMBER
77961 --Invoice Supplier Site Identifier
77962 , p_source_81 IN NUMBER
77963 --Third Party Type
77964 , p_source_82 IN VARCHAR2
77965 --Parent Reversal Identifier
77966 , p_source_83 IN NUMBER
77967 --Invoice Distribution Statistical Amount
77968 , p_source_84 IN NUMBER
77969 --Invoice Distribution Tax Line Identifier
77970 , p_source_85 IN NUMBER
77971 --Invoice Distribution Tax Distribution Identifier from Tax
77972 , p_source_86 IN NUMBER
77976 , p_source_88 IN NUMBER
77973 --Invoice Distribution Summary Tax Line Identifier
77974 , p_source_87 IN NUMBER
77975 --Payables Upgrade Credit Encumbrance Type Identifier
77977 --Payables Upgrade Debit Encumbrance Type Identifier
77978 , p_source_89 IN NUMBER
77979 --Business Flow Accounts Payable Application Identifier
77980 , p_source_90 IN NUMBER
77981 --Business Flow Invoice Distribution Type
77982 , p_source_91 IN VARCHAR2
77983 --Business Flow Invoice Entity Code
77984 , p_source_92 IN VARCHAR2
77985 --Business Flow Invoice Distribution Identifier
77986 , p_source_93 IN NUMBER
77987 --Business Flow Invoice Identifier
77988 , p_source_94 IN NUMBER
77989 --Accrue on Receipt Option
77990 , p_source_95 IN VARCHAR2
77991 , p_source_95_meaning IN VARCHAR2
77992 --Invoice Exchange Date
77993 , p_source_136 IN DATE
77994 --Invoice Exchange Rate
77995 , p_source_137 IN NUMBER
77996 --Invoice Exchange Rate Type
77997 , p_source_138 IN VARCHAR2
77998 )
77999 IS
78000
78001 l_component_type VARCHAR2(80);
78002 l_component_code VARCHAR2(30);
78003 l_component_type_code VARCHAR2(1);
78004 l_component_appl_id INTEGER;
78005 l_amb_context_code VARCHAR2(30);
78006 l_entity_code VARCHAR2(30);
78007 l_event_class_code VARCHAR2(30);
78008 l_ae_header_id NUMBER;
78009 l_event_type_code VARCHAR2(30);
78010 l_line_definition_code VARCHAR2(30);
78011 l_line_definition_owner_code VARCHAR2(1);
78012 --
78013 -- adr variables
78014 l_segment VARCHAR2(30);
78015 l_ccid NUMBER;
78016 l_adr_transaction_coa_id NUMBER;
78017 l_adr_accounting_coa_id NUMBER;
78018 l_adr_flexfield_segment_code VARCHAR2(30);
78019 l_adr_flex_value_set_id NUMBER;
78020 l_adr_value_type_code VARCHAR2(30);
78021 l_adr_value_combination_id NUMBER;
78022 l_adr_value_segment_code VARCHAR2(30);
78023
78024 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78025 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78026 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78027 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78028
78029 -- 4262811 Variables ------------------------------------------------------------------------------------------
78030 l_entered_amt_idx NUMBER;
78031 l_accted_amt_idx NUMBER;
78032 l_acc_rev_flag VARCHAR2(1);
78033 l_accrual_line_num NUMBER;
78034 l_tmp_amt NUMBER;
78035 l_acc_rev_natural_side_code VARCHAR2(1);
78036
78037 l_num_entries NUMBER;
78038 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78039 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78040 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78041 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78042 l_recog_line_1 NUMBER;
78043 l_recog_line_2 NUMBER;
78044
78045 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78046 l_bflow_applied_to_amt NUMBER; -- 5132302
78047 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78048
78049 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78050
78051 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78052 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78053
78054 ---------------------------------------------------------------------------------------------------------------
78055
78056
78057 --
78058 -- bulk performance
78059 --
78060 l_balance_type_code VARCHAR2(1);
78061 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78062 l_log_module VARCHAR2(240);
78063
78064 --
78065 -- Upgrade strategy
78066 --
78067 l_actual_upg_option VARCHAR2(1);
78068 l_enc_upg_option VARCHAR2(1);
78069
78070 --
78071 BEGIN
78072 --
78073 IF g_log_enabled THEN
78074 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_139';
78075 END IF;
78076 --
78077 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78078
78079 trace
78080 (p_msg => 'BEGIN of AcctLineType_139'
78081 ,p_level => C_LEVEL_PROCEDURE
78082 ,p_module => l_log_module);
78083
78084 END IF;
78085 --
78086 l_component_type := 'AMB_JLT';
78087 l_component_code := 'AP_INV_PRICE_VAR_PREPAY';
78088 l_component_type_code := 'S';
78089 l_component_appl_id := 200;
78090 l_amb_context_code := 'DEFAULT';
78091 l_entity_code := 'AP_INVOICES';
78092 l_event_class_code := 'PREPAYMENTS';
78093 l_event_type_code := 'PREPAYMENTS_ALL';
78094 l_line_definition_owner_code := 'S';
78095 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
78096 --
78097 l_balance_type_code := 'A';
78098 l_segment := NULL;
78099 l_ccid := NULL;
78103 l_adr_flex_value_set_id := NULL;
78100 l_adr_transaction_coa_id := NULL;
78101 l_adr_accounting_coa_id := NULL;
78102 l_adr_flexfield_segment_code := NULL;
78104 l_adr_value_type_code := NULL;
78105 l_adr_value_combination_id := NULL;
78106 l_adr_value_segment_code := NULL;
78107
78108 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78109 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
78110 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78111 l_budgetary_control_flag := 'N';
78112
78113 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78114 l_bflow_applied_to_amt := NULL; -- 5132302
78115 l_entered_amt_idx := NULL; -- 4262811
78116 l_accted_amt_idx := NULL; -- 4262811
78117 l_acc_rev_flag := NULL; -- 4262811
78118 l_accrual_line_num := NULL; -- 4262811
78119 l_tmp_amt := NULL; -- 4262811
78120 --
78121
78122 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78123 l_balance_type_code <> 'B' THEN
78124 IF NVL(p_source_33,'
78125 ') = 'IPV' AND
78126 NVL(p_source_95,'
78127 ') = 'Y'
78128 THEN
78129
78130 --
78131 XLA_AE_LINES_PKG.SetNewLine;
78132
78133 p_balance_type_code := l_balance_type_code;
78134 -- set the flag so later we will know whether the gain loss line needs to be created
78135
78136 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
78137 p_actual_flag :='A';
78138 END IF;
78139
78140 --
78141 -- bulk performance
78142 --
78143 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78144 p_header_num => 0); -- 4262811
78145 --
78146 -- set accounting line options
78147 --
78148 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78149 p_natural_side_code => 'D'
78150 , p_gain_or_loss_flag => 'N'
78151 , p_gl_transfer_mode_code => 'S'
78152 , p_acct_entry_type_code => 'A'
78153 , p_switch_side_flag => 'Y'
78154 , p_merge_duplicate_code => 'A'
78155 );
78156 --
78157 l_acc_rev_natural_side_code := 'C'; -- 4262811
78158 --
78159 --
78160 -- set accounting line type info
78161 --
78162 xla_ae_lines_pkg.SetAcctLineType
78163 (p_component_type => l_component_type
78164 ,p_event_type_code => l_event_type_code
78165 ,p_line_definition_owner_code => l_line_definition_owner_code
78166 ,p_line_definition_code => l_line_definition_code
78167 ,p_accounting_line_code => l_component_code
78168 ,p_accounting_line_type_code => l_component_type_code
78169 ,p_accounting_line_appl_id => l_component_appl_id
78170 ,p_amb_context_code => l_amb_context_code
78171 ,p_entity_code => l_entity_code
78172 ,p_event_class_code => l_event_class_code);
78173 --
78174 -- set accounting class
78175 --
78176 xla_ae_lines_pkg.SetAcctClass(
78177 p_accounting_class_code => 'IPV'
78178 , p_ae_header_id => l_ae_header_id
78179 );
78180
78181 --
78182 -- set rounding class
78183 --
78184 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78185 'IPV';
78186
78187 --
78188 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78189 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78190 --
78191 -- bulk performance
78192 --
78193 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78194
78195 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78196 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78197
78198 -- 4955764
78199 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78200 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78201
78202 -- 4458381 Public Sector Enh
78203
78204 --
78205 -- set accounting attributes for the line type
78206 --
78207 l_entered_amt_idx := 23;
78208 l_accted_amt_idx := 28;
78209 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78210 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78211 l_rec_acct_attrs.array_char_value(1) := p_source_52;
78212 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
78213 l_rec_acct_attrs.array_num_value(2) :=
78214 xla_ae_sources_pkg.GetSystemSourceNum(
78215 p_source_code => 'XLA_EVENT_APPL_ID'
78216 , p_source_type_code => 'Y'
78217 , p_source_application_id => 602
78218 );
78219 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
78220 l_rec_acct_attrs.array_char_value(3) := p_source_54;
78221 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
78222 l_rec_acct_attrs.array_char_value(4) :=
78223 xla_ae_sources_pkg.GetSystemSourceChar(
78227 );
78224 p_source_code => 'XLA_ENTITY_CODE'
78225 , p_source_type_code => 'Y'
78226 , p_source_application_id => 602
78228 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
78229 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
78230 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
78231 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
78232 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
78233 l_rec_acct_attrs.array_num_value(7) := p_source_90;
78234 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78235 l_rec_acct_attrs.array_char_value(8) := p_source_91;
78236 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
78237 l_rec_acct_attrs.array_char_value(9) := p_source_92;
78238 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
78239 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
78240 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78241 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
78242 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
78243 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
78244 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
78245 l_rec_acct_attrs.array_char_value(13) := p_source_54;
78246 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
78247 l_rec_acct_attrs.array_num_value(14) := p_source_64;
78248 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
78249 l_rec_acct_attrs.array_num_value(15) := p_source_65;
78250 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
78251 l_rec_acct_attrs.array_char_value(16) := p_source_66;
78252 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
78253 l_rec_acct_attrs.array_num_value(17) := p_source_67;
78254 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
78255 l_rec_acct_attrs.array_num_value(18) := p_source_68;
78256 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
78257 l_rec_acct_attrs.array_num_value(19) := p_source_69;
78258 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
78259 l_rec_acct_attrs.array_char_value(20) := p_source_66;
78260 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
78261 l_rec_acct_attrs.array_num_value(21) := p_source_70;
78262 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
78263 l_rec_acct_attrs.array_char_value(22) := p_source_71;
78264 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
78265 l_rec_acct_attrs.array_num_value(23) := p_source_72;
78266 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
78267 l_rec_acct_attrs.array_char_value(24) := p_source_66;
78268 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
78269 l_rec_acct_attrs.array_date_value(25) := p_source_136;
78270 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
78271 l_rec_acct_attrs.array_num_value(26) := p_source_137;
78272 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
78273 l_rec_acct_attrs.array_char_value(27) := p_source_138;
78274 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
78275 l_rec_acct_attrs.array_num_value(28) := p_source_21;
78276 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
78277 l_rec_acct_attrs.array_date_value(29) := p_source_76;
78278 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
78279 l_rec_acct_attrs.array_char_value(30) := p_source_77;
78280 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
78281 l_rec_acct_attrs.array_date_value(31) := p_source_78;
78282 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
78283 l_rec_acct_attrs.array_char_value(32) := p_source_79;
78284 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
78285 l_rec_acct_attrs.array_num_value(33) := p_source_80;
78286 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
78287 l_rec_acct_attrs.array_num_value(34) := p_source_81;
78288 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
78289 l_rec_acct_attrs.array_char_value(35) := p_source_82;
78290 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
78291 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
78292 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
78293 l_rec_acct_attrs.array_char_value(37) := p_source_54;
78294 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
78295 l_rec_acct_attrs.array_num_value(38) := p_source_84;
78296 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
78297 l_rec_acct_attrs.array_num_value(39) := p_source_85;
78298 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
78299 l_rec_acct_attrs.array_num_value(40) := p_source_86;
78300 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
78301 l_rec_acct_attrs.array_num_value(41) := p_source_87;
78302 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
78303 l_rec_acct_attrs.array_num_value(42) := p_source_88;
78304 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
78305 l_rec_acct_attrs.array_num_value(43) := p_source_89;
78306
78307 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78308 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78309
78310 ---------------------------------------------------------------------------------------------------------------
78314
78311 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78312 ---------------------------------------------------------------------------------------------------------------
78313 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78315 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78316 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78317
78318 IF xla_accounting_cache_pkg.GetValueChar
78319 (p_source_code => 'LEDGER_CATEGORY_CODE'
78320 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78321 AND l_bflow_method_code = 'PRIOR_ENTRY'
78322 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78323 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78324 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78325 )
78326 THEN
78327 xla_ae_lines_pkg.BflowUpgEntry
78328 (p_business_method_code => l_bflow_method_code
78329 ,p_business_class_code => l_bflow_class_code
78330 ,p_balance_type => l_balance_type_code);
78331 ELSE
78332 NULL;
78333 -- No business flow processing for business flow method of NONE.
78334 END IF;
78335
78336 --
78337 -- call analytical criteria
78338 --
78339
78340 --
78341 -- call description
78342 --
78343
78344 xla_ae_lines_pkg.SetLineDescription(
78345 p_ae_header_id => l_ae_header_id
78346 ,p_description => Description_1 (
78347 p_application_id => p_application_id
78348 , p_ae_header_id => l_ae_header_id
78349 , p_source_1 => p_source_1
78350 )
78351 );
78352
78353
78354 --
78355 -- call ADRs
78356 -- Bug 4922099
78357 --
78358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78359 (NVL(l_actual_upg_option, 'N') = 'O') OR
78360 (NVL(l_enc_upg_option, 'N') = 'O')
78361 )
78362 THEN
78363 NULL;
78364 --
78365 --
78366
78367 l_ccid := AcctDerRule_33(
78368 p_application_id => p_application_id
78369 , p_ae_header_id => l_ae_header_id
78370 , p_source_30 => p_source_30
78371 , x_transaction_coa_id => l_adr_transaction_coa_id
78372 , x_accounting_coa_id => l_adr_accounting_coa_id
78373 , x_value_type_code => l_adr_value_type_code
78374 , p_side => 'NA'
78375 );
78376
78377 xla_ae_lines_pkg.set_ccid(
78378 p_code_combination_id => l_ccid
78379 , p_value_type_code => l_adr_value_type_code
78380 , p_transaction_coa_id => l_adr_transaction_coa_id
78381 , p_accounting_coa_id => l_adr_accounting_coa_id
78382 , p_adr_code => 'AP_INVOICE_DIST'
78383 , p_adr_type_code => 'S'
78384 , p_component_type => l_component_type
78385 , p_component_code => l_component_code
78386 , p_component_type_code => l_component_type_code
78387 , p_component_appl_id => l_component_appl_id
78388 , p_amb_context_code => l_amb_context_code
78389 , p_side => 'NA'
78390 );
78391
78392
78393 --
78394 --
78395 END IF;
78396 --
78397 -- Bug 4922099
78398 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
78399 (NVL(l_enc_upg_option, 'N') = 'O')
78400 ) AND
78401 (l_bflow_method_code = 'PRIOR_ENTRY')
78402 )
78403 THEN
78404 IF
78405 --
78406 1 = 2
78407 --
78408 THEN
78409 xla_accounting_err_pkg.build_message
78410 (p_appli_s_name => 'XLA'
78411 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78412 ,p_token_1 => 'LINE_NUMBER'
78413 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
78414 ,p_token_2 => 'LINE_TYPE_NAME'
78415 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
78416 l_component_type
78417 ,l_component_code
78418 ,l_component_type_code
78419 ,l_component_appl_id
78420 ,l_amb_context_code
78421 ,l_entity_code
78422 ,l_event_class_code
78423 )
78424 ,p_token_3 => 'OWNER'
78425 ,p_value_3 => xla_lookups_pkg.get_meaning(
78426 p_lookup_type => 'XLA_OWNER_TYPE'
78430 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
78427 ,p_lookup_code => l_component_type_code
78428 )
78429 ,p_token_4 => 'PRODUCT_NAME'
78431 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
78432 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
78433 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
78434 ,p_ae_header_id => NULL
78435 );
78436
78437 IF (C_LEVEL_ERROR>= g_log_level) THEN
78438 trace
78439 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78440 ,p_level => C_LEVEL_ERROR
78441 ,p_module => l_log_module);
78442 END IF;
78443 END IF;
78444 END IF;
78445 --
78446 --
78447 ------------------------------------------------------------------------------------------------
78448 -- 4219869 Business Flow
78449 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
78450 -- Prior Entry. Currently, the following code is always generated.
78451 ------------------------------------------------------------------------------------------------
78452 XLA_AE_LINES_PKG.ValidateCurrentLine;
78453
78454 ------------------------------------------------------------------------------------
78455 -- 4219869 Business Flow
78456 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
78457 ------------------------------------------------------------------------------------
78458 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78459
78460 ----------------------------------------------------------------------------------
78461 -- 4219869 Business Flow
78462 -- Update journal entry status -- Need to generate this within IF <condition>
78463 ----------------------------------------------------------------------------------
78464 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78465 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
78466 ,p_balance_type_code => l_balance_type_code
78467 );
78468
78469 -------------------------------------------------------------------------------------------
78470 -- 4262811 - Generate the Accrual Reversal lines
78471 -------------------------------------------------------------------------------------------
78472 BEGIN
78473 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
78474 (g_array_event(p_event_id).array_value_num('header_index'));
78475 IF l_acc_rev_flag IS NULL THEN
78476 l_acc_rev_flag := 'N';
78477 END IF;
78478 EXCEPTION
78479 WHEN OTHERS THEN
78480 l_acc_rev_flag := 'N';
78481 END;
78482 --
78483 IF (l_acc_rev_flag = 'Y') THEN
78484
78485 -- 4645092 ------------------------------------------------------------------------------
78486 -- To allow MPA report to determine if it should generate report process
78487 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
78488 ------------------------------------------------------------------------------------------
78489
78490 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
78491 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
78492 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
78493 -- call ADRs
78494 -- Bug 4922099
78495 --
78496 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78497 (NVL(l_actual_upg_option, 'N') = 'O') OR
78498 (NVL(l_enc_upg_option, 'N') = 'O')
78499 )
78500 THEN
78501 NULL;
78502 --
78503 --
78504
78505 l_ccid := AcctDerRule_33(
78506 p_application_id => p_application_id
78507 , p_ae_header_id => l_ae_header_id
78508 , p_source_30 => p_source_30
78509 , x_transaction_coa_id => l_adr_transaction_coa_id
78510 , x_accounting_coa_id => l_adr_accounting_coa_id
78511 , x_value_type_code => l_adr_value_type_code
78512 , p_side => 'NA'
78513 );
78514
78515 xla_ae_lines_pkg.set_ccid(
78516 p_code_combination_id => l_ccid
78517 , p_value_type_code => l_adr_value_type_code
78518 , p_transaction_coa_id => l_adr_transaction_coa_id
78519 , p_accounting_coa_id => l_adr_accounting_coa_id
78520 , p_adr_code => 'AP_INVOICE_DIST'
78521 , p_adr_type_code => 'S'
78522 , p_component_type => l_component_type
78523 , p_component_code => l_component_code
78524 , p_component_type_code => l_component_type_code
78525 , p_component_appl_id => l_component_appl_id
78526 , p_amb_context_code => l_amb_context_code
78527 , p_side => 'NA'
78528 );
78529
78530
78531 --
78532 --
78533 END IF;
78534
78535 --
78536 -- Update the line information that should be overwritten
78537 --
78541
78538 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
78539 p_header_num => 1);
78540 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
78542 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
78543
78544 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
78545 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
78546 END IF;
78547
78548 --
78549 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
78550 --
78551 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
78552 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
78553 ELSE
78554 ---------------------------------------------------------------------------------------------------
78555 -- 4262811a Switch Sign
78556 ---------------------------------------------------------------------------------------------------
78557 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
78558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78559 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78560 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78561 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78562 -- 5132302
78563 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
78564 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78565
78566 END IF;
78567
78568 -- 4955764
78569 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78570 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
78571
78572
78573 XLA_AE_LINES_PKG.ValidateCurrentLine;
78574 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78575
78576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
78578 ,p_balance_type_code => l_balance_type_code);
78579
78580 END IF;
78581
78582 -----------------------------------------------------------------------------------------
78583 -- 4262811 Multiperiod Accounting
78584 -----------------------------------------------------------------------------------------
78585 -- No MPA option is assigned.
78586
78587
78588 END IF;
78589 END IF;
78590 --
78591
78592 --
78593 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78594 trace
78595 (p_msg => 'END of AcctLineType_139'
78596 ,p_level => C_LEVEL_PROCEDURE
78597 ,p_module => l_log_module);
78598 END IF;
78599 --
78600 EXCEPTION
78601 WHEN xla_exceptions_pkg.application_exception THEN
78602 RAISE;
78603 WHEN OTHERS THEN
78604 xla_exceptions_pkg.raise_message
78605 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_139');
78606 END AcctLineType_139;
78607 --
78608
78609 ---------------------------------------
78610 --
78611 -- PRIVATE FUNCTION
78612 -- AcctLineType_140
78613 --
78614 ---------------------------------------
78615 PROCEDURE AcctLineType_140 (
78616 p_application_id IN NUMBER
78617 ,p_event_id IN NUMBER
78618 ,p_calculate_acctd_flag IN VARCHAR2
78619 ,p_calculate_g_l_flag IN VARCHAR2
78620 ,p_actual_flag IN OUT VARCHAR2
78621 ,p_balance_type_code OUT VARCHAR2
78622 ,p_gain_or_loss_ref OUT VARCHAR2
78623
78624 --Invoice Distribution Description
78625 , p_source_1 IN VARCHAR2
78626 --Invoice Distribution Ledger Amount
78627 , p_source_21 IN NUMBER
78628 --Invoice Distribution Account
78629 , p_source_30 IN NUMBER
78630 --Invoice Distribution Type
78631 , p_source_33 IN VARCHAR2
78632 , p_source_33_meaning IN VARCHAR2
78633 --Accounting Reversal Indicator
78634 , p_source_52 IN VARCHAR2
78635 --Distribution Link Type
78636 , p_source_54 IN VARCHAR2
78637 --Allocation to Main Distribution Identifier
78638 , p_source_56 IN NUMBER
78639 --Invoice Identifier
78640 , p_source_57 IN NUMBER
78641 --Invoice Distribution Identifier
78642 , p_source_63 IN NUMBER
78643 --Payables Encumbrance Upgrade Credit Account
78644 , p_source_64 IN NUMBER
78645 --Payables Encumbrance Upgrade Credit Amount
78646 , p_source_65 IN NUMBER
78647 --Invoice Currency Code
78648 , p_source_66 IN VARCHAR2
78649 --Payables Encumbrance Upgrade Credit Base Amount
78650 , p_source_67 IN NUMBER
78651 --Payables Encumbrance Upgrade Debit Account
78652 , p_source_68 IN NUMBER
78653 --Payables Encumbrance Upgrade Debit Amount
78654 , p_source_69 IN NUMBER
78655 --Payables Encumbrance Upgrade Debit Base Amount
78659 --Invoice Distribution Amount
78656 , p_source_70 IN NUMBER
78657 --Payables Encumbrance Upgrade Option
78658 , p_source_71 IN VARCHAR2
78660 , p_source_72 IN NUMBER
78661 --Deferred Accounting End Date
78662 , p_source_76 IN DATE
78663 --Deferred Accounting Option
78664 , p_source_77 IN VARCHAR2
78665 --Deferred Accounting Start Date
78666 , p_source_78 IN DATE
78667 --Override Accounted Amount Indicator
78668 , p_source_79 IN VARCHAR2
78669 , p_source_79_meaning IN VARCHAR2
78670 --Invoice Supplier Identifier
78671 , p_source_80 IN NUMBER
78672 --Invoice Supplier Site Identifier
78673 , p_source_81 IN NUMBER
78674 --Third Party Type
78675 , p_source_82 IN VARCHAR2
78676 --Parent Reversal Identifier
78677 , p_source_83 IN NUMBER
78678 --Invoice Distribution Statistical Amount
78679 , p_source_84 IN NUMBER
78680 --Invoice Distribution Tax Line Identifier
78681 , p_source_85 IN NUMBER
78682 --Invoice Distribution Tax Distribution Identifier from Tax
78683 , p_source_86 IN NUMBER
78684 --Invoice Distribution Summary Tax Line Identifier
78685 , p_source_87 IN NUMBER
78686 --Payables Upgrade Credit Encumbrance Type Identifier
78687 , p_source_88 IN NUMBER
78688 --Payables Upgrade Debit Encumbrance Type Identifier
78689 , p_source_89 IN NUMBER
78690 --Business Flow Accounts Payable Application Identifier
78691 , p_source_90 IN NUMBER
78692 --Business Flow Invoice Distribution Type
78693 , p_source_91 IN VARCHAR2
78694 --Business Flow Invoice Entity Code
78695 , p_source_92 IN VARCHAR2
78696 --Business Flow Invoice Distribution Identifier
78697 , p_source_93 IN NUMBER
78698 --Business Flow Invoice Identifier
78699 , p_source_94 IN NUMBER
78700 --Accrue on Receipt Option
78701 , p_source_95 IN VARCHAR2
78702 , p_source_95_meaning IN VARCHAR2
78703 --Invoice Exchange Date
78704 , p_source_136 IN DATE
78705 --Invoice Exchange Rate
78706 , p_source_137 IN NUMBER
78707 --Invoice Exchange Rate Type
78708 , p_source_138 IN VARCHAR2
78709 --Project Identifier
78710 , p_source_146 IN NUMBER
78711 )
78712 IS
78713
78714 l_component_type VARCHAR2(80);
78715 l_component_code VARCHAR2(30);
78716 l_component_type_code VARCHAR2(1);
78717 l_component_appl_id INTEGER;
78718 l_amb_context_code VARCHAR2(30);
78719 l_entity_code VARCHAR2(30);
78720 l_event_class_code VARCHAR2(30);
78721 l_ae_header_id NUMBER;
78722 l_event_type_code VARCHAR2(30);
78723 l_line_definition_code VARCHAR2(30);
78724 l_line_definition_owner_code VARCHAR2(1);
78725 --
78726 -- adr variables
78727 l_segment VARCHAR2(30);
78728 l_ccid NUMBER;
78729 l_adr_transaction_coa_id NUMBER;
78730 l_adr_accounting_coa_id NUMBER;
78731 l_adr_flexfield_segment_code VARCHAR2(30);
78732 l_adr_flex_value_set_id NUMBER;
78733 l_adr_value_type_code VARCHAR2(30);
78734 l_adr_value_combination_id NUMBER;
78735 l_adr_value_segment_code VARCHAR2(30);
78736
78737 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78738 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78739 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78740 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78741
78742 -- 4262811 Variables ------------------------------------------------------------------------------------------
78743 l_entered_amt_idx NUMBER;
78744 l_accted_amt_idx NUMBER;
78745 l_acc_rev_flag VARCHAR2(1);
78746 l_accrual_line_num NUMBER;
78747 l_tmp_amt NUMBER;
78748 l_acc_rev_natural_side_code VARCHAR2(1);
78749
78750 l_num_entries NUMBER;
78751 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78752 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78753 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78754 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78755 l_recog_line_1 NUMBER;
78756 l_recog_line_2 NUMBER;
78757
78758 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78759 l_bflow_applied_to_amt NUMBER; -- 5132302
78760 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78761
78762 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78763
78764 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78765 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78766
78767 ---------------------------------------------------------------------------------------------------------------
78768
78769
78770 --
78771 -- bulk performance
78772 --
78773 l_balance_type_code VARCHAR2(1);
78774 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78775 l_log_module VARCHAR2(240);
78776
78777 --
78778 -- Upgrade strategy
78779 --
78783 --
78780 l_actual_upg_option VARCHAR2(1);
78781 l_enc_upg_option VARCHAR2(1);
78782
78784 BEGIN
78785 --
78786 IF g_log_enabled THEN
78787 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_140';
78788 END IF;
78789 --
78790 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78791
78792 trace
78793 (p_msg => 'BEGIN of AcctLineType_140'
78794 ,p_level => C_LEVEL_PROCEDURE
78795 ,p_module => l_log_module);
78796
78797 END IF;
78798 --
78799 l_component_type := 'AMB_JLT';
78800 l_component_code := 'AP_ITEM_EXPENSE_CM';
78801 l_component_type_code := 'S';
78802 l_component_appl_id := 200;
78803 l_amb_context_code := 'DEFAULT';
78804 l_entity_code := 'AP_INVOICES';
78805 l_event_class_code := 'CREDIT MEMOS';
78806 l_event_type_code := 'CREDIT MEMOS_ALL';
78807 l_line_definition_owner_code := 'S';
78808 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
78809 --
78810 l_balance_type_code := 'A';
78811 l_segment := NULL;
78812 l_ccid := NULL;
78813 l_adr_transaction_coa_id := NULL;
78814 l_adr_accounting_coa_id := NULL;
78815 l_adr_flexfield_segment_code := NULL;
78816 l_adr_flex_value_set_id := NULL;
78817 l_adr_value_type_code := NULL;
78818 l_adr_value_combination_id := NULL;
78819 l_adr_value_segment_code := NULL;
78820
78821 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78822 l_bflow_class_code := ''; -- 4219869 Business Flow
78823 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78824 l_budgetary_control_flag := 'N';
78825
78826 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78827 l_bflow_applied_to_amt := NULL; -- 5132302
78828 l_entered_amt_idx := NULL; -- 4262811
78829 l_accted_amt_idx := NULL; -- 4262811
78830 l_acc_rev_flag := NULL; -- 4262811
78831 l_accrual_line_num := NULL; -- 4262811
78832 l_tmp_amt := NULL; -- 4262811
78833 --
78834
78835 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78836 l_balance_type_code <> 'B' THEN
78837 IF NVL(p_source_33,'
78838 ') = 'RETROEXPENSE' OR
78839 NVL(p_source_33,'
78840 ') = 'ITEM' OR
78841 (NVL(p_source_33,'
78842 ') = 'ERV' AND
78843 NVL(p_source_95,'
78844 ') <> 'Y') OR
78845 (NVL(p_source_33,'
78846 ') = 'IPV' AND
78847 NVL(p_source_95,'
78848 ') <> 'Y')
78849 THEN
78850
78851 --
78852 XLA_AE_LINES_PKG.SetNewLine;
78853
78854 p_balance_type_code := l_balance_type_code;
78855 -- set the flag so later we will know whether the gain loss line needs to be created
78856
78857 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
78858 p_actual_flag :='A';
78859 END IF;
78860
78861 --
78862 -- bulk performance
78863 --
78864 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78865 p_header_num => 0); -- 4262811
78866 --
78867 -- set accounting line options
78868 --
78869 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78870 p_natural_side_code => 'D'
78871 , p_gain_or_loss_flag => 'N'
78872 , p_gl_transfer_mode_code => 'S'
78873 , p_acct_entry_type_code => 'A'
78874 , p_switch_side_flag => 'Y'
78875 , p_merge_duplicate_code => 'A'
78876 );
78877 --
78878 l_acc_rev_natural_side_code := 'C'; -- 4262811
78879 --
78880 --
78881 -- set accounting line type info
78882 --
78883 xla_ae_lines_pkg.SetAcctLineType
78884 (p_component_type => l_component_type
78885 ,p_event_type_code => l_event_type_code
78886 ,p_line_definition_owner_code => l_line_definition_owner_code
78887 ,p_line_definition_code => l_line_definition_code
78888 ,p_accounting_line_code => l_component_code
78889 ,p_accounting_line_type_code => l_component_type_code
78890 ,p_accounting_line_appl_id => l_component_appl_id
78891 ,p_amb_context_code => l_amb_context_code
78892 ,p_entity_code => l_entity_code
78893 ,p_event_class_code => l_event_class_code);
78894 --
78895 -- set accounting class
78896 --
78897 xla_ae_lines_pkg.SetAcctClass(
78898 p_accounting_class_code => 'ITEM EXPENSE'
78899 , p_ae_header_id => l_ae_header_id
78900 );
78901
78902 --
78903 -- set rounding class
78904 --
78905 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78906 'ITEM EXPENSE';
78907
78908 --
78909 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78910 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78911 --
78912 -- bulk performance
78913 --
78914 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78915
78919 -- 4955764
78916 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78917 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78918
78920 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78921 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78922
78923 -- 4458381 Public Sector Enh
78924
78925 --
78926 -- set accounting attributes for the line type
78927 --
78928 l_entered_amt_idx := 23;
78929 l_accted_amt_idx := 28;
78930 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78931 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78932 l_rec_acct_attrs.array_char_value(1) := p_source_52;
78933 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
78934 l_rec_acct_attrs.array_num_value(2) :=
78935 xla_ae_sources_pkg.GetSystemSourceNum(
78936 p_source_code => 'XLA_EVENT_APPL_ID'
78937 , p_source_type_code => 'Y'
78938 , p_source_application_id => 602
78939 );
78940 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
78941 l_rec_acct_attrs.array_char_value(3) := p_source_54;
78942 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
78943 l_rec_acct_attrs.array_char_value(4) :=
78944 xla_ae_sources_pkg.GetSystemSourceChar(
78945 p_source_code => 'XLA_ENTITY_CODE'
78946 , p_source_type_code => 'Y'
78947 , p_source_application_id => 602
78948 );
78949 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
78950 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
78951 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
78952 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
78953 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
78954 l_rec_acct_attrs.array_num_value(7) := p_source_90;
78955 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78956 l_rec_acct_attrs.array_char_value(8) := p_source_91;
78957 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
78958 l_rec_acct_attrs.array_char_value(9) := p_source_92;
78959 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
78960 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
78961 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78962 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
78963 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
78964 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
78965 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
78966 l_rec_acct_attrs.array_char_value(13) := p_source_54;
78967 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
78968 l_rec_acct_attrs.array_num_value(14) := p_source_64;
78969 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
78970 l_rec_acct_attrs.array_num_value(15) := p_source_65;
78971 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
78972 l_rec_acct_attrs.array_char_value(16) := p_source_66;
78973 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
78974 l_rec_acct_attrs.array_num_value(17) := p_source_67;
78975 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
78976 l_rec_acct_attrs.array_num_value(18) := p_source_68;
78977 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
78978 l_rec_acct_attrs.array_num_value(19) := p_source_69;
78979 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
78980 l_rec_acct_attrs.array_char_value(20) := p_source_66;
78981 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
78982 l_rec_acct_attrs.array_num_value(21) := p_source_70;
78983 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
78984 l_rec_acct_attrs.array_char_value(22) := p_source_71;
78985 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
78986 l_rec_acct_attrs.array_num_value(23) := p_source_72;
78987 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
78988 l_rec_acct_attrs.array_char_value(24) := p_source_66;
78989 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
78990 l_rec_acct_attrs.array_date_value(25) := p_source_136;
78991 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
78992 l_rec_acct_attrs.array_num_value(26) := p_source_137;
78993 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
78994 l_rec_acct_attrs.array_char_value(27) := p_source_138;
78995 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
78996 l_rec_acct_attrs.array_num_value(28) := p_source_21;
78997 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
78998 l_rec_acct_attrs.array_date_value(29) := p_source_76;
78999 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
79000 l_rec_acct_attrs.array_char_value(30) := p_source_77;
79001 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
79002 l_rec_acct_attrs.array_date_value(31) := p_source_78;
79003 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
79004 l_rec_acct_attrs.array_char_value(32) := p_source_79;
79005 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
79006 l_rec_acct_attrs.array_num_value(33) := p_source_80;
79007 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
79008 l_rec_acct_attrs.array_num_value(34) := p_source_81;
79012 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
79009 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
79010 l_rec_acct_attrs.array_char_value(35) := p_source_82;
79011 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
79013 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
79014 l_rec_acct_attrs.array_char_value(37) := p_source_54;
79015 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
79016 l_rec_acct_attrs.array_num_value(38) := p_source_84;
79017 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
79018 l_rec_acct_attrs.array_num_value(39) := p_source_85;
79019 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
79020 l_rec_acct_attrs.array_num_value(40) := p_source_86;
79021 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
79022 l_rec_acct_attrs.array_num_value(41) := p_source_87;
79023 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
79024 l_rec_acct_attrs.array_num_value(42) := p_source_88;
79025 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
79026 l_rec_acct_attrs.array_num_value(43) := p_source_89;
79027
79028 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79029 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79030
79031 ---------------------------------------------------------------------------------------------------------------
79032 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79033 ---------------------------------------------------------------------------------------------------------------
79034 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79035
79036 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79037 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79038
79039 IF xla_accounting_cache_pkg.GetValueChar
79040 (p_source_code => 'LEDGER_CATEGORY_CODE'
79041 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79042 AND l_bflow_method_code = 'PRIOR_ENTRY'
79043 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79044 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79045 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79046 )
79047 THEN
79048 xla_ae_lines_pkg.BflowUpgEntry
79049 (p_business_method_code => l_bflow_method_code
79050 ,p_business_class_code => l_bflow_class_code
79051 ,p_balance_type => l_balance_type_code);
79052 ELSE
79053 NULL;
79054 -- No business flow processing for business flow method of NONE.
79055 END IF;
79056
79057 --
79058 -- call analytical criteria
79059 --
79060
79061
79062 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
79063 xla_ae_lines_pkg.SetAnalyticalCriteria(
79064 p_analytical_criterion_name => 'Project Number'
79065 , p_analytical_criterion_owner => 'S'
79066 , p_analytical_criterion_code => 'PROJECT_NUMBER'
79067 , p_amb_context_code => 'DEFAULT'
79068 , p_balancing_flag => 'N'
79069
79070 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
79071 p_source_146))
79072 , p_analytical_detail_num_1 => NULL
79073 , p_analytical_detail_date_1 => NULL
79074
79075 , p_ae_header_id => l_ae_header_id
79076 )
79077 ;
79078 --
79079
79080 --
79081 -- call description
79082 --
79083
79084 xla_ae_lines_pkg.SetLineDescription(
79085 p_ae_header_id => l_ae_header_id
79086 ,p_description => Description_1 (
79087 p_application_id => p_application_id
79088 , p_ae_header_id => l_ae_header_id
79089 , p_source_1 => p_source_1
79090 )
79091 );
79092
79093
79094 --
79095 -- call ADRs
79096 -- Bug 4922099
79097 --
79098 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79099 (NVL(l_actual_upg_option, 'N') = 'O') OR
79100 (NVL(l_enc_upg_option, 'N') = 'O')
79101 )
79102 THEN
79103 NULL;
79104 --
79105 --
79106
79107 l_ccid := AcctDerRule_33(
79108 p_application_id => p_application_id
79109 , p_ae_header_id => l_ae_header_id
79110 , p_source_30 => p_source_30
79111 , x_transaction_coa_id => l_adr_transaction_coa_id
79112 , x_accounting_coa_id => l_adr_accounting_coa_id
79113 , x_value_type_code => l_adr_value_type_code
79114 , p_side => 'NA'
79115 );
79116
79117 xla_ae_lines_pkg.set_ccid(
79118 p_code_combination_id => l_ccid
79119 , p_value_type_code => l_adr_value_type_code
79120 , p_transaction_coa_id => l_adr_transaction_coa_id
79121 , p_accounting_coa_id => l_adr_accounting_coa_id
79122 , p_adr_code => 'AP_INVOICE_DIST'
79123 , p_adr_type_code => 'S'
79124 , p_component_type => l_component_type
79125 , p_component_code => l_component_code
79126 , p_component_type_code => l_component_type_code
79127 , p_component_appl_id => l_component_appl_id
79128 , p_amb_context_code => l_amb_context_code
79132
79129 , p_side => 'NA'
79130 );
79131
79133 --
79134 --
79135 END IF;
79136 --
79137 -- Bug 4922099
79138 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79139 (NVL(l_enc_upg_option, 'N') = 'O')
79140 ) AND
79141 (l_bflow_method_code = 'PRIOR_ENTRY')
79142 )
79143 THEN
79144 IF
79145 --
79146 1 = 2
79147 --
79148 THEN
79149 xla_accounting_err_pkg.build_message
79150 (p_appli_s_name => 'XLA'
79151 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79152 ,p_token_1 => 'LINE_NUMBER'
79153 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79154 ,p_token_2 => 'LINE_TYPE_NAME'
79155 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79156 l_component_type
79157 ,l_component_code
79158 ,l_component_type_code
79159 ,l_component_appl_id
79160 ,l_amb_context_code
79161 ,l_entity_code
79162 ,l_event_class_code
79163 )
79164 ,p_token_3 => 'OWNER'
79165 ,p_value_3 => xla_lookups_pkg.get_meaning(
79166 p_lookup_type => 'XLA_OWNER_TYPE'
79167 ,p_lookup_code => l_component_type_code
79168 )
79169 ,p_token_4 => 'PRODUCT_NAME'
79170 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79171 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79172 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79173 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79174 ,p_ae_header_id => NULL
79175 );
79176
79177 IF (C_LEVEL_ERROR>= g_log_level) THEN
79178 trace
79179 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79180 ,p_level => C_LEVEL_ERROR
79181 ,p_module => l_log_module);
79182 END IF;
79183 END IF;
79184 END IF;
79185 --
79186 --
79187 ------------------------------------------------------------------------------------------------
79188 -- 4219869 Business Flow
79189 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79190 -- Prior Entry. Currently, the following code is always generated.
79191 ------------------------------------------------------------------------------------------------
79192 XLA_AE_LINES_PKG.ValidateCurrentLine;
79193
79194 ------------------------------------------------------------------------------------
79195 -- 4219869 Business Flow
79196 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79197 ------------------------------------------------------------------------------------
79198 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79199
79200 ----------------------------------------------------------------------------------
79201 -- 4219869 Business Flow
79202 -- Update journal entry status -- Need to generate this within IF <condition>
79203 ----------------------------------------------------------------------------------
79204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79206 ,p_balance_type_code => l_balance_type_code
79207 );
79208
79209 -------------------------------------------------------------------------------------------
79210 -- 4262811 - Generate the Accrual Reversal lines
79211 -------------------------------------------------------------------------------------------
79212 BEGIN
79213 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79214 (g_array_event(p_event_id).array_value_num('header_index'));
79215 IF l_acc_rev_flag IS NULL THEN
79216 l_acc_rev_flag := 'N';
79217 END IF;
79218 EXCEPTION
79219 WHEN OTHERS THEN
79220 l_acc_rev_flag := 'N';
79221 END;
79222 --
79223 IF (l_acc_rev_flag = 'Y') THEN
79224
79225 -- 4645092 ------------------------------------------------------------------------------
79226 -- To allow MPA report to determine if it should generate report process
79230 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79227 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79228 ------------------------------------------------------------------------------------------
79229
79231 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79232 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79233 -- call ADRs
79234 -- Bug 4922099
79235 --
79236 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79237 (NVL(l_actual_upg_option, 'N') = 'O') OR
79238 (NVL(l_enc_upg_option, 'N') = 'O')
79239 )
79240 THEN
79241 NULL;
79242 --
79243 --
79244
79245 l_ccid := AcctDerRule_33(
79246 p_application_id => p_application_id
79247 , p_ae_header_id => l_ae_header_id
79248 , p_source_30 => p_source_30
79249 , x_transaction_coa_id => l_adr_transaction_coa_id
79250 , x_accounting_coa_id => l_adr_accounting_coa_id
79251 , x_value_type_code => l_adr_value_type_code
79252 , p_side => 'NA'
79253 );
79254
79255 xla_ae_lines_pkg.set_ccid(
79256 p_code_combination_id => l_ccid
79257 , p_value_type_code => l_adr_value_type_code
79258 , p_transaction_coa_id => l_adr_transaction_coa_id
79259 , p_accounting_coa_id => l_adr_accounting_coa_id
79260 , p_adr_code => 'AP_INVOICE_DIST'
79261 , p_adr_type_code => 'S'
79262 , p_component_type => l_component_type
79263 , p_component_code => l_component_code
79264 , p_component_type_code => l_component_type_code
79265 , p_component_appl_id => l_component_appl_id
79266 , p_amb_context_code => l_amb_context_code
79267 , p_side => 'NA'
79268 );
79269
79270
79271 --
79272 --
79273 END IF;
79274
79275 --
79276 -- Update the line information that should be overwritten
79277 --
79278 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
79279 p_header_num => 1);
79280 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
79281
79282 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
79283
79284 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
79285 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
79286 END IF;
79287
79288 --
79289 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
79290 --
79291 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
79292 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
79293 ELSE
79294 ---------------------------------------------------------------------------------------------------
79295 -- 4262811a Switch Sign
79296 ---------------------------------------------------------------------------------------------------
79297 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
79298 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79299 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79300 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79301 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79302 -- 5132302
79303 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
79304 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79305
79306 END IF;
79307
79308 -- 4955764
79309 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79310 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
79311
79312
79313 XLA_AE_LINES_PKG.ValidateCurrentLine;
79314 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79315
79316 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79317 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
79318 ,p_balance_type_code => l_balance_type_code);
79319
79320 END IF;
79321
79322 -----------------------------------------------------------------------------------------
79323 -- 4262811 Multiperiod Accounting
79324 -----------------------------------------------------------------------------------------
79325 -- No MPA option is assigned.
79326
79327
79328 END IF;
79329 END IF;
79330 --
79331
79332 --
79333 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79334 trace
79335 (p_msg => 'END of AcctLineType_140'
79336 ,p_level => C_LEVEL_PROCEDURE
79337 ,p_module => l_log_module);
79338 END IF;
79339 --
79340 EXCEPTION
79341 WHEN xla_exceptions_pkg.application_exception THEN
79342 RAISE;
79343 WHEN OTHERS THEN
79347 --
79344 xla_exceptions_pkg.raise_message
79345 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_140');
79346 END AcctLineType_140;
79348
79349 ---------------------------------------
79350 --
79351 -- PRIVATE FUNCTION
79352 -- AcctLineType_141
79353 --
79354 ---------------------------------------
79355 PROCEDURE AcctLineType_141 (
79356 p_application_id IN NUMBER
79357 ,p_event_id IN NUMBER
79358 ,p_calculate_acctd_flag IN VARCHAR2
79359 ,p_calculate_g_l_flag IN VARCHAR2
79360 ,p_actual_flag IN OUT VARCHAR2
79361 ,p_balance_type_code OUT VARCHAR2
79362 ,p_gain_or_loss_ref OUT VARCHAR2
79363
79364 --Invoice Distribution Description
79365 , p_source_1 IN VARCHAR2
79366 --Invoice Distribution Ledger Amount
79367 , p_source_21 IN NUMBER
79368 --Invoice Distribution Account
79369 , p_source_30 IN NUMBER
79370 --Invoice Distribution Type
79371 , p_source_33 IN VARCHAR2
79372 , p_source_33_meaning IN VARCHAR2
79373 --Accounting Reversal Indicator
79374 , p_source_52 IN VARCHAR2
79375 --Distribution Link Type
79376 , p_source_54 IN VARCHAR2
79377 --Allocation to Main Distribution Identifier
79378 , p_source_56 IN NUMBER
79379 --Invoice Identifier
79380 , p_source_57 IN NUMBER
79381 --Invoice Distribution Identifier
79382 , p_source_63 IN NUMBER
79383 --Payables Encumbrance Upgrade Credit Account
79384 , p_source_64 IN NUMBER
79385 --Payables Encumbrance Upgrade Credit Amount
79386 , p_source_65 IN NUMBER
79387 --Invoice Currency Code
79388 , p_source_66 IN VARCHAR2
79389 --Payables Encumbrance Upgrade Credit Base Amount
79390 , p_source_67 IN NUMBER
79391 --Payables Encumbrance Upgrade Debit Account
79392 , p_source_68 IN NUMBER
79393 --Payables Encumbrance Upgrade Debit Amount
79394 , p_source_69 IN NUMBER
79395 --Payables Encumbrance Upgrade Debit Base Amount
79396 , p_source_70 IN NUMBER
79397 --Payables Encumbrance Upgrade Option
79398 , p_source_71 IN VARCHAR2
79399 --Invoice Distribution Amount
79400 , p_source_72 IN NUMBER
79401 --Deferred Accounting End Date
79402 , p_source_76 IN DATE
79403 --Deferred Accounting Option
79404 , p_source_77 IN VARCHAR2
79405 --Deferred Accounting Start Date
79406 , p_source_78 IN DATE
79407 --Override Accounted Amount Indicator
79408 , p_source_79 IN VARCHAR2
79409 , p_source_79_meaning IN VARCHAR2
79410 --Invoice Supplier Identifier
79411 , p_source_80 IN NUMBER
79412 --Invoice Supplier Site Identifier
79413 , p_source_81 IN NUMBER
79414 --Third Party Type
79415 , p_source_82 IN VARCHAR2
79416 --Parent Reversal Identifier
79417 , p_source_83 IN NUMBER
79418 --Invoice Distribution Tax Line Identifier
79419 , p_source_85 IN NUMBER
79420 --Invoice Distribution Tax Distribution Identifier from Tax
79421 , p_source_86 IN NUMBER
79422 --Invoice Distribution Summary Tax Line Identifier
79423 , p_source_87 IN NUMBER
79424 --Payables Upgrade Credit Encumbrance Type Identifier
79425 , p_source_88 IN NUMBER
79426 --Payables Upgrade Debit Encumbrance Type Identifier
79427 , p_source_89 IN NUMBER
79428 --Business Flow Accounts Payable Application Identifier
79429 , p_source_90 IN NUMBER
79430 --Business Flow Invoice Distribution Type
79431 , p_source_91 IN VARCHAR2
79432 --Business Flow Invoice Entity Code
79433 , p_source_92 IN VARCHAR2
79434 --Business Flow Invoice Distribution Identifier
79435 , p_source_93 IN NUMBER
79436 --Business Flow Invoice Identifier
79437 , p_source_94 IN NUMBER
79438 --Accrue on Receipt Option
79439 , p_source_95 IN VARCHAR2
79440 , p_source_95_meaning IN VARCHAR2
79441 --Invoice Exchange Date
79442 , p_source_136 IN DATE
79443 --Invoice Exchange Rate
79444 , p_source_137 IN NUMBER
79445 --Invoice Exchange Rate Type
79446 , p_source_138 IN VARCHAR2
79447 --Project Identifier
79448 , p_source_146 IN NUMBER
79449 )
79450 IS
79451
79452 l_component_type VARCHAR2(80);
79453 l_component_code VARCHAR2(30);
79454 l_component_type_code VARCHAR2(1);
79455 l_component_appl_id INTEGER;
79456 l_amb_context_code VARCHAR2(30);
79457 l_entity_code VARCHAR2(30);
79458 l_event_class_code VARCHAR2(30);
79459 l_ae_header_id NUMBER;
79460 l_event_type_code VARCHAR2(30);
79461 l_line_definition_code VARCHAR2(30);
79462 l_line_definition_owner_code VARCHAR2(1);
79463 --
79464 -- adr variables
79465 l_segment VARCHAR2(30);
79466 l_ccid NUMBER;
79467 l_adr_transaction_coa_id NUMBER;
79468 l_adr_accounting_coa_id NUMBER;
79469 l_adr_flexfield_segment_code VARCHAR2(30);
79470 l_adr_flex_value_set_id NUMBER;
79471 l_adr_value_type_code VARCHAR2(30);
79472 l_adr_value_combination_id NUMBER;
79473 l_adr_value_segment_code VARCHAR2(30);
79474
79475 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
79479
79476 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
79477 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
79478 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
79480 -- 4262811 Variables ------------------------------------------------------------------------------------------
79481 l_entered_amt_idx NUMBER;
79482 l_accted_amt_idx NUMBER;
79483 l_acc_rev_flag VARCHAR2(1);
79484 l_accrual_line_num NUMBER;
79485 l_tmp_amt NUMBER;
79486 l_acc_rev_natural_side_code VARCHAR2(1);
79487
79488 l_num_entries NUMBER;
79489 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
79490 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
79491 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
79492 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
79493 l_recog_line_1 NUMBER;
79494 l_recog_line_2 NUMBER;
79495
79496 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
79497 l_bflow_applied_to_amt NUMBER; -- 5132302
79498 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
79499
79500 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
79501
79502 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
79503 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
79504
79505 ---------------------------------------------------------------------------------------------------------------
79506
79507
79508 --
79509 -- bulk performance
79510 --
79511 l_balance_type_code VARCHAR2(1);
79512 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
79513 l_log_module VARCHAR2(240);
79514
79515 --
79516 -- Upgrade strategy
79517 --
79518 l_actual_upg_option VARCHAR2(1);
79519 l_enc_upg_option VARCHAR2(1);
79520
79521 --
79522 BEGIN
79523 --
79524 IF g_log_enabled THEN
79525 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_141';
79526 END IF;
79527 --
79528 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79529
79530 trace
79531 (p_msg => 'BEGIN of AcctLineType_141'
79532 ,p_level => C_LEVEL_PROCEDURE
79533 ,p_module => l_log_module);
79534
79535 END IF;
79536 --
79537 l_component_type := 'AMB_JLT';
79538 l_component_code := 'AP_ITEM_EXPENSE_DM';
79539 l_component_type_code := 'S';
79540 l_component_appl_id := 200;
79541 l_amb_context_code := 'DEFAULT';
79542 l_entity_code := 'AP_INVOICES';
79543 l_event_class_code := 'DEBIT MEMOS';
79544 l_event_type_code := 'DEBIT MEMOS_ALL';
79545 l_line_definition_owner_code := 'S';
79546 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
79547 --
79548 l_balance_type_code := 'A';
79549 l_segment := NULL;
79550 l_ccid := NULL;
79551 l_adr_transaction_coa_id := NULL;
79552 l_adr_accounting_coa_id := NULL;
79553 l_adr_flexfield_segment_code := NULL;
79554 l_adr_flex_value_set_id := NULL;
79555 l_adr_value_type_code := NULL;
79556 l_adr_value_combination_id := NULL;
79557 l_adr_value_segment_code := NULL;
79558
79559 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
79560 l_bflow_class_code := ''; -- 4219869 Business Flow
79561 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
79562 l_budgetary_control_flag := 'N';
79563
79564 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79565 l_bflow_applied_to_amt := NULL; -- 5132302
79566 l_entered_amt_idx := NULL; -- 4262811
79567 l_accted_amt_idx := NULL; -- 4262811
79568 l_acc_rev_flag := NULL; -- 4262811
79569 l_accrual_line_num := NULL; -- 4262811
79570 l_tmp_amt := NULL; -- 4262811
79571 --
79572
79573 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
79574 l_balance_type_code <> 'B' THEN
79575 IF NVL(p_source_33,'
79576 ') = 'RETROEXPENSE' OR
79577 NVL(p_source_33,'
79578 ') = 'ITEM' OR
79579 (NVL(p_source_33,'
79580 ') = 'ERV' AND
79581 NVL(p_source_95,'
79582 ') <> 'Y') OR
79583 (NVL(p_source_33,'
79584 ') = 'IPV' AND
79585 NVL(p_source_95,'
79586 ') <> 'Y')
79587 THEN
79588
79589 --
79590 XLA_AE_LINES_PKG.SetNewLine;
79591
79592 p_balance_type_code := l_balance_type_code;
79593 -- set the flag so later we will know whether the gain loss line needs to be created
79594
79595 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
79596 p_actual_flag :='A';
79597 END IF;
79598
79599 --
79600 -- bulk performance
79601 --
79602 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
79603 p_header_num => 0); -- 4262811
79604 --
79605 -- set accounting line options
79606 --
79607 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
79608 p_natural_side_code => 'D'
79609 , p_gain_or_loss_flag => 'N'
79613 , p_merge_duplicate_code => 'A'
79610 , p_gl_transfer_mode_code => 'S'
79611 , p_acct_entry_type_code => 'A'
79612 , p_switch_side_flag => 'Y'
79614 );
79615 --
79616 l_acc_rev_natural_side_code := 'C'; -- 4262811
79617 --
79618 --
79619 -- set accounting line type info
79620 --
79621 xla_ae_lines_pkg.SetAcctLineType
79622 (p_component_type => l_component_type
79623 ,p_event_type_code => l_event_type_code
79624 ,p_line_definition_owner_code => l_line_definition_owner_code
79625 ,p_line_definition_code => l_line_definition_code
79626 ,p_accounting_line_code => l_component_code
79627 ,p_accounting_line_type_code => l_component_type_code
79628 ,p_accounting_line_appl_id => l_component_appl_id
79629 ,p_amb_context_code => l_amb_context_code
79630 ,p_entity_code => l_entity_code
79631 ,p_event_class_code => l_event_class_code);
79632 --
79633 -- set accounting class
79634 --
79635 xla_ae_lines_pkg.SetAcctClass(
79636 p_accounting_class_code => 'ITEM EXPENSE'
79637 , p_ae_header_id => l_ae_header_id
79638 );
79639
79640 --
79641 -- set rounding class
79642 --
79643 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
79644 'ITEM EXPENSE';
79645
79646 --
79647 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
79648 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
79649 --
79650 -- bulk performance
79651 --
79652 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
79653
79654 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
79655 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
79656
79657 -- 4955764
79658 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79659 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
79660
79661 -- 4458381 Public Sector Enh
79662
79663 --
79664 -- set accounting attributes for the line type
79665 --
79666 l_entered_amt_idx := 23;
79667 l_accted_amt_idx := 28;
79668 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79669 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
79670 l_rec_acct_attrs.array_char_value(1) := p_source_52;
79671 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
79672 l_rec_acct_attrs.array_num_value(2) :=
79673 xla_ae_sources_pkg.GetSystemSourceNum(
79674 p_source_code => 'XLA_EVENT_APPL_ID'
79675 , p_source_type_code => 'Y'
79676 , p_source_application_id => 602
79677 );
79678 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
79679 l_rec_acct_attrs.array_char_value(3) := p_source_54;
79680 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
79681 l_rec_acct_attrs.array_char_value(4) :=
79682 xla_ae_sources_pkg.GetSystemSourceChar(
79683 p_source_code => 'XLA_ENTITY_CODE'
79684 , p_source_type_code => 'Y'
79685 , p_source_application_id => 602
79686 );
79687 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
79688 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
79689 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
79690 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
79691 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
79692 l_rec_acct_attrs.array_num_value(7) := p_source_90;
79693 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
79694 l_rec_acct_attrs.array_char_value(8) := p_source_91;
79695 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
79696 l_rec_acct_attrs.array_char_value(9) := p_source_92;
79697 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
79698 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
79699 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
79700 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
79701 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
79702 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
79703 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
79704 l_rec_acct_attrs.array_char_value(13) := p_source_54;
79705 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
79706 l_rec_acct_attrs.array_num_value(14) := p_source_64;
79707 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
79708 l_rec_acct_attrs.array_num_value(15) := p_source_65;
79709 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
79710 l_rec_acct_attrs.array_char_value(16) := p_source_66;
79711 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
79712 l_rec_acct_attrs.array_num_value(17) := p_source_67;
79713 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
79714 l_rec_acct_attrs.array_num_value(18) := p_source_68;
79715 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
79716 l_rec_acct_attrs.array_num_value(19) := p_source_69;
79720 l_rec_acct_attrs.array_num_value(21) := p_source_70;
79717 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
79718 l_rec_acct_attrs.array_char_value(20) := p_source_66;
79719 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
79721 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
79722 l_rec_acct_attrs.array_char_value(22) := p_source_71;
79723 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
79724 l_rec_acct_attrs.array_num_value(23) := p_source_72;
79725 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
79726 l_rec_acct_attrs.array_char_value(24) := p_source_66;
79727 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
79728 l_rec_acct_attrs.array_date_value(25) := p_source_136;
79729 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
79730 l_rec_acct_attrs.array_num_value(26) := p_source_137;
79731 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
79732 l_rec_acct_attrs.array_char_value(27) := p_source_138;
79733 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
79734 l_rec_acct_attrs.array_num_value(28) := p_source_21;
79735 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
79736 l_rec_acct_attrs.array_date_value(29) := p_source_76;
79737 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
79738 l_rec_acct_attrs.array_char_value(30) := p_source_77;
79739 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
79740 l_rec_acct_attrs.array_date_value(31) := p_source_78;
79741 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
79742 l_rec_acct_attrs.array_char_value(32) := p_source_79;
79743 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
79744 l_rec_acct_attrs.array_num_value(33) := p_source_80;
79745 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
79746 l_rec_acct_attrs.array_num_value(34) := p_source_81;
79747 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
79748 l_rec_acct_attrs.array_char_value(35) := p_source_82;
79749 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
79750 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
79751 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
79752 l_rec_acct_attrs.array_char_value(37) := p_source_54;
79753 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
79754 l_rec_acct_attrs.array_num_value(38) := p_source_85;
79755 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
79756 l_rec_acct_attrs.array_num_value(39) := p_source_86;
79757 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
79758 l_rec_acct_attrs.array_num_value(40) := p_source_87;
79759 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
79760 l_rec_acct_attrs.array_num_value(41) := p_source_88;
79761 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
79762 l_rec_acct_attrs.array_num_value(42) := p_source_89;
79763
79764 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79765 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79766
79767 ---------------------------------------------------------------------------------------------------------------
79768 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79769 ---------------------------------------------------------------------------------------------------------------
79770 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79771
79772 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79773 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79774
79775 IF xla_accounting_cache_pkg.GetValueChar
79776 (p_source_code => 'LEDGER_CATEGORY_CODE'
79777 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79778 AND l_bflow_method_code = 'PRIOR_ENTRY'
79779 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79780 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79781 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79782 )
79783 THEN
79784 xla_ae_lines_pkg.BflowUpgEntry
79785 (p_business_method_code => l_bflow_method_code
79786 ,p_business_class_code => l_bflow_class_code
79787 ,p_balance_type => l_balance_type_code);
79788 ELSE
79789 NULL;
79790 -- No business flow processing for business flow method of NONE.
79791 END IF;
79792
79793 --
79794 -- call analytical criteria
79795 --
79796
79797
79798 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
79799 xla_ae_lines_pkg.SetAnalyticalCriteria(
79800 p_analytical_criterion_name => 'Project Number'
79801 , p_analytical_criterion_owner => 'S'
79802 , p_analytical_criterion_code => 'PROJECT_NUMBER'
79803 , p_amb_context_code => 'DEFAULT'
79804 , p_balancing_flag => 'N'
79805
79806 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
79807 p_source_146))
79808 , p_analytical_detail_num_1 => NULL
79809 , p_analytical_detail_date_1 => NULL
79810
79811 , p_ae_header_id => l_ae_header_id
79812 )
79813 ;
79814 --
79815
79816 --
79820 xla_ae_lines_pkg.SetLineDescription(
79817 -- call description
79818 --
79819
79821 p_ae_header_id => l_ae_header_id
79822 ,p_description => Description_1 (
79823 p_application_id => p_application_id
79824 , p_ae_header_id => l_ae_header_id
79825 , p_source_1 => p_source_1
79826 )
79827 );
79828
79829
79830 --
79831 -- call ADRs
79832 -- Bug 4922099
79833 --
79834 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79835 (NVL(l_actual_upg_option, 'N') = 'O') OR
79836 (NVL(l_enc_upg_option, 'N') = 'O')
79837 )
79838 THEN
79839 NULL;
79840 --
79841 --
79842
79843 l_ccid := AcctDerRule_33(
79844 p_application_id => p_application_id
79845 , p_ae_header_id => l_ae_header_id
79846 , p_source_30 => p_source_30
79847 , x_transaction_coa_id => l_adr_transaction_coa_id
79848 , x_accounting_coa_id => l_adr_accounting_coa_id
79849 , x_value_type_code => l_adr_value_type_code
79850 , p_side => 'NA'
79851 );
79852
79853 xla_ae_lines_pkg.set_ccid(
79854 p_code_combination_id => l_ccid
79855 , p_value_type_code => l_adr_value_type_code
79856 , p_transaction_coa_id => l_adr_transaction_coa_id
79857 , p_accounting_coa_id => l_adr_accounting_coa_id
79858 , p_adr_code => 'AP_INVOICE_DIST'
79859 , p_adr_type_code => 'S'
79860 , p_component_type => l_component_type
79861 , p_component_code => l_component_code
79862 , p_component_type_code => l_component_type_code
79863 , p_component_appl_id => l_component_appl_id
79864 , p_amb_context_code => l_amb_context_code
79865 , p_side => 'NA'
79866 );
79867
79868
79869 --
79870 --
79871 END IF;
79872 --
79873 -- Bug 4922099
79874 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79875 (NVL(l_enc_upg_option, 'N') = 'O')
79876 ) AND
79877 (l_bflow_method_code = 'PRIOR_ENTRY')
79878 )
79879 THEN
79880 IF
79881 --
79882 1 = 2
79883 --
79884 THEN
79885 xla_accounting_err_pkg.build_message
79886 (p_appli_s_name => 'XLA'
79887 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79888 ,p_token_1 => 'LINE_NUMBER'
79889 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79890 ,p_token_2 => 'LINE_TYPE_NAME'
79891 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79892 l_component_type
79893 ,l_component_code
79894 ,l_component_type_code
79895 ,l_component_appl_id
79896 ,l_amb_context_code
79897 ,l_entity_code
79898 ,l_event_class_code
79899 )
79900 ,p_token_3 => 'OWNER'
79901 ,p_value_3 => xla_lookups_pkg.get_meaning(
79902 p_lookup_type => 'XLA_OWNER_TYPE'
79903 ,p_lookup_code => l_component_type_code
79904 )
79905 ,p_token_4 => 'PRODUCT_NAME'
79906 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79907 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79908 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79909 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79910 ,p_ae_header_id => NULL
79911 );
79912
79913 IF (C_LEVEL_ERROR>= g_log_level) THEN
79914 trace
79915 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79916 ,p_level => C_LEVEL_ERROR
79917 ,p_module => l_log_module);
79918 END IF;
79919 END IF;
79920 END IF;
79921 --
79922 --
79923 ------------------------------------------------------------------------------------------------
79924 -- 4219869 Business Flow
79925 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79926 -- Prior Entry. Currently, the following code is always generated.
79930 ------------------------------------------------------------------------------------
79927 ------------------------------------------------------------------------------------------------
79928 XLA_AE_LINES_PKG.ValidateCurrentLine;
79929
79931 -- 4219869 Business Flow
79932 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79933 ------------------------------------------------------------------------------------
79934 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79935
79936 ----------------------------------------------------------------------------------
79937 -- 4219869 Business Flow
79938 -- Update journal entry status -- Need to generate this within IF <condition>
79939 ----------------------------------------------------------------------------------
79940 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79941 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79942 ,p_balance_type_code => l_balance_type_code
79943 );
79944
79945 -------------------------------------------------------------------------------------------
79946 -- 4262811 - Generate the Accrual Reversal lines
79947 -------------------------------------------------------------------------------------------
79948 BEGIN
79949 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79950 (g_array_event(p_event_id).array_value_num('header_index'));
79951 IF l_acc_rev_flag IS NULL THEN
79952 l_acc_rev_flag := 'N';
79953 END IF;
79954 EXCEPTION
79955 WHEN OTHERS THEN
79956 l_acc_rev_flag := 'N';
79957 END;
79958 --
79959 IF (l_acc_rev_flag = 'Y') THEN
79960
79961 -- 4645092 ------------------------------------------------------------------------------
79962 -- To allow MPA report to determine if it should generate report process
79963 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79964 ------------------------------------------------------------------------------------------
79965
79966 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79967 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79968 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79969 -- call ADRs
79970 -- Bug 4922099
79971 --
79972 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79973 (NVL(l_actual_upg_option, 'N') = 'O') OR
79974 (NVL(l_enc_upg_option, 'N') = 'O')
79975 )
79976 THEN
79977 NULL;
79978 --
79979 --
79980
79981 l_ccid := AcctDerRule_33(
79982 p_application_id => p_application_id
79983 , p_ae_header_id => l_ae_header_id
79984 , p_source_30 => p_source_30
79985 , x_transaction_coa_id => l_adr_transaction_coa_id
79986 , x_accounting_coa_id => l_adr_accounting_coa_id
79987 , x_value_type_code => l_adr_value_type_code
79988 , p_side => 'NA'
79989 );
79990
79991 xla_ae_lines_pkg.set_ccid(
79992 p_code_combination_id => l_ccid
79993 , p_value_type_code => l_adr_value_type_code
79994 , p_transaction_coa_id => l_adr_transaction_coa_id
79995 , p_accounting_coa_id => l_adr_accounting_coa_id
79996 , p_adr_code => 'AP_INVOICE_DIST'
79997 , p_adr_type_code => 'S'
79998 , p_component_type => l_component_type
79999 , p_component_code => l_component_code
80000 , p_component_type_code => l_component_type_code
80001 , p_component_appl_id => l_component_appl_id
80002 , p_amb_context_code => l_amb_context_code
80003 , p_side => 'NA'
80004 );
80005
80006
80007 --
80008 --
80009 END IF;
80010
80011 --
80012 -- Update the line information that should be overwritten
80013 --
80014 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80015 p_header_num => 1);
80016 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80017
80018 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80019
80020 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80021 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80022 END IF;
80023
80024 --
80025 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80026 --
80027 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80028 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80029 ELSE
80030 ---------------------------------------------------------------------------------------------------
80031 -- 4262811a Switch Sign
80032 ---------------------------------------------------------------------------------------------------
80033 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80034 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80038 -- 5132302
80035 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80036 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80037 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80039 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80040 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80041
80042 END IF;
80043
80044 -- 4955764
80045 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80046 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80047
80048
80049 XLA_AE_LINES_PKG.ValidateCurrentLine;
80050 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80051
80052 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80053 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80054 ,p_balance_type_code => l_balance_type_code);
80055
80056 END IF;
80057
80058 -----------------------------------------------------------------------------------------
80059 -- 4262811 Multiperiod Accounting
80060 -----------------------------------------------------------------------------------------
80061 -- No MPA option is assigned.
80062
80063
80064 END IF;
80065 END IF;
80066 --
80067
80068 --
80069 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80070 trace
80071 (p_msg => 'END of AcctLineType_141'
80072 ,p_level => C_LEVEL_PROCEDURE
80073 ,p_module => l_log_module);
80074 END IF;
80075 --
80076 EXCEPTION
80077 WHEN xla_exceptions_pkg.application_exception THEN
80078 RAISE;
80079 WHEN OTHERS THEN
80080 xla_exceptions_pkg.raise_message
80081 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_141');
80082 END AcctLineType_141;
80083 --
80084
80085 ---------------------------------------
80086 --
80087 -- PRIVATE FUNCTION
80088 -- AcctLineType_142
80089 --
80090 ---------------------------------------
80091 PROCEDURE AcctLineType_142 (
80092 p_application_id IN NUMBER
80093 ,p_event_id IN NUMBER
80094 ,p_calculate_acctd_flag IN VARCHAR2
80095 ,p_calculate_g_l_flag IN VARCHAR2
80096 ,p_actual_flag IN OUT VARCHAR2
80097 ,p_balance_type_code OUT VARCHAR2
80098 ,p_gain_or_loss_ref OUT VARCHAR2
80099
80100 --Invoice Distribution Description
80101 , p_source_1 IN VARCHAR2
80102 --Invoice Distribution Ledger Amount
80103 , p_source_21 IN NUMBER
80104 --Invoice Distribution Account
80105 , p_source_30 IN NUMBER
80106 --Invoice Distribution Type
80107 , p_source_33 IN VARCHAR2
80108 , p_source_33_meaning IN VARCHAR2
80109 --Accounting Reversal Indicator
80110 , p_source_52 IN VARCHAR2
80111 --Distribution Link Type
80112 , p_source_54 IN VARCHAR2
80113 --Allocation to Main Distribution Identifier
80114 , p_source_56 IN NUMBER
80115 --Invoice Identifier
80116 , p_source_57 IN NUMBER
80117 --Invoice Distribution Identifier
80118 , p_source_63 IN NUMBER
80119 --Payables Encumbrance Upgrade Credit Account
80120 , p_source_64 IN NUMBER
80121 --Payables Encumbrance Upgrade Credit Amount
80122 , p_source_65 IN NUMBER
80123 --Invoice Currency Code
80124 , p_source_66 IN VARCHAR2
80125 --Payables Encumbrance Upgrade Credit Base Amount
80126 , p_source_67 IN NUMBER
80127 --Payables Encumbrance Upgrade Debit Account
80128 , p_source_68 IN NUMBER
80129 --Payables Encumbrance Upgrade Debit Amount
80130 , p_source_69 IN NUMBER
80131 --Payables Encumbrance Upgrade Debit Base Amount
80132 , p_source_70 IN NUMBER
80133 --Payables Encumbrance Upgrade Option
80134 , p_source_71 IN VARCHAR2
80135 --Invoice Distribution Amount
80136 , p_source_72 IN NUMBER
80137 --Deferred Accounting End Date
80138 , p_source_76 IN DATE
80139 --Deferred Accounting Option
80140 , p_source_77 IN VARCHAR2
80141 --Deferred Accounting Start Date
80142 , p_source_78 IN DATE
80143 --Override Accounted Amount Indicator
80144 , p_source_79 IN VARCHAR2
80145 , p_source_79_meaning IN VARCHAR2
80146 --Invoice Supplier Identifier
80147 , p_source_80 IN NUMBER
80148 --Invoice Supplier Site Identifier
80149 , p_source_81 IN NUMBER
80150 --Third Party Type
80151 , p_source_82 IN VARCHAR2
80152 --Parent Reversal Identifier
80153 , p_source_83 IN NUMBER
80154 --Invoice Distribution Statistical Amount
80155 , p_source_84 IN NUMBER
80156 --Invoice Distribution Tax Line Identifier
80157 , p_source_85 IN NUMBER
80158 --Invoice Distribution Tax Distribution Identifier from Tax
80159 , p_source_86 IN NUMBER
80160 --Invoice Distribution Summary Tax Line Identifier
80161 , p_source_87 IN NUMBER
80162 --Payables Upgrade Credit Encumbrance Type Identifier
80163 , p_source_88 IN NUMBER
80164 --Payables Upgrade Debit Encumbrance Type Identifier
80165 , p_source_89 IN NUMBER
80169 , p_source_91 IN VARCHAR2
80166 --Business Flow Accounts Payable Application Identifier
80167 , p_source_90 IN NUMBER
80168 --Business Flow Invoice Distribution Type
80170 --Business Flow Invoice Entity Code
80171 , p_source_92 IN VARCHAR2
80172 --Business Flow Invoice Distribution Identifier
80173 , p_source_93 IN NUMBER
80174 --Business Flow Invoice Identifier
80175 , p_source_94 IN NUMBER
80176 --Accrue on Receipt Option
80177 , p_source_95 IN VARCHAR2
80178 , p_source_95_meaning IN VARCHAR2
80179 --Invoice Exchange Date
80180 , p_source_136 IN DATE
80181 --Invoice Exchange Rate
80182 , p_source_137 IN NUMBER
80183 --Invoice Exchange Rate Type
80184 , p_source_138 IN VARCHAR2
80185 --Project Identifier
80186 , p_source_146 IN NUMBER
80187 )
80188 IS
80189
80190 l_component_type VARCHAR2(80);
80191 l_component_code VARCHAR2(30);
80192 l_component_type_code VARCHAR2(1);
80193 l_component_appl_id INTEGER;
80194 l_amb_context_code VARCHAR2(30);
80195 l_entity_code VARCHAR2(30);
80196 l_event_class_code VARCHAR2(30);
80197 l_ae_header_id NUMBER;
80198 l_event_type_code VARCHAR2(30);
80199 l_line_definition_code VARCHAR2(30);
80200 l_line_definition_owner_code VARCHAR2(1);
80201 --
80202 -- adr variables
80203 l_segment VARCHAR2(30);
80204 l_ccid NUMBER;
80205 l_adr_transaction_coa_id NUMBER;
80206 l_adr_accounting_coa_id NUMBER;
80207 l_adr_flexfield_segment_code VARCHAR2(30);
80208 l_adr_flex_value_set_id NUMBER;
80209 l_adr_value_type_code VARCHAR2(30);
80210 l_adr_value_combination_id NUMBER;
80211 l_adr_value_segment_code VARCHAR2(30);
80212
80213 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80214 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80215 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80216 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80217
80218 -- 4262811 Variables ------------------------------------------------------------------------------------------
80219 l_entered_amt_idx NUMBER;
80220 l_accted_amt_idx NUMBER;
80221 l_acc_rev_flag VARCHAR2(1);
80222 l_accrual_line_num NUMBER;
80223 l_tmp_amt NUMBER;
80224 l_acc_rev_natural_side_code VARCHAR2(1);
80225
80226 l_num_entries NUMBER;
80227 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80228 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80229 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80230 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80231 l_recog_line_1 NUMBER;
80232 l_recog_line_2 NUMBER;
80233
80234 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80235 l_bflow_applied_to_amt NUMBER; -- 5132302
80236 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80237
80238 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80239
80240 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80241 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80242
80243 ---------------------------------------------------------------------------------------------------------------
80244
80245
80246 --
80247 -- bulk performance
80248 --
80249 l_balance_type_code VARCHAR2(1);
80250 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80251 l_log_module VARCHAR2(240);
80252
80253 --
80254 -- Upgrade strategy
80255 --
80256 l_actual_upg_option VARCHAR2(1);
80257 l_enc_upg_option VARCHAR2(1);
80258
80259 --
80260 BEGIN
80261 --
80262 IF g_log_enabled THEN
80263 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_142';
80264 END IF;
80265 --
80266 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80267
80268 trace
80269 (p_msg => 'BEGIN of AcctLineType_142'
80270 ,p_level => C_LEVEL_PROCEDURE
80271 ,p_module => l_log_module);
80272
80273 END IF;
80274 --
80275 l_component_type := 'AMB_JLT';
80276 l_component_code := 'AP_ITEM_EXPENSE_INV';
80277 l_component_type_code := 'S';
80278 l_component_appl_id := 200;
80279 l_amb_context_code := 'DEFAULT';
80280 l_entity_code := 'AP_INVOICES';
80281 l_event_class_code := 'INVOICES';
80282 l_event_type_code := 'INVOICES_ALL';
80283 l_line_definition_owner_code := 'S';
80284 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
80285 --
80286 l_balance_type_code := 'A';
80287 l_segment := NULL;
80288 l_ccid := NULL;
80289 l_adr_transaction_coa_id := NULL;
80290 l_adr_accounting_coa_id := NULL;
80291 l_adr_flexfield_segment_code := NULL;
80292 l_adr_flex_value_set_id := NULL;
80293 l_adr_value_type_code := NULL;
80294 l_adr_value_combination_id := NULL;
80295 l_adr_value_segment_code := NULL;
80296
80300 l_budgetary_control_flag := 'N';
80297 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
80298 l_bflow_class_code := ''; -- 4219869 Business Flow
80299 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
80301
80302 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80303 l_bflow_applied_to_amt := NULL; -- 5132302
80304 l_entered_amt_idx := NULL; -- 4262811
80305 l_accted_amt_idx := NULL; -- 4262811
80306 l_acc_rev_flag := NULL; -- 4262811
80307 l_accrual_line_num := NULL; -- 4262811
80308 l_tmp_amt := NULL; -- 4262811
80309 --
80310
80311 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
80312 l_balance_type_code <> 'B' THEN
80313 IF NVL(p_source_33,'
80314 ') = 'RETROEXPENSE' OR
80315 NVL(p_source_33,'
80316 ') = 'ITEM' OR
80317 (NVL(p_source_33,'
80318 ') = 'ERV' AND
80319 NVL(p_source_95,'
80320 ') <> 'Y') OR
80321 (NVL(p_source_33,'
80322 ') = 'IPV' AND
80323 NVL(p_source_95,'
80324 ') <> 'Y')
80325 THEN
80326
80327 --
80328 XLA_AE_LINES_PKG.SetNewLine;
80329
80330 p_balance_type_code := l_balance_type_code;
80331 -- set the flag so later we will know whether the gain loss line needs to be created
80332
80333 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
80334 p_actual_flag :='A';
80335 END IF;
80336
80337 --
80338 -- bulk performance
80339 --
80340 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
80341 p_header_num => 0); -- 4262811
80342 --
80343 -- set accounting line options
80344 --
80345 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
80346 p_natural_side_code => 'D'
80347 , p_gain_or_loss_flag => 'N'
80348 , p_gl_transfer_mode_code => 'S'
80349 , p_acct_entry_type_code => 'A'
80350 , p_switch_side_flag => 'Y'
80351 , p_merge_duplicate_code => 'A'
80352 );
80353 --
80354 l_acc_rev_natural_side_code := 'C'; -- 4262811
80355 --
80356 --
80357 -- set accounting line type info
80358 --
80359 xla_ae_lines_pkg.SetAcctLineType
80360 (p_component_type => l_component_type
80361 ,p_event_type_code => l_event_type_code
80362 ,p_line_definition_owner_code => l_line_definition_owner_code
80363 ,p_line_definition_code => l_line_definition_code
80364 ,p_accounting_line_code => l_component_code
80365 ,p_accounting_line_type_code => l_component_type_code
80366 ,p_accounting_line_appl_id => l_component_appl_id
80367 ,p_amb_context_code => l_amb_context_code
80368 ,p_entity_code => l_entity_code
80369 ,p_event_class_code => l_event_class_code);
80370 --
80371 -- set accounting class
80372 --
80373 xla_ae_lines_pkg.SetAcctClass(
80374 p_accounting_class_code => 'ITEM EXPENSE'
80375 , p_ae_header_id => l_ae_header_id
80376 );
80377
80378 --
80379 -- set rounding class
80380 --
80381 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
80382 'ITEM EXPENSE';
80383
80384 --
80385 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
80386 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
80387 --
80388 -- bulk performance
80389 --
80390 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
80391
80392 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
80393 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
80394
80395 -- 4955764
80396 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80397 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
80398
80399 -- 4458381 Public Sector Enh
80400
80401 --
80402 -- set accounting attributes for the line type
80403 --
80404 l_entered_amt_idx := 24;
80405 l_accted_amt_idx := 29;
80406 l_bflow_applied_to_amt_idx := 7; -- 5132302
80407 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
80408 l_rec_acct_attrs.array_char_value(1) := p_source_52;
80409 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
80410 l_rec_acct_attrs.array_num_value(2) :=
80411 xla_ae_sources_pkg.GetSystemSourceNum(
80412 p_source_code => 'XLA_EVENT_APPL_ID'
80413 , p_source_type_code => 'Y'
80414 , p_source_application_id => 602
80415 );
80416 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
80417 l_rec_acct_attrs.array_char_value(3) := p_source_54;
80418 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
80419 l_rec_acct_attrs.array_char_value(4) :=
80420 xla_ae_sources_pkg.GetSystemSourceChar(
80421 p_source_code => 'XLA_ENTITY_CODE'
80422 , p_source_type_code => 'Y'
80423 , p_source_application_id => 602
80424 );
80425 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
80429 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
80426 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
80427 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
80428 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
80430 l_rec_acct_attrs.array_num_value(7) := p_source_72;
80431 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
80432 l_rec_acct_attrs.array_num_value(8) := p_source_90;
80433 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
80434 l_rec_acct_attrs.array_char_value(9) := p_source_91;
80435 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
80436 l_rec_acct_attrs.array_char_value(10) := p_source_92;
80437 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
80438 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
80439 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
80440 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
80441 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
80442 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
80443 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
80444 l_rec_acct_attrs.array_char_value(14) := p_source_54;
80445 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
80446 l_rec_acct_attrs.array_num_value(15) := p_source_64;
80447 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
80448 l_rec_acct_attrs.array_num_value(16) := p_source_65;
80449 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
80450 l_rec_acct_attrs.array_char_value(17) := p_source_66;
80451 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
80452 l_rec_acct_attrs.array_num_value(18) := p_source_67;
80453 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
80454 l_rec_acct_attrs.array_num_value(19) := p_source_68;
80455 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
80456 l_rec_acct_attrs.array_num_value(20) := p_source_69;
80457 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
80458 l_rec_acct_attrs.array_char_value(21) := p_source_66;
80459 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
80460 l_rec_acct_attrs.array_num_value(22) := p_source_70;
80461 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
80462 l_rec_acct_attrs.array_char_value(23) := p_source_71;
80463 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
80464 l_rec_acct_attrs.array_num_value(24) := p_source_72;
80465 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
80466 l_rec_acct_attrs.array_char_value(25) := p_source_66;
80467 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
80468 l_rec_acct_attrs.array_date_value(26) := p_source_136;
80469 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
80470 l_rec_acct_attrs.array_num_value(27) := p_source_137;
80471 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
80472 l_rec_acct_attrs.array_char_value(28) := p_source_138;
80473 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
80474 l_rec_acct_attrs.array_num_value(29) := p_source_21;
80475 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
80476 l_rec_acct_attrs.array_date_value(30) := p_source_76;
80477 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
80478 l_rec_acct_attrs.array_char_value(31) := p_source_77;
80479 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
80480 l_rec_acct_attrs.array_date_value(32) := p_source_78;
80481 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
80482 l_rec_acct_attrs.array_char_value(33) := p_source_79;
80483 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
80484 l_rec_acct_attrs.array_num_value(34) := p_source_80;
80485 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
80486 l_rec_acct_attrs.array_num_value(35) := p_source_81;
80487 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
80488 l_rec_acct_attrs.array_char_value(36) := p_source_82;
80489 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
80490 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
80491 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
80492 l_rec_acct_attrs.array_char_value(38) := p_source_54;
80493 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
80494 l_rec_acct_attrs.array_num_value(39) := p_source_84;
80495 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
80496 l_rec_acct_attrs.array_num_value(40) := p_source_85;
80497 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
80498 l_rec_acct_attrs.array_num_value(41) := p_source_86;
80499 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
80500 l_rec_acct_attrs.array_num_value(42) := p_source_87;
80501 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
80502 l_rec_acct_attrs.array_num_value(43) := p_source_88;
80503 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
80504 l_rec_acct_attrs.array_num_value(44) := p_source_89;
80505
80506 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
80507 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
80508
80512 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
80509 ---------------------------------------------------------------------------------------------------------------
80510 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
80511 ---------------------------------------------------------------------------------------------------------------
80513
80514 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80515 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80516
80517 IF xla_accounting_cache_pkg.GetValueChar
80518 (p_source_code => 'LEDGER_CATEGORY_CODE'
80519 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
80520 AND l_bflow_method_code = 'PRIOR_ENTRY'
80521 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
80522 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
80523 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
80524 )
80525 THEN
80526 xla_ae_lines_pkg.BflowUpgEntry
80527 (p_business_method_code => l_bflow_method_code
80528 ,p_business_class_code => l_bflow_class_code
80529 ,p_balance_type => l_balance_type_code);
80530 ELSE
80531 NULL;
80532 -- No business flow processing for business flow method of NONE.
80533 END IF;
80534
80535 --
80536 -- call analytical criteria
80537 --
80538
80539
80540 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
80541 xla_ae_lines_pkg.SetAnalyticalCriteria(
80542 p_analytical_criterion_name => 'Project Number'
80543 , p_analytical_criterion_owner => 'S'
80544 , p_analytical_criterion_code => 'PROJECT_NUMBER'
80545 , p_amb_context_code => 'DEFAULT'
80546 , p_balancing_flag => 'N'
80547
80548 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
80549 p_source_146))
80550 , p_analytical_detail_num_1 => NULL
80551 , p_analytical_detail_date_1 => NULL
80552
80553 , p_ae_header_id => l_ae_header_id
80554 )
80555 ;
80556 --
80557
80558 --
80559 -- call description
80560 --
80561
80562 xla_ae_lines_pkg.SetLineDescription(
80563 p_ae_header_id => l_ae_header_id
80564 ,p_description => Description_1 (
80565 p_application_id => p_application_id
80566 , p_ae_header_id => l_ae_header_id
80567 , p_source_1 => p_source_1
80568 )
80569 );
80570
80571
80572 --
80573 -- call ADRs
80574 -- Bug 4922099
80575 --
80576 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80577 (NVL(l_actual_upg_option, 'N') = 'O') OR
80578 (NVL(l_enc_upg_option, 'N') = 'O')
80579 )
80580 THEN
80581 NULL;
80582 --
80583 --
80584
80585 l_ccid := AcctDerRule_33(
80586 p_application_id => p_application_id
80587 , p_ae_header_id => l_ae_header_id
80588 , p_source_30 => p_source_30
80589 , x_transaction_coa_id => l_adr_transaction_coa_id
80590 , x_accounting_coa_id => l_adr_accounting_coa_id
80591 , x_value_type_code => l_adr_value_type_code
80592 , p_side => 'NA'
80593 );
80594
80595 xla_ae_lines_pkg.set_ccid(
80596 p_code_combination_id => l_ccid
80597 , p_value_type_code => l_adr_value_type_code
80598 , p_transaction_coa_id => l_adr_transaction_coa_id
80599 , p_accounting_coa_id => l_adr_accounting_coa_id
80600 , p_adr_code => 'AP_INVOICE_DIST'
80601 , p_adr_type_code => 'S'
80602 , p_component_type => l_component_type
80603 , p_component_code => l_component_code
80604 , p_component_type_code => l_component_type_code
80605 , p_component_appl_id => l_component_appl_id
80606 , p_amb_context_code => l_amb_context_code
80607 , p_side => 'NA'
80608 );
80609
80610
80611 --
80612 --
80613 END IF;
80614 --
80615 -- Bug 4922099
80616 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
80617 (NVL(l_enc_upg_option, 'N') = 'O')
80618 ) AND
80619 (l_bflow_method_code = 'PRIOR_ENTRY')
80620 )
80621 THEN
80622 IF
80623 --
80624 1 = 2
80625 --
80626 THEN
80627 xla_accounting_err_pkg.build_message
80628 (p_appli_s_name => 'XLA'
80629 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80630 ,p_token_1 => 'LINE_NUMBER'
80631 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
80632 ,p_token_2 => 'LINE_TYPE_NAME'
80633 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
80634 l_component_type
80638 ,l_amb_context_code
80635 ,l_component_code
80636 ,l_component_type_code
80637 ,l_component_appl_id
80639 ,l_entity_code
80640 ,l_event_class_code
80641 )
80642 ,p_token_3 => 'OWNER'
80643 ,p_value_3 => xla_lookups_pkg.get_meaning(
80644 p_lookup_type => 'XLA_OWNER_TYPE'
80645 ,p_lookup_code => l_component_type_code
80646 )
80647 ,p_token_4 => 'PRODUCT_NAME'
80648 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
80649 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
80650 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
80651 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
80652 ,p_ae_header_id => NULL
80653 );
80654
80655 IF (C_LEVEL_ERROR>= g_log_level) THEN
80656 trace
80657 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80658 ,p_level => C_LEVEL_ERROR
80659 ,p_module => l_log_module);
80660 END IF;
80661 END IF;
80662 END IF;
80663 --
80664 --
80665 ------------------------------------------------------------------------------------------------
80666 -- 4219869 Business Flow
80667 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80668 -- Prior Entry. Currently, the following code is always generated.
80669 ------------------------------------------------------------------------------------------------
80670 XLA_AE_LINES_PKG.ValidateCurrentLine;
80671
80672 ------------------------------------------------------------------------------------
80673 -- 4219869 Business Flow
80674 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80675 ------------------------------------------------------------------------------------
80676 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80677
80678 ----------------------------------------------------------------------------------
80679 -- 4219869 Business Flow
80680 -- Update journal entry status -- Need to generate this within IF <condition>
80681 ----------------------------------------------------------------------------------
80682 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80683 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80684 ,p_balance_type_code => l_balance_type_code
80685 );
80686
80687 -------------------------------------------------------------------------------------------
80688 -- 4262811 - Generate the Accrual Reversal lines
80689 -------------------------------------------------------------------------------------------
80690 BEGIN
80691 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80692 (g_array_event(p_event_id).array_value_num('header_index'));
80693 IF l_acc_rev_flag IS NULL THEN
80694 l_acc_rev_flag := 'N';
80695 END IF;
80696 EXCEPTION
80697 WHEN OTHERS THEN
80698 l_acc_rev_flag := 'N';
80699 END;
80700 --
80701 IF (l_acc_rev_flag = 'Y') THEN
80702
80703 -- 4645092 ------------------------------------------------------------------------------
80704 -- To allow MPA report to determine if it should generate report process
80705 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80706 ------------------------------------------------------------------------------------------
80707
80708 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80709 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80710 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80711 -- call ADRs
80712 -- Bug 4922099
80713 --
80714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80715 (NVL(l_actual_upg_option, 'N') = 'O') OR
80716 (NVL(l_enc_upg_option, 'N') = 'O')
80717 )
80718 THEN
80719 NULL;
80720 --
80721 --
80722
80723 l_ccid := AcctDerRule_33(
80724 p_application_id => p_application_id
80725 , p_ae_header_id => l_ae_header_id
80726 , p_source_30 => p_source_30
80727 , x_transaction_coa_id => l_adr_transaction_coa_id
80728 , x_accounting_coa_id => l_adr_accounting_coa_id
80729 , x_value_type_code => l_adr_value_type_code
80730 , p_side => 'NA'
80731 );
80732
80736 , p_transaction_coa_id => l_adr_transaction_coa_id
80733 xla_ae_lines_pkg.set_ccid(
80734 p_code_combination_id => l_ccid
80735 , p_value_type_code => l_adr_value_type_code
80737 , p_accounting_coa_id => l_adr_accounting_coa_id
80738 , p_adr_code => 'AP_INVOICE_DIST'
80739 , p_adr_type_code => 'S'
80740 , p_component_type => l_component_type
80741 , p_component_code => l_component_code
80742 , p_component_type_code => l_component_type_code
80743 , p_component_appl_id => l_component_appl_id
80744 , p_amb_context_code => l_amb_context_code
80745 , p_side => 'NA'
80746 );
80747
80748
80749 --
80750 --
80751 END IF;
80752
80753 --
80754 -- Update the line information that should be overwritten
80755 --
80756 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80757 p_header_num => 1);
80758 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80759
80760 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80761
80762 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80763 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80764 END IF;
80765
80766 --
80767 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80768 --
80769 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80770 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80771 ELSE
80772 ---------------------------------------------------------------------------------------------------
80773 -- 4262811a Switch Sign
80774 ---------------------------------------------------------------------------------------------------
80775 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80777 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80778 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80779 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80780 -- 5132302
80781 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80782 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80783
80784 END IF;
80785
80786 -- 4955764
80787 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80788 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80789
80790
80791 XLA_AE_LINES_PKG.ValidateCurrentLine;
80792 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80793
80794 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80795 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80796 ,p_balance_type_code => l_balance_type_code);
80797
80798 END IF;
80799
80800 -----------------------------------------------------------------------------------------
80801 -- 4262811 Multiperiod Accounting
80802 -----------------------------------------------------------------------------------------
80803 -- No MPA option is assigned.
80804
80805
80806 END IF;
80807 END IF;
80808 --
80809
80810 --
80811 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80812 trace
80813 (p_msg => 'END of AcctLineType_142'
80814 ,p_level => C_LEVEL_PROCEDURE
80815 ,p_module => l_log_module);
80816 END IF;
80817 --
80818 EXCEPTION
80819 WHEN xla_exceptions_pkg.application_exception THEN
80820 RAISE;
80821 WHEN OTHERS THEN
80822 xla_exceptions_pkg.raise_message
80823 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_142');
80824 END AcctLineType_142;
80825 --
80826
80827 ---------------------------------------
80828 --
80829 -- PRIVATE FUNCTION
80830 -- AcctLineType_143
80831 --
80832 ---------------------------------------
80833 PROCEDURE AcctLineType_143 (
80834 p_application_id IN NUMBER
80835 ,p_event_id IN NUMBER
80836 ,p_calculate_acctd_flag IN VARCHAR2
80837 ,p_calculate_g_l_flag IN VARCHAR2
80838 ,p_actual_flag IN OUT VARCHAR2
80839 ,p_balance_type_code OUT VARCHAR2
80840 ,p_gain_or_loss_ref OUT VARCHAR2
80841
80842 --Payment Currency Code
80843 , p_source_13 IN VARCHAR2
80844 --Accounting Reversal Indicator
80845 , p_source_52 IN VARCHAR2
80846 --Distribution Link Type
80847 , p_source_54 IN VARCHAR2
80848 --Override Accounted Amount Indicator
80849 , p_source_79 IN VARCHAR2
80850 , p_source_79_meaning IN VARCHAR2
80851 --Third Party Type
80852 , p_source_82 IN VARCHAR2
80853 --Invoice Distribution Tax Line Identifier
80854 , p_source_85 IN NUMBER
80855 --Invoice Distribution Summary Tax Line Identifier
80859 --Business Flow Invoice Distribution Type
80856 , p_source_87 IN NUMBER
80857 --Business Flow Accounts Payable Application Identifier
80858 , p_source_90 IN NUMBER
80860 , p_source_91 IN VARCHAR2
80861 --Business Flow Invoice Entity Code
80862 , p_source_92 IN VARCHAR2
80863 --Business Flow Invoice Distribution Identifier
80864 , p_source_93 IN NUMBER
80865 --Business Flow Invoice Identifier
80866 , p_source_94 IN NUMBER
80867 --When to Account for Payment Option
80868 , p_source_96 IN VARCHAR2
80869 --Payment Distribution Type
80870 , p_source_97 IN VARCHAR2
80871 , p_source_97_meaning IN VARCHAR2
80872 --Payment Distribution Amount
80873 , p_source_98 IN NUMBER
80874 --Payment Distribution Identifier
80875 , p_source_103 IN NUMBER
80876 --Payment Distribution Reversed Identifier
80877 , p_source_111 IN NUMBER
80878 --Payment Distribution (Invoice Rate) Ledger Amount
80879 , p_source_116 IN NUMBER
80880 --Payment Type
80881 , p_source_122 IN VARCHAR2
80882 , p_source_122_meaning IN VARCHAR2
80883 --Invoice Type Paid
80884 , p_source_160 IN VARCHAR2
80885 , p_source_160_meaning IN VARCHAR2
80886 --Withholding at Payment Indicator
80887 , p_source_161 IN VARCHAR2
80888 , p_source_161_meaning IN VARCHAR2
80889 )
80890 IS
80891
80892 l_component_type VARCHAR2(80);
80893 l_component_code VARCHAR2(30);
80894 l_component_type_code VARCHAR2(1);
80895 l_component_appl_id INTEGER;
80896 l_amb_context_code VARCHAR2(30);
80897 l_entity_code VARCHAR2(30);
80898 l_event_class_code VARCHAR2(30);
80899 l_ae_header_id NUMBER;
80900 l_event_type_code VARCHAR2(30);
80901 l_line_definition_code VARCHAR2(30);
80902 l_line_definition_owner_code VARCHAR2(1);
80903 --
80904 -- adr variables
80905 l_segment VARCHAR2(30);
80906 l_ccid NUMBER;
80907 l_adr_transaction_coa_id NUMBER;
80908 l_adr_accounting_coa_id NUMBER;
80909 l_adr_flexfield_segment_code VARCHAR2(30);
80910 l_adr_flex_value_set_id NUMBER;
80911 l_adr_value_type_code VARCHAR2(30);
80912 l_adr_value_combination_id NUMBER;
80913 l_adr_value_segment_code VARCHAR2(30);
80914
80915 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80916 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80917 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80918 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80919
80920 -- 4262811 Variables ------------------------------------------------------------------------------------------
80921 l_entered_amt_idx NUMBER;
80922 l_accted_amt_idx NUMBER;
80923 l_acc_rev_flag VARCHAR2(1);
80924 l_accrual_line_num NUMBER;
80925 l_tmp_amt NUMBER;
80926 l_acc_rev_natural_side_code VARCHAR2(1);
80927
80928 l_num_entries NUMBER;
80929 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80930 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80931 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80932 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80933 l_recog_line_1 NUMBER;
80934 l_recog_line_2 NUMBER;
80935
80936 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80937 l_bflow_applied_to_amt NUMBER; -- 5132302
80938 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80939
80940 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80941
80942 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80943 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80944
80945 ---------------------------------------------------------------------------------------------------------------
80946
80947
80948 --
80949 -- bulk performance
80950 --
80951 l_balance_type_code VARCHAR2(1);
80952 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80953 l_log_module VARCHAR2(240);
80954
80955 --
80956 -- Upgrade strategy
80957 --
80958 l_actual_upg_option VARCHAR2(1);
80959 l_enc_upg_option VARCHAR2(1);
80960
80961 --
80962 BEGIN
80963 --
80964 IF g_log_enabled THEN
80965 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_143';
80966 END IF;
80967 --
80968 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80969
80970 trace
80971 (p_msg => 'BEGIN of AcctLineType_143'
80972 ,p_level => C_LEVEL_PROCEDURE
80973 ,p_module => l_log_module);
80974
80975 END IF;
80976 --
80977 l_component_type := 'AMB_JLT';
80978 l_component_code := 'AP_LIAB_AWT_CLEAR';
80979 l_component_type_code := 'S';
80980 l_component_appl_id := 200;
80981 l_amb_context_code := 'DEFAULT';
80982 l_entity_code := 'AP_PAYMENTS';
80983 l_event_class_code := 'RECONCILED PAYMENTS';
80984 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
80988 l_balance_type_code := 'A';
80985 l_line_definition_owner_code := 'S';
80986 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
80987 --
80989 l_segment := NULL;
80990 l_ccid := NULL;
80991 l_adr_transaction_coa_id := NULL;
80992 l_adr_accounting_coa_id := NULL;
80993 l_adr_flexfield_segment_code := NULL;
80994 l_adr_flex_value_set_id := NULL;
80995 l_adr_value_type_code := NULL;
80996 l_adr_value_combination_id := NULL;
80997 l_adr_value_segment_code := NULL;
80998
80999 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
81000 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
81001 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81002 l_budgetary_control_flag := 'N';
81003
81004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81005 l_bflow_applied_to_amt := NULL; -- 5132302
81006 l_entered_amt_idx := NULL; -- 4262811
81007 l_accted_amt_idx := NULL; -- 4262811
81008 l_acc_rev_flag := NULL; -- 4262811
81009 l_accrual_line_num := NULL; -- 4262811
81010 l_tmp_amt := NULL; -- 4262811
81011 --
81012
81013 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81014 l_balance_type_code <> 'B' THEN
81015 IF NVL(p_source_96,'
81016 ') = 'CLEAR_CLEAR' AND
81017 NVL(p_source_160,'
81018 ') <> 'INTEREST' AND
81019 NVL(p_source_97,'
81020 ') = 'AWT' AND
81021 NVL(p_source_161,'
81022 ') = 'Y' AND
81023 NVL(p_source_122,'
81024 ') <> 'R'
81025 THEN
81026
81027 --
81028 XLA_AE_LINES_PKG.SetNewLine;
81029
81030 p_balance_type_code := l_balance_type_code;
81031 -- set the flag so later we will know whether the gain loss line needs to be created
81032
81033 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81034 p_actual_flag :='A';
81035 END IF;
81036
81037 --
81038 -- bulk performance
81039 --
81040 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81041 p_header_num => 0); -- 4262811
81042 --
81043 -- set accounting line options
81044 --
81045 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81046 p_natural_side_code => 'D'
81047 , p_gain_or_loss_flag => 'N'
81048 , p_gl_transfer_mode_code => 'S'
81049 , p_acct_entry_type_code => 'A'
81050 , p_switch_side_flag => 'Y'
81051 , p_merge_duplicate_code => 'A'
81052 );
81053 --
81054 l_acc_rev_natural_side_code := 'C'; -- 4262811
81055 --
81056 --
81057 -- set accounting line type info
81058 --
81059 xla_ae_lines_pkg.SetAcctLineType
81060 (p_component_type => l_component_type
81061 ,p_event_type_code => l_event_type_code
81062 ,p_line_definition_owner_code => l_line_definition_owner_code
81063 ,p_line_definition_code => l_line_definition_code
81064 ,p_accounting_line_code => l_component_code
81065 ,p_accounting_line_type_code => l_component_type_code
81066 ,p_accounting_line_appl_id => l_component_appl_id
81067 ,p_amb_context_code => l_amb_context_code
81068 ,p_entity_code => l_entity_code
81069 ,p_event_class_code => l_event_class_code);
81070 --
81071 -- set accounting class
81072 --
81073 xla_ae_lines_pkg.SetAcctClass(
81074 p_accounting_class_code => 'LIABILITY'
81075 , p_ae_header_id => l_ae_header_id
81076 );
81077
81078 --
81079 -- set rounding class
81080 --
81081 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81082 'LIABILITY';
81083
81084 --
81085 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81086 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81087 --
81088 -- bulk performance
81089 --
81090 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81091
81092 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81093 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81094
81095 -- 4955764
81096 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81097 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81098
81099 -- 4458381 Public Sector Enh
81100
81101 --
81102 -- set accounting attributes for the line type
81103 --
81104 l_entered_amt_idx := 10;
81105 l_accted_amt_idx := 12;
81106 l_bflow_applied_to_amt_idx := 2; -- 5132302
81107 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81108 l_rec_acct_attrs.array_char_value(1) := p_source_52;
81109 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81110 l_rec_acct_attrs.array_num_value(2) := p_source_98;
81111 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81112 l_rec_acct_attrs.array_num_value(3) := p_source_90;
81116 l_rec_acct_attrs.array_char_value(5) := p_source_92;
81113 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81114 l_rec_acct_attrs.array_char_value(4) := p_source_91;
81115 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81117 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81118 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
81119 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81120 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
81121 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81122 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
81123 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81124 l_rec_acct_attrs.array_char_value(9) := p_source_54;
81125 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81126 l_rec_acct_attrs.array_num_value(10) := p_source_98;
81127 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81128 l_rec_acct_attrs.array_char_value(11) := p_source_13;
81129 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
81130 l_rec_acct_attrs.array_num_value(12) := p_source_116;
81131 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
81132 l_rec_acct_attrs.array_char_value(13) := p_source_79;
81133 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
81134 l_rec_acct_attrs.array_char_value(14) := p_source_82;
81135 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
81136 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
81137 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
81138 l_rec_acct_attrs.array_char_value(16) := p_source_54;
81139 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
81140 l_rec_acct_attrs.array_num_value(17) := p_source_85;
81141 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
81142 l_rec_acct_attrs.array_num_value(18) := p_source_85;
81143 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
81144 l_rec_acct_attrs.array_num_value(19) := p_source_87;
81145
81146 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81147 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81148
81149 ---------------------------------------------------------------------------------------------------------------
81150 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81151 ---------------------------------------------------------------------------------------------------------------
81152 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81153
81154 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81155 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81156
81157 IF xla_accounting_cache_pkg.GetValueChar
81158 (p_source_code => 'LEDGER_CATEGORY_CODE'
81159 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81160 AND l_bflow_method_code = 'PRIOR_ENTRY'
81161 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81162 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81163 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81164 )
81165 THEN
81166 xla_ae_lines_pkg.BflowUpgEntry
81167 (p_business_method_code => l_bflow_method_code
81168 ,p_business_class_code => l_bflow_class_code
81169 ,p_balance_type => l_balance_type_code);
81170 ELSE
81171 NULL;
81172 XLA_AE_LINES_PKG.business_flow_validation(
81173 p_business_method_code => l_bflow_method_code
81174 ,p_business_class_code => l_bflow_class_code
81175 ,p_inherit_description_flag => l_inherit_desc_flag);
81176 END IF;
81177
81178 --
81179 -- call analytical criteria
81180 --
81181 -- Inherited Analytical Criteria for business flow method of Prior Entry.
81182 --
81183 -- call description
81184 --
81185 -- No description or it is inherited.
81186 --
81187 -- call ADRs
81188 -- Bug 4922099
81189 --
81190 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81191 (NVL(l_actual_upg_option, 'N') = 'O') OR
81192 (NVL(l_enc_upg_option, 'N') = 'O')
81193 )
81194 THEN
81195 NULL;
81196 --
81197 --
81198
81199 --
81200 --
81201 END IF;
81202 --
81203 -- Bug 4922099
81204 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81205 (NVL(l_enc_upg_option, 'N') = 'O')
81206 ) AND
81207 (l_bflow_method_code = 'PRIOR_ENTRY')
81208 )
81209 THEN
81210 IF
81211 --
81212 1 = 1
81213 --
81214 THEN
81215 xla_accounting_err_pkg.build_message
81216 (p_appli_s_name => 'XLA'
81217 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81218 ,p_token_1 => 'LINE_NUMBER'
81222 l_component_type
81219 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81220 ,p_token_2 => 'LINE_TYPE_NAME'
81221 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81223 ,l_component_code
81224 ,l_component_type_code
81225 ,l_component_appl_id
81226 ,l_amb_context_code
81227 ,l_entity_code
81228 ,l_event_class_code
81229 )
81230 ,p_token_3 => 'OWNER'
81231 ,p_value_3 => xla_lookups_pkg.get_meaning(
81232 p_lookup_type => 'XLA_OWNER_TYPE'
81233 ,p_lookup_code => l_component_type_code
81234 )
81235 ,p_token_4 => 'PRODUCT_NAME'
81236 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81237 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81238 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81239 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81240 ,p_ae_header_id => NULL
81241 );
81242
81243 IF (C_LEVEL_ERROR>= g_log_level) THEN
81244 trace
81245 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81246 ,p_level => C_LEVEL_ERROR
81247 ,p_module => l_log_module);
81248 END IF;
81249 END IF;
81250 END IF;
81251 --
81252 --
81253 ------------------------------------------------------------------------------------------------
81254 -- 4219869 Business Flow
81255 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81256 -- Prior Entry. Currently, the following code is always generated.
81257 ------------------------------------------------------------------------------------------------
81258 -- No ValidateCurrentLine for business flow method of Prior Entry
81259
81260 ------------------------------------------------------------------------------------
81261 -- 4219869 Business Flow
81262 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81263 ------------------------------------------------------------------------------------
81264 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81265
81266 ----------------------------------------------------------------------------------
81267 -- 4219869 Business Flow
81268 -- Update journal entry status -- Need to generate this within IF <condition>
81269 ----------------------------------------------------------------------------------
81270 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81271 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81272 ,p_balance_type_code => l_balance_type_code
81273 );
81274
81275 -------------------------------------------------------------------------------------------
81276 -- 4262811 - Generate the Accrual Reversal lines
81277 -------------------------------------------------------------------------------------------
81278 BEGIN
81279 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81280 (g_array_event(p_event_id).array_value_num('header_index'));
81281 IF l_acc_rev_flag IS NULL THEN
81282 l_acc_rev_flag := 'N';
81283 END IF;
81284 EXCEPTION
81285 WHEN OTHERS THEN
81286 l_acc_rev_flag := 'N';
81287 END;
81288 --
81289 IF (l_acc_rev_flag = 'Y') THEN
81290
81291 -- 4645092 ------------------------------------------------------------------------------
81292 -- To allow MPA report to determine if it should generate report process
81293 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81294 ------------------------------------------------------------------------------------------
81295
81296 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81297 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81298 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81299 -- call ADRs
81300 -- Bug 4922099
81301 --
81302 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81303 (NVL(l_actual_upg_option, 'N') = 'O') OR
81304 (NVL(l_enc_upg_option, 'N') = 'O')
81305 )
81306 THEN
81307 NULL;
81308 --
81309 --
81310
81311 --
81312 --
81313 END IF;
81317 --
81314
81315 --
81316 -- Update the line information that should be overwritten
81318 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81319 p_header_num => 1);
81320 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81321
81322 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81323
81324 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81325 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81326 END IF;
81327
81328 --
81329 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81330 --
81331 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81332 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81333 ELSE
81334 ---------------------------------------------------------------------------------------------------
81335 -- 4262811a Switch Sign
81336 ---------------------------------------------------------------------------------------------------
81337 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81338 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81339 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81340 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81341 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81342 -- 5132302
81343 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81344 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81345
81346 END IF;
81347
81348 -- 4955764
81349 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81350 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81351
81352
81353 XLA_AE_LINES_PKG.ValidateCurrentLine;
81354 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81355
81356 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81357 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81358 ,p_balance_type_code => l_balance_type_code);
81359
81360 END IF;
81361
81362 -----------------------------------------------------------------------------------------
81363 -- 4262811 Multiperiod Accounting
81364 -----------------------------------------------------------------------------------------
81365 -- No MPA option is assigned.
81366
81367
81368 END IF;
81369 END IF;
81370 --
81371
81372 --
81373 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81374 trace
81375 (p_msg => 'END of AcctLineType_143'
81376 ,p_level => C_LEVEL_PROCEDURE
81377 ,p_module => l_log_module);
81378 END IF;
81379 --
81380 EXCEPTION
81381 WHEN xla_exceptions_pkg.application_exception THEN
81382 RAISE;
81383 WHEN OTHERS THEN
81384 xla_exceptions_pkg.raise_message
81385 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_143');
81386 END AcctLineType_143;
81387 --
81388
81389 ---------------------------------------
81390 --
81391 -- PRIVATE FUNCTION
81392 -- AcctLineType_144
81393 --
81394 ---------------------------------------
81395 PROCEDURE AcctLineType_144 (
81396 p_application_id IN NUMBER
81397 ,p_event_id IN NUMBER
81398 ,p_calculate_acctd_flag IN VARCHAR2
81399 ,p_calculate_g_l_flag IN VARCHAR2
81400 ,p_actual_flag IN OUT VARCHAR2
81401 ,p_balance_type_code OUT VARCHAR2
81402 ,p_gain_or_loss_ref OUT VARCHAR2
81403
81404 --Payment Currency Code
81405 , p_source_13 IN VARCHAR2
81406 --Accounting Reversal Indicator
81407 , p_source_52 IN VARCHAR2
81408 --Distribution Link Type
81409 , p_source_54 IN VARCHAR2
81410 --Override Accounted Amount Indicator
81411 , p_source_79 IN VARCHAR2
81412 , p_source_79_meaning IN VARCHAR2
81413 --Third Party Type
81414 , p_source_82 IN VARCHAR2
81415 --Invoice Distribution Tax Line Identifier
81416 , p_source_85 IN NUMBER
81417 --Invoice Distribution Tax Distribution Identifier from Tax
81418 , p_source_86 IN NUMBER
81419 --Invoice Distribution Summary Tax Line Identifier
81420 , p_source_87 IN NUMBER
81421 --Business Flow Accounts Payable Application Identifier
81422 , p_source_90 IN NUMBER
81423 --Business Flow Invoice Distribution Type
81424 , p_source_91 IN VARCHAR2
81425 --Business Flow Invoice Entity Code
81426 , p_source_92 IN VARCHAR2
81427 --Business Flow Invoice Distribution Identifier
81428 , p_source_93 IN NUMBER
81429 --Business Flow Invoice Identifier
81430 , p_source_94 IN NUMBER
81431 --When to Account for Payment Option
81432 , p_source_96 IN VARCHAR2
81433 --Payment Distribution Type
81434 , p_source_97 IN VARCHAR2
81435 , p_source_97_meaning IN VARCHAR2
81439 , p_source_103 IN NUMBER
81436 --Payment Distribution Amount
81437 , p_source_98 IN NUMBER
81438 --Payment Distribution Identifier
81440 --Payment Distribution Reversed Identifier
81441 , p_source_111 IN NUMBER
81442 --Payment Distribution (Invoice Rate) Ledger Amount
81443 , p_source_116 IN NUMBER
81444 --Payment Type
81445 , p_source_122 IN VARCHAR2
81446 , p_source_122_meaning IN VARCHAR2
81447 --Payment Processing Type
81448 , p_source_123 IN VARCHAR2
81449 --Invoice Distribution Amount of the Payment Distribution
81450 , p_source_124 IN NUMBER
81451 --Invoice Type Paid
81452 , p_source_160 IN VARCHAR2
81453 , p_source_160_meaning IN VARCHAR2
81454 --Withholding at Payment Indicator
81455 , p_source_161 IN VARCHAR2
81456 , p_source_161_meaning IN VARCHAR2
81457 )
81458 IS
81459
81460 l_component_type VARCHAR2(80);
81461 l_component_code VARCHAR2(30);
81462 l_component_type_code VARCHAR2(1);
81463 l_component_appl_id INTEGER;
81464 l_amb_context_code VARCHAR2(30);
81465 l_entity_code VARCHAR2(30);
81466 l_event_class_code VARCHAR2(30);
81467 l_ae_header_id NUMBER;
81468 l_event_type_code VARCHAR2(30);
81469 l_line_definition_code VARCHAR2(30);
81470 l_line_definition_owner_code VARCHAR2(1);
81471 --
81472 -- adr variables
81473 l_segment VARCHAR2(30);
81474 l_ccid NUMBER;
81475 l_adr_transaction_coa_id NUMBER;
81476 l_adr_accounting_coa_id NUMBER;
81477 l_adr_flexfield_segment_code VARCHAR2(30);
81478 l_adr_flex_value_set_id NUMBER;
81479 l_adr_value_type_code VARCHAR2(30);
81480 l_adr_value_combination_id NUMBER;
81481 l_adr_value_segment_code VARCHAR2(30);
81482
81483 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
81484 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
81485 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
81486 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
81487
81488 -- 4262811 Variables ------------------------------------------------------------------------------------------
81489 l_entered_amt_idx NUMBER;
81490 l_accted_amt_idx NUMBER;
81491 l_acc_rev_flag VARCHAR2(1);
81492 l_accrual_line_num NUMBER;
81493 l_tmp_amt NUMBER;
81494 l_acc_rev_natural_side_code VARCHAR2(1);
81495
81496 l_num_entries NUMBER;
81497 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
81498 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
81499 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
81500 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
81501 l_recog_line_1 NUMBER;
81502 l_recog_line_2 NUMBER;
81503
81504 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
81505 l_bflow_applied_to_amt NUMBER; -- 5132302
81506 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
81507
81508 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
81509
81510 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
81511 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
81512
81513 ---------------------------------------------------------------------------------------------------------------
81514
81515
81516 --
81517 -- bulk performance
81518 --
81519 l_balance_type_code VARCHAR2(1);
81520 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
81521 l_log_module VARCHAR2(240);
81522
81523 --
81524 -- Upgrade strategy
81525 --
81526 l_actual_upg_option VARCHAR2(1);
81527 l_enc_upg_option VARCHAR2(1);
81528
81529 --
81530 BEGIN
81531 --
81532 IF g_log_enabled THEN
81533 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_144';
81534 END IF;
81535 --
81536 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81537
81538 trace
81539 (p_msg => 'BEGIN of AcctLineType_144'
81540 ,p_level => C_LEVEL_PROCEDURE
81541 ,p_module => l_log_module);
81542
81543 END IF;
81544 --
81545 l_component_type := 'AMB_JLT';
81546 l_component_code := 'AP_LIAB_AWT_PMT';
81547 l_component_type_code := 'S';
81548 l_component_appl_id := 200;
81549 l_amb_context_code := 'DEFAULT';
81550 l_entity_code := 'AP_PAYMENTS';
81551 l_event_class_code := 'PAYMENTS';
81552 l_event_type_code := 'PAYMENTS_ALL';
81553 l_line_definition_owner_code := 'S';
81554 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
81555 --
81556 l_balance_type_code := 'A';
81557 l_segment := NULL;
81558 l_ccid := NULL;
81559 l_adr_transaction_coa_id := NULL;
81560 l_adr_accounting_coa_id := NULL;
81561 l_adr_flexfield_segment_code := NULL;
81562 l_adr_flex_value_set_id := NULL;
81563 l_adr_value_type_code := NULL;
81564 l_adr_value_combination_id := NULL;
81568 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
81565 l_adr_value_segment_code := NULL;
81566
81567 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
81569 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81570 l_budgetary_control_flag := 'N';
81571
81572 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81573 l_bflow_applied_to_amt := NULL; -- 5132302
81574 l_entered_amt_idx := NULL; -- 4262811
81575 l_accted_amt_idx := NULL; -- 4262811
81576 l_acc_rev_flag := NULL; -- 4262811
81577 l_accrual_line_num := NULL; -- 4262811
81578 l_tmp_amt := NULL; -- 4262811
81579 --
81580
81581 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81582 l_balance_type_code <> 'B' THEN
81583 IF NVL(p_source_96,'
81584 ') <> 'CLEAR_CLEAR' AND
81585 NVL(p_source_160,'
81586 ') <> 'INTEREST' AND
81587 NVL(p_source_97,'
81588 ') = 'AWT' AND
81589 NVL(p_source_161,'
81590 ') = 'Y' AND
81591 NVL(p_source_122,'
81592 ') <> 'R' AND
81593 NVL(p_source_123,'
81594 ') <> 'PAYMENTCARD'
81595 THEN
81596
81597 --
81598 XLA_AE_LINES_PKG.SetNewLine;
81599
81600 p_balance_type_code := l_balance_type_code;
81601 -- set the flag so later we will know whether the gain loss line needs to be created
81602
81603 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81604 p_actual_flag :='A';
81605 END IF;
81606
81607 --
81608 -- bulk performance
81609 --
81610 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81611 p_header_num => 0); -- 4262811
81612 --
81613 -- set accounting line options
81614 --
81615 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81616 p_natural_side_code => 'D'
81617 , p_gain_or_loss_flag => 'N'
81618 , p_gl_transfer_mode_code => 'S'
81619 , p_acct_entry_type_code => 'A'
81620 , p_switch_side_flag => 'Y'
81621 , p_merge_duplicate_code => 'A'
81622 );
81623 --
81624 l_acc_rev_natural_side_code := 'C'; -- 4262811
81625 --
81626 --
81627 -- set accounting line type info
81628 --
81629 xla_ae_lines_pkg.SetAcctLineType
81630 (p_component_type => l_component_type
81631 ,p_event_type_code => l_event_type_code
81632 ,p_line_definition_owner_code => l_line_definition_owner_code
81633 ,p_line_definition_code => l_line_definition_code
81634 ,p_accounting_line_code => l_component_code
81635 ,p_accounting_line_type_code => l_component_type_code
81636 ,p_accounting_line_appl_id => l_component_appl_id
81637 ,p_amb_context_code => l_amb_context_code
81638 ,p_entity_code => l_entity_code
81639 ,p_event_class_code => l_event_class_code);
81640 --
81641 -- set accounting class
81642 --
81643 xla_ae_lines_pkg.SetAcctClass(
81644 p_accounting_class_code => 'LIABILITY'
81645 , p_ae_header_id => l_ae_header_id
81646 );
81647
81648 --
81649 -- set rounding class
81650 --
81651 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81652 'LIABILITY';
81653
81654 --
81655 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81656 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81657 --
81658 -- bulk performance
81659 --
81660 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81661
81662 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81663 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81664
81665 -- 4955764
81666 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81667 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81668
81669 -- 4458381 Public Sector Enh
81670
81671 --
81672 -- set accounting attributes for the line type
81673 --
81674 l_entered_amt_idx := 10;
81675 l_accted_amt_idx := 12;
81676 l_bflow_applied_to_amt_idx := 2; -- 5132302
81677 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81678 l_rec_acct_attrs.array_char_value(1) := p_source_52;
81679 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81680 l_rec_acct_attrs.array_num_value(2) := p_source_124;
81681 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81682 l_rec_acct_attrs.array_num_value(3) := p_source_90;
81683 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81684 l_rec_acct_attrs.array_char_value(4) := p_source_91;
81685 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81686 l_rec_acct_attrs.array_char_value(5) := p_source_92;
81687 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81688 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
81689 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81693 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81690 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
81691 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81692 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
81694 l_rec_acct_attrs.array_char_value(9) := p_source_54;
81695 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81696 l_rec_acct_attrs.array_num_value(10) := p_source_98;
81697 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81698 l_rec_acct_attrs.array_char_value(11) := p_source_13;
81699 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
81700 l_rec_acct_attrs.array_num_value(12) := p_source_116;
81701 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
81702 l_rec_acct_attrs.array_char_value(13) := p_source_79;
81703 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
81704 l_rec_acct_attrs.array_char_value(14) := p_source_82;
81705 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
81706 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
81707 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
81708 l_rec_acct_attrs.array_char_value(16) := p_source_54;
81709 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
81710 l_rec_acct_attrs.array_num_value(17) := p_source_85;
81711 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
81712 l_rec_acct_attrs.array_num_value(18) := p_source_86;
81713 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
81714 l_rec_acct_attrs.array_num_value(19) := p_source_87;
81715
81716 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81717 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81718
81719 ---------------------------------------------------------------------------------------------------------------
81720 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81721 ---------------------------------------------------------------------------------------------------------------
81722 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81723
81724 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81725 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81726
81727 IF xla_accounting_cache_pkg.GetValueChar
81728 (p_source_code => 'LEDGER_CATEGORY_CODE'
81729 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81730 AND l_bflow_method_code = 'PRIOR_ENTRY'
81731 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81732 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81733 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81734 )
81735 THEN
81736 xla_ae_lines_pkg.BflowUpgEntry
81737 (p_business_method_code => l_bflow_method_code
81738 ,p_business_class_code => l_bflow_class_code
81739 ,p_balance_type => l_balance_type_code);
81740 ELSE
81741 NULL;
81742 XLA_AE_LINES_PKG.business_flow_validation(
81743 p_business_method_code => l_bflow_method_code
81744 ,p_business_class_code => l_bflow_class_code
81745 ,p_inherit_description_flag => l_inherit_desc_flag);
81746 END IF;
81747
81748 --
81749 -- call analytical criteria
81750 --
81751 -- Inherited Analytical Criteria for business flow method of Prior Entry.
81752 --
81753 -- call description
81754 --
81755 -- No description or it is inherited.
81756 --
81757 -- call ADRs
81758 -- Bug 4922099
81759 --
81760 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81761 (NVL(l_actual_upg_option, 'N') = 'O') OR
81762 (NVL(l_enc_upg_option, 'N') = 'O')
81763 )
81764 THEN
81765 NULL;
81766 --
81767 --
81768
81769 --
81770 --
81771 END IF;
81772 --
81773 -- Bug 4922099
81774 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81775 (NVL(l_enc_upg_option, 'N') = 'O')
81776 ) AND
81777 (l_bflow_method_code = 'PRIOR_ENTRY')
81778 )
81779 THEN
81780 IF
81781 --
81782 1 = 1
81783 --
81784 THEN
81785 xla_accounting_err_pkg.build_message
81786 (p_appli_s_name => 'XLA'
81787 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81788 ,p_token_1 => 'LINE_NUMBER'
81789 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81790 ,p_token_2 => 'LINE_TYPE_NAME'
81791 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81792 l_component_type
81793 ,l_component_code
81797 ,l_entity_code
81794 ,l_component_type_code
81795 ,l_component_appl_id
81796 ,l_amb_context_code
81798 ,l_event_class_code
81799 )
81800 ,p_token_3 => 'OWNER'
81801 ,p_value_3 => xla_lookups_pkg.get_meaning(
81802 p_lookup_type => 'XLA_OWNER_TYPE'
81803 ,p_lookup_code => l_component_type_code
81804 )
81805 ,p_token_4 => 'PRODUCT_NAME'
81806 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81807 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81808 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81809 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81810 ,p_ae_header_id => NULL
81811 );
81812
81813 IF (C_LEVEL_ERROR>= g_log_level) THEN
81814 trace
81815 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81816 ,p_level => C_LEVEL_ERROR
81817 ,p_module => l_log_module);
81818 END IF;
81819 END IF;
81820 END IF;
81821 --
81822 --
81823 ------------------------------------------------------------------------------------------------
81824 -- 4219869 Business Flow
81825 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81826 -- Prior Entry. Currently, the following code is always generated.
81827 ------------------------------------------------------------------------------------------------
81828 -- No ValidateCurrentLine for business flow method of Prior Entry
81829
81830 ------------------------------------------------------------------------------------
81831 -- 4219869 Business Flow
81832 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81833 ------------------------------------------------------------------------------------
81834 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81835
81836 ----------------------------------------------------------------------------------
81837 -- 4219869 Business Flow
81838 -- Update journal entry status -- Need to generate this within IF <condition>
81839 ----------------------------------------------------------------------------------
81840 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81841 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81842 ,p_balance_type_code => l_balance_type_code
81843 );
81844
81845 -------------------------------------------------------------------------------------------
81846 -- 4262811 - Generate the Accrual Reversal lines
81847 -------------------------------------------------------------------------------------------
81848 BEGIN
81849 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81850 (g_array_event(p_event_id).array_value_num('header_index'));
81851 IF l_acc_rev_flag IS NULL THEN
81852 l_acc_rev_flag := 'N';
81853 END IF;
81854 EXCEPTION
81855 WHEN OTHERS THEN
81856 l_acc_rev_flag := 'N';
81857 END;
81858 --
81859 IF (l_acc_rev_flag = 'Y') THEN
81860
81861 -- 4645092 ------------------------------------------------------------------------------
81862 -- To allow MPA report to determine if it should generate report process
81863 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81864 ------------------------------------------------------------------------------------------
81865
81866 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81867 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81868 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81869 -- call ADRs
81870 -- Bug 4922099
81871 --
81872 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81873 (NVL(l_actual_upg_option, 'N') = 'O') OR
81874 (NVL(l_enc_upg_option, 'N') = 'O')
81875 )
81876 THEN
81877 NULL;
81878 --
81879 --
81880
81881 --
81882 --
81883 END IF;
81884
81885 --
81886 -- Update the line information that should be overwritten
81887 --
81888 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81889 p_header_num => 1);
81890 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81891
81892 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81893
81897
81894 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81895 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81896 END IF;
81898 --
81899 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81900 --
81901 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81902 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81903 ELSE
81904 ---------------------------------------------------------------------------------------------------
81905 -- 4262811a Switch Sign
81906 ---------------------------------------------------------------------------------------------------
81907 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81908 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81909 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81910 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81911 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81912 -- 5132302
81913 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81914 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81915
81916 END IF;
81917
81918 -- 4955764
81919 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81920 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81921
81922
81923 XLA_AE_LINES_PKG.ValidateCurrentLine;
81924 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81925
81926 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81927 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81928 ,p_balance_type_code => l_balance_type_code);
81929
81930 END IF;
81931
81932 -----------------------------------------------------------------------------------------
81933 -- 4262811 Multiperiod Accounting
81934 -----------------------------------------------------------------------------------------
81935 -- No MPA option is assigned.
81936
81937
81938 END IF;
81939 END IF;
81940 --
81941
81942 --
81943 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81944 trace
81945 (p_msg => 'END of AcctLineType_144'
81946 ,p_level => C_LEVEL_PROCEDURE
81947 ,p_module => l_log_module);
81948 END IF;
81949 --
81950 EXCEPTION
81951 WHEN xla_exceptions_pkg.application_exception THEN
81952 RAISE;
81953 WHEN OTHERS THEN
81954 xla_exceptions_pkg.raise_message
81955 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_144');
81956 END AcctLineType_144;
81957 --
81958
81959 ---------------------------------------
81960 --
81961 -- PRIVATE FUNCTION
81962 -- AcctLineType_145
81963 --
81964 ---------------------------------------
81965 PROCEDURE AcctLineType_145 (
81966 p_application_id IN NUMBER
81967 ,p_event_id IN NUMBER
81968 ,p_calculate_acctd_flag IN VARCHAR2
81969 ,p_calculate_g_l_flag IN VARCHAR2
81970 ,p_actual_flag IN OUT VARCHAR2
81971 ,p_balance_type_code OUT VARCHAR2
81972 ,p_gain_or_loss_ref OUT VARCHAR2
81973
81974 --Payment Currency Code
81975 , p_source_13 IN VARCHAR2
81976 --Accounting Reversal Indicator
81977 , p_source_52 IN VARCHAR2
81978 --Distribution Link Type
81979 , p_source_54 IN VARCHAR2
81980 --Override Accounted Amount Indicator
81981 , p_source_79 IN VARCHAR2
81982 , p_source_79_meaning IN VARCHAR2
81983 --Third Party Type
81984 , p_source_82 IN VARCHAR2
81985 --Invoice Distribution Tax Line Identifier
81986 , p_source_85 IN NUMBER
81987 --Invoice Distribution Summary Tax Line Identifier
81988 , p_source_87 IN NUMBER
81989 --Business Flow Accounts Payable Application Identifier
81990 , p_source_90 IN NUMBER
81991 --Business Flow Invoice Distribution Type
81992 , p_source_91 IN VARCHAR2
81993 --Business Flow Invoice Entity Code
81994 , p_source_92 IN VARCHAR2
81995 --Business Flow Invoice Distribution Identifier
81996 , p_source_93 IN NUMBER
81997 --Business Flow Invoice Identifier
81998 , p_source_94 IN NUMBER
81999 --When to Account for Payment Option
82000 , p_source_96 IN VARCHAR2
82001 --Payment Distribution Type
82002 , p_source_97 IN VARCHAR2
82003 , p_source_97_meaning IN VARCHAR2
82004 --Payment Distribution Amount
82005 , p_source_98 IN NUMBER
82006 --Payment Distribution Identifier
82007 , p_source_103 IN NUMBER
82008 --Payment Distribution Reversed Identifier
82009 , p_source_111 IN NUMBER
82010 --Payment Distribution (Invoice Rate) Ledger Amount
82011 , p_source_116 IN NUMBER
82012 --Invoice Type Paid
82013 , p_source_160 IN VARCHAR2
82014 , p_source_160_meaning IN VARCHAR2
82015 )
82016 IS
82017
82021 l_component_appl_id INTEGER;
82018 l_component_type VARCHAR2(80);
82019 l_component_code VARCHAR2(30);
82020 l_component_type_code VARCHAR2(1);
82022 l_amb_context_code VARCHAR2(30);
82023 l_entity_code VARCHAR2(30);
82024 l_event_class_code VARCHAR2(30);
82025 l_ae_header_id NUMBER;
82026 l_event_type_code VARCHAR2(30);
82027 l_line_definition_code VARCHAR2(30);
82028 l_line_definition_owner_code VARCHAR2(1);
82029 --
82030 -- adr variables
82031 l_segment VARCHAR2(30);
82032 l_ccid NUMBER;
82033 l_adr_transaction_coa_id NUMBER;
82034 l_adr_accounting_coa_id NUMBER;
82035 l_adr_flexfield_segment_code VARCHAR2(30);
82036 l_adr_flex_value_set_id NUMBER;
82037 l_adr_value_type_code VARCHAR2(30);
82038 l_adr_value_combination_id NUMBER;
82039 l_adr_value_segment_code VARCHAR2(30);
82040
82041 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82042 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82043 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82044 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82045
82046 -- 4262811 Variables ------------------------------------------------------------------------------------------
82047 l_entered_amt_idx NUMBER;
82048 l_accted_amt_idx NUMBER;
82049 l_acc_rev_flag VARCHAR2(1);
82050 l_accrual_line_num NUMBER;
82051 l_tmp_amt NUMBER;
82052 l_acc_rev_natural_side_code VARCHAR2(1);
82053
82054 l_num_entries NUMBER;
82055 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82056 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82057 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82058 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82059 l_recog_line_1 NUMBER;
82060 l_recog_line_2 NUMBER;
82061
82062 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82063 l_bflow_applied_to_amt NUMBER; -- 5132302
82064 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82065
82066 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82067
82068 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82069 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82070
82071 ---------------------------------------------------------------------------------------------------------------
82072
82073
82074 --
82075 -- bulk performance
82076 --
82077 l_balance_type_code VARCHAR2(1);
82078 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82079 l_log_module VARCHAR2(240);
82080
82081 --
82082 -- Upgrade strategy
82083 --
82084 l_actual_upg_option VARCHAR2(1);
82085 l_enc_upg_option VARCHAR2(1);
82086
82087 --
82088 BEGIN
82089 --
82090 IF g_log_enabled THEN
82091 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_145';
82092 END IF;
82093 --
82094 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82095
82096 trace
82097 (p_msg => 'BEGIN of AcctLineType_145'
82098 ,p_level => C_LEVEL_PROCEDURE
82099 ,p_module => l_log_module);
82100
82101 END IF;
82102 --
82103 l_component_type := 'AMB_JLT';
82104 l_component_code := 'AP_LIAB_CLEAR';
82105 l_component_type_code := 'S';
82106 l_component_appl_id := 200;
82107 l_amb_context_code := 'DEFAULT';
82108 l_entity_code := 'AP_PAYMENTS';
82109 l_event_class_code := 'RECONCILED PAYMENTS';
82110 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
82111 l_line_definition_owner_code := 'S';
82112 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
82113 --
82114 l_balance_type_code := 'A';
82115 l_segment := NULL;
82116 l_ccid := NULL;
82117 l_adr_transaction_coa_id := NULL;
82118 l_adr_accounting_coa_id := NULL;
82119 l_adr_flexfield_segment_code := NULL;
82120 l_adr_flex_value_set_id := NULL;
82121 l_adr_value_type_code := NULL;
82122 l_adr_value_combination_id := NULL;
82123 l_adr_value_segment_code := NULL;
82124
82125 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
82126 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82127 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82128 l_budgetary_control_flag := 'N';
82129
82130 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82131 l_bflow_applied_to_amt := NULL; -- 5132302
82132 l_entered_amt_idx := NULL; -- 4262811
82133 l_accted_amt_idx := NULL; -- 4262811
82134 l_acc_rev_flag := NULL; -- 4262811
82135 l_accrual_line_num := NULL; -- 4262811
82136 l_tmp_amt := NULL; -- 4262811
82137 --
82138
82139 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82140 l_balance_type_code <> 'B' THEN
82141 IF NVL(p_source_96,'
82142 ') = 'CLEAR_CLEAR' AND
82146 ') = 'ROUNDING' OR
82143 NVL(p_source_160,'
82144 ') <> 'INTEREST' AND
82145 (NVL(p_source_97,'
82147 NVL(p_source_97,'
82148 ') = 'CASH' OR
82149 NVL(p_source_97,'
82150 ') = 'DISCOUNT')
82151 THEN
82152
82153 --
82154 XLA_AE_LINES_PKG.SetNewLine;
82155
82156 p_balance_type_code := l_balance_type_code;
82157 -- set the flag so later we will know whether the gain loss line needs to be created
82158
82159 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82160 p_actual_flag :='A';
82161 END IF;
82162
82163 --
82164 -- bulk performance
82165 --
82166 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82167 p_header_num => 0); -- 4262811
82168 --
82169 -- set accounting line options
82170 --
82171 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82172 p_natural_side_code => 'D'
82173 , p_gain_or_loss_flag => 'N'
82174 , p_gl_transfer_mode_code => 'S'
82175 , p_acct_entry_type_code => 'A'
82176 , p_switch_side_flag => 'Y'
82177 , p_merge_duplicate_code => 'A'
82178 );
82179 --
82180 l_acc_rev_natural_side_code := 'C'; -- 4262811
82181 --
82182 --
82183 -- set accounting line type info
82184 --
82185 xla_ae_lines_pkg.SetAcctLineType
82186 (p_component_type => l_component_type
82187 ,p_event_type_code => l_event_type_code
82188 ,p_line_definition_owner_code => l_line_definition_owner_code
82189 ,p_line_definition_code => l_line_definition_code
82190 ,p_accounting_line_code => l_component_code
82191 ,p_accounting_line_type_code => l_component_type_code
82192 ,p_accounting_line_appl_id => l_component_appl_id
82193 ,p_amb_context_code => l_amb_context_code
82194 ,p_entity_code => l_entity_code
82195 ,p_event_class_code => l_event_class_code);
82196 --
82197 -- set accounting class
82198 --
82199 xla_ae_lines_pkg.SetAcctClass(
82200 p_accounting_class_code => 'LIABILITY'
82201 , p_ae_header_id => l_ae_header_id
82202 );
82203
82204 --
82205 -- set rounding class
82206 --
82207 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82208 'LIABILITY';
82209
82210 --
82211 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82212 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82213 --
82214 -- bulk performance
82215 --
82216 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82217
82218 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82219 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82220
82221 -- 4955764
82222 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82223 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82224
82225 -- 4458381 Public Sector Enh
82226
82227 --
82228 -- set accounting attributes for the line type
82229 --
82230 l_entered_amt_idx := 10;
82231 l_accted_amt_idx := 12;
82232 l_bflow_applied_to_amt_idx := 2; -- 5132302
82233 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82234 l_rec_acct_attrs.array_char_value(1) := p_source_52;
82235 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
82236 l_rec_acct_attrs.array_num_value(2) := p_source_98;
82237 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
82238 l_rec_acct_attrs.array_num_value(3) := p_source_90;
82239 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82240 l_rec_acct_attrs.array_char_value(4) := p_source_91;
82241 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
82242 l_rec_acct_attrs.array_char_value(5) := p_source_92;
82243 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
82244 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
82245 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82246 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
82247 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
82248 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
82249 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
82250 l_rec_acct_attrs.array_char_value(9) := p_source_54;
82251 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
82252 l_rec_acct_attrs.array_num_value(10) := p_source_98;
82253 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
82254 l_rec_acct_attrs.array_char_value(11) := p_source_13;
82255 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
82256 l_rec_acct_attrs.array_num_value(12) := p_source_116;
82257 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
82258 l_rec_acct_attrs.array_char_value(13) := p_source_79;
82259 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
82260 l_rec_acct_attrs.array_char_value(14) := p_source_82;
82261 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
82265 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
82262 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
82263 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
82264 l_rec_acct_attrs.array_char_value(16) := p_source_54;
82266 l_rec_acct_attrs.array_num_value(17) := p_source_85;
82267 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
82268 l_rec_acct_attrs.array_num_value(18) := p_source_85;
82269 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
82270 l_rec_acct_attrs.array_num_value(19) := p_source_87;
82271
82272 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82273 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82274
82275 ---------------------------------------------------------------------------------------------------------------
82276 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82277 ---------------------------------------------------------------------------------------------------------------
82278 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82279
82280 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82281 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82282
82283 IF xla_accounting_cache_pkg.GetValueChar
82284 (p_source_code => 'LEDGER_CATEGORY_CODE'
82285 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82286 AND l_bflow_method_code = 'PRIOR_ENTRY'
82287 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82288 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82289 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82290 )
82291 THEN
82292 xla_ae_lines_pkg.BflowUpgEntry
82293 (p_business_method_code => l_bflow_method_code
82294 ,p_business_class_code => l_bflow_class_code
82295 ,p_balance_type => l_balance_type_code);
82296 ELSE
82297 NULL;
82298 XLA_AE_LINES_PKG.business_flow_validation(
82299 p_business_method_code => l_bflow_method_code
82300 ,p_business_class_code => l_bflow_class_code
82301 ,p_inherit_description_flag => l_inherit_desc_flag);
82302 END IF;
82303
82304 --
82305 -- call analytical criteria
82306 --
82307 -- Inherited Analytical Criteria for business flow method of Prior Entry.
82308 --
82309 -- call description
82310 --
82311 -- No description or it is inherited.
82312 --
82313 -- call ADRs
82314 -- Bug 4922099
82315 --
82316 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82317 (NVL(l_actual_upg_option, 'N') = 'O') OR
82318 (NVL(l_enc_upg_option, 'N') = 'O')
82319 )
82320 THEN
82321 NULL;
82322 --
82323 --
82324
82325 --
82326 --
82327 END IF;
82328 --
82329 -- Bug 4922099
82330 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
82331 (NVL(l_enc_upg_option, 'N') = 'O')
82332 ) AND
82333 (l_bflow_method_code = 'PRIOR_ENTRY')
82334 )
82335 THEN
82336 IF
82337 --
82338 1 = 1
82339 --
82340 THEN
82341 xla_accounting_err_pkg.build_message
82342 (p_appli_s_name => 'XLA'
82343 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82344 ,p_token_1 => 'LINE_NUMBER'
82345 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
82346 ,p_token_2 => 'LINE_TYPE_NAME'
82347 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
82348 l_component_type
82349 ,l_component_code
82350 ,l_component_type_code
82351 ,l_component_appl_id
82352 ,l_amb_context_code
82353 ,l_entity_code
82354 ,l_event_class_code
82355 )
82356 ,p_token_3 => 'OWNER'
82357 ,p_value_3 => xla_lookups_pkg.get_meaning(
82358 p_lookup_type => 'XLA_OWNER_TYPE'
82359 ,p_lookup_code => l_component_type_code
82360 )
82361 ,p_token_4 => 'PRODUCT_NAME'
82362 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
82366 ,p_ae_header_id => NULL
82363 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
82364 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
82365 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
82367 );
82368
82369 IF (C_LEVEL_ERROR>= g_log_level) THEN
82370 trace
82371 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82372 ,p_level => C_LEVEL_ERROR
82373 ,p_module => l_log_module);
82374 END IF;
82375 END IF;
82376 END IF;
82377 --
82378 --
82379 ------------------------------------------------------------------------------------------------
82380 -- 4219869 Business Flow
82381 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
82382 -- Prior Entry. Currently, the following code is always generated.
82383 ------------------------------------------------------------------------------------------------
82384 -- No ValidateCurrentLine for business flow method of Prior Entry
82385
82386 ------------------------------------------------------------------------------------
82387 -- 4219869 Business Flow
82388 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
82389 ------------------------------------------------------------------------------------
82390 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82391
82392 ----------------------------------------------------------------------------------
82393 -- 4219869 Business Flow
82394 -- Update journal entry status -- Need to generate this within IF <condition>
82395 ----------------------------------------------------------------------------------
82396 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82397 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
82398 ,p_balance_type_code => l_balance_type_code
82399 );
82400
82401 -------------------------------------------------------------------------------------------
82402 -- 4262811 - Generate the Accrual Reversal lines
82403 -------------------------------------------------------------------------------------------
82404 BEGIN
82405 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
82406 (g_array_event(p_event_id).array_value_num('header_index'));
82407 IF l_acc_rev_flag IS NULL THEN
82408 l_acc_rev_flag := 'N';
82409 END IF;
82410 EXCEPTION
82411 WHEN OTHERS THEN
82412 l_acc_rev_flag := 'N';
82413 END;
82414 --
82415 IF (l_acc_rev_flag = 'Y') THEN
82416
82417 -- 4645092 ------------------------------------------------------------------------------
82418 -- To allow MPA report to determine if it should generate report process
82419 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
82420 ------------------------------------------------------------------------------------------
82421
82422 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
82423 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
82424 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
82425 -- call ADRs
82426 -- Bug 4922099
82427 --
82428 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82429 (NVL(l_actual_upg_option, 'N') = 'O') OR
82430 (NVL(l_enc_upg_option, 'N') = 'O')
82431 )
82432 THEN
82433 NULL;
82434 --
82435 --
82436
82437 --
82438 --
82439 END IF;
82440
82441 --
82442 -- Update the line information that should be overwritten
82443 --
82444 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
82445 p_header_num => 1);
82446 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
82447
82448 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
82449
82450 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
82451 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
82452 END IF;
82453
82454 --
82455 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
82456 --
82457 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
82458 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
82459 ELSE
82460 ---------------------------------------------------------------------------------------------------
82461 -- 4262811a Switch Sign
82462 ---------------------------------------------------------------------------------------------------
82463 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
82464 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82465 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82469 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
82466 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82467 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82468 -- 5132302
82470 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82471
82472 END IF;
82473
82474 -- 4955764
82475 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82476 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
82477
82478
82479 XLA_AE_LINES_PKG.ValidateCurrentLine;
82480 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82481
82482 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82483 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
82484 ,p_balance_type_code => l_balance_type_code);
82485
82486 END IF;
82487
82488 -----------------------------------------------------------------------------------------
82489 -- 4262811 Multiperiod Accounting
82490 -----------------------------------------------------------------------------------------
82491 -- No MPA option is assigned.
82492
82493
82494 END IF;
82495 END IF;
82496 --
82497
82498 --
82499 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82500 trace
82501 (p_msg => 'END of AcctLineType_145'
82502 ,p_level => C_LEVEL_PROCEDURE
82503 ,p_module => l_log_module);
82504 END IF;
82505 --
82506 EXCEPTION
82507 WHEN xla_exceptions_pkg.application_exception THEN
82508 RAISE;
82509 WHEN OTHERS THEN
82510 xla_exceptions_pkg.raise_message
82511 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_145');
82512 END AcctLineType_145;
82513 --
82514
82515 ---------------------------------------
82516 --
82517 -- PRIVATE FUNCTION
82518 -- AcctLineType_146
82519 --
82520 ---------------------------------------
82521 PROCEDURE AcctLineType_146 (
82522 p_application_id IN NUMBER
82523 ,p_event_id IN NUMBER
82524 ,p_calculate_acctd_flag IN VARCHAR2
82525 ,p_calculate_g_l_flag IN VARCHAR2
82526 ,p_actual_flag IN OUT VARCHAR2
82527 ,p_balance_type_code OUT VARCHAR2
82528 ,p_gain_or_loss_ref OUT VARCHAR2
82529
82530 --Invoice Distribution Description
82531 , p_source_1 IN VARCHAR2
82532 --Automatic Offsets Value
82533 , p_source_15 IN VARCHAR2
82534 , p_source_15_meaning IN VARCHAR2
82535 --Invoice Distribution Ledger Amount
82536 , p_source_21 IN NUMBER
82537 --Invoice Liability Account
82538 , p_source_34 IN NUMBER
82539 --Accounting Reversal Indicator
82540 , p_source_52 IN VARCHAR2
82541 --Distribution Link Type
82542 , p_source_54 IN VARCHAR2
82543 --Allocation to Main Distribution Identifier
82544 , p_source_56 IN NUMBER
82545 --Invoice Identifier
82546 , p_source_57 IN NUMBER
82547 --Invoice Distribution Identifier
82548 , p_source_63 IN NUMBER
82549 --Payables Encumbrance Upgrade Credit Account
82550 , p_source_64 IN NUMBER
82551 --Payables Encumbrance Upgrade Credit Amount
82552 , p_source_65 IN NUMBER
82553 --Invoice Currency Code
82554 , p_source_66 IN VARCHAR2
82555 --Payables Encumbrance Upgrade Credit Base Amount
82556 , p_source_67 IN NUMBER
82557 --Payables Encumbrance Upgrade Debit Account
82558 , p_source_68 IN NUMBER
82559 --Payables Encumbrance Upgrade Debit Amount
82560 , p_source_69 IN NUMBER
82561 --Payables Encumbrance Upgrade Debit Base Amount
82562 , p_source_70 IN NUMBER
82563 --Payables Encumbrance Upgrade Option
82564 , p_source_71 IN VARCHAR2
82565 --Invoice Distribution Amount
82566 , p_source_72 IN NUMBER
82567 --Deferred Accounting End Date
82568 , p_source_76 IN DATE
82569 --Deferred Accounting Option
82570 , p_source_77 IN VARCHAR2
82571 --Deferred Accounting Start Date
82572 , p_source_78 IN DATE
82573 --Override Accounted Amount Indicator
82574 , p_source_79 IN VARCHAR2
82575 , p_source_79_meaning IN VARCHAR2
82576 --Invoice Supplier Identifier
82577 , p_source_80 IN NUMBER
82578 --Invoice Supplier Site Identifier
82579 , p_source_81 IN NUMBER
82580 --Third Party Type
82581 , p_source_82 IN VARCHAR2
82582 --Parent Reversal Identifier
82583 , p_source_83 IN NUMBER
82584 --Invoice Distribution Statistical Amount
82585 , p_source_84 IN NUMBER
82586 --Invoice Distribution Tax Line Identifier
82587 , p_source_85 IN NUMBER
82588 --Invoice Distribution Tax Distribution Identifier from Tax
82589 , p_source_86 IN NUMBER
82590 --Invoice Distribution Summary Tax Line Identifier
82591 , p_source_87 IN NUMBER
82592 --Payables Upgrade Credit Encumbrance Type Identifier
82593 , p_source_88 IN NUMBER
82594 --Payables Upgrade Debit Encumbrance Type Identifier
82595 , p_source_89 IN NUMBER
82596 --Business Flow Accounts Payable Application Identifier
82600 --Business Flow Invoice Entity Code
82597 , p_source_90 IN NUMBER
82598 --Business Flow Invoice Distribution Type
82599 , p_source_91 IN VARCHAR2
82601 , p_source_92 IN VARCHAR2
82602 --Business Flow Invoice Distribution Identifier
82603 , p_source_93 IN NUMBER
82604 --Business Flow Invoice Identifier
82605 , p_source_94 IN NUMBER
82606 --Self-Assessed Tax Flag
82607 , p_source_135 IN VARCHAR2
82608 , p_source_135_meaning IN VARCHAR2
82609 --Invoice Exchange Date
82610 , p_source_136 IN DATE
82611 --Invoice Exchange Rate
82612 , p_source_137 IN NUMBER
82613 --Invoice Exchange Rate Type
82614 , p_source_138 IN VARCHAR2
82615 --Invoice Source
82616 , p_source_163 IN VARCHAR2
82617 )
82618 IS
82619
82620 l_component_type VARCHAR2(80);
82621 l_component_code VARCHAR2(30);
82622 l_component_type_code VARCHAR2(1);
82623 l_component_appl_id INTEGER;
82624 l_amb_context_code VARCHAR2(30);
82625 l_entity_code VARCHAR2(30);
82626 l_event_class_code VARCHAR2(30);
82627 l_ae_header_id NUMBER;
82628 l_event_type_code VARCHAR2(30);
82629 l_line_definition_code VARCHAR2(30);
82630 l_line_definition_owner_code VARCHAR2(1);
82631 --
82632 -- adr variables
82633 l_segment VARCHAR2(30);
82634 l_ccid NUMBER;
82635 l_adr_transaction_coa_id NUMBER;
82636 l_adr_accounting_coa_id NUMBER;
82637 l_adr_flexfield_segment_code VARCHAR2(30);
82638 l_adr_flex_value_set_id NUMBER;
82639 l_adr_value_type_code VARCHAR2(30);
82640 l_adr_value_combination_id NUMBER;
82641 l_adr_value_segment_code VARCHAR2(30);
82642
82643 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82644 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82645 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82646 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82647
82648 -- 4262811 Variables ------------------------------------------------------------------------------------------
82649 l_entered_amt_idx NUMBER;
82650 l_accted_amt_idx NUMBER;
82651 l_acc_rev_flag VARCHAR2(1);
82652 l_accrual_line_num NUMBER;
82653 l_tmp_amt NUMBER;
82654 l_acc_rev_natural_side_code VARCHAR2(1);
82655
82656 l_num_entries NUMBER;
82657 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82658 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82659 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82660 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82661 l_recog_line_1 NUMBER;
82662 l_recog_line_2 NUMBER;
82663
82664 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82665 l_bflow_applied_to_amt NUMBER; -- 5132302
82666 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82667
82668 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82669
82670 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82671 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82672
82673 ---------------------------------------------------------------------------------------------------------------
82674
82675
82676 --
82677 -- bulk performance
82678 --
82679 l_balance_type_code VARCHAR2(1);
82680 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82681 l_log_module VARCHAR2(240);
82682
82683 --
82684 -- Upgrade strategy
82685 --
82686 l_actual_upg_option VARCHAR2(1);
82687 l_enc_upg_option VARCHAR2(1);
82688
82689 --
82690 BEGIN
82691 --
82692 IF g_log_enabled THEN
82693 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_146';
82694 END IF;
82695 --
82696 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82697
82698 trace
82699 (p_msg => 'BEGIN of AcctLineType_146'
82700 ,p_level => C_LEVEL_PROCEDURE
82701 ,p_module => l_log_module);
82702
82703 END IF;
82704 --
82705 l_component_type := 'AMB_JLT';
82706 l_component_code := 'AP_LIAB_CM';
82707 l_component_type_code := 'S';
82708 l_component_appl_id := 200;
82709 l_amb_context_code := 'DEFAULT';
82710 l_entity_code := 'AP_INVOICES';
82711 l_event_class_code := 'CREDIT MEMOS';
82712 l_event_type_code := 'CREDIT MEMOS_ALL';
82713 l_line_definition_owner_code := 'S';
82714 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
82715 --
82716 l_balance_type_code := 'A';
82717 l_segment := NULL;
82718 l_ccid := NULL;
82719 l_adr_transaction_coa_id := NULL;
82720 l_adr_accounting_coa_id := NULL;
82721 l_adr_flexfield_segment_code := NULL;
82722 l_adr_flex_value_set_id := NULL;
82723 l_adr_value_type_code := NULL;
82724 l_adr_value_combination_id := NULL;
82725 l_adr_value_segment_code := NULL;
82726
82727 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
82731
82728 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82729 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82730 l_budgetary_control_flag := 'N';
82732 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82733 l_bflow_applied_to_amt := NULL; -- 5132302
82734 l_entered_amt_idx := NULL; -- 4262811
82735 l_accted_amt_idx := NULL; -- 4262811
82736 l_acc_rev_flag := NULL; -- 4262811
82737 l_accrual_line_num := NULL; -- 4262811
82738 l_tmp_amt := NULL; -- 4262811
82739 --
82740
82741 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82742 l_balance_type_code <> 'B' THEN
82743 IF (NVL(p_source_15,'
82744 ') <> 'BALANCING_SEGMENT' AND
82745 NVL(p_source_15,'
82746 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
82747 NVL(p_source_135,'
82748 ') <> 'Y'
82749 THEN
82750
82751 --
82752 XLA_AE_LINES_PKG.SetNewLine;
82753
82754 p_balance_type_code := l_balance_type_code;
82755 -- set the flag so later we will know whether the gain loss line needs to be created
82756
82757 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82758 p_actual_flag :='A';
82759 END IF;
82760
82761 --
82762 -- bulk performance
82763 --
82764 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82765 p_header_num => 0); -- 4262811
82766 --
82767 -- set accounting line options
82768 --
82769 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82770 p_natural_side_code => 'C'
82771 , p_gain_or_loss_flag => 'N'
82772 , p_gl_transfer_mode_code => 'S'
82773 , p_acct_entry_type_code => 'A'
82774 , p_switch_side_flag => 'Y'
82775 , p_merge_duplicate_code => 'A'
82776 );
82777 --
82778 l_acc_rev_natural_side_code := 'D'; -- 4262811
82779 --
82780 --
82781 -- set accounting line type info
82782 --
82783 xla_ae_lines_pkg.SetAcctLineType
82784 (p_component_type => l_component_type
82785 ,p_event_type_code => l_event_type_code
82786 ,p_line_definition_owner_code => l_line_definition_owner_code
82787 ,p_line_definition_code => l_line_definition_code
82788 ,p_accounting_line_code => l_component_code
82789 ,p_accounting_line_type_code => l_component_type_code
82790 ,p_accounting_line_appl_id => l_component_appl_id
82791 ,p_amb_context_code => l_amb_context_code
82792 ,p_entity_code => l_entity_code
82793 ,p_event_class_code => l_event_class_code);
82794 --
82795 -- set accounting class
82796 --
82797 xla_ae_lines_pkg.SetAcctClass(
82798 p_accounting_class_code => 'LIABILITY'
82799 , p_ae_header_id => l_ae_header_id
82800 );
82801
82802 --
82803 -- set rounding class
82804 --
82805 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82806 'LIABILITY';
82807
82808 --
82809 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82810 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82811 --
82812 -- bulk performance
82813 --
82814 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82815
82816 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82817 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82818
82819 -- 4955764
82820 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82821 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82822
82823 -- 4458381 Public Sector Enh
82824
82825 --
82826 -- set accounting attributes for the line type
82827 --
82828 l_entered_amt_idx := 23;
82829 l_accted_amt_idx := 28;
82830 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82831 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82832 l_rec_acct_attrs.array_char_value(1) := p_source_52;
82833 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
82834 l_rec_acct_attrs.array_num_value(2) :=
82835 xla_ae_sources_pkg.GetSystemSourceNum(
82836 p_source_code => 'XLA_EVENT_APPL_ID'
82837 , p_source_type_code => 'Y'
82838 , p_source_application_id => 602
82839 );
82840 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
82841 l_rec_acct_attrs.array_char_value(3) := p_source_54;
82842 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
82843 l_rec_acct_attrs.array_char_value(4) :=
82844 xla_ae_sources_pkg.GetSystemSourceChar(
82845 p_source_code => 'XLA_ENTITY_CODE'
82846 , p_source_type_code => 'Y'
82847 , p_source_application_id => 602
82848 );
82849 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
82850 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
82854 l_rec_acct_attrs.array_num_value(7) := p_source_90;
82851 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
82852 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
82853 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
82855 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82856 l_rec_acct_attrs.array_char_value(8) := p_source_91;
82857 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
82858 l_rec_acct_attrs.array_char_value(9) := p_source_92;
82859 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
82860 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
82861 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82862 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
82863 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
82864 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
82865 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
82866 l_rec_acct_attrs.array_char_value(13) := p_source_54;
82867 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
82868 l_rec_acct_attrs.array_num_value(14) := p_source_64;
82869 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
82870 l_rec_acct_attrs.array_num_value(15) := p_source_65;
82871 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
82872 l_rec_acct_attrs.array_char_value(16) := p_source_66;
82873 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
82874 l_rec_acct_attrs.array_num_value(17) := p_source_67;
82875 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
82876 l_rec_acct_attrs.array_num_value(18) := p_source_68;
82877 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
82878 l_rec_acct_attrs.array_num_value(19) := p_source_69;
82879 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
82880 l_rec_acct_attrs.array_char_value(20) := p_source_66;
82881 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
82882 l_rec_acct_attrs.array_num_value(21) := p_source_70;
82883 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
82884 l_rec_acct_attrs.array_char_value(22) := p_source_71;
82885 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
82886 l_rec_acct_attrs.array_num_value(23) := p_source_72;
82887 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
82888 l_rec_acct_attrs.array_char_value(24) := p_source_66;
82889 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
82890 l_rec_acct_attrs.array_date_value(25) := p_source_136;
82891 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
82892 l_rec_acct_attrs.array_num_value(26) := p_source_137;
82893 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
82894 l_rec_acct_attrs.array_char_value(27) := p_source_138;
82895 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
82896 l_rec_acct_attrs.array_num_value(28) := p_source_21;
82897 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
82898 l_rec_acct_attrs.array_date_value(29) := p_source_76;
82899 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
82900 l_rec_acct_attrs.array_char_value(30) := p_source_77;
82901 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
82902 l_rec_acct_attrs.array_date_value(31) := p_source_78;
82903 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
82904 l_rec_acct_attrs.array_char_value(32) := p_source_79;
82905 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
82906 l_rec_acct_attrs.array_num_value(33) := p_source_80;
82907 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
82908 l_rec_acct_attrs.array_num_value(34) := p_source_81;
82909 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
82910 l_rec_acct_attrs.array_char_value(35) := p_source_82;
82911 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
82912 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
82913 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
82914 l_rec_acct_attrs.array_char_value(37) := p_source_54;
82915 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
82916 l_rec_acct_attrs.array_num_value(38) := p_source_84;
82917 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
82918 l_rec_acct_attrs.array_num_value(39) := p_source_85;
82919 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
82920 l_rec_acct_attrs.array_num_value(40) := p_source_86;
82921 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
82922 l_rec_acct_attrs.array_num_value(41) := p_source_87;
82923 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
82924 l_rec_acct_attrs.array_num_value(42) := p_source_88;
82925 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
82926 l_rec_acct_attrs.array_num_value(43) := p_source_89;
82927
82928 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82929 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82930
82931 ---------------------------------------------------------------------------------------------------------------
82932 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82933 ---------------------------------------------------------------------------------------------------------------
82937 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82934 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82935
82936 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82938
82939 IF xla_accounting_cache_pkg.GetValueChar
82940 (p_source_code => 'LEDGER_CATEGORY_CODE'
82941 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82942 AND l_bflow_method_code = 'PRIOR_ENTRY'
82943 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82944 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82945 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82946 )
82947 THEN
82948 xla_ae_lines_pkg.BflowUpgEntry
82949 (p_business_method_code => l_bflow_method_code
82950 ,p_business_class_code => l_bflow_class_code
82951 ,p_balance_type => l_balance_type_code);
82952 ELSE
82953 NULL;
82954 -- No business flow processing for business flow method of NONE.
82955 END IF;
82956
82957 --
82958 -- call analytical criteria
82959 --
82960
82961
82962 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
82963 xla_ae_lines_pkg.SetAnalyticalCriteria(
82964 p_analytical_criterion_name => 'Payables Custom Source'
82965 , p_analytical_criterion_owner => 'S'
82966 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
82967 , p_amb_context_code => 'DEFAULT'
82968 , p_balancing_flag => 'N'
82969
82970 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
82971 p_source_163
82972 , p_source_57
82973 , p_source_63))
82974 , p_analytical_detail_num_1 => NULL
82975 , p_analytical_detail_date_1 => NULL
82976
82977 , p_ae_header_id => l_ae_header_id
82978 )
82979 ;
82980 --
82981
82982 --
82983 -- call description
82984 --
82985
82986 xla_ae_lines_pkg.SetLineDescription(
82987 p_ae_header_id => l_ae_header_id
82988 ,p_description => Description_1 (
82989 p_application_id => p_application_id
82990 , p_ae_header_id => l_ae_header_id
82991 , p_source_1 => p_source_1
82992 )
82993 );
82994
82995
82996 --
82997 -- call ADRs
82998 -- Bug 4922099
82999 --
83000 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83001 (NVL(l_actual_upg_option, 'N') = 'O') OR
83002 (NVL(l_enc_upg_option, 'N') = 'O')
83003 )
83004 THEN
83005 NULL;
83006 --
83007 --
83008
83009 l_ccid := AcctDerRule_34(
83010 p_application_id => p_application_id
83011 , p_ae_header_id => l_ae_header_id
83012 , p_source_34 => p_source_34
83013 , x_transaction_coa_id => l_adr_transaction_coa_id
83014 , x_accounting_coa_id => l_adr_accounting_coa_id
83015 , x_value_type_code => l_adr_value_type_code
83016 , p_side => 'NA'
83017 );
83018
83019 xla_ae_lines_pkg.set_ccid(
83020 p_code_combination_id => l_ccid
83021 , p_value_type_code => l_adr_value_type_code
83022 , p_transaction_coa_id => l_adr_transaction_coa_id
83023 , p_accounting_coa_id => l_adr_accounting_coa_id
83024 , p_adr_code => 'AP_LIAB'
83025 , p_adr_type_code => 'S'
83026 , p_component_type => l_component_type
83027 , p_component_code => l_component_code
83028 , p_component_type_code => l_component_type_code
83029 , p_component_appl_id => l_component_appl_id
83030 , p_amb_context_code => l_amb_context_code
83031 , p_side => 'NA'
83032 );
83033
83034
83035 --
83036 --
83037 END IF;
83038 --
83039 -- Bug 4922099
83040 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83041 (NVL(l_enc_upg_option, 'N') = 'O')
83042 ) AND
83043 (l_bflow_method_code = 'PRIOR_ENTRY')
83044 )
83045 THEN
83046 IF
83047 --
83048 1 = 2
83049 --
83050 THEN
83051 xla_accounting_err_pkg.build_message
83052 (p_appli_s_name => 'XLA'
83053 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83054 ,p_token_1 => 'LINE_NUMBER'
83055 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83056 ,p_token_2 => 'LINE_TYPE_NAME'
83057 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83058 l_component_type
83059 ,l_component_code
83060 ,l_component_type_code
83061 ,l_component_appl_id
83065 )
83062 ,l_amb_context_code
83063 ,l_entity_code
83064 ,l_event_class_code
83066 ,p_token_3 => 'OWNER'
83067 ,p_value_3 => xla_lookups_pkg.get_meaning(
83068 p_lookup_type => 'XLA_OWNER_TYPE'
83069 ,p_lookup_code => l_component_type_code
83070 )
83071 ,p_token_4 => 'PRODUCT_NAME'
83072 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83073 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83074 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83075 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83076 ,p_ae_header_id => NULL
83077 );
83078
83079 IF (C_LEVEL_ERROR>= g_log_level) THEN
83080 trace
83081 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83082 ,p_level => C_LEVEL_ERROR
83083 ,p_module => l_log_module);
83084 END IF;
83085 END IF;
83086 END IF;
83087 --
83088 --
83089 ------------------------------------------------------------------------------------------------
83090 -- 4219869 Business Flow
83091 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83092 -- Prior Entry. Currently, the following code is always generated.
83093 ------------------------------------------------------------------------------------------------
83094 XLA_AE_LINES_PKG.ValidateCurrentLine;
83095
83096 ------------------------------------------------------------------------------------
83097 -- 4219869 Business Flow
83098 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83099 ------------------------------------------------------------------------------------
83100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83101
83102 ----------------------------------------------------------------------------------
83103 -- 4219869 Business Flow
83104 -- Update journal entry status -- Need to generate this within IF <condition>
83105 ----------------------------------------------------------------------------------
83106 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83107 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83108 ,p_balance_type_code => l_balance_type_code
83109 );
83110
83111 -------------------------------------------------------------------------------------------
83112 -- 4262811 - Generate the Accrual Reversal lines
83113 -------------------------------------------------------------------------------------------
83114 BEGIN
83115 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83116 (g_array_event(p_event_id).array_value_num('header_index'));
83117 IF l_acc_rev_flag IS NULL THEN
83118 l_acc_rev_flag := 'N';
83119 END IF;
83120 EXCEPTION
83121 WHEN OTHERS THEN
83122 l_acc_rev_flag := 'N';
83123 END;
83124 --
83125 IF (l_acc_rev_flag = 'Y') THEN
83126
83127 -- 4645092 ------------------------------------------------------------------------------
83128 -- To allow MPA report to determine if it should generate report process
83129 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83130 ------------------------------------------------------------------------------------------
83131
83132 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83133 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83134 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83135 -- call ADRs
83136 -- Bug 4922099
83137 --
83138 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83139 (NVL(l_actual_upg_option, 'N') = 'O') OR
83140 (NVL(l_enc_upg_option, 'N') = 'O')
83141 )
83142 THEN
83143 NULL;
83144 --
83145 --
83146
83147 l_ccid := AcctDerRule_34(
83148 p_application_id => p_application_id
83149 , p_ae_header_id => l_ae_header_id
83150 , p_source_34 => p_source_34
83151 , x_transaction_coa_id => l_adr_transaction_coa_id
83152 , x_accounting_coa_id => l_adr_accounting_coa_id
83153 , x_value_type_code => l_adr_value_type_code
83154 , p_side => 'NA'
83155 );
83156
83157 xla_ae_lines_pkg.set_ccid(
83158 p_code_combination_id => l_ccid
83159 , p_value_type_code => l_adr_value_type_code
83160 , p_transaction_coa_id => l_adr_transaction_coa_id
83164 , p_component_type => l_component_type
83161 , p_accounting_coa_id => l_adr_accounting_coa_id
83162 , p_adr_code => 'AP_LIAB'
83163 , p_adr_type_code => 'S'
83165 , p_component_code => l_component_code
83166 , p_component_type_code => l_component_type_code
83167 , p_component_appl_id => l_component_appl_id
83168 , p_amb_context_code => l_amb_context_code
83169 , p_side => 'NA'
83170 );
83171
83172
83173 --
83174 --
83175 END IF;
83176
83177 --
83178 -- Update the line information that should be overwritten
83179 --
83180 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83181 p_header_num => 1);
83182 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83183
83184 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83185
83186 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83187 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83188 END IF;
83189
83190 --
83191 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83192 --
83193 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83194 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83195 ELSE
83196 ---------------------------------------------------------------------------------------------------
83197 -- 4262811a Switch Sign
83198 ---------------------------------------------------------------------------------------------------
83199 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83200 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83201 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83202 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83203 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83204 -- 5132302
83205 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83206 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83207
83208 END IF;
83209
83210 -- 4955764
83211 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83212 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83213
83214
83215 XLA_AE_LINES_PKG.ValidateCurrentLine;
83216 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83217
83218 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83219 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83220 ,p_balance_type_code => l_balance_type_code);
83221
83222 END IF;
83223
83224 -----------------------------------------------------------------------------------------
83225 -- 4262811 Multiperiod Accounting
83226 -----------------------------------------------------------------------------------------
83227 -- No MPA option is assigned.
83228
83229
83230 END IF;
83231 END IF;
83232 --
83233
83234 --
83235 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83236 trace
83237 (p_msg => 'END of AcctLineType_146'
83238 ,p_level => C_LEVEL_PROCEDURE
83239 ,p_module => l_log_module);
83240 END IF;
83241 --
83242 EXCEPTION
83243 WHEN xla_exceptions_pkg.application_exception THEN
83244 RAISE;
83245 WHEN OTHERS THEN
83246 xla_exceptions_pkg.raise_message
83247 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_146');
83248 END AcctLineType_146;
83249 --
83250
83251 ---------------------------------------
83252 --
83253 -- PRIVATE FUNCTION
83254 -- AcctLineType_147
83255 --
83256 ---------------------------------------
83257 PROCEDURE AcctLineType_147 (
83258 p_application_id IN NUMBER
83259 ,p_event_id IN NUMBER
83260 ,p_calculate_acctd_flag IN VARCHAR2
83261 ,p_calculate_g_l_flag IN VARCHAR2
83262 ,p_actual_flag IN OUT VARCHAR2
83263 ,p_balance_type_code OUT VARCHAR2
83264 ,p_gain_or_loss_ref OUT VARCHAR2
83265
83266 --Invoice Distribution Description
83267 , p_source_1 IN VARCHAR2
83268 --Automatic Offsets Value
83269 , p_source_15 IN VARCHAR2
83270 , p_source_15_meaning IN VARCHAR2
83271 --Invoice Distribution Ledger Amount
83272 , p_source_21 IN NUMBER
83273 --Invoice Liability Account
83274 , p_source_34 IN NUMBER
83275 --Accounting Reversal Indicator
83276 , p_source_52 IN VARCHAR2
83277 --Distribution Link Type
83278 , p_source_54 IN VARCHAR2
83279 --Allocation to Main Distribution Identifier
83280 , p_source_56 IN NUMBER
83281 --Invoice Identifier
83282 , p_source_57 IN NUMBER
83283 --Invoice Distribution Identifier
83284 , p_source_63 IN NUMBER
83288 , p_source_65 IN NUMBER
83285 --Payables Encumbrance Upgrade Credit Account
83286 , p_source_64 IN NUMBER
83287 --Payables Encumbrance Upgrade Credit Amount
83289 --Invoice Currency Code
83290 , p_source_66 IN VARCHAR2
83291 --Payables Encumbrance Upgrade Credit Base Amount
83292 , p_source_67 IN NUMBER
83293 --Payables Encumbrance Upgrade Debit Account
83294 , p_source_68 IN NUMBER
83295 --Payables Encumbrance Upgrade Debit Amount
83296 , p_source_69 IN NUMBER
83297 --Payables Encumbrance Upgrade Debit Base Amount
83298 , p_source_70 IN NUMBER
83299 --Payables Encumbrance Upgrade Option
83300 , p_source_71 IN VARCHAR2
83301 --Invoice Distribution Amount
83302 , p_source_72 IN NUMBER
83303 --Deferred Accounting End Date
83304 , p_source_76 IN DATE
83305 --Deferred Accounting Option
83306 , p_source_77 IN VARCHAR2
83307 --Deferred Accounting Start Date
83308 , p_source_78 IN DATE
83309 --Override Accounted Amount Indicator
83310 , p_source_79 IN VARCHAR2
83311 , p_source_79_meaning IN VARCHAR2
83312 --Invoice Supplier Identifier
83313 , p_source_80 IN NUMBER
83314 --Invoice Supplier Site Identifier
83315 , p_source_81 IN NUMBER
83316 --Third Party Type
83317 , p_source_82 IN VARCHAR2
83318 --Parent Reversal Identifier
83319 , p_source_83 IN NUMBER
83320 --Invoice Distribution Statistical Amount
83321 , p_source_84 IN NUMBER
83322 --Invoice Distribution Tax Line Identifier
83323 , p_source_85 IN NUMBER
83324 --Invoice Distribution Tax Distribution Identifier from Tax
83325 , p_source_86 IN NUMBER
83326 --Invoice Distribution Summary Tax Line Identifier
83327 , p_source_87 IN NUMBER
83328 --Payables Upgrade Credit Encumbrance Type Identifier
83329 , p_source_88 IN NUMBER
83330 --Payables Upgrade Debit Encumbrance Type Identifier
83331 , p_source_89 IN NUMBER
83332 --Business Flow Accounts Payable Application Identifier
83333 , p_source_90 IN NUMBER
83334 --Business Flow Invoice Distribution Type
83335 , p_source_91 IN VARCHAR2
83336 --Business Flow Invoice Entity Code
83337 , p_source_92 IN VARCHAR2
83338 --Business Flow Invoice Distribution Identifier
83339 , p_source_93 IN NUMBER
83340 --Business Flow Invoice Identifier
83341 , p_source_94 IN NUMBER
83342 --Self-Assessed Tax Flag
83343 , p_source_135 IN VARCHAR2
83344 , p_source_135_meaning IN VARCHAR2
83345 --Invoice Exchange Date
83346 , p_source_136 IN DATE
83347 --Invoice Exchange Rate
83348 , p_source_137 IN NUMBER
83349 --Invoice Exchange Rate Type
83350 , p_source_138 IN VARCHAR2
83351 --Invoice Source
83352 , p_source_163 IN VARCHAR2
83353 )
83354 IS
83355
83356 l_component_type VARCHAR2(80);
83357 l_component_code VARCHAR2(30);
83358 l_component_type_code VARCHAR2(1);
83359 l_component_appl_id INTEGER;
83360 l_amb_context_code VARCHAR2(30);
83361 l_entity_code VARCHAR2(30);
83362 l_event_class_code VARCHAR2(30);
83363 l_ae_header_id NUMBER;
83364 l_event_type_code VARCHAR2(30);
83365 l_line_definition_code VARCHAR2(30);
83366 l_line_definition_owner_code VARCHAR2(1);
83367 --
83368 -- adr variables
83369 l_segment VARCHAR2(30);
83370 l_ccid NUMBER;
83371 l_adr_transaction_coa_id NUMBER;
83372 l_adr_accounting_coa_id NUMBER;
83373 l_adr_flexfield_segment_code VARCHAR2(30);
83374 l_adr_flex_value_set_id NUMBER;
83375 l_adr_value_type_code VARCHAR2(30);
83376 l_adr_value_combination_id NUMBER;
83377 l_adr_value_segment_code VARCHAR2(30);
83378
83379 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
83380 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
83381 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
83382 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
83383
83384 -- 4262811 Variables ------------------------------------------------------------------------------------------
83385 l_entered_amt_idx NUMBER;
83386 l_accted_amt_idx NUMBER;
83387 l_acc_rev_flag VARCHAR2(1);
83388 l_accrual_line_num NUMBER;
83389 l_tmp_amt NUMBER;
83390 l_acc_rev_natural_side_code VARCHAR2(1);
83391
83392 l_num_entries NUMBER;
83393 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
83394 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
83395 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
83396 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
83397 l_recog_line_1 NUMBER;
83398 l_recog_line_2 NUMBER;
83399
83400 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
83401 l_bflow_applied_to_amt NUMBER; -- 5132302
83402 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
83403
83404 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
83405
83406 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
83410
83407 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
83408
83409 ---------------------------------------------------------------------------------------------------------------
83411
83412 --
83413 -- bulk performance
83414 --
83415 l_balance_type_code VARCHAR2(1);
83416 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
83417 l_log_module VARCHAR2(240);
83418
83419 --
83420 -- Upgrade strategy
83421 --
83422 l_actual_upg_option VARCHAR2(1);
83423 l_enc_upg_option VARCHAR2(1);
83424
83425 --
83426 BEGIN
83427 --
83428 IF g_log_enabled THEN
83429 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_147';
83430 END IF;
83431 --
83432 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83433
83434 trace
83435 (p_msg => 'BEGIN of AcctLineType_147'
83436 ,p_level => C_LEVEL_PROCEDURE
83437 ,p_module => l_log_module);
83438
83439 END IF;
83440 --
83441 l_component_type := 'AMB_JLT';
83442 l_component_code := 'AP_LIAB_CM_AOS_AS';
83443 l_component_type_code := 'S';
83444 l_component_appl_id := 200;
83445 l_amb_context_code := 'DEFAULT';
83446 l_entity_code := 'AP_INVOICES';
83447 l_event_class_code := 'CREDIT MEMOS';
83448 l_event_type_code := 'CREDIT MEMOS_ALL';
83449 l_line_definition_owner_code := 'S';
83450 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
83451 --
83452 l_balance_type_code := 'A';
83453 l_segment := NULL;
83454 l_ccid := NULL;
83455 l_adr_transaction_coa_id := NULL;
83456 l_adr_accounting_coa_id := NULL;
83457 l_adr_flexfield_segment_code := NULL;
83458 l_adr_flex_value_set_id := NULL;
83459 l_adr_value_type_code := NULL;
83460 l_adr_value_combination_id := NULL;
83461 l_adr_value_segment_code := NULL;
83462
83463 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
83464 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
83465 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
83466 l_budgetary_control_flag := 'N';
83467
83468 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83469 l_bflow_applied_to_amt := NULL; -- 5132302
83470 l_entered_amt_idx := NULL; -- 4262811
83471 l_accted_amt_idx := NULL; -- 4262811
83472 l_acc_rev_flag := NULL; -- 4262811
83473 l_accrual_line_num := NULL; -- 4262811
83474 l_tmp_amt := NULL; -- 4262811
83475 --
83476
83477 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
83478 l_balance_type_code <> 'B' THEN
83479 IF NVL(p_source_15,'
83480 ') = 'ACCOUNT_SEGMENT_VALUE' AND
83481 NVL(p_source_135,'
83482 ') <> 'Y'
83483 THEN
83484
83485 --
83486 XLA_AE_LINES_PKG.SetNewLine;
83487
83488 p_balance_type_code := l_balance_type_code;
83489 -- set the flag so later we will know whether the gain loss line needs to be created
83490
83491 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
83492 p_actual_flag :='A';
83493 END IF;
83494
83495 --
83496 -- bulk performance
83497 --
83498 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
83499 p_header_num => 0); -- 4262811
83500 --
83501 -- set accounting line options
83502 --
83503 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
83504 p_natural_side_code => 'C'
83505 , p_gain_or_loss_flag => 'N'
83506 , p_gl_transfer_mode_code => 'S'
83507 , p_acct_entry_type_code => 'A'
83508 , p_switch_side_flag => 'Y'
83509 , p_merge_duplicate_code => 'A'
83510 );
83511 --
83512 l_acc_rev_natural_side_code := 'D'; -- 4262811
83513 --
83514 --
83515 -- set accounting line type info
83516 --
83517 xla_ae_lines_pkg.SetAcctLineType
83518 (p_component_type => l_component_type
83519 ,p_event_type_code => l_event_type_code
83520 ,p_line_definition_owner_code => l_line_definition_owner_code
83521 ,p_line_definition_code => l_line_definition_code
83522 ,p_accounting_line_code => l_component_code
83523 ,p_accounting_line_type_code => l_component_type_code
83524 ,p_accounting_line_appl_id => l_component_appl_id
83525 ,p_amb_context_code => l_amb_context_code
83526 ,p_entity_code => l_entity_code
83527 ,p_event_class_code => l_event_class_code);
83528 --
83529 -- set accounting class
83530 --
83531 xla_ae_lines_pkg.SetAcctClass(
83532 p_accounting_class_code => 'LIABILITY'
83533 , p_ae_header_id => l_ae_header_id
83534 );
83535
83536 --
83537 -- set rounding class
83538 --
83539 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
83540 'LIABILITY';
83541
83542 --
83543 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
83547 --
83544 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
83545 --
83546 -- bulk performance
83548 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
83549
83550 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
83551 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
83552
83553 -- 4955764
83554 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83555 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
83556
83557 -- 4458381 Public Sector Enh
83558
83559 --
83560 -- set accounting attributes for the line type
83561 --
83562 l_entered_amt_idx := 23;
83563 l_accted_amt_idx := 28;
83564 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83565 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
83566 l_rec_acct_attrs.array_char_value(1) := p_source_52;
83567 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
83568 l_rec_acct_attrs.array_num_value(2) :=
83569 xla_ae_sources_pkg.GetSystemSourceNum(
83570 p_source_code => 'XLA_EVENT_APPL_ID'
83571 , p_source_type_code => 'Y'
83572 , p_source_application_id => 602
83573 );
83574 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
83575 l_rec_acct_attrs.array_char_value(3) := p_source_54;
83576 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
83577 l_rec_acct_attrs.array_char_value(4) :=
83578 xla_ae_sources_pkg.GetSystemSourceChar(
83579 p_source_code => 'XLA_ENTITY_CODE'
83580 , p_source_type_code => 'Y'
83581 , p_source_application_id => 602
83582 );
83583 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
83584 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
83585 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
83586 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
83587 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
83588 l_rec_acct_attrs.array_num_value(7) := p_source_90;
83589 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
83590 l_rec_acct_attrs.array_char_value(8) := p_source_91;
83591 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
83592 l_rec_acct_attrs.array_char_value(9) := p_source_92;
83593 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
83594 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
83595 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
83596 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
83597 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
83598 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
83599 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
83600 l_rec_acct_attrs.array_char_value(13) := p_source_54;
83601 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
83602 l_rec_acct_attrs.array_num_value(14) := p_source_64;
83603 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
83604 l_rec_acct_attrs.array_num_value(15) := p_source_65;
83605 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
83606 l_rec_acct_attrs.array_char_value(16) := p_source_66;
83607 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
83608 l_rec_acct_attrs.array_num_value(17) := p_source_67;
83609 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
83610 l_rec_acct_attrs.array_num_value(18) := p_source_68;
83611 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
83612 l_rec_acct_attrs.array_num_value(19) := p_source_69;
83613 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
83614 l_rec_acct_attrs.array_char_value(20) := p_source_66;
83615 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
83616 l_rec_acct_attrs.array_num_value(21) := p_source_70;
83617 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
83618 l_rec_acct_attrs.array_char_value(22) := p_source_71;
83619 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
83620 l_rec_acct_attrs.array_num_value(23) := p_source_72;
83621 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
83622 l_rec_acct_attrs.array_char_value(24) := p_source_66;
83623 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
83624 l_rec_acct_attrs.array_date_value(25) := p_source_136;
83625 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
83626 l_rec_acct_attrs.array_num_value(26) := p_source_137;
83627 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
83628 l_rec_acct_attrs.array_char_value(27) := p_source_138;
83629 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
83630 l_rec_acct_attrs.array_num_value(28) := p_source_21;
83631 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
83632 l_rec_acct_attrs.array_date_value(29) := p_source_76;
83633 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
83634 l_rec_acct_attrs.array_char_value(30) := p_source_77;
83635 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
83636 l_rec_acct_attrs.array_date_value(31) := p_source_78;
83640 l_rec_acct_attrs.array_num_value(33) := p_source_80;
83637 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
83638 l_rec_acct_attrs.array_char_value(32) := p_source_79;
83639 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
83641 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
83642 l_rec_acct_attrs.array_num_value(34) := p_source_81;
83643 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
83644 l_rec_acct_attrs.array_char_value(35) := p_source_82;
83645 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
83646 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
83647 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
83648 l_rec_acct_attrs.array_char_value(37) := p_source_54;
83649 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
83650 l_rec_acct_attrs.array_num_value(38) := p_source_84;
83651 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
83652 l_rec_acct_attrs.array_num_value(39) := p_source_85;
83653 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
83654 l_rec_acct_attrs.array_num_value(40) := p_source_86;
83655 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
83656 l_rec_acct_attrs.array_num_value(41) := p_source_87;
83657 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
83658 l_rec_acct_attrs.array_num_value(42) := p_source_88;
83659 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
83660 l_rec_acct_attrs.array_num_value(43) := p_source_89;
83661
83662 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
83663 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
83664
83665 ---------------------------------------------------------------------------------------------------------------
83666 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
83667 ---------------------------------------------------------------------------------------------------------------
83668 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
83669
83670 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83671 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83672
83673 IF xla_accounting_cache_pkg.GetValueChar
83674 (p_source_code => 'LEDGER_CATEGORY_CODE'
83675 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
83676 AND l_bflow_method_code = 'PRIOR_ENTRY'
83677 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
83678 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
83679 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
83680 )
83681 THEN
83682 xla_ae_lines_pkg.BflowUpgEntry
83683 (p_business_method_code => l_bflow_method_code
83684 ,p_business_class_code => l_bflow_class_code
83685 ,p_balance_type => l_balance_type_code);
83686 ELSE
83687 NULL;
83688 XLA_AE_LINES_PKG.business_flow_validation(
83689 p_business_method_code => l_bflow_method_code
83690 ,p_business_class_code => l_bflow_class_code
83691 ,p_inherit_description_flag => l_inherit_desc_flag);
83692 END IF;
83693
83694 --
83695 -- call analytical criteria
83696 --
83697
83698
83699 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
83700 xla_ae_lines_pkg.SetAnalyticalCriteria(
83701 p_analytical_criterion_name => 'Payables Custom Source'
83702 , p_analytical_criterion_owner => 'S'
83703 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
83704 , p_amb_context_code => 'DEFAULT'
83705 , p_balancing_flag => 'N'
83706
83707 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
83708 p_source_163
83709 , p_source_57
83710 , p_source_63))
83711 , p_analytical_detail_num_1 => NULL
83712 , p_analytical_detail_date_1 => NULL
83713
83714 , p_ae_header_id => l_ae_header_id
83715 )
83716 ;
83717 --
83718
83719 --
83720 -- call description
83721 --
83722
83723 xla_ae_lines_pkg.SetLineDescription(
83724 p_ae_header_id => l_ae_header_id
83725 ,p_description => Description_1 (
83726 p_application_id => p_application_id
83727 , p_ae_header_id => l_ae_header_id
83728 , p_source_1 => p_source_1
83729 )
83730 );
83731
83732
83733 --
83734 -- call ADRs
83735 -- Bug 4922099
83736 --
83737 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83738 (NVL(l_actual_upg_option, 'N') = 'O') OR
83739 (NVL(l_enc_upg_option, 'N') = 'O')
83740 )
83741 THEN
83742 NULL;
83743 --
83744 --
83745
83746 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
83747 p_code_combination_id => TO_NUMBER(C_NUM)
83748 , p_value_type_code => NULL
83749 , p_transaction_coa_id => null
83750 , p_accounting_coa_id => null
83751 , p_adr_code => NULL
83755 , p_component_type_code => l_component_type_code
83752 , p_adr_type_code => NULL
83753 , p_component_type => l_component_type
83754 , p_component_code => l_component_code
83756 , p_component_appl_id => l_component_appl_id
83757 , p_amb_context_code => l_amb_context_code
83758 , p_side => NULL
83759 );
83760
83761
83762 -- initialise segments
83763 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83764 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83765 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83766 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83767 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83768 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83769 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83770 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83771 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83772 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83773 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83774 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83775 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83776 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83777 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83778 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83779 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83780 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83781 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83782 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83783 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83784 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83785 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83786 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83787 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83788 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83789 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83790 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83791 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83792 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83793 --
83794
83795 --
83796
83797
83798 l_segment := AcctDerRule_15(
83799 p_application_id => p_application_id
83800 , p_ae_header_id => l_ae_header_id
83801 , p_source_34 => p_source_34
83802 , x_transaction_coa_id => l_adr_transaction_coa_id
83803 , x_accounting_coa_id => l_adr_accounting_coa_id
83804 , x_flexfield_segment_code => l_adr_flexfield_segment_code
83805 , x_flex_value_set_id => l_adr_flex_value_set_id
83806 , x_value_type_code => l_adr_value_type_code
83807 , x_value_combination_id => l_adr_value_combination_id
83808 , x_value_segment_code => l_adr_value_segment_code
83809 , p_side => 'NA'
83810 , p_override_seg_flag => 'Y'
83811 );
83812
83813 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
83814
83815 xla_ae_lines_pkg.set_segment(
83816 p_to_segment_code => 'GL_ACCOUNT'
83817 , p_segment_value => l_segment
83818 , p_from_segment_code => l_adr_value_segment_code
83819 , p_from_combination_id => l_adr_value_combination_id
83820 , p_value_type_code => l_adr_value_type_code
83821 , p_transaction_coa_id => l_adr_transaction_coa_id
83822 , p_accounting_coa_id => l_adr_accounting_coa_id
83823 , p_flexfield_segment_code => l_adr_flexfield_segment_code
83824 , p_flex_value_set_id => l_adr_flex_value_set_id
83825 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
83826 , p_adr_type_code => 'S'
83827 , p_component_type => l_component_type
83828 , p_component_code => l_component_code
83829 , p_component_type_code => l_component_type_code
83830 , p_component_appl_id => l_component_appl_id
83831 , p_amb_context_code => l_amb_context_code
83832 , p_entity_code => 'AP_INVOICES'
83833 , p_event_class_code => 'CREDIT MEMOS'
83834 , p_side => 'NA'
83835 );
83836
83837 END IF;
83838
83839 --
83840 --
83841 END IF;
83842 --
83843 -- Bug 4922099
83844 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83845 (NVL(l_enc_upg_option, 'N') = 'O')
83846 ) AND
83847 (l_bflow_method_code = 'PRIOR_ENTRY')
83851 --
83848 )
83849 THEN
83850 IF
83852 1 = 2
83853 --
83854 THEN
83855 xla_accounting_err_pkg.build_message
83856 (p_appli_s_name => 'XLA'
83857 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83858 ,p_token_1 => 'LINE_NUMBER'
83859 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83860 ,p_token_2 => 'LINE_TYPE_NAME'
83861 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83862 l_component_type
83863 ,l_component_code
83864 ,l_component_type_code
83865 ,l_component_appl_id
83866 ,l_amb_context_code
83867 ,l_entity_code
83868 ,l_event_class_code
83869 )
83870 ,p_token_3 => 'OWNER'
83871 ,p_value_3 => xla_lookups_pkg.get_meaning(
83872 p_lookup_type => 'XLA_OWNER_TYPE'
83873 ,p_lookup_code => l_component_type_code
83874 )
83875 ,p_token_4 => 'PRODUCT_NAME'
83876 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83877 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83878 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83879 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83880 ,p_ae_header_id => NULL
83881 );
83882
83883 IF (C_LEVEL_ERROR>= g_log_level) THEN
83884 trace
83885 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83886 ,p_level => C_LEVEL_ERROR
83887 ,p_module => l_log_module);
83888 END IF;
83889 END IF;
83890 END IF;
83891 --
83892 --
83893 ------------------------------------------------------------------------------------------------
83894 -- 4219869 Business Flow
83895 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83896 -- Prior Entry. Currently, the following code is always generated.
83897 ------------------------------------------------------------------------------------------------
83898 XLA_AE_LINES_PKG.ValidateCurrentLine;
83899
83900 ------------------------------------------------------------------------------------
83901 -- 4219869 Business Flow
83902 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83903 ------------------------------------------------------------------------------------
83904 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83905
83906 ----------------------------------------------------------------------------------
83907 -- 4219869 Business Flow
83908 -- Update journal entry status -- Need to generate this within IF <condition>
83909 ----------------------------------------------------------------------------------
83910 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83911 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83912 ,p_balance_type_code => l_balance_type_code
83913 );
83914
83915 -------------------------------------------------------------------------------------------
83916 -- 4262811 - Generate the Accrual Reversal lines
83917 -------------------------------------------------------------------------------------------
83918 BEGIN
83919 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83920 (g_array_event(p_event_id).array_value_num('header_index'));
83921 IF l_acc_rev_flag IS NULL THEN
83922 l_acc_rev_flag := 'N';
83923 END IF;
83924 EXCEPTION
83925 WHEN OTHERS THEN
83926 l_acc_rev_flag := 'N';
83927 END;
83928 --
83929 IF (l_acc_rev_flag = 'Y') THEN
83930
83931 -- 4645092 ------------------------------------------------------------------------------
83932 -- To allow MPA report to determine if it should generate report process
83933 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83934 ------------------------------------------------------------------------------------------
83935
83936 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83937 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83938 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83939 -- call ADRs
83940 -- Bug 4922099
83941 --
83942 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83946 THEN
83943 (NVL(l_actual_upg_option, 'N') = 'O') OR
83944 (NVL(l_enc_upg_option, 'N') = 'O')
83945 )
83947 NULL;
83948 --
83949 --
83950
83951 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
83952 p_code_combination_id => TO_NUMBER(C_NUM)
83953 , p_value_type_code => NULL
83954 , p_transaction_coa_id => null
83955 , p_accounting_coa_id => null
83956 , p_adr_code => NULL
83957 , p_adr_type_code => NULL
83958 , p_component_type => l_component_type
83959 , p_component_code => l_component_code
83960 , p_component_type_code => l_component_type_code
83961 , p_component_appl_id => l_component_appl_id
83962 , p_amb_context_code => l_amb_context_code
83963 , p_side => NULL
83964 );
83965
83966
83967 -- initialise segments
83968 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83969 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83970 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83971 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83972 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83973 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83974 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83975 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83976 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83977 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83978 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83979 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83980 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83981 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83982 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83983 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83984 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83985 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83986 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83987 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83988 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83989 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83990 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83991 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83992 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83993 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83994 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83995 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83996 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83997 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83998 --
83999
84000 --
84001
84002
84003 l_segment := AcctDerRule_15(
84004 p_application_id => p_application_id
84005 , p_ae_header_id => l_ae_header_id
84006 , p_source_34 => p_source_34
84007 , x_transaction_coa_id => l_adr_transaction_coa_id
84008 , x_accounting_coa_id => l_adr_accounting_coa_id
84009 , x_flexfield_segment_code => l_adr_flexfield_segment_code
84010 , x_flex_value_set_id => l_adr_flex_value_set_id
84011 , x_value_type_code => l_adr_value_type_code
84012 , x_value_combination_id => l_adr_value_combination_id
84013 , x_value_segment_code => l_adr_value_segment_code
84014 , p_side => 'NA'
84015 , p_override_seg_flag => 'Y'
84016 );
84017
84018 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
84019
84020 xla_ae_lines_pkg.set_segment(
84021 p_to_segment_code => 'GL_ACCOUNT'
84022 , p_segment_value => l_segment
84023 , p_from_segment_code => l_adr_value_segment_code
84024 , p_from_combination_id => l_adr_value_combination_id
84025 , p_value_type_code => l_adr_value_type_code
84026 , p_transaction_coa_id => l_adr_transaction_coa_id
84027 , p_accounting_coa_id => l_adr_accounting_coa_id
84028 , p_flexfield_segment_code => l_adr_flexfield_segment_code
84029 , p_flex_value_set_id => l_adr_flex_value_set_id
84030 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
84031 , p_adr_type_code => 'S'
84032 , p_component_type => l_component_type
84033 , p_component_code => l_component_code
84034 , p_component_type_code => l_component_type_code
84035 , p_component_appl_id => l_component_appl_id
84039 , p_side => 'NA'
84036 , p_amb_context_code => l_amb_context_code
84037 , p_entity_code => 'AP_INVOICES'
84038 , p_event_class_code => 'CREDIT MEMOS'
84040 );
84041
84042 END IF;
84043
84044 --
84045 --
84046 END IF;
84047
84048 --
84049 -- Update the line information that should be overwritten
84050 --
84051 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84052 p_header_num => 1);
84053 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84054
84055 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84056
84057 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84058 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84059 END IF;
84060
84061 --
84062 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84063 --
84064 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84065 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84066 ELSE
84067 ---------------------------------------------------------------------------------------------------
84068 -- 4262811a Switch Sign
84069 ---------------------------------------------------------------------------------------------------
84070 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84071 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84072 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84073 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84074 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84075 -- 5132302
84076 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84077 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84078
84079 END IF;
84080
84081 -- 4955764
84082 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84083 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84084
84085
84086 XLA_AE_LINES_PKG.ValidateCurrentLine;
84087 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84088
84089 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84090 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84091 ,p_balance_type_code => l_balance_type_code);
84092
84093 END IF;
84094
84095 -----------------------------------------------------------------------------------------
84096 -- 4262811 Multiperiod Accounting
84097 -----------------------------------------------------------------------------------------
84098 -- No MPA option is assigned.
84099
84100
84101 END IF;
84102 END IF;
84103 --
84104
84105 --
84106 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84107 trace
84108 (p_msg => 'END of AcctLineType_147'
84109 ,p_level => C_LEVEL_PROCEDURE
84110 ,p_module => l_log_module);
84111 END IF;
84112 --
84113 EXCEPTION
84114 WHEN xla_exceptions_pkg.application_exception THEN
84115 RAISE;
84116 WHEN OTHERS THEN
84117 xla_exceptions_pkg.raise_message
84118 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_147');
84119 END AcctLineType_147;
84120 --
84121
84122 ---------------------------------------
84123 --
84124 -- PRIVATE FUNCTION
84125 -- AcctLineType_148
84126 --
84127 ---------------------------------------
84128 PROCEDURE AcctLineType_148 (
84129 p_application_id IN NUMBER
84130 ,p_event_id IN NUMBER
84131 ,p_calculate_acctd_flag IN VARCHAR2
84132 ,p_calculate_g_l_flag IN VARCHAR2
84133 ,p_actual_flag IN OUT VARCHAR2
84134 ,p_balance_type_code OUT VARCHAR2
84135 ,p_gain_or_loss_ref OUT VARCHAR2
84136
84137 --Invoice Distribution Description
84138 , p_source_1 IN VARCHAR2
84139 --Automatic Offsets Value
84140 , p_source_15 IN VARCHAR2
84141 , p_source_15_meaning IN VARCHAR2
84142 --Invoice Distribution Ledger Amount
84143 , p_source_21 IN NUMBER
84144 --Invoice Liability Account
84145 , p_source_34 IN NUMBER
84146 --Accounting Reversal Indicator
84147 , p_source_52 IN VARCHAR2
84148 --Distribution Link Type
84149 , p_source_54 IN VARCHAR2
84150 --Allocation to Main Distribution Identifier
84151 , p_source_56 IN NUMBER
84152 --Invoice Identifier
84153 , p_source_57 IN NUMBER
84154 --Invoice Distribution Identifier
84155 , p_source_63 IN NUMBER
84156 --Payables Encumbrance Upgrade Credit Account
84157 , p_source_64 IN NUMBER
84158 --Payables Encumbrance Upgrade Credit Amount
84159 , p_source_65 IN NUMBER
84160 --Invoice Currency Code
84161 , p_source_66 IN VARCHAR2
84165 , p_source_68 IN NUMBER
84162 --Payables Encumbrance Upgrade Credit Base Amount
84163 , p_source_67 IN NUMBER
84164 --Payables Encumbrance Upgrade Debit Account
84166 --Payables Encumbrance Upgrade Debit Amount
84167 , p_source_69 IN NUMBER
84168 --Payables Encumbrance Upgrade Debit Base Amount
84169 , p_source_70 IN NUMBER
84170 --Payables Encumbrance Upgrade Option
84171 , p_source_71 IN VARCHAR2
84172 --Invoice Distribution Amount
84173 , p_source_72 IN NUMBER
84174 --Deferred Accounting End Date
84175 , p_source_76 IN DATE
84176 --Deferred Accounting Option
84177 , p_source_77 IN VARCHAR2
84178 --Deferred Accounting Start Date
84179 , p_source_78 IN DATE
84180 --Override Accounted Amount Indicator
84181 , p_source_79 IN VARCHAR2
84182 , p_source_79_meaning IN VARCHAR2
84183 --Invoice Supplier Identifier
84184 , p_source_80 IN NUMBER
84185 --Invoice Supplier Site Identifier
84186 , p_source_81 IN NUMBER
84187 --Third Party Type
84188 , p_source_82 IN VARCHAR2
84189 --Parent Reversal Identifier
84190 , p_source_83 IN NUMBER
84191 --Invoice Distribution Statistical Amount
84192 , p_source_84 IN NUMBER
84193 --Invoice Distribution Tax Line Identifier
84194 , p_source_85 IN NUMBER
84195 --Invoice Distribution Tax Distribution Identifier from Tax
84196 , p_source_86 IN NUMBER
84197 --Invoice Distribution Summary Tax Line Identifier
84198 , p_source_87 IN NUMBER
84199 --Payables Upgrade Credit Encumbrance Type Identifier
84200 , p_source_88 IN NUMBER
84201 --Payables Upgrade Debit Encumbrance Type Identifier
84202 , p_source_89 IN NUMBER
84203 --Business Flow Accounts Payable Application Identifier
84204 , p_source_90 IN NUMBER
84205 --Business Flow Invoice Distribution Type
84206 , p_source_91 IN VARCHAR2
84207 --Business Flow Invoice Entity Code
84208 , p_source_92 IN VARCHAR2
84209 --Business Flow Invoice Distribution Identifier
84210 , p_source_93 IN NUMBER
84211 --Business Flow Invoice Identifier
84212 , p_source_94 IN NUMBER
84213 --Self-Assessed Tax Flag
84214 , p_source_135 IN VARCHAR2
84215 , p_source_135_meaning IN VARCHAR2
84216 --Invoice Exchange Date
84217 , p_source_136 IN DATE
84218 --Invoice Exchange Rate
84219 , p_source_137 IN NUMBER
84220 --Invoice Exchange Rate Type
84221 , p_source_138 IN VARCHAR2
84222 --Invoice Source
84223 , p_source_163 IN VARCHAR2
84224 )
84225 IS
84226
84227 l_component_type VARCHAR2(80);
84228 l_component_code VARCHAR2(30);
84229 l_component_type_code VARCHAR2(1);
84230 l_component_appl_id INTEGER;
84231 l_amb_context_code VARCHAR2(30);
84232 l_entity_code VARCHAR2(30);
84233 l_event_class_code VARCHAR2(30);
84234 l_ae_header_id NUMBER;
84235 l_event_type_code VARCHAR2(30);
84236 l_line_definition_code VARCHAR2(30);
84237 l_line_definition_owner_code VARCHAR2(1);
84238 --
84239 -- adr variables
84240 l_segment VARCHAR2(30);
84241 l_ccid NUMBER;
84242 l_adr_transaction_coa_id NUMBER;
84243 l_adr_accounting_coa_id NUMBER;
84244 l_adr_flexfield_segment_code VARCHAR2(30);
84245 l_adr_flex_value_set_id NUMBER;
84246 l_adr_value_type_code VARCHAR2(30);
84247 l_adr_value_combination_id NUMBER;
84248 l_adr_value_segment_code VARCHAR2(30);
84249
84250 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
84251 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
84252 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
84253 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
84254
84255 -- 4262811 Variables ------------------------------------------------------------------------------------------
84256 l_entered_amt_idx NUMBER;
84257 l_accted_amt_idx NUMBER;
84258 l_acc_rev_flag VARCHAR2(1);
84259 l_accrual_line_num NUMBER;
84260 l_tmp_amt NUMBER;
84261 l_acc_rev_natural_side_code VARCHAR2(1);
84262
84263 l_num_entries NUMBER;
84264 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
84265 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
84266 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
84267 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
84268 l_recog_line_1 NUMBER;
84269 l_recog_line_2 NUMBER;
84270
84271 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
84272 l_bflow_applied_to_amt NUMBER; -- 5132302
84273 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
84274
84275 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
84276
84277 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
84278 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
84279
84283 --
84280 ---------------------------------------------------------------------------------------------------------------
84281
84282
84284 -- bulk performance
84285 --
84286 l_balance_type_code VARCHAR2(1);
84287 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
84288 l_log_module VARCHAR2(240);
84289
84290 --
84291 -- Upgrade strategy
84292 --
84293 l_actual_upg_option VARCHAR2(1);
84294 l_enc_upg_option VARCHAR2(1);
84295
84296 --
84297 BEGIN
84298 --
84299 IF g_log_enabled THEN
84300 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_148';
84301 END IF;
84302 --
84303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84304
84305 trace
84306 (p_msg => 'BEGIN of AcctLineType_148'
84307 ,p_level => C_LEVEL_PROCEDURE
84308 ,p_module => l_log_module);
84309
84310 END IF;
84311 --
84312 l_component_type := 'AMB_JLT';
84313 l_component_code := 'AP_LIAB_CM_AOS_BS';
84314 l_component_type_code := 'S';
84315 l_component_appl_id := 200;
84316 l_amb_context_code := 'DEFAULT';
84317 l_entity_code := 'AP_INVOICES';
84318 l_event_class_code := 'CREDIT MEMOS';
84319 l_event_type_code := 'CREDIT MEMOS_ALL';
84320 l_line_definition_owner_code := 'S';
84321 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
84322 --
84323 l_balance_type_code := 'A';
84324 l_segment := NULL;
84325 l_ccid := NULL;
84326 l_adr_transaction_coa_id := NULL;
84327 l_adr_accounting_coa_id := NULL;
84328 l_adr_flexfield_segment_code := NULL;
84329 l_adr_flex_value_set_id := NULL;
84330 l_adr_value_type_code := NULL;
84331 l_adr_value_combination_id := NULL;
84332 l_adr_value_segment_code := NULL;
84333
84334 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
84335 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
84336 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84337 l_budgetary_control_flag := 'N';
84338
84339 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84340 l_bflow_applied_to_amt := NULL; -- 5132302
84341 l_entered_amt_idx := NULL; -- 4262811
84342 l_accted_amt_idx := NULL; -- 4262811
84343 l_acc_rev_flag := NULL; -- 4262811
84344 l_accrual_line_num := NULL; -- 4262811
84345 l_tmp_amt := NULL; -- 4262811
84346 --
84347
84348 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84349 l_balance_type_code <> 'B' THEN
84350 IF NVL(p_source_15,'
84351 ') = 'BALANCING_SEGMENT' AND
84352 NVL(p_source_135,'
84353 ') <> 'Y'
84354 THEN
84355
84356 --
84357 XLA_AE_LINES_PKG.SetNewLine;
84358
84359 p_balance_type_code := l_balance_type_code;
84360 -- set the flag so later we will know whether the gain loss line needs to be created
84361
84362 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84363 p_actual_flag :='A';
84364 END IF;
84365
84366 --
84367 -- bulk performance
84368 --
84369 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84370 p_header_num => 0); -- 4262811
84371 --
84372 -- set accounting line options
84373 --
84374 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84375 p_natural_side_code => 'C'
84376 , p_gain_or_loss_flag => 'N'
84377 , p_gl_transfer_mode_code => 'S'
84378 , p_acct_entry_type_code => 'A'
84379 , p_switch_side_flag => 'Y'
84380 , p_merge_duplicate_code => 'A'
84381 );
84382 --
84383 l_acc_rev_natural_side_code := 'D'; -- 4262811
84384 --
84385 --
84386 -- set accounting line type info
84387 --
84388 xla_ae_lines_pkg.SetAcctLineType
84389 (p_component_type => l_component_type
84390 ,p_event_type_code => l_event_type_code
84391 ,p_line_definition_owner_code => l_line_definition_owner_code
84392 ,p_line_definition_code => l_line_definition_code
84393 ,p_accounting_line_code => l_component_code
84394 ,p_accounting_line_type_code => l_component_type_code
84395 ,p_accounting_line_appl_id => l_component_appl_id
84396 ,p_amb_context_code => l_amb_context_code
84397 ,p_entity_code => l_entity_code
84398 ,p_event_class_code => l_event_class_code);
84399 --
84400 -- set accounting class
84401 --
84402 xla_ae_lines_pkg.SetAcctClass(
84403 p_accounting_class_code => 'LIABILITY'
84404 , p_ae_header_id => l_ae_header_id
84405 );
84406
84407 --
84408 -- set rounding class
84409 --
84410 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84411 'LIABILITY';
84412
84413 --
84414 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84418 --
84415 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84416 --
84417 -- bulk performance
84419 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84420
84421 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84422 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84423
84424 -- 4955764
84425 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84426 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84427
84428 -- 4458381 Public Sector Enh
84429
84430 --
84431 -- set accounting attributes for the line type
84432 --
84433 l_entered_amt_idx := 23;
84434 l_accted_amt_idx := 28;
84435 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84436 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84437 l_rec_acct_attrs.array_char_value(1) := p_source_52;
84438 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84439 l_rec_acct_attrs.array_num_value(2) :=
84440 xla_ae_sources_pkg.GetSystemSourceNum(
84441 p_source_code => 'XLA_EVENT_APPL_ID'
84442 , p_source_type_code => 'Y'
84443 , p_source_application_id => 602
84444 );
84445 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84446 l_rec_acct_attrs.array_char_value(3) := p_source_54;
84447 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84448 l_rec_acct_attrs.array_char_value(4) :=
84449 xla_ae_sources_pkg.GetSystemSourceChar(
84450 p_source_code => 'XLA_ENTITY_CODE'
84451 , p_source_type_code => 'Y'
84452 , p_source_application_id => 602
84453 );
84454 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84455 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
84456 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84457 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
84458 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84459 l_rec_acct_attrs.array_num_value(7) := p_source_90;
84460 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84461 l_rec_acct_attrs.array_char_value(8) := p_source_91;
84462 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84463 l_rec_acct_attrs.array_char_value(9) := p_source_92;
84464 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84465 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
84466 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84467 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
84468 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84469 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
84470 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84471 l_rec_acct_attrs.array_char_value(13) := p_source_54;
84472 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84473 l_rec_acct_attrs.array_num_value(14) := p_source_64;
84474 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84475 l_rec_acct_attrs.array_num_value(15) := p_source_65;
84476 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84477 l_rec_acct_attrs.array_char_value(16) := p_source_66;
84478 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84479 l_rec_acct_attrs.array_num_value(17) := p_source_67;
84480 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84481 l_rec_acct_attrs.array_num_value(18) := p_source_68;
84482 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
84483 l_rec_acct_attrs.array_num_value(19) := p_source_69;
84484 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
84485 l_rec_acct_attrs.array_char_value(20) := p_source_66;
84486 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
84487 l_rec_acct_attrs.array_num_value(21) := p_source_70;
84488 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
84489 l_rec_acct_attrs.array_char_value(22) := p_source_71;
84490 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
84491 l_rec_acct_attrs.array_num_value(23) := p_source_72;
84492 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
84493 l_rec_acct_attrs.array_char_value(24) := p_source_66;
84494 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
84495 l_rec_acct_attrs.array_date_value(25) := p_source_136;
84496 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
84497 l_rec_acct_attrs.array_num_value(26) := p_source_137;
84498 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
84499 l_rec_acct_attrs.array_char_value(27) := p_source_138;
84500 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
84501 l_rec_acct_attrs.array_num_value(28) := p_source_21;
84502 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
84503 l_rec_acct_attrs.array_date_value(29) := p_source_76;
84504 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
84505 l_rec_acct_attrs.array_char_value(30) := p_source_77;
84506 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
84507 l_rec_acct_attrs.array_date_value(31) := p_source_78;
84508 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
84512 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
84509 l_rec_acct_attrs.array_char_value(32) := p_source_79;
84510 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
84511 l_rec_acct_attrs.array_num_value(33) := p_source_80;
84513 l_rec_acct_attrs.array_num_value(34) := p_source_81;
84514 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
84515 l_rec_acct_attrs.array_char_value(35) := p_source_82;
84516 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
84517 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
84518 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
84519 l_rec_acct_attrs.array_char_value(37) := p_source_54;
84520 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
84521 l_rec_acct_attrs.array_num_value(38) := p_source_84;
84522 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
84523 l_rec_acct_attrs.array_num_value(39) := p_source_85;
84524 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
84525 l_rec_acct_attrs.array_num_value(40) := p_source_86;
84526 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
84527 l_rec_acct_attrs.array_num_value(41) := p_source_87;
84528 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
84529 l_rec_acct_attrs.array_num_value(42) := p_source_88;
84530 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
84531 l_rec_acct_attrs.array_num_value(43) := p_source_89;
84532
84533 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
84534 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
84535
84536 ---------------------------------------------------------------------------------------------------------------
84537 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
84538 ---------------------------------------------------------------------------------------------------------------
84539 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
84540
84541 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84542 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84543
84544 IF xla_accounting_cache_pkg.GetValueChar
84545 (p_source_code => 'LEDGER_CATEGORY_CODE'
84546 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
84547 AND l_bflow_method_code = 'PRIOR_ENTRY'
84548 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
84549 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
84550 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
84551 )
84552 THEN
84553 xla_ae_lines_pkg.BflowUpgEntry
84554 (p_business_method_code => l_bflow_method_code
84555 ,p_business_class_code => l_bflow_class_code
84556 ,p_balance_type => l_balance_type_code);
84557 ELSE
84558 NULL;
84559 XLA_AE_LINES_PKG.business_flow_validation(
84560 p_business_method_code => l_bflow_method_code
84561 ,p_business_class_code => l_bflow_class_code
84562 ,p_inherit_description_flag => l_inherit_desc_flag);
84563 END IF;
84564
84565 --
84566 -- call analytical criteria
84567 --
84568
84569
84570 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
84571 xla_ae_lines_pkg.SetAnalyticalCriteria(
84572 p_analytical_criterion_name => 'Payables Custom Source'
84573 , p_analytical_criterion_owner => 'S'
84574 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
84575 , p_amb_context_code => 'DEFAULT'
84576 , p_balancing_flag => 'N'
84577
84578 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
84579 p_source_163
84580 , p_source_57
84581 , p_source_63))
84582 , p_analytical_detail_num_1 => NULL
84583 , p_analytical_detail_date_1 => NULL
84584
84585 , p_ae_header_id => l_ae_header_id
84586 )
84587 ;
84588 --
84589
84590 --
84591 -- call description
84592 --
84593
84594 xla_ae_lines_pkg.SetLineDescription(
84595 p_ae_header_id => l_ae_header_id
84596 ,p_description => Description_1 (
84597 p_application_id => p_application_id
84598 , p_ae_header_id => l_ae_header_id
84599 , p_source_1 => p_source_1
84600 )
84601 );
84602
84603
84604 --
84605 -- call ADRs
84606 -- Bug 4922099
84607 --
84608 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84609 (NVL(l_actual_upg_option, 'N') = 'O') OR
84610 (NVL(l_enc_upg_option, 'N') = 'O')
84611 )
84612 THEN
84613 NULL;
84614 --
84615 --
84616
84617 l_ccid := AcctDerRule_34(
84618 p_application_id => p_application_id
84619 , p_ae_header_id => l_ae_header_id
84620 , p_source_34 => p_source_34
84621 , x_transaction_coa_id => l_adr_transaction_coa_id
84622 , x_accounting_coa_id => l_adr_accounting_coa_id
84623 , x_value_type_code => l_adr_value_type_code
84624 , p_side => 'NA'
84625 );
84626
84630 , p_transaction_coa_id => l_adr_transaction_coa_id
84627 xla_ae_lines_pkg.set_ccid(
84628 p_code_combination_id => l_ccid
84629 , p_value_type_code => l_adr_value_type_code
84631 , p_accounting_coa_id => l_adr_accounting_coa_id
84632 , p_adr_code => 'AP_LIAB'
84633 , p_adr_type_code => 'S'
84634 , p_component_type => l_component_type
84635 , p_component_code => l_component_code
84636 , p_component_type_code => l_component_type_code
84637 , p_component_appl_id => l_component_appl_id
84638 , p_amb_context_code => l_amb_context_code
84639 , p_side => 'NA'
84640 );
84641
84642
84643 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
84644 p_to_segment_code => 'GL_BALANCING'
84645 , p_segment_value => C_CHAR
84646 , p_from_segment_code => NULL
84647 , p_from_combination_id => NULL
84648 , p_value_type_code => NULL
84649 , p_transaction_coa_id => null
84650 , p_accounting_coa_id => null
84651 , p_flexfield_segment_code => NULL
84652 , p_flex_value_set_id => NULL
84653 , p_adr_code => NULL
84654 , p_adr_type_code => NULL
84655 , p_component_type => l_component_type
84656 , p_component_code => l_component_code
84657 , p_component_type_code => l_component_type_code
84658 , p_component_appl_id => l_component_appl_id
84659 , p_amb_context_code => l_amb_context_code
84660 , p_entity_code => 'AP_INVOICES'
84661 , p_event_class_code => 'CREDIT MEMOS'
84662 , p_side => 'NA'
84663 );
84664 --
84665
84666
84667 --
84668 --
84669 END IF;
84670 --
84671 -- Bug 4922099
84672 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
84673 (NVL(l_enc_upg_option, 'N') = 'O')
84674 ) AND
84675 (l_bflow_method_code = 'PRIOR_ENTRY')
84676 )
84677 THEN
84678 IF
84679 --
84680 1 = 2
84681 --
84682 THEN
84683 xla_accounting_err_pkg.build_message
84684 (p_appli_s_name => 'XLA'
84685 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84686 ,p_token_1 => 'LINE_NUMBER'
84687 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
84688 ,p_token_2 => 'LINE_TYPE_NAME'
84689 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
84690 l_component_type
84691 ,l_component_code
84692 ,l_component_type_code
84693 ,l_component_appl_id
84694 ,l_amb_context_code
84695 ,l_entity_code
84696 ,l_event_class_code
84697 )
84698 ,p_token_3 => 'OWNER'
84699 ,p_value_3 => xla_lookups_pkg.get_meaning(
84700 p_lookup_type => 'XLA_OWNER_TYPE'
84701 ,p_lookup_code => l_component_type_code
84702 )
84703 ,p_token_4 => 'PRODUCT_NAME'
84704 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
84705 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
84706 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
84707 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
84708 ,p_ae_header_id => NULL
84709 );
84710
84711 IF (C_LEVEL_ERROR>= g_log_level) THEN
84712 trace
84713 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84714 ,p_level => C_LEVEL_ERROR
84715 ,p_module => l_log_module);
84716 END IF;
84717 END IF;
84718 END IF;
84719 --
84720 --
84721 ------------------------------------------------------------------------------------------------
84722 -- 4219869 Business Flow
84723 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
84724 -- Prior Entry. Currently, the following code is always generated.
84725 ------------------------------------------------------------------------------------------------
84726 XLA_AE_LINES_PKG.ValidateCurrentLine;
84727
84731 ------------------------------------------------------------------------------------
84728 ------------------------------------------------------------------------------------
84729 -- 4219869 Business Flow
84730 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
84732 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84733
84734 ----------------------------------------------------------------------------------
84735 -- 4219869 Business Flow
84736 -- Update journal entry status -- Need to generate this within IF <condition>
84737 ----------------------------------------------------------------------------------
84738 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84739 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
84740 ,p_balance_type_code => l_balance_type_code
84741 );
84742
84743 -------------------------------------------------------------------------------------------
84744 -- 4262811 - Generate the Accrual Reversal lines
84745 -------------------------------------------------------------------------------------------
84746 BEGIN
84747 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
84748 (g_array_event(p_event_id).array_value_num('header_index'));
84749 IF l_acc_rev_flag IS NULL THEN
84750 l_acc_rev_flag := 'N';
84751 END IF;
84752 EXCEPTION
84753 WHEN OTHERS THEN
84754 l_acc_rev_flag := 'N';
84755 END;
84756 --
84757 IF (l_acc_rev_flag = 'Y') THEN
84758
84759 -- 4645092 ------------------------------------------------------------------------------
84760 -- To allow MPA report to determine if it should generate report process
84761 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
84762 ------------------------------------------------------------------------------------------
84763
84764 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
84765 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
84766 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
84767 -- call ADRs
84768 -- Bug 4922099
84769 --
84770 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84771 (NVL(l_actual_upg_option, 'N') = 'O') OR
84772 (NVL(l_enc_upg_option, 'N') = 'O')
84773 )
84774 THEN
84775 NULL;
84776 --
84777 --
84778
84779 l_ccid := AcctDerRule_34(
84780 p_application_id => p_application_id
84781 , p_ae_header_id => l_ae_header_id
84782 , p_source_34 => p_source_34
84783 , x_transaction_coa_id => l_adr_transaction_coa_id
84784 , x_accounting_coa_id => l_adr_accounting_coa_id
84785 , x_value_type_code => l_adr_value_type_code
84786 , p_side => 'NA'
84787 );
84788
84789 xla_ae_lines_pkg.set_ccid(
84790 p_code_combination_id => l_ccid
84791 , p_value_type_code => l_adr_value_type_code
84792 , p_transaction_coa_id => l_adr_transaction_coa_id
84793 , p_accounting_coa_id => l_adr_accounting_coa_id
84794 , p_adr_code => 'AP_LIAB'
84795 , p_adr_type_code => 'S'
84796 , p_component_type => l_component_type
84797 , p_component_code => l_component_code
84798 , p_component_type_code => l_component_type_code
84799 , p_component_appl_id => l_component_appl_id
84800 , p_amb_context_code => l_amb_context_code
84801 , p_side => 'NA'
84802 );
84803
84804
84805 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
84806 p_to_segment_code => 'GL_BALANCING'
84807 , p_segment_value => C_CHAR
84808 , p_from_segment_code => NULL
84809 , p_from_combination_id => NULL
84810 , p_value_type_code => NULL
84811 , p_transaction_coa_id => null
84812 , p_accounting_coa_id => null
84813 , p_flexfield_segment_code => NULL
84814 , p_flex_value_set_id => NULL
84815 , p_adr_code => NULL
84816 , p_adr_type_code => NULL
84817 , p_component_type => l_component_type
84818 , p_component_code => l_component_code
84819 , p_component_type_code => l_component_type_code
84820 , p_component_appl_id => l_component_appl_id
84821 , p_amb_context_code => l_amb_context_code
84822 , p_entity_code => 'AP_INVOICES'
84823 , p_event_class_code => 'CREDIT MEMOS'
84824 , p_side => 'NA'
84825 );
84826 --
84827
84828
84829 --
84830 --
84831 END IF;
84832
84833 --
84834 -- Update the line information that should be overwritten
84835 --
84836 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84837 p_header_num => 1);
84838 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84839
84840 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84841
84842 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84843 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84844 END IF;
84845
84846 --
84850 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84847 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84848 --
84849 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84851 ELSE
84852 ---------------------------------------------------------------------------------------------------
84853 -- 4262811a Switch Sign
84854 ---------------------------------------------------------------------------------------------------
84855 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84858 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84859 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84860 -- 5132302
84861 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84862 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84863
84864 END IF;
84865
84866 -- 4955764
84867 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84868 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84869
84870
84871 XLA_AE_LINES_PKG.ValidateCurrentLine;
84872 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84873
84874 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84875 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84876 ,p_balance_type_code => l_balance_type_code);
84877
84878 END IF;
84879
84880 -----------------------------------------------------------------------------------------
84881 -- 4262811 Multiperiod Accounting
84882 -----------------------------------------------------------------------------------------
84883 -- No MPA option is assigned.
84884
84885
84886 END IF;
84887 END IF;
84888 --
84889
84890 --
84891 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84892 trace
84893 (p_msg => 'END of AcctLineType_148'
84894 ,p_level => C_LEVEL_PROCEDURE
84895 ,p_module => l_log_module);
84896 END IF;
84897 --
84898 EXCEPTION
84899 WHEN xla_exceptions_pkg.application_exception THEN
84900 RAISE;
84901 WHEN OTHERS THEN
84902 xla_exceptions_pkg.raise_message
84903 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_148');
84904 END AcctLineType_148;
84905 --
84906
84907 ---------------------------------------
84908 --
84909 -- PRIVATE FUNCTION
84910 -- AcctLineType_149
84911 --
84912 ---------------------------------------
84913 PROCEDURE AcctLineType_149 (
84914 p_application_id IN NUMBER
84915 ,p_event_id IN NUMBER
84916 ,p_calculate_acctd_flag IN VARCHAR2
84917 ,p_calculate_g_l_flag IN VARCHAR2
84918 ,p_actual_flag IN OUT VARCHAR2
84919 ,p_balance_type_code OUT VARCHAR2
84920 ,p_gain_or_loss_ref OUT VARCHAR2
84921
84922 --Invoice Distribution Description
84923 , p_source_1 IN VARCHAR2
84924 --Automatic Offsets Value
84925 , p_source_15 IN VARCHAR2
84926 , p_source_15_meaning IN VARCHAR2
84927 --Invoice Distribution Ledger Amount
84928 , p_source_21 IN NUMBER
84929 --Invoice Liability Account
84930 , p_source_34 IN NUMBER
84931 --Accounting Reversal Indicator
84932 , p_source_52 IN VARCHAR2
84933 --Distribution Link Type
84934 , p_source_54 IN VARCHAR2
84935 --Allocation to Main Distribution Identifier
84936 , p_source_56 IN NUMBER
84937 --Invoice Identifier
84938 , p_source_57 IN NUMBER
84939 --Invoice Distribution Identifier
84940 , p_source_63 IN NUMBER
84941 --Payables Encumbrance Upgrade Credit Account
84942 , p_source_64 IN NUMBER
84943 --Payables Encumbrance Upgrade Credit Amount
84944 , p_source_65 IN NUMBER
84945 --Invoice Currency Code
84946 , p_source_66 IN VARCHAR2
84947 --Payables Encumbrance Upgrade Credit Base Amount
84948 , p_source_67 IN NUMBER
84949 --Payables Encumbrance Upgrade Debit Account
84950 , p_source_68 IN NUMBER
84951 --Payables Encumbrance Upgrade Debit Amount
84952 , p_source_69 IN NUMBER
84953 --Payables Encumbrance Upgrade Debit Base Amount
84954 , p_source_70 IN NUMBER
84955 --Payables Encumbrance Upgrade Option
84956 , p_source_71 IN VARCHAR2
84957 --Invoice Distribution Amount
84958 , p_source_72 IN NUMBER
84959 --Deferred Accounting End Date
84960 , p_source_76 IN DATE
84961 --Deferred Accounting Option
84962 , p_source_77 IN VARCHAR2
84963 --Deferred Accounting Start Date
84964 , p_source_78 IN DATE
84965 --Override Accounted Amount Indicator
84966 , p_source_79 IN VARCHAR2
84967 , p_source_79_meaning IN VARCHAR2
84968 --Invoice Supplier Identifier
84972 --Third Party Type
84969 , p_source_80 IN NUMBER
84970 --Invoice Supplier Site Identifier
84971 , p_source_81 IN NUMBER
84973 , p_source_82 IN VARCHAR2
84974 --Parent Reversal Identifier
84975 , p_source_83 IN NUMBER
84976 --Invoice Distribution Tax Line Identifier
84977 , p_source_85 IN NUMBER
84978 --Invoice Distribution Tax Distribution Identifier from Tax
84979 , p_source_86 IN NUMBER
84980 --Invoice Distribution Summary Tax Line Identifier
84981 , p_source_87 IN NUMBER
84982 --Payables Upgrade Credit Encumbrance Type Identifier
84983 , p_source_88 IN NUMBER
84984 --Payables Upgrade Debit Encumbrance Type Identifier
84985 , p_source_89 IN NUMBER
84986 --Business Flow Accounts Payable Application Identifier
84987 , p_source_90 IN NUMBER
84988 --Business Flow Invoice Distribution Type
84989 , p_source_91 IN VARCHAR2
84990 --Business Flow Invoice Entity Code
84991 , p_source_92 IN VARCHAR2
84992 --Business Flow Invoice Distribution Identifier
84993 , p_source_93 IN NUMBER
84994 --Business Flow Invoice Identifier
84995 , p_source_94 IN NUMBER
84996 --Self-Assessed Tax Flag
84997 , p_source_135 IN VARCHAR2
84998 , p_source_135_meaning IN VARCHAR2
84999 --Invoice Exchange Date
85000 , p_source_136 IN DATE
85001 --Invoice Exchange Rate
85002 , p_source_137 IN NUMBER
85003 --Invoice Exchange Rate Type
85004 , p_source_138 IN VARCHAR2
85005 --Invoice Source
85006 , p_source_163 IN VARCHAR2
85007 )
85008 IS
85009
85010 l_component_type VARCHAR2(80);
85011 l_component_code VARCHAR2(30);
85012 l_component_type_code VARCHAR2(1);
85013 l_component_appl_id INTEGER;
85014 l_amb_context_code VARCHAR2(30);
85015 l_entity_code VARCHAR2(30);
85016 l_event_class_code VARCHAR2(30);
85017 l_ae_header_id NUMBER;
85018 l_event_type_code VARCHAR2(30);
85019 l_line_definition_code VARCHAR2(30);
85020 l_line_definition_owner_code VARCHAR2(1);
85021 --
85022 -- adr variables
85023 l_segment VARCHAR2(30);
85024 l_ccid NUMBER;
85025 l_adr_transaction_coa_id NUMBER;
85026 l_adr_accounting_coa_id NUMBER;
85027 l_adr_flexfield_segment_code VARCHAR2(30);
85028 l_adr_flex_value_set_id NUMBER;
85029 l_adr_value_type_code VARCHAR2(30);
85030 l_adr_value_combination_id NUMBER;
85031 l_adr_value_segment_code VARCHAR2(30);
85032
85033 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85034 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85035 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85036 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85037
85038 -- 4262811 Variables ------------------------------------------------------------------------------------------
85039 l_entered_amt_idx NUMBER;
85040 l_accted_amt_idx NUMBER;
85041 l_acc_rev_flag VARCHAR2(1);
85042 l_accrual_line_num NUMBER;
85043 l_tmp_amt NUMBER;
85044 l_acc_rev_natural_side_code VARCHAR2(1);
85045
85046 l_num_entries NUMBER;
85047 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85048 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85049 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85050 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85051 l_recog_line_1 NUMBER;
85052 l_recog_line_2 NUMBER;
85053
85054 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85055 l_bflow_applied_to_amt NUMBER; -- 5132302
85056 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85057
85058 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85059
85060 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85061 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85062
85063 ---------------------------------------------------------------------------------------------------------------
85064
85065
85066 --
85067 -- bulk performance
85068 --
85069 l_balance_type_code VARCHAR2(1);
85070 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85071 l_log_module VARCHAR2(240);
85072
85073 --
85074 -- Upgrade strategy
85075 --
85076 l_actual_upg_option VARCHAR2(1);
85077 l_enc_upg_option VARCHAR2(1);
85078
85079 --
85080 BEGIN
85081 --
85082 IF g_log_enabled THEN
85083 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_149';
85084 END IF;
85085 --
85086 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85087
85088 trace
85089 (p_msg => 'BEGIN of AcctLineType_149'
85090 ,p_level => C_LEVEL_PROCEDURE
85091 ,p_module => l_log_module);
85092
85093 END IF;
85094 --
85095 l_component_type := 'AMB_JLT';
85096 l_component_code := 'AP_LIAB_DM';
85097 l_component_type_code := 'S';
85101 l_event_class_code := 'DEBIT MEMOS';
85098 l_component_appl_id := 200;
85099 l_amb_context_code := 'DEFAULT';
85100 l_entity_code := 'AP_INVOICES';
85102 l_event_type_code := 'DEBIT MEMOS_ALL';
85103 l_line_definition_owner_code := 'S';
85104 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
85105 --
85106 l_balance_type_code := 'A';
85107 l_segment := NULL;
85108 l_ccid := NULL;
85109 l_adr_transaction_coa_id := NULL;
85110 l_adr_accounting_coa_id := NULL;
85111 l_adr_flexfield_segment_code := NULL;
85112 l_adr_flex_value_set_id := NULL;
85113 l_adr_value_type_code := NULL;
85114 l_adr_value_combination_id := NULL;
85115 l_adr_value_segment_code := NULL;
85116
85117 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
85118 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
85119 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
85120 l_budgetary_control_flag := 'N';
85121
85122 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85123 l_bflow_applied_to_amt := NULL; -- 5132302
85124 l_entered_amt_idx := NULL; -- 4262811
85125 l_accted_amt_idx := NULL; -- 4262811
85126 l_acc_rev_flag := NULL; -- 4262811
85127 l_accrual_line_num := NULL; -- 4262811
85128 l_tmp_amt := NULL; -- 4262811
85129 --
85130
85131 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
85132 l_balance_type_code <> 'B' THEN
85133 IF (NVL(p_source_15,'
85134 ') <> 'BALANCING_SEGMENT' AND
85135 NVL(p_source_15,'
85136 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
85137 NVL(p_source_135,'
85138 ') <> 'Y'
85139 THEN
85140
85141 --
85142 XLA_AE_LINES_PKG.SetNewLine;
85143
85144 p_balance_type_code := l_balance_type_code;
85145 -- set the flag so later we will know whether the gain loss line needs to be created
85146
85147 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
85148 p_actual_flag :='A';
85149 END IF;
85150
85151 --
85152 -- bulk performance
85153 --
85154 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
85155 p_header_num => 0); -- 4262811
85156 --
85157 -- set accounting line options
85158 --
85159 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
85160 p_natural_side_code => 'C'
85161 , p_gain_or_loss_flag => 'N'
85162 , p_gl_transfer_mode_code => 'S'
85163 , p_acct_entry_type_code => 'A'
85164 , p_switch_side_flag => 'Y'
85165 , p_merge_duplicate_code => 'A'
85166 );
85167 --
85168 l_acc_rev_natural_side_code := 'D'; -- 4262811
85169 --
85170 --
85171 -- set accounting line type info
85172 --
85173 xla_ae_lines_pkg.SetAcctLineType
85174 (p_component_type => l_component_type
85175 ,p_event_type_code => l_event_type_code
85176 ,p_line_definition_owner_code => l_line_definition_owner_code
85177 ,p_line_definition_code => l_line_definition_code
85178 ,p_accounting_line_code => l_component_code
85179 ,p_accounting_line_type_code => l_component_type_code
85180 ,p_accounting_line_appl_id => l_component_appl_id
85181 ,p_amb_context_code => l_amb_context_code
85182 ,p_entity_code => l_entity_code
85183 ,p_event_class_code => l_event_class_code);
85184 --
85185 -- set accounting class
85186 --
85187 xla_ae_lines_pkg.SetAcctClass(
85188 p_accounting_class_code => 'LIABILITY'
85189 , p_ae_header_id => l_ae_header_id
85190 );
85191
85192 --
85193 -- set rounding class
85194 --
85195 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
85196 'LIABILITY';
85197
85198 --
85199 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
85200 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
85201 --
85202 -- bulk performance
85203 --
85204 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
85205
85206 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
85207 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
85208
85209 -- 4955764
85210 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85211 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
85212
85213 -- 4458381 Public Sector Enh
85214
85215 --
85216 -- set accounting attributes for the line type
85217 --
85218 l_entered_amt_idx := 23;
85219 l_accted_amt_idx := 28;
85220 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85221 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
85222 l_rec_acct_attrs.array_char_value(1) := p_source_52;
85223 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
85227 , p_source_type_code => 'Y'
85224 l_rec_acct_attrs.array_num_value(2) :=
85225 xla_ae_sources_pkg.GetSystemSourceNum(
85226 p_source_code => 'XLA_EVENT_APPL_ID'
85228 , p_source_application_id => 602
85229 );
85230 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
85231 l_rec_acct_attrs.array_char_value(3) := p_source_54;
85232 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
85233 l_rec_acct_attrs.array_char_value(4) :=
85234 xla_ae_sources_pkg.GetSystemSourceChar(
85235 p_source_code => 'XLA_ENTITY_CODE'
85236 , p_source_type_code => 'Y'
85237 , p_source_application_id => 602
85238 );
85239 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
85240 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
85241 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
85242 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
85243 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
85244 l_rec_acct_attrs.array_num_value(7) := p_source_90;
85245 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
85246 l_rec_acct_attrs.array_char_value(8) := p_source_91;
85247 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
85248 l_rec_acct_attrs.array_char_value(9) := p_source_92;
85249 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
85250 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
85251 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
85252 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
85253 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
85254 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
85255 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
85256 l_rec_acct_attrs.array_char_value(13) := p_source_54;
85257 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
85258 l_rec_acct_attrs.array_num_value(14) := p_source_64;
85259 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
85260 l_rec_acct_attrs.array_num_value(15) := p_source_65;
85261 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
85262 l_rec_acct_attrs.array_char_value(16) := p_source_66;
85263 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
85264 l_rec_acct_attrs.array_num_value(17) := p_source_67;
85265 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
85266 l_rec_acct_attrs.array_num_value(18) := p_source_68;
85267 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
85268 l_rec_acct_attrs.array_num_value(19) := p_source_69;
85269 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
85270 l_rec_acct_attrs.array_char_value(20) := p_source_66;
85271 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
85272 l_rec_acct_attrs.array_num_value(21) := p_source_70;
85273 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
85274 l_rec_acct_attrs.array_char_value(22) := p_source_71;
85275 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
85276 l_rec_acct_attrs.array_num_value(23) := p_source_72;
85277 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
85278 l_rec_acct_attrs.array_char_value(24) := p_source_66;
85279 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
85280 l_rec_acct_attrs.array_date_value(25) := p_source_136;
85281 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
85282 l_rec_acct_attrs.array_num_value(26) := p_source_137;
85283 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
85284 l_rec_acct_attrs.array_char_value(27) := p_source_138;
85285 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
85286 l_rec_acct_attrs.array_num_value(28) := p_source_21;
85287 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
85288 l_rec_acct_attrs.array_date_value(29) := p_source_76;
85289 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
85290 l_rec_acct_attrs.array_char_value(30) := p_source_77;
85291 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
85292 l_rec_acct_attrs.array_date_value(31) := p_source_78;
85293 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
85294 l_rec_acct_attrs.array_char_value(32) := p_source_79;
85295 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
85296 l_rec_acct_attrs.array_num_value(33) := p_source_80;
85297 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
85298 l_rec_acct_attrs.array_num_value(34) := p_source_81;
85299 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
85300 l_rec_acct_attrs.array_char_value(35) := p_source_82;
85301 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
85302 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
85303 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
85304 l_rec_acct_attrs.array_char_value(37) := p_source_54;
85305 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
85306 l_rec_acct_attrs.array_num_value(38) := p_source_85;
85307 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
85308 l_rec_acct_attrs.array_num_value(39) := p_source_86;
85309 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
85310 l_rec_acct_attrs.array_num_value(40) := p_source_87;
85311 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
85312 l_rec_acct_attrs.array_num_value(41) := p_source_88;
85316 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
85313 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
85314 l_rec_acct_attrs.array_num_value(42) := p_source_89;
85315
85317 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
85318
85319 ---------------------------------------------------------------------------------------------------------------
85320 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
85321 ---------------------------------------------------------------------------------------------------------------
85322 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
85323
85324 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85325 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85326
85327 IF xla_accounting_cache_pkg.GetValueChar
85328 (p_source_code => 'LEDGER_CATEGORY_CODE'
85329 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
85330 AND l_bflow_method_code = 'PRIOR_ENTRY'
85331 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85332 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85333 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85334 )
85335 THEN
85336 xla_ae_lines_pkg.BflowUpgEntry
85337 (p_business_method_code => l_bflow_method_code
85338 ,p_business_class_code => l_bflow_class_code
85339 ,p_balance_type => l_balance_type_code);
85340 ELSE
85341 NULL;
85342 -- No business flow processing for business flow method of NONE.
85343 END IF;
85344
85345 --
85346 -- call analytical criteria
85347 --
85348
85349
85350 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
85351 xla_ae_lines_pkg.SetAnalyticalCriteria(
85352 p_analytical_criterion_name => 'Payables Custom Source'
85353 , p_analytical_criterion_owner => 'S'
85354 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
85355 , p_amb_context_code => 'DEFAULT'
85356 , p_balancing_flag => 'N'
85357
85358 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
85359 p_source_163
85360 , p_source_57
85361 , p_source_63))
85362 , p_analytical_detail_num_1 => NULL
85363 , p_analytical_detail_date_1 => NULL
85364
85365 , p_ae_header_id => l_ae_header_id
85366 )
85367 ;
85368 --
85369
85370 --
85371 -- call description
85372 --
85373
85374 xla_ae_lines_pkg.SetLineDescription(
85375 p_ae_header_id => l_ae_header_id
85376 ,p_description => Description_1 (
85377 p_application_id => p_application_id
85378 , p_ae_header_id => l_ae_header_id
85379 , p_source_1 => p_source_1
85380 )
85381 );
85382
85383
85384 --
85385 -- call ADRs
85386 -- Bug 4922099
85387 --
85388 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85389 (NVL(l_actual_upg_option, 'N') = 'O') OR
85390 (NVL(l_enc_upg_option, 'N') = 'O')
85391 )
85392 THEN
85393 NULL;
85394 --
85395 --
85396
85397 l_ccid := AcctDerRule_34(
85398 p_application_id => p_application_id
85399 , p_ae_header_id => l_ae_header_id
85400 , p_source_34 => p_source_34
85401 , x_transaction_coa_id => l_adr_transaction_coa_id
85402 , x_accounting_coa_id => l_adr_accounting_coa_id
85403 , x_value_type_code => l_adr_value_type_code
85404 , p_side => 'NA'
85405 );
85406
85407 xla_ae_lines_pkg.set_ccid(
85408 p_code_combination_id => l_ccid
85409 , p_value_type_code => l_adr_value_type_code
85410 , p_transaction_coa_id => l_adr_transaction_coa_id
85411 , p_accounting_coa_id => l_adr_accounting_coa_id
85412 , p_adr_code => 'AP_LIAB'
85413 , p_adr_type_code => 'S'
85414 , p_component_type => l_component_type
85415 , p_component_code => l_component_code
85416 , p_component_type_code => l_component_type_code
85417 , p_component_appl_id => l_component_appl_id
85418 , p_amb_context_code => l_amb_context_code
85419 , p_side => 'NA'
85420 );
85421
85422
85423 --
85424 --
85425 END IF;
85426 --
85427 -- Bug 4922099
85428 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85429 (NVL(l_enc_upg_option, 'N') = 'O')
85430 ) AND
85431 (l_bflow_method_code = 'PRIOR_ENTRY')
85432 )
85433 THEN
85434 IF
85435 --
85436 1 = 2
85437 --
85438 THEN
85439 xla_accounting_err_pkg.build_message
85440 (p_appli_s_name => 'XLA'
85441 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85442 ,p_token_1 => 'LINE_NUMBER'
85446 l_component_type
85443 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85444 ,p_token_2 => 'LINE_TYPE_NAME'
85445 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85447 ,l_component_code
85448 ,l_component_type_code
85449 ,l_component_appl_id
85450 ,l_amb_context_code
85451 ,l_entity_code
85452 ,l_event_class_code
85453 )
85454 ,p_token_3 => 'OWNER'
85455 ,p_value_3 => xla_lookups_pkg.get_meaning(
85456 p_lookup_type => 'XLA_OWNER_TYPE'
85457 ,p_lookup_code => l_component_type_code
85458 )
85459 ,p_token_4 => 'PRODUCT_NAME'
85460 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85461 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85462 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85463 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85464 ,p_ae_header_id => NULL
85465 );
85466
85467 IF (C_LEVEL_ERROR>= g_log_level) THEN
85468 trace
85469 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85470 ,p_level => C_LEVEL_ERROR
85471 ,p_module => l_log_module);
85472 END IF;
85473 END IF;
85474 END IF;
85475 --
85476 --
85477 ------------------------------------------------------------------------------------------------
85478 -- 4219869 Business Flow
85479 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85480 -- Prior Entry. Currently, the following code is always generated.
85481 ------------------------------------------------------------------------------------------------
85482 XLA_AE_LINES_PKG.ValidateCurrentLine;
85483
85484 ------------------------------------------------------------------------------------
85485 -- 4219869 Business Flow
85486 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85487 ------------------------------------------------------------------------------------
85488 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85489
85490 ----------------------------------------------------------------------------------
85491 -- 4219869 Business Flow
85492 -- Update journal entry status -- Need to generate this within IF <condition>
85493 ----------------------------------------------------------------------------------
85494 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85495 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85496 ,p_balance_type_code => l_balance_type_code
85497 );
85498
85499 -------------------------------------------------------------------------------------------
85500 -- 4262811 - Generate the Accrual Reversal lines
85501 -------------------------------------------------------------------------------------------
85502 BEGIN
85503 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85504 (g_array_event(p_event_id).array_value_num('header_index'));
85505 IF l_acc_rev_flag IS NULL THEN
85506 l_acc_rev_flag := 'N';
85507 END IF;
85508 EXCEPTION
85509 WHEN OTHERS THEN
85510 l_acc_rev_flag := 'N';
85511 END;
85512 --
85513 IF (l_acc_rev_flag = 'Y') THEN
85514
85515 -- 4645092 ------------------------------------------------------------------------------
85516 -- To allow MPA report to determine if it should generate report process
85517 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85518 ------------------------------------------------------------------------------------------
85519
85520 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85521 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85522 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85523 -- call ADRs
85524 -- Bug 4922099
85525 --
85526 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85527 (NVL(l_actual_upg_option, 'N') = 'O') OR
85528 (NVL(l_enc_upg_option, 'N') = 'O')
85529 )
85530 THEN
85531 NULL;
85532 --
85533 --
85534
85535 l_ccid := AcctDerRule_34(
85536 p_application_id => p_application_id
85537 , p_ae_header_id => l_ae_header_id
85538 , p_source_34 => p_source_34
85542 , p_side => 'NA'
85539 , x_transaction_coa_id => l_adr_transaction_coa_id
85540 , x_accounting_coa_id => l_adr_accounting_coa_id
85541 , x_value_type_code => l_adr_value_type_code
85543 );
85544
85545 xla_ae_lines_pkg.set_ccid(
85546 p_code_combination_id => l_ccid
85547 , p_value_type_code => l_adr_value_type_code
85548 , p_transaction_coa_id => l_adr_transaction_coa_id
85549 , p_accounting_coa_id => l_adr_accounting_coa_id
85550 , p_adr_code => 'AP_LIAB'
85551 , p_adr_type_code => 'S'
85552 , p_component_type => l_component_type
85553 , p_component_code => l_component_code
85554 , p_component_type_code => l_component_type_code
85555 , p_component_appl_id => l_component_appl_id
85556 , p_amb_context_code => l_amb_context_code
85557 , p_side => 'NA'
85558 );
85559
85560
85561 --
85562 --
85563 END IF;
85564
85565 --
85566 -- Update the line information that should be overwritten
85567 --
85568 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
85569 p_header_num => 1);
85570 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
85571
85572 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
85573
85574 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
85575 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
85576 END IF;
85577
85578 --
85579 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
85580 --
85581 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
85582 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
85583 ELSE
85584 ---------------------------------------------------------------------------------------------------
85585 -- 4262811a Switch Sign
85586 ---------------------------------------------------------------------------------------------------
85587 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
85588 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85589 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85590 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85591 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85592 -- 5132302
85593 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
85594 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85595
85596 END IF;
85597
85598 -- 4955764
85599 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85600 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
85601
85602
85603 XLA_AE_LINES_PKG.ValidateCurrentLine;
85604 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85605
85606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85607 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
85608 ,p_balance_type_code => l_balance_type_code);
85609
85610 END IF;
85611
85612 -----------------------------------------------------------------------------------------
85613 -- 4262811 Multiperiod Accounting
85614 -----------------------------------------------------------------------------------------
85615 -- No MPA option is assigned.
85616
85617
85618 END IF;
85619 END IF;
85620 --
85621
85622 --
85623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85624 trace
85625 (p_msg => 'END of AcctLineType_149'
85626 ,p_level => C_LEVEL_PROCEDURE
85627 ,p_module => l_log_module);
85628 END IF;
85629 --
85630 EXCEPTION
85631 WHEN xla_exceptions_pkg.application_exception THEN
85632 RAISE;
85633 WHEN OTHERS THEN
85634 xla_exceptions_pkg.raise_message
85635 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_149');
85636 END AcctLineType_149;
85637 --
85638
85639 ---------------------------------------
85640 --
85641 -- PRIVATE FUNCTION
85642 -- AcctLineType_150
85643 --
85644 ---------------------------------------
85645 PROCEDURE AcctLineType_150 (
85646 p_application_id IN NUMBER
85647 ,p_event_id IN NUMBER
85648 ,p_calculate_acctd_flag IN VARCHAR2
85649 ,p_calculate_g_l_flag IN VARCHAR2
85650 ,p_actual_flag IN OUT VARCHAR2
85651 ,p_balance_type_code OUT VARCHAR2
85652 ,p_gain_or_loss_ref OUT VARCHAR2
85653
85654 --Invoice Distribution Description
85655 , p_source_1 IN VARCHAR2
85656 --Automatic Offsets Value
85657 , p_source_15 IN VARCHAR2
85661 --Invoice Liability Account
85658 , p_source_15_meaning IN VARCHAR2
85659 --Invoice Distribution Ledger Amount
85660 , p_source_21 IN NUMBER
85662 , p_source_34 IN NUMBER
85663 --Accounting Reversal Indicator
85664 , p_source_52 IN VARCHAR2
85665 --Distribution Link Type
85666 , p_source_54 IN VARCHAR2
85667 --Allocation to Main Distribution Identifier
85668 , p_source_56 IN NUMBER
85669 --Invoice Identifier
85670 , p_source_57 IN NUMBER
85671 --Invoice Distribution Identifier
85672 , p_source_63 IN NUMBER
85673 --Payables Encumbrance Upgrade Credit Account
85674 , p_source_64 IN NUMBER
85675 --Payables Encumbrance Upgrade Credit Amount
85676 , p_source_65 IN NUMBER
85677 --Invoice Currency Code
85678 , p_source_66 IN VARCHAR2
85679 --Payables Encumbrance Upgrade Credit Base Amount
85680 , p_source_67 IN NUMBER
85681 --Payables Encumbrance Upgrade Debit Account
85682 , p_source_68 IN NUMBER
85683 --Payables Encumbrance Upgrade Debit Amount
85684 , p_source_69 IN NUMBER
85685 --Payables Encumbrance Upgrade Debit Base Amount
85686 , p_source_70 IN NUMBER
85687 --Payables Encumbrance Upgrade Option
85688 , p_source_71 IN VARCHAR2
85689 --Invoice Distribution Amount
85690 , p_source_72 IN NUMBER
85691 --Deferred Accounting End Date
85692 , p_source_76 IN DATE
85693 --Deferred Accounting Option
85694 , p_source_77 IN VARCHAR2
85695 --Deferred Accounting Start Date
85696 , p_source_78 IN DATE
85697 --Override Accounted Amount Indicator
85698 , p_source_79 IN VARCHAR2
85699 , p_source_79_meaning IN VARCHAR2
85700 --Invoice Supplier Identifier
85701 , p_source_80 IN NUMBER
85702 --Invoice Supplier Site Identifier
85703 , p_source_81 IN NUMBER
85704 --Third Party Type
85705 , p_source_82 IN VARCHAR2
85706 --Parent Reversal Identifier
85707 , p_source_83 IN NUMBER
85708 --Invoice Distribution Tax Line Identifier
85709 , p_source_85 IN NUMBER
85710 --Invoice Distribution Tax Distribution Identifier from Tax
85711 , p_source_86 IN NUMBER
85712 --Invoice Distribution Summary Tax Line Identifier
85713 , p_source_87 IN NUMBER
85714 --Payables Upgrade Credit Encumbrance Type Identifier
85715 , p_source_88 IN NUMBER
85716 --Payables Upgrade Debit Encumbrance Type Identifier
85717 , p_source_89 IN NUMBER
85718 --Business Flow Accounts Payable Application Identifier
85719 , p_source_90 IN NUMBER
85720 --Business Flow Invoice Distribution Type
85721 , p_source_91 IN VARCHAR2
85722 --Business Flow Invoice Entity Code
85723 , p_source_92 IN VARCHAR2
85724 --Business Flow Invoice Distribution Identifier
85725 , p_source_93 IN NUMBER
85726 --Business Flow Invoice Identifier
85727 , p_source_94 IN NUMBER
85728 --Self-Assessed Tax Flag
85729 , p_source_135 IN VARCHAR2
85730 , p_source_135_meaning IN VARCHAR2
85731 --Invoice Exchange Date
85732 , p_source_136 IN DATE
85733 --Invoice Exchange Rate
85734 , p_source_137 IN NUMBER
85735 --Invoice Exchange Rate Type
85736 , p_source_138 IN VARCHAR2
85737 --Invoice Source
85738 , p_source_163 IN VARCHAR2
85739 )
85740 IS
85741
85742 l_component_type VARCHAR2(80);
85743 l_component_code VARCHAR2(30);
85744 l_component_type_code VARCHAR2(1);
85745 l_component_appl_id INTEGER;
85746 l_amb_context_code VARCHAR2(30);
85747 l_entity_code VARCHAR2(30);
85748 l_event_class_code VARCHAR2(30);
85749 l_ae_header_id NUMBER;
85750 l_event_type_code VARCHAR2(30);
85751 l_line_definition_code VARCHAR2(30);
85752 l_line_definition_owner_code VARCHAR2(1);
85753 --
85754 -- adr variables
85755 l_segment VARCHAR2(30);
85756 l_ccid NUMBER;
85757 l_adr_transaction_coa_id NUMBER;
85758 l_adr_accounting_coa_id NUMBER;
85759 l_adr_flexfield_segment_code VARCHAR2(30);
85760 l_adr_flex_value_set_id NUMBER;
85761 l_adr_value_type_code VARCHAR2(30);
85762 l_adr_value_combination_id NUMBER;
85763 l_adr_value_segment_code VARCHAR2(30);
85764
85765 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85766 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85767 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85768 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85769
85770 -- 4262811 Variables ------------------------------------------------------------------------------------------
85771 l_entered_amt_idx NUMBER;
85772 l_accted_amt_idx NUMBER;
85773 l_acc_rev_flag VARCHAR2(1);
85774 l_accrual_line_num NUMBER;
85775 l_tmp_amt NUMBER;
85776 l_acc_rev_natural_side_code VARCHAR2(1);
85777
85778 l_num_entries NUMBER;
85779 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85780 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85781 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85785
85782 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85783 l_recog_line_1 NUMBER;
85784 l_recog_line_2 NUMBER;
85786 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85787 l_bflow_applied_to_amt NUMBER; -- 5132302
85788 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85789
85790 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85791
85792 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85793 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85794
85795 ---------------------------------------------------------------------------------------------------------------
85796
85797
85798 --
85799 -- bulk performance
85800 --
85801 l_balance_type_code VARCHAR2(1);
85802 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85803 l_log_module VARCHAR2(240);
85804
85805 --
85806 -- Upgrade strategy
85807 --
85808 l_actual_upg_option VARCHAR2(1);
85809 l_enc_upg_option VARCHAR2(1);
85810
85811 --
85812 BEGIN
85813 --
85814 IF g_log_enabled THEN
85815 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_150';
85816 END IF;
85817 --
85818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85819
85820 trace
85821 (p_msg => 'BEGIN of AcctLineType_150'
85822 ,p_level => C_LEVEL_PROCEDURE
85823 ,p_module => l_log_module);
85824
85825 END IF;
85826 --
85827 l_component_type := 'AMB_JLT';
85828 l_component_code := 'AP_LIAB_DM_AOS_AS';
85829 l_component_type_code := 'S';
85830 l_component_appl_id := 200;
85831 l_amb_context_code := 'DEFAULT';
85832 l_entity_code := 'AP_INVOICES';
85833 l_event_class_code := 'DEBIT MEMOS';
85834 l_event_type_code := 'DEBIT MEMOS_ALL';
85835 l_line_definition_owner_code := 'S';
85836 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
85837 --
85838 l_balance_type_code := 'A';
85839 l_segment := NULL;
85840 l_ccid := NULL;
85841 l_adr_transaction_coa_id := NULL;
85842 l_adr_accounting_coa_id := NULL;
85843 l_adr_flexfield_segment_code := NULL;
85844 l_adr_flex_value_set_id := NULL;
85845 l_adr_value_type_code := NULL;
85846 l_adr_value_combination_id := NULL;
85847 l_adr_value_segment_code := NULL;
85848
85849 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
85850 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
85851 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
85852 l_budgetary_control_flag := 'N';
85853
85854 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85855 l_bflow_applied_to_amt := NULL; -- 5132302
85856 l_entered_amt_idx := NULL; -- 4262811
85857 l_accted_amt_idx := NULL; -- 4262811
85858 l_acc_rev_flag := NULL; -- 4262811
85859 l_accrual_line_num := NULL; -- 4262811
85860 l_tmp_amt := NULL; -- 4262811
85861 --
85862
85863 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
85864 l_balance_type_code <> 'B' THEN
85865 IF NVL(p_source_15,'
85866 ') = 'ACCOUNT_SEGMENT_VALUE' AND
85867 NVL(p_source_135,'
85868 ') <> 'Y'
85869 THEN
85870
85871 --
85872 XLA_AE_LINES_PKG.SetNewLine;
85873
85874 p_balance_type_code := l_balance_type_code;
85875 -- set the flag so later we will know whether the gain loss line needs to be created
85876
85877 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
85878 p_actual_flag :='A';
85879 END IF;
85880
85881 --
85882 -- bulk performance
85883 --
85884 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
85885 p_header_num => 0); -- 4262811
85886 --
85887 -- set accounting line options
85888 --
85889 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
85890 p_natural_side_code => 'C'
85891 , p_gain_or_loss_flag => 'N'
85892 , p_gl_transfer_mode_code => 'S'
85893 , p_acct_entry_type_code => 'A'
85894 , p_switch_side_flag => 'Y'
85895 , p_merge_duplicate_code => 'A'
85896 );
85897 --
85898 l_acc_rev_natural_side_code := 'D'; -- 4262811
85899 --
85900 --
85901 -- set accounting line type info
85902 --
85903 xla_ae_lines_pkg.SetAcctLineType
85904 (p_component_type => l_component_type
85905 ,p_event_type_code => l_event_type_code
85906 ,p_line_definition_owner_code => l_line_definition_owner_code
85907 ,p_line_definition_code => l_line_definition_code
85908 ,p_accounting_line_code => l_component_code
85909 ,p_accounting_line_type_code => l_component_type_code
85910 ,p_accounting_line_appl_id => l_component_appl_id
85911 ,p_amb_context_code => l_amb_context_code
85912 ,p_entity_code => l_entity_code
85913 ,p_event_class_code => l_event_class_code);
85914 --
85918 p_accounting_class_code => 'LIABILITY'
85915 -- set accounting class
85916 --
85917 xla_ae_lines_pkg.SetAcctClass(
85919 , p_ae_header_id => l_ae_header_id
85920 );
85921
85922 --
85923 -- set rounding class
85924 --
85925 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
85926 'LIABILITY';
85927
85928 --
85929 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
85930 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
85931 --
85932 -- bulk performance
85933 --
85934 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
85935
85936 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
85937 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
85938
85939 -- 4955764
85940 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85941 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
85942
85943 -- 4458381 Public Sector Enh
85944
85945 --
85946 -- set accounting attributes for the line type
85947 --
85948 l_entered_amt_idx := 23;
85949 l_accted_amt_idx := 28;
85950 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85951 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
85952 l_rec_acct_attrs.array_char_value(1) := p_source_52;
85953 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
85954 l_rec_acct_attrs.array_num_value(2) :=
85955 xla_ae_sources_pkg.GetSystemSourceNum(
85956 p_source_code => 'XLA_EVENT_APPL_ID'
85957 , p_source_type_code => 'Y'
85958 , p_source_application_id => 602
85959 );
85960 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
85961 l_rec_acct_attrs.array_char_value(3) := p_source_54;
85962 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
85963 l_rec_acct_attrs.array_char_value(4) :=
85964 xla_ae_sources_pkg.GetSystemSourceChar(
85965 p_source_code => 'XLA_ENTITY_CODE'
85966 , p_source_type_code => 'Y'
85967 , p_source_application_id => 602
85968 );
85969 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
85970 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
85971 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
85972 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
85973 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
85974 l_rec_acct_attrs.array_num_value(7) := p_source_90;
85975 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
85976 l_rec_acct_attrs.array_char_value(8) := p_source_91;
85977 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
85978 l_rec_acct_attrs.array_char_value(9) := p_source_92;
85979 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
85980 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
85981 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
85982 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
85983 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
85984 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
85985 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
85986 l_rec_acct_attrs.array_char_value(13) := p_source_54;
85987 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
85988 l_rec_acct_attrs.array_num_value(14) := p_source_64;
85989 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
85990 l_rec_acct_attrs.array_num_value(15) := p_source_65;
85991 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
85992 l_rec_acct_attrs.array_char_value(16) := p_source_66;
85993 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
85994 l_rec_acct_attrs.array_num_value(17) := p_source_67;
85995 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
85996 l_rec_acct_attrs.array_num_value(18) := p_source_68;
85997 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
85998 l_rec_acct_attrs.array_num_value(19) := p_source_69;
85999 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
86000 l_rec_acct_attrs.array_char_value(20) := p_source_66;
86001 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
86002 l_rec_acct_attrs.array_num_value(21) := p_source_70;
86003 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
86004 l_rec_acct_attrs.array_char_value(22) := p_source_71;
86005 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
86006 l_rec_acct_attrs.array_num_value(23) := p_source_72;
86007 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
86008 l_rec_acct_attrs.array_char_value(24) := p_source_66;
86009 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
86010 l_rec_acct_attrs.array_date_value(25) := p_source_136;
86011 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
86012 l_rec_acct_attrs.array_num_value(26) := p_source_137;
86013 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
86014 l_rec_acct_attrs.array_char_value(27) := p_source_138;
86015 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
86019 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
86016 l_rec_acct_attrs.array_num_value(28) := p_source_21;
86017 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
86018 l_rec_acct_attrs.array_date_value(29) := p_source_76;
86020 l_rec_acct_attrs.array_char_value(30) := p_source_77;
86021 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
86022 l_rec_acct_attrs.array_date_value(31) := p_source_78;
86023 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
86024 l_rec_acct_attrs.array_char_value(32) := p_source_79;
86025 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
86026 l_rec_acct_attrs.array_num_value(33) := p_source_80;
86027 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
86028 l_rec_acct_attrs.array_num_value(34) := p_source_81;
86029 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
86030 l_rec_acct_attrs.array_char_value(35) := p_source_82;
86031 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
86032 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
86033 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
86034 l_rec_acct_attrs.array_char_value(37) := p_source_54;
86035 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
86036 l_rec_acct_attrs.array_num_value(38) := p_source_85;
86037 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
86038 l_rec_acct_attrs.array_num_value(39) := p_source_86;
86039 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
86040 l_rec_acct_attrs.array_num_value(40) := p_source_87;
86041 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
86042 l_rec_acct_attrs.array_num_value(41) := p_source_88;
86043 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
86044 l_rec_acct_attrs.array_num_value(42) := p_source_89;
86045
86046 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86047 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86048
86049 ---------------------------------------------------------------------------------------------------------------
86050 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86051 ---------------------------------------------------------------------------------------------------------------
86052 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86053
86054 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86055 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86056
86057 IF xla_accounting_cache_pkg.GetValueChar
86058 (p_source_code => 'LEDGER_CATEGORY_CODE'
86059 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86060 AND l_bflow_method_code = 'PRIOR_ENTRY'
86061 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86062 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86063 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86064 )
86065 THEN
86066 xla_ae_lines_pkg.BflowUpgEntry
86067 (p_business_method_code => l_bflow_method_code
86068 ,p_business_class_code => l_bflow_class_code
86069 ,p_balance_type => l_balance_type_code);
86070 ELSE
86071 NULL;
86072 XLA_AE_LINES_PKG.business_flow_validation(
86073 p_business_method_code => l_bflow_method_code
86074 ,p_business_class_code => l_bflow_class_code
86075 ,p_inherit_description_flag => l_inherit_desc_flag);
86076 END IF;
86077
86078 --
86079 -- call analytical criteria
86080 --
86081
86082
86083 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
86084 xla_ae_lines_pkg.SetAnalyticalCriteria(
86085 p_analytical_criterion_name => 'Payables Custom Source'
86086 , p_analytical_criterion_owner => 'S'
86087 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
86088 , p_amb_context_code => 'DEFAULT'
86089 , p_balancing_flag => 'N'
86090
86091 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
86092 p_source_163
86093 , p_source_57
86094 , p_source_63))
86095 , p_analytical_detail_num_1 => NULL
86096 , p_analytical_detail_date_1 => NULL
86097
86098 , p_ae_header_id => l_ae_header_id
86099 )
86100 ;
86101 --
86102
86103 --
86104 -- call description
86105 --
86106
86107 xla_ae_lines_pkg.SetLineDescription(
86108 p_ae_header_id => l_ae_header_id
86109 ,p_description => Description_1 (
86110 p_application_id => p_application_id
86111 , p_ae_header_id => l_ae_header_id
86112 , p_source_1 => p_source_1
86113 )
86114 );
86115
86116
86117 --
86118 -- call ADRs
86119 -- Bug 4922099
86120 --
86121 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86122 (NVL(l_actual_upg_option, 'N') = 'O') OR
86123 (NVL(l_enc_upg_option, 'N') = 'O')
86124 )
86125 THEN
86126 NULL;
86127 --
86128 --
86129
86133 , p_transaction_coa_id => null
86130 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
86131 p_code_combination_id => TO_NUMBER(C_NUM)
86132 , p_value_type_code => NULL
86134 , p_accounting_coa_id => null
86135 , p_adr_code => NULL
86136 , p_adr_type_code => NULL
86137 , p_component_type => l_component_type
86138 , p_component_code => l_component_code
86139 , p_component_type_code => l_component_type_code
86140 , p_component_appl_id => l_component_appl_id
86141 , p_amb_context_code => l_amb_context_code
86142 , p_side => NULL
86143 );
86144
86145
86146 -- initialise segments
86147 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86148 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86149 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86150 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86151 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86152 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86153 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86154 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86155 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86156 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86157 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86158 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86159 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86160 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86161 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86162 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86163 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86164 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86165 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86166 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86167 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86168 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86169 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86170 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86171 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86172 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86173 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86174 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86175 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86176 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86177 --
86178
86179 --
86180
86181
86182 l_segment := AcctDerRule_15(
86183 p_application_id => p_application_id
86184 , p_ae_header_id => l_ae_header_id
86185 , p_source_34 => p_source_34
86186 , x_transaction_coa_id => l_adr_transaction_coa_id
86187 , x_accounting_coa_id => l_adr_accounting_coa_id
86188 , x_flexfield_segment_code => l_adr_flexfield_segment_code
86189 , x_flex_value_set_id => l_adr_flex_value_set_id
86190 , x_value_type_code => l_adr_value_type_code
86191 , x_value_combination_id => l_adr_value_combination_id
86192 , x_value_segment_code => l_adr_value_segment_code
86193 , p_side => 'NA'
86194 , p_override_seg_flag => 'Y'
86195 );
86196
86197 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
86198
86199 xla_ae_lines_pkg.set_segment(
86200 p_to_segment_code => 'GL_ACCOUNT'
86201 , p_segment_value => l_segment
86202 , p_from_segment_code => l_adr_value_segment_code
86203 , p_from_combination_id => l_adr_value_combination_id
86204 , p_value_type_code => l_adr_value_type_code
86205 , p_transaction_coa_id => l_adr_transaction_coa_id
86206 , p_accounting_coa_id => l_adr_accounting_coa_id
86207 , p_flexfield_segment_code => l_adr_flexfield_segment_code
86208 , p_flex_value_set_id => l_adr_flex_value_set_id
86209 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
86210 , p_adr_type_code => 'S'
86211 , p_component_type => l_component_type
86212 , p_component_code => l_component_code
86213 , p_component_type_code => l_component_type_code
86214 , p_component_appl_id => l_component_appl_id
86215 , p_amb_context_code => l_amb_context_code
86216 , p_entity_code => 'AP_INVOICES'
86217 , p_event_class_code => 'DEBIT MEMOS'
86218 , p_side => 'NA'
86219 );
86220
86221 END IF;
86222
86223 --
86227 -- Bug 4922099
86224 --
86225 END IF;
86226 --
86228 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
86229 (NVL(l_enc_upg_option, 'N') = 'O')
86230 ) AND
86231 (l_bflow_method_code = 'PRIOR_ENTRY')
86232 )
86233 THEN
86234 IF
86235 --
86236 1 = 2
86237 --
86238 THEN
86239 xla_accounting_err_pkg.build_message
86240 (p_appli_s_name => 'XLA'
86241 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86242 ,p_token_1 => 'LINE_NUMBER'
86243 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
86244 ,p_token_2 => 'LINE_TYPE_NAME'
86245 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
86246 l_component_type
86247 ,l_component_code
86248 ,l_component_type_code
86249 ,l_component_appl_id
86250 ,l_amb_context_code
86251 ,l_entity_code
86252 ,l_event_class_code
86253 )
86254 ,p_token_3 => 'OWNER'
86255 ,p_value_3 => xla_lookups_pkg.get_meaning(
86256 p_lookup_type => 'XLA_OWNER_TYPE'
86257 ,p_lookup_code => l_component_type_code
86258 )
86259 ,p_token_4 => 'PRODUCT_NAME'
86260 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
86261 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
86262 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
86263 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
86264 ,p_ae_header_id => NULL
86265 );
86266
86267 IF (C_LEVEL_ERROR>= g_log_level) THEN
86268 trace
86269 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86270 ,p_level => C_LEVEL_ERROR
86271 ,p_module => l_log_module);
86272 END IF;
86273 END IF;
86274 END IF;
86275 --
86276 --
86277 ------------------------------------------------------------------------------------------------
86278 -- 4219869 Business Flow
86279 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
86280 -- Prior Entry. Currently, the following code is always generated.
86281 ------------------------------------------------------------------------------------------------
86282 XLA_AE_LINES_PKG.ValidateCurrentLine;
86283
86284 ------------------------------------------------------------------------------------
86285 -- 4219869 Business Flow
86286 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
86287 ------------------------------------------------------------------------------------
86288 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86289
86290 ----------------------------------------------------------------------------------
86291 -- 4219869 Business Flow
86292 -- Update journal entry status -- Need to generate this within IF <condition>
86293 ----------------------------------------------------------------------------------
86294 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86295 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
86296 ,p_balance_type_code => l_balance_type_code
86297 );
86298
86299 -------------------------------------------------------------------------------------------
86300 -- 4262811 - Generate the Accrual Reversal lines
86301 -------------------------------------------------------------------------------------------
86302 BEGIN
86303 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
86304 (g_array_event(p_event_id).array_value_num('header_index'));
86305 IF l_acc_rev_flag IS NULL THEN
86306 l_acc_rev_flag := 'N';
86307 END IF;
86308 EXCEPTION
86309 WHEN OTHERS THEN
86310 l_acc_rev_flag := 'N';
86311 END;
86312 --
86313 IF (l_acc_rev_flag = 'Y') THEN
86314
86315 -- 4645092 ------------------------------------------------------------------------------
86316 -- To allow MPA report to determine if it should generate report process
86317 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
86321 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
86318 ------------------------------------------------------------------------------------------
86319
86320 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
86322 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
86323 -- call ADRs
86324 -- Bug 4922099
86325 --
86326 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86327 (NVL(l_actual_upg_option, 'N') = 'O') OR
86328 (NVL(l_enc_upg_option, 'N') = 'O')
86329 )
86330 THEN
86331 NULL;
86332 --
86333 --
86334
86335 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
86336 p_code_combination_id => TO_NUMBER(C_NUM)
86337 , p_value_type_code => NULL
86338 , p_transaction_coa_id => null
86339 , p_accounting_coa_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_side => NULL
86348 );
86349
86350
86351 -- initialise segments
86352 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86353 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86354 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86355 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86356 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86357 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86358 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86359 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86360 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86361 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86362 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86363 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86364 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86365 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86366 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86367 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86368 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86369 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86370 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86371 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86372 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86373 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86374 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86375 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86376 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86377 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86378 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86379 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86380 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86381 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86382 --
86383
86384 --
86385
86386
86387 l_segment := AcctDerRule_15(
86388 p_application_id => p_application_id
86389 , p_ae_header_id => l_ae_header_id
86390 , p_source_34 => p_source_34
86391 , x_transaction_coa_id => l_adr_transaction_coa_id
86392 , x_accounting_coa_id => l_adr_accounting_coa_id
86393 , x_flexfield_segment_code => l_adr_flexfield_segment_code
86394 , x_flex_value_set_id => l_adr_flex_value_set_id
86395 , x_value_type_code => l_adr_value_type_code
86396 , x_value_combination_id => l_adr_value_combination_id
86397 , x_value_segment_code => l_adr_value_segment_code
86398 , p_side => 'NA'
86399 , p_override_seg_flag => 'Y'
86400 );
86401
86402 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
86403
86404 xla_ae_lines_pkg.set_segment(
86405 p_to_segment_code => 'GL_ACCOUNT'
86406 , p_segment_value => l_segment
86407 , p_from_segment_code => l_adr_value_segment_code
86408 , p_from_combination_id => l_adr_value_combination_id
86409 , p_value_type_code => l_adr_value_type_code
86410 , p_transaction_coa_id => l_adr_transaction_coa_id
86411 , p_accounting_coa_id => l_adr_accounting_coa_id
86415 , p_adr_type_code => 'S'
86412 , p_flexfield_segment_code => l_adr_flexfield_segment_code
86413 , p_flex_value_set_id => l_adr_flex_value_set_id
86414 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
86416 , p_component_type => l_component_type
86417 , p_component_code => l_component_code
86418 , p_component_type_code => l_component_type_code
86419 , p_component_appl_id => l_component_appl_id
86420 , p_amb_context_code => l_amb_context_code
86421 , p_entity_code => 'AP_INVOICES'
86422 , p_event_class_code => 'DEBIT MEMOS'
86423 , p_side => 'NA'
86424 );
86425
86426 END IF;
86427
86428 --
86429 --
86430 END IF;
86431
86432 --
86433 -- Update the line information that should be overwritten
86434 --
86435 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
86436 p_header_num => 1);
86437 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
86438
86439 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
86440
86441 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
86442 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
86443 END IF;
86444
86445 --
86446 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
86447 --
86448 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
86449 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
86450 ELSE
86451 ---------------------------------------------------------------------------------------------------
86452 -- 4262811a Switch Sign
86453 ---------------------------------------------------------------------------------------------------
86454 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
86455 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86457 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86458 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86459 -- 5132302
86460 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
86461 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86462
86463 END IF;
86464
86465 -- 4955764
86466 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86467 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
86468
86469
86470 XLA_AE_LINES_PKG.ValidateCurrentLine;
86471 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86472
86473 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86474 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
86475 ,p_balance_type_code => l_balance_type_code);
86476
86477 END IF;
86478
86479 -----------------------------------------------------------------------------------------
86480 -- 4262811 Multiperiod Accounting
86481 -----------------------------------------------------------------------------------------
86482 -- No MPA option is assigned.
86483
86484
86485 END IF;
86486 END IF;
86487 --
86488
86489 --
86490 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86491 trace
86492 (p_msg => 'END of AcctLineType_150'
86493 ,p_level => C_LEVEL_PROCEDURE
86494 ,p_module => l_log_module);
86495 END IF;
86496 --
86497 EXCEPTION
86498 WHEN xla_exceptions_pkg.application_exception THEN
86499 RAISE;
86500 WHEN OTHERS THEN
86501 xla_exceptions_pkg.raise_message
86502 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_150');
86503 END AcctLineType_150;
86504 --
86505
86506 ---------------------------------------
86507 --
86508 -- PRIVATE FUNCTION
86509 -- AcctLineType_151
86510 --
86511 ---------------------------------------
86512 PROCEDURE AcctLineType_151 (
86513 p_application_id IN NUMBER
86514 ,p_event_id IN NUMBER
86515 ,p_calculate_acctd_flag IN VARCHAR2
86516 ,p_calculate_g_l_flag IN VARCHAR2
86517 ,p_actual_flag IN OUT VARCHAR2
86518 ,p_balance_type_code OUT VARCHAR2
86519 ,p_gain_or_loss_ref OUT VARCHAR2
86520
86521 --Invoice Distribution Description
86522 , p_source_1 IN VARCHAR2
86523 --Automatic Offsets Value
86524 , p_source_15 IN VARCHAR2
86525 , p_source_15_meaning IN VARCHAR2
86526 --Invoice Distribution Ledger Amount
86527 , p_source_21 IN NUMBER
86528 --Invoice Liability Account
86529 , p_source_34 IN NUMBER
86530 --Accounting Reversal Indicator
86531 , p_source_52 IN VARCHAR2
86532 --Distribution Link Type
86533 , p_source_54 IN VARCHAR2
86534 --Allocation to Main Distribution Identifier
86538 --Invoice Distribution Identifier
86535 , p_source_56 IN NUMBER
86536 --Invoice Identifier
86537 , p_source_57 IN NUMBER
86539 , p_source_63 IN NUMBER
86540 --Payables Encumbrance Upgrade Credit Account
86541 , p_source_64 IN NUMBER
86542 --Payables Encumbrance Upgrade Credit Amount
86543 , p_source_65 IN NUMBER
86544 --Invoice Currency Code
86545 , p_source_66 IN VARCHAR2
86546 --Payables Encumbrance Upgrade Credit Base Amount
86547 , p_source_67 IN NUMBER
86548 --Payables Encumbrance Upgrade Debit Account
86549 , p_source_68 IN NUMBER
86550 --Payables Encumbrance Upgrade Debit Amount
86551 , p_source_69 IN NUMBER
86552 --Payables Encumbrance Upgrade Debit Base Amount
86553 , p_source_70 IN NUMBER
86554 --Payables Encumbrance Upgrade Option
86555 , p_source_71 IN VARCHAR2
86556 --Invoice Distribution Amount
86557 , p_source_72 IN NUMBER
86558 --Deferred Accounting End Date
86559 , p_source_76 IN DATE
86560 --Deferred Accounting Option
86561 , p_source_77 IN VARCHAR2
86562 --Deferred Accounting Start Date
86563 , p_source_78 IN DATE
86564 --Override Accounted Amount Indicator
86565 , p_source_79 IN VARCHAR2
86566 , p_source_79_meaning IN VARCHAR2
86567 --Invoice Supplier Identifier
86568 , p_source_80 IN NUMBER
86569 --Invoice Supplier Site Identifier
86570 , p_source_81 IN NUMBER
86571 --Third Party Type
86572 , p_source_82 IN VARCHAR2
86573 --Parent Reversal Identifier
86574 , p_source_83 IN NUMBER
86575 --Invoice Distribution Tax Line Identifier
86576 , p_source_85 IN NUMBER
86577 --Invoice Distribution Tax Distribution Identifier from Tax
86578 , p_source_86 IN NUMBER
86579 --Invoice Distribution Summary Tax Line Identifier
86580 , p_source_87 IN NUMBER
86581 --Payables Upgrade Credit Encumbrance Type Identifier
86582 , p_source_88 IN NUMBER
86583 --Payables Upgrade Debit Encumbrance Type Identifier
86584 , p_source_89 IN NUMBER
86585 --Business Flow Accounts Payable Application Identifier
86586 , p_source_90 IN NUMBER
86587 --Business Flow Invoice Distribution Type
86588 , p_source_91 IN VARCHAR2
86589 --Business Flow Invoice Entity Code
86590 , p_source_92 IN VARCHAR2
86591 --Business Flow Invoice Distribution Identifier
86592 , p_source_93 IN NUMBER
86593 --Business Flow Invoice Identifier
86594 , p_source_94 IN NUMBER
86595 --Self-Assessed Tax Flag
86596 , p_source_135 IN VARCHAR2
86597 , p_source_135_meaning IN VARCHAR2
86598 --Invoice Exchange Date
86599 , p_source_136 IN DATE
86600 --Invoice Exchange Rate
86601 , p_source_137 IN NUMBER
86602 --Invoice Exchange Rate Type
86603 , p_source_138 IN VARCHAR2
86604 --Invoice Source
86605 , p_source_163 IN VARCHAR2
86606 )
86607 IS
86608
86609 l_component_type VARCHAR2(80);
86610 l_component_code VARCHAR2(30);
86611 l_component_type_code VARCHAR2(1);
86612 l_component_appl_id INTEGER;
86613 l_amb_context_code VARCHAR2(30);
86614 l_entity_code VARCHAR2(30);
86615 l_event_class_code VARCHAR2(30);
86616 l_ae_header_id NUMBER;
86617 l_event_type_code VARCHAR2(30);
86618 l_line_definition_code VARCHAR2(30);
86619 l_line_definition_owner_code VARCHAR2(1);
86620 --
86621 -- adr variables
86622 l_segment VARCHAR2(30);
86623 l_ccid NUMBER;
86624 l_adr_transaction_coa_id NUMBER;
86625 l_adr_accounting_coa_id NUMBER;
86626 l_adr_flexfield_segment_code VARCHAR2(30);
86627 l_adr_flex_value_set_id NUMBER;
86628 l_adr_value_type_code VARCHAR2(30);
86629 l_adr_value_combination_id NUMBER;
86630 l_adr_value_segment_code VARCHAR2(30);
86631
86632 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
86633 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
86634 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
86635 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
86636
86637 -- 4262811 Variables ------------------------------------------------------------------------------------------
86638 l_entered_amt_idx NUMBER;
86639 l_accted_amt_idx NUMBER;
86640 l_acc_rev_flag VARCHAR2(1);
86641 l_accrual_line_num NUMBER;
86642 l_tmp_amt NUMBER;
86643 l_acc_rev_natural_side_code VARCHAR2(1);
86644
86645 l_num_entries NUMBER;
86646 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
86647 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
86648 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
86649 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
86650 l_recog_line_1 NUMBER;
86651 l_recog_line_2 NUMBER;
86652
86653 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
86654 l_bflow_applied_to_amt NUMBER; -- 5132302
86655 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
86656
86660 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
86657 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
86658
86659 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
86661
86662 ---------------------------------------------------------------------------------------------------------------
86663
86664
86665 --
86666 -- bulk performance
86667 --
86668 l_balance_type_code VARCHAR2(1);
86669 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
86670 l_log_module VARCHAR2(240);
86671
86672 --
86673 -- Upgrade strategy
86674 --
86675 l_actual_upg_option VARCHAR2(1);
86676 l_enc_upg_option VARCHAR2(1);
86677
86678 --
86679 BEGIN
86680 --
86681 IF g_log_enabled THEN
86682 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_151';
86683 END IF;
86684 --
86685 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86686
86687 trace
86688 (p_msg => 'BEGIN of AcctLineType_151'
86689 ,p_level => C_LEVEL_PROCEDURE
86690 ,p_module => l_log_module);
86691
86692 END IF;
86693 --
86694 l_component_type := 'AMB_JLT';
86695 l_component_code := 'AP_LIAB_DM_AOS_BS';
86696 l_component_type_code := 'S';
86697 l_component_appl_id := 200;
86698 l_amb_context_code := 'DEFAULT';
86699 l_entity_code := 'AP_INVOICES';
86700 l_event_class_code := 'DEBIT MEMOS';
86701 l_event_type_code := 'DEBIT MEMOS_ALL';
86702 l_line_definition_owner_code := 'S';
86703 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
86704 --
86705 l_balance_type_code := 'A';
86706 l_segment := NULL;
86707 l_ccid := NULL;
86708 l_adr_transaction_coa_id := NULL;
86709 l_adr_accounting_coa_id := NULL;
86710 l_adr_flexfield_segment_code := NULL;
86711 l_adr_flex_value_set_id := NULL;
86712 l_adr_value_type_code := NULL;
86713 l_adr_value_combination_id := NULL;
86714 l_adr_value_segment_code := NULL;
86715
86716 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
86717 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
86718 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86719 l_budgetary_control_flag := 'N';
86720
86721 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86722 l_bflow_applied_to_amt := NULL; -- 5132302
86723 l_entered_amt_idx := NULL; -- 4262811
86724 l_accted_amt_idx := NULL; -- 4262811
86725 l_acc_rev_flag := NULL; -- 4262811
86726 l_accrual_line_num := NULL; -- 4262811
86727 l_tmp_amt := NULL; -- 4262811
86728 --
86729
86730 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86731 l_balance_type_code <> 'B' THEN
86732 IF NVL(p_source_15,'
86733 ') = 'BALANCING_SEGMENT' AND
86734 NVL(p_source_135,'
86735 ') <> 'Y'
86736 THEN
86737
86738 --
86739 XLA_AE_LINES_PKG.SetNewLine;
86740
86741 p_balance_type_code := l_balance_type_code;
86742 -- set the flag so later we will know whether the gain loss line needs to be created
86743
86744 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86745 p_actual_flag :='A';
86746 END IF;
86747
86748 --
86749 -- bulk performance
86750 --
86751 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86752 p_header_num => 0); -- 4262811
86753 --
86754 -- set accounting line options
86755 --
86756 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86757 p_natural_side_code => 'C'
86758 , p_gain_or_loss_flag => 'N'
86759 , p_gl_transfer_mode_code => 'S'
86760 , p_acct_entry_type_code => 'A'
86761 , p_switch_side_flag => 'Y'
86762 , p_merge_duplicate_code => 'A'
86763 );
86764 --
86765 l_acc_rev_natural_side_code := 'D'; -- 4262811
86766 --
86767 --
86768 -- set accounting line type info
86769 --
86770 xla_ae_lines_pkg.SetAcctLineType
86771 (p_component_type => l_component_type
86772 ,p_event_type_code => l_event_type_code
86773 ,p_line_definition_owner_code => l_line_definition_owner_code
86774 ,p_line_definition_code => l_line_definition_code
86775 ,p_accounting_line_code => l_component_code
86776 ,p_accounting_line_type_code => l_component_type_code
86777 ,p_accounting_line_appl_id => l_component_appl_id
86778 ,p_amb_context_code => l_amb_context_code
86779 ,p_entity_code => l_entity_code
86780 ,p_event_class_code => l_event_class_code);
86781 --
86782 -- set accounting class
86783 --
86784 xla_ae_lines_pkg.SetAcctClass(
86785 p_accounting_class_code => 'LIABILITY'
86786 , p_ae_header_id => l_ae_header_id
86787 );
86788
86789 --
86790 -- set rounding class
86791 --
86792 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86796 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86793 'LIABILITY';
86794
86795 --
86797 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86798 --
86799 -- bulk performance
86800 --
86801 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86802
86803 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86804 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86805
86806 -- 4955764
86807 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86808 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86809
86810 -- 4458381 Public Sector Enh
86811
86812 --
86813 -- set accounting attributes for the line type
86814 --
86815 l_entered_amt_idx := 23;
86816 l_accted_amt_idx := 28;
86817 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86818 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86819 l_rec_acct_attrs.array_char_value(1) := p_source_52;
86820 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86821 l_rec_acct_attrs.array_num_value(2) :=
86822 xla_ae_sources_pkg.GetSystemSourceNum(
86823 p_source_code => 'XLA_EVENT_APPL_ID'
86824 , p_source_type_code => 'Y'
86825 , p_source_application_id => 602
86826 );
86827 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86828 l_rec_acct_attrs.array_char_value(3) := p_source_54;
86829 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86830 l_rec_acct_attrs.array_char_value(4) :=
86831 xla_ae_sources_pkg.GetSystemSourceChar(
86832 p_source_code => 'XLA_ENTITY_CODE'
86833 , p_source_type_code => 'Y'
86834 , p_source_application_id => 602
86835 );
86836 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86837 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
86838 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86839 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
86840 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
86841 l_rec_acct_attrs.array_num_value(7) := p_source_90;
86842 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86843 l_rec_acct_attrs.array_char_value(8) := p_source_91;
86844 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
86845 l_rec_acct_attrs.array_char_value(9) := p_source_92;
86846 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
86847 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
86848 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86849 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
86850 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
86851 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
86852 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
86853 l_rec_acct_attrs.array_char_value(13) := p_source_54;
86854 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
86855 l_rec_acct_attrs.array_num_value(14) := p_source_64;
86856 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
86857 l_rec_acct_attrs.array_num_value(15) := p_source_65;
86858 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
86859 l_rec_acct_attrs.array_char_value(16) := p_source_66;
86860 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
86861 l_rec_acct_attrs.array_num_value(17) := p_source_67;
86862 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
86863 l_rec_acct_attrs.array_num_value(18) := p_source_68;
86864 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
86865 l_rec_acct_attrs.array_num_value(19) := p_source_69;
86866 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
86867 l_rec_acct_attrs.array_char_value(20) := p_source_66;
86868 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
86869 l_rec_acct_attrs.array_num_value(21) := p_source_70;
86870 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
86871 l_rec_acct_attrs.array_char_value(22) := p_source_71;
86872 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
86873 l_rec_acct_attrs.array_num_value(23) := p_source_72;
86874 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
86875 l_rec_acct_attrs.array_char_value(24) := p_source_66;
86876 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
86877 l_rec_acct_attrs.array_date_value(25) := p_source_136;
86878 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
86879 l_rec_acct_attrs.array_num_value(26) := p_source_137;
86880 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
86881 l_rec_acct_attrs.array_char_value(27) := p_source_138;
86882 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
86883 l_rec_acct_attrs.array_num_value(28) := p_source_21;
86884 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
86885 l_rec_acct_attrs.array_date_value(29) := p_source_76;
86886 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
86887 l_rec_acct_attrs.array_char_value(30) := p_source_77;
86891 l_rec_acct_attrs.array_char_value(32) := p_source_79;
86888 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
86889 l_rec_acct_attrs.array_date_value(31) := p_source_78;
86890 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
86892 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
86893 l_rec_acct_attrs.array_num_value(33) := p_source_80;
86894 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
86895 l_rec_acct_attrs.array_num_value(34) := p_source_81;
86896 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
86897 l_rec_acct_attrs.array_char_value(35) := p_source_82;
86898 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
86899 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
86900 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
86901 l_rec_acct_attrs.array_char_value(37) := p_source_54;
86902 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
86903 l_rec_acct_attrs.array_num_value(38) := p_source_85;
86904 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
86905 l_rec_acct_attrs.array_num_value(39) := p_source_86;
86906 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
86907 l_rec_acct_attrs.array_num_value(40) := p_source_87;
86908 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
86909 l_rec_acct_attrs.array_num_value(41) := p_source_88;
86910 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
86911 l_rec_acct_attrs.array_num_value(42) := p_source_89;
86912
86913 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86914 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86915
86916 ---------------------------------------------------------------------------------------------------------------
86917 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86918 ---------------------------------------------------------------------------------------------------------------
86919 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86920
86921 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86922 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86923
86924 IF xla_accounting_cache_pkg.GetValueChar
86925 (p_source_code => 'LEDGER_CATEGORY_CODE'
86926 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86927 AND l_bflow_method_code = 'PRIOR_ENTRY'
86928 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86929 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86930 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86931 )
86932 THEN
86933 xla_ae_lines_pkg.BflowUpgEntry
86934 (p_business_method_code => l_bflow_method_code
86935 ,p_business_class_code => l_bflow_class_code
86936 ,p_balance_type => l_balance_type_code);
86937 ELSE
86938 NULL;
86939 XLA_AE_LINES_PKG.business_flow_validation(
86940 p_business_method_code => l_bflow_method_code
86941 ,p_business_class_code => l_bflow_class_code
86942 ,p_inherit_description_flag => l_inherit_desc_flag);
86943 END IF;
86944
86945 --
86946 -- call analytical criteria
86947 --
86948
86949
86950 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
86951 xla_ae_lines_pkg.SetAnalyticalCriteria(
86952 p_analytical_criterion_name => 'Payables Custom Source'
86953 , p_analytical_criterion_owner => 'S'
86954 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
86955 , p_amb_context_code => 'DEFAULT'
86956 , p_balancing_flag => 'N'
86957
86958 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
86959 p_source_163
86960 , p_source_57
86961 , p_source_63))
86962 , p_analytical_detail_num_1 => NULL
86963 , p_analytical_detail_date_1 => NULL
86964
86965 , p_ae_header_id => l_ae_header_id
86966 )
86967 ;
86968 --
86969
86970 --
86971 -- call description
86972 --
86973
86974 xla_ae_lines_pkg.SetLineDescription(
86975 p_ae_header_id => l_ae_header_id
86976 ,p_description => Description_1 (
86977 p_application_id => p_application_id
86978 , p_ae_header_id => l_ae_header_id
86979 , p_source_1 => p_source_1
86980 )
86981 );
86982
86983
86984 --
86985 -- call ADRs
86986 -- Bug 4922099
86987 --
86988 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86989 (NVL(l_actual_upg_option, 'N') = 'O') OR
86990 (NVL(l_enc_upg_option, 'N') = 'O')
86991 )
86992 THEN
86993 NULL;
86994 --
86995 --
86996
86997 l_ccid := AcctDerRule_34(
86998 p_application_id => p_application_id
86999 , p_ae_header_id => l_ae_header_id
87000 , p_source_34 => p_source_34
87001 , x_transaction_coa_id => l_adr_transaction_coa_id
87005 );
87002 , x_accounting_coa_id => l_adr_accounting_coa_id
87003 , x_value_type_code => l_adr_value_type_code
87004 , p_side => 'NA'
87006
87007 xla_ae_lines_pkg.set_ccid(
87008 p_code_combination_id => l_ccid
87009 , p_value_type_code => l_adr_value_type_code
87010 , p_transaction_coa_id => l_adr_transaction_coa_id
87011 , p_accounting_coa_id => l_adr_accounting_coa_id
87012 , p_adr_code => 'AP_LIAB'
87013 , p_adr_type_code => 'S'
87014 , p_component_type => l_component_type
87015 , p_component_code => l_component_code
87016 , p_component_type_code => l_component_type_code
87017 , p_component_appl_id => l_component_appl_id
87018 , p_amb_context_code => l_amb_context_code
87019 , p_side => 'NA'
87020 );
87021
87022
87023 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
87024 p_to_segment_code => 'GL_BALANCING'
87025 , p_segment_value => C_CHAR
87026 , p_from_segment_code => NULL
87027 , p_from_combination_id => NULL
87028 , p_value_type_code => NULL
87029 , p_transaction_coa_id => null
87030 , p_accounting_coa_id => null
87031 , p_flexfield_segment_code => NULL
87032 , p_flex_value_set_id => NULL
87033 , p_adr_code => NULL
87034 , p_adr_type_code => NULL
87035 , p_component_type => l_component_type
87036 , p_component_code => l_component_code
87037 , p_component_type_code => l_component_type_code
87038 , p_component_appl_id => l_component_appl_id
87039 , p_amb_context_code => l_amb_context_code
87040 , p_entity_code => 'AP_INVOICES'
87041 , p_event_class_code => 'DEBIT MEMOS'
87042 , p_side => 'NA'
87043 );
87044 --
87045
87046
87047 --
87048 --
87049 END IF;
87050 --
87051 -- Bug 4922099
87052 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87053 (NVL(l_enc_upg_option, 'N') = 'O')
87054 ) AND
87055 (l_bflow_method_code = 'PRIOR_ENTRY')
87056 )
87057 THEN
87058 IF
87059 --
87060 1 = 2
87061 --
87062 THEN
87063 xla_accounting_err_pkg.build_message
87064 (p_appli_s_name => 'XLA'
87065 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87066 ,p_token_1 => 'LINE_NUMBER'
87067 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87068 ,p_token_2 => 'LINE_TYPE_NAME'
87069 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87070 l_component_type
87071 ,l_component_code
87072 ,l_component_type_code
87073 ,l_component_appl_id
87074 ,l_amb_context_code
87075 ,l_entity_code
87076 ,l_event_class_code
87077 )
87078 ,p_token_3 => 'OWNER'
87079 ,p_value_3 => xla_lookups_pkg.get_meaning(
87080 p_lookup_type => 'XLA_OWNER_TYPE'
87081 ,p_lookup_code => l_component_type_code
87082 )
87083 ,p_token_4 => 'PRODUCT_NAME'
87084 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87085 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87086 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87087 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87088 ,p_ae_header_id => NULL
87089 );
87090
87091 IF (C_LEVEL_ERROR>= g_log_level) THEN
87092 trace
87093 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87094 ,p_level => C_LEVEL_ERROR
87095 ,p_module => l_log_module);
87096 END IF;
87097 END IF;
87098 END IF;
87099 --
87100 --
87101 ------------------------------------------------------------------------------------------------
87102 -- 4219869 Business Flow
87103 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87107
87104 -- Prior Entry. Currently, the following code is always generated.
87105 ------------------------------------------------------------------------------------------------
87106 XLA_AE_LINES_PKG.ValidateCurrentLine;
87108 ------------------------------------------------------------------------------------
87109 -- 4219869 Business Flow
87110 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87111 ------------------------------------------------------------------------------------
87112 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87113
87114 ----------------------------------------------------------------------------------
87115 -- 4219869 Business Flow
87116 -- Update journal entry status -- Need to generate this within IF <condition>
87117 ----------------------------------------------------------------------------------
87118 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87119 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87120 ,p_balance_type_code => l_balance_type_code
87121 );
87122
87123 -------------------------------------------------------------------------------------------
87124 -- 4262811 - Generate the Accrual Reversal lines
87125 -------------------------------------------------------------------------------------------
87126 BEGIN
87127 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87128 (g_array_event(p_event_id).array_value_num('header_index'));
87129 IF l_acc_rev_flag IS NULL THEN
87130 l_acc_rev_flag := 'N';
87131 END IF;
87132 EXCEPTION
87133 WHEN OTHERS THEN
87134 l_acc_rev_flag := 'N';
87135 END;
87136 --
87137 IF (l_acc_rev_flag = 'Y') THEN
87138
87139 -- 4645092 ------------------------------------------------------------------------------
87140 -- To allow MPA report to determine if it should generate report process
87141 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87142 ------------------------------------------------------------------------------------------
87143
87144 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87145 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87146 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87147 -- call ADRs
87148 -- Bug 4922099
87149 --
87150 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87151 (NVL(l_actual_upg_option, 'N') = 'O') OR
87152 (NVL(l_enc_upg_option, 'N') = 'O')
87153 )
87154 THEN
87155 NULL;
87156 --
87157 --
87158
87159 l_ccid := AcctDerRule_34(
87160 p_application_id => p_application_id
87161 , p_ae_header_id => l_ae_header_id
87162 , p_source_34 => p_source_34
87163 , x_transaction_coa_id => l_adr_transaction_coa_id
87164 , x_accounting_coa_id => l_adr_accounting_coa_id
87165 , x_value_type_code => l_adr_value_type_code
87166 , p_side => 'NA'
87167 );
87168
87169 xla_ae_lines_pkg.set_ccid(
87170 p_code_combination_id => l_ccid
87171 , p_value_type_code => l_adr_value_type_code
87172 , p_transaction_coa_id => l_adr_transaction_coa_id
87173 , p_accounting_coa_id => l_adr_accounting_coa_id
87174 , p_adr_code => 'AP_LIAB'
87175 , p_adr_type_code => 'S'
87176 , p_component_type => l_component_type
87177 , p_component_code => l_component_code
87178 , p_component_type_code => l_component_type_code
87179 , p_component_appl_id => l_component_appl_id
87180 , p_amb_context_code => l_amb_context_code
87181 , p_side => 'NA'
87182 );
87183
87184
87185 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
87186 p_to_segment_code => 'GL_BALANCING'
87187 , p_segment_value => C_CHAR
87188 , p_from_segment_code => NULL
87189 , p_from_combination_id => NULL
87190 , p_value_type_code => NULL
87191 , p_transaction_coa_id => null
87192 , p_accounting_coa_id => null
87193 , p_flexfield_segment_code => NULL
87194 , p_flex_value_set_id => NULL
87195 , p_adr_code => NULL
87196 , p_adr_type_code => NULL
87197 , p_component_type => l_component_type
87198 , p_component_code => l_component_code
87199 , p_component_type_code => l_component_type_code
87200 , p_component_appl_id => l_component_appl_id
87201 , p_amb_context_code => l_amb_context_code
87202 , p_entity_code => 'AP_INVOICES'
87203 , p_event_class_code => 'DEBIT MEMOS'
87204 , p_side => 'NA'
87205 );
87206 --
87207
87208
87209 --
87210 --
87211 END IF;
87212
87213 --
87214 -- Update the line information that should be overwritten
87215 --
87216 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87217 p_header_num => 1);
87218 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87219
87220 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87221
87225
87222 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87223 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87224 END IF;
87226 --
87227 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87228 --
87229 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87230 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87231 ELSE
87232 ---------------------------------------------------------------------------------------------------
87233 -- 4262811a Switch Sign
87234 ---------------------------------------------------------------------------------------------------
87235 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87236 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87237 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87238 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87239 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87240 -- 5132302
87241 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87242 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87243
87244 END IF;
87245
87246 -- 4955764
87247 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87248 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
87249
87250
87251 XLA_AE_LINES_PKG.ValidateCurrentLine;
87252 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87253
87254 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87255 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
87256 ,p_balance_type_code => l_balance_type_code);
87257
87258 END IF;
87259
87260 -----------------------------------------------------------------------------------------
87261 -- 4262811 Multiperiod Accounting
87262 -----------------------------------------------------------------------------------------
87263 -- No MPA option is assigned.
87264
87265
87266 END IF;
87267 END IF;
87268 --
87269
87270 --
87271 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87272 trace
87273 (p_msg => 'END of AcctLineType_151'
87274 ,p_level => C_LEVEL_PROCEDURE
87275 ,p_module => l_log_module);
87276 END IF;
87277 --
87278 EXCEPTION
87279 WHEN xla_exceptions_pkg.application_exception THEN
87280 RAISE;
87281 WHEN OTHERS THEN
87282 xla_exceptions_pkg.raise_message
87283 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_151');
87284 END AcctLineType_151;
87285 --
87286
87287 ---------------------------------------
87288 --
87289 -- PRIVATE FUNCTION
87290 -- AcctLineType_152
87291 --
87292 ---------------------------------------
87293 PROCEDURE AcctLineType_152 (
87294 p_application_id IN NUMBER
87295 ,p_event_id IN NUMBER
87296 ,p_calculate_acctd_flag IN VARCHAR2
87297 ,p_calculate_g_l_flag IN VARCHAR2
87298 ,p_actual_flag IN OUT VARCHAR2
87299 ,p_balance_type_code OUT VARCHAR2
87300 ,p_gain_or_loss_ref OUT VARCHAR2
87301
87302 --Invoice Distribution Description
87303 , p_source_1 IN VARCHAR2
87304 --Automatic Offsets Value
87305 , p_source_15 IN VARCHAR2
87306 , p_source_15_meaning IN VARCHAR2
87307 --Invoice Distribution Ledger Amount
87308 , p_source_21 IN NUMBER
87309 --Invoice Liability Account
87310 , p_source_34 IN NUMBER
87311 --Accounting Reversal Indicator
87312 , p_source_52 IN VARCHAR2
87313 --Distribution Link Type
87314 , p_source_54 IN VARCHAR2
87315 --Allocation to Main Distribution Identifier
87316 , p_source_56 IN NUMBER
87317 --Invoice Identifier
87318 , p_source_57 IN NUMBER
87319 --Invoice Distribution Identifier
87320 , p_source_63 IN NUMBER
87321 --Payables Encumbrance Upgrade Credit Account
87322 , p_source_64 IN NUMBER
87323 --Payables Encumbrance Upgrade Credit Amount
87324 , p_source_65 IN NUMBER
87325 --Invoice Currency Code
87326 , p_source_66 IN VARCHAR2
87327 --Payables Encumbrance Upgrade Credit Base Amount
87328 , p_source_67 IN NUMBER
87329 --Payables Encumbrance Upgrade Debit Account
87330 , p_source_68 IN NUMBER
87331 --Payables Encumbrance Upgrade Debit Amount
87332 , p_source_69 IN NUMBER
87333 --Payables Encumbrance Upgrade Debit Base Amount
87334 , p_source_70 IN NUMBER
87335 --Payables Encumbrance Upgrade Option
87336 , p_source_71 IN VARCHAR2
87337 --Invoice Distribution Amount
87338 , p_source_72 IN NUMBER
87339 --Deferred Accounting End Date
87340 , p_source_76 IN DATE
87341 --Deferred Accounting Option
87342 , p_source_77 IN VARCHAR2
87343 --Deferred Accounting Start Date
87344 , p_source_78 IN DATE
87348 --Invoice Supplier Identifier
87345 --Override Accounted Amount Indicator
87346 , p_source_79 IN VARCHAR2
87347 , p_source_79_meaning IN VARCHAR2
87349 , p_source_80 IN NUMBER
87350 --Invoice Supplier Site Identifier
87351 , p_source_81 IN NUMBER
87352 --Third Party Type
87353 , p_source_82 IN VARCHAR2
87354 --Parent Reversal Identifier
87355 , p_source_83 IN NUMBER
87356 --Invoice Distribution Statistical Amount
87357 , p_source_84 IN NUMBER
87358 --Invoice Distribution Tax Line Identifier
87359 , p_source_85 IN NUMBER
87360 --Invoice Distribution Tax Distribution Identifier from Tax
87361 , p_source_86 IN NUMBER
87362 --Invoice Distribution Summary Tax Line Identifier
87363 , p_source_87 IN NUMBER
87364 --Payables Upgrade Credit Encumbrance Type Identifier
87365 , p_source_88 IN NUMBER
87366 --Payables Upgrade Debit Encumbrance Type Identifier
87367 , p_source_89 IN NUMBER
87368 --Business Flow Accounts Payable Application Identifier
87369 , p_source_90 IN NUMBER
87370 --Business Flow Invoice Distribution Type
87371 , p_source_91 IN VARCHAR2
87372 --Business Flow Invoice Entity Code
87373 , p_source_92 IN VARCHAR2
87374 --Business Flow Invoice Distribution Identifier
87375 , p_source_93 IN NUMBER
87376 --Business Flow Invoice Identifier
87377 , p_source_94 IN NUMBER
87378 --Self-Assessed Tax Flag
87379 , p_source_135 IN VARCHAR2
87380 , p_source_135_meaning IN VARCHAR2
87381 --Invoice Exchange Date
87382 , p_source_136 IN DATE
87383 --Invoice Exchange Rate
87384 , p_source_137 IN NUMBER
87385 --Invoice Exchange Rate Type
87386 , p_source_138 IN VARCHAR2
87387 --Invoice Source
87388 , p_source_163 IN VARCHAR2
87389 --Invoice Type
87390 , p_source_164 IN VARCHAR2
87391 , p_source_164_meaning IN VARCHAR2
87392 )
87393 IS
87394
87395 l_component_type VARCHAR2(80);
87396 l_component_code VARCHAR2(30);
87397 l_component_type_code VARCHAR2(1);
87398 l_component_appl_id INTEGER;
87399 l_amb_context_code VARCHAR2(30);
87400 l_entity_code VARCHAR2(30);
87401 l_event_class_code VARCHAR2(30);
87402 l_ae_header_id NUMBER;
87403 l_event_type_code VARCHAR2(30);
87404 l_line_definition_code VARCHAR2(30);
87405 l_line_definition_owner_code VARCHAR2(1);
87406 --
87407 -- adr variables
87408 l_segment VARCHAR2(30);
87409 l_ccid NUMBER;
87410 l_adr_transaction_coa_id NUMBER;
87411 l_adr_accounting_coa_id NUMBER;
87412 l_adr_flexfield_segment_code VARCHAR2(30);
87413 l_adr_flex_value_set_id NUMBER;
87414 l_adr_value_type_code VARCHAR2(30);
87415 l_adr_value_combination_id NUMBER;
87416 l_adr_value_segment_code VARCHAR2(30);
87417
87418 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
87419 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
87420 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
87421 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
87422
87423 -- 4262811 Variables ------------------------------------------------------------------------------------------
87424 l_entered_amt_idx NUMBER;
87425 l_accted_amt_idx NUMBER;
87426 l_acc_rev_flag VARCHAR2(1);
87427 l_accrual_line_num NUMBER;
87428 l_tmp_amt NUMBER;
87429 l_acc_rev_natural_side_code VARCHAR2(1);
87430
87431 l_num_entries NUMBER;
87432 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
87433 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
87434 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
87435 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
87436 l_recog_line_1 NUMBER;
87437 l_recog_line_2 NUMBER;
87438
87439 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
87440 l_bflow_applied_to_amt NUMBER; -- 5132302
87441 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
87442
87443 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
87444
87445 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
87446 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
87447
87448 ---------------------------------------------------------------------------------------------------------------
87449
87450
87451 --
87452 -- bulk performance
87453 --
87454 l_balance_type_code VARCHAR2(1);
87455 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
87456 l_log_module VARCHAR2(240);
87457
87458 --
87459 -- Upgrade strategy
87460 --
87461 l_actual_upg_option VARCHAR2(1);
87462 l_enc_upg_option VARCHAR2(1);
87463
87464 --
87465 BEGIN
87466 --
87467 IF g_log_enabled THEN
87468 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_152';
87469 END IF;
87470 --
87471 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87472
87473 trace
87474 (p_msg => 'BEGIN of AcctLineType_152'
87478 END IF;
87475 ,p_level => C_LEVEL_PROCEDURE
87476 ,p_module => l_log_module);
87477
87479 --
87480 l_component_type := 'AMB_JLT';
87481 l_component_code := 'AP_LIAB_INV';
87482 l_component_type_code := 'S';
87483 l_component_appl_id := 200;
87484 l_amb_context_code := 'DEFAULT';
87485 l_entity_code := 'AP_INVOICES';
87486 l_event_class_code := 'INVOICES';
87487 l_event_type_code := 'INVOICES_ALL';
87488 l_line_definition_owner_code := 'S';
87489 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
87490 --
87491 l_balance_type_code := 'A';
87492 l_segment := NULL;
87493 l_ccid := NULL;
87494 l_adr_transaction_coa_id := NULL;
87495 l_adr_accounting_coa_id := NULL;
87496 l_adr_flexfield_segment_code := NULL;
87497 l_adr_flex_value_set_id := NULL;
87498 l_adr_value_type_code := NULL;
87499 l_adr_value_combination_id := NULL;
87500 l_adr_value_segment_code := NULL;
87501
87502 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
87503 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
87504 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
87505 l_budgetary_control_flag := 'N';
87506
87507 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87508 l_bflow_applied_to_amt := NULL; -- 5132302
87509 l_entered_amt_idx := NULL; -- 4262811
87510 l_accted_amt_idx := NULL; -- 4262811
87511 l_acc_rev_flag := NULL; -- 4262811
87512 l_accrual_line_num := NULL; -- 4262811
87513 l_tmp_amt := NULL; -- 4262811
87514 --
87515
87516 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
87517 l_balance_type_code <> 'B' THEN
87518 IF (NVL(p_source_15,'
87519 ') <> 'BALANCING_SEGMENT' AND
87520 NVL(p_source_15,'
87521 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
87522 (NVL(p_source_164,'
87523 ') = 'STANDARD' OR
87524 NVL(p_source_164,'
87525 ') = 'MIXED' OR
87526 NVL(p_source_164,'
87527 ') = 'AWT' OR
87528 NVL(p_source_164,'
87529 ') = 'PO PRICE ADJUST' OR
87530 NVL(p_source_164,'
87531 ') = 'EXPENSE REPORT' OR
87532 NVL(p_source_164,'
87533 ') = 'PAYMENT REQUEST' OR
87534 NVL(p_source_164,'
87535 ') = 'RETAINAGE RELEASE') AND
87536 NVL(p_source_135,'
87537 ') <> 'Y'
87538 THEN
87539
87540 --
87541 XLA_AE_LINES_PKG.SetNewLine;
87542
87543 p_balance_type_code := l_balance_type_code;
87544 -- set the flag so later we will know whether the gain loss line needs to be created
87545
87546 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
87547 p_actual_flag :='A';
87548 END IF;
87549
87550 --
87551 -- bulk performance
87552 --
87553 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
87554 p_header_num => 0); -- 4262811
87555 --
87556 -- set accounting line options
87557 --
87558 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
87559 p_natural_side_code => 'C'
87560 , p_gain_or_loss_flag => 'N'
87561 , p_gl_transfer_mode_code => 'S'
87562 , p_acct_entry_type_code => 'A'
87563 , p_switch_side_flag => 'Y'
87564 , p_merge_duplicate_code => 'A'
87565 );
87566 --
87567 l_acc_rev_natural_side_code := 'D'; -- 4262811
87568 --
87569 --
87570 -- set accounting line type info
87571 --
87572 xla_ae_lines_pkg.SetAcctLineType
87573 (p_component_type => l_component_type
87574 ,p_event_type_code => l_event_type_code
87575 ,p_line_definition_owner_code => l_line_definition_owner_code
87576 ,p_line_definition_code => l_line_definition_code
87577 ,p_accounting_line_code => l_component_code
87578 ,p_accounting_line_type_code => l_component_type_code
87579 ,p_accounting_line_appl_id => l_component_appl_id
87580 ,p_amb_context_code => l_amb_context_code
87581 ,p_entity_code => l_entity_code
87582 ,p_event_class_code => l_event_class_code);
87583 --
87584 -- set accounting class
87585 --
87586 xla_ae_lines_pkg.SetAcctClass(
87587 p_accounting_class_code => 'LIABILITY'
87588 , p_ae_header_id => l_ae_header_id
87589 );
87590
87591 --
87592 -- set rounding class
87593 --
87594 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
87595 'LIABILITY';
87596
87597 --
87598 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
87599 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
87600 --
87601 -- bulk performance
87602 --
87603 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
87604
87605 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
87609 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87606 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
87607
87608 -- 4955764
87610 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
87611
87612 -- 4458381 Public Sector Enh
87613
87614 --
87615 -- set accounting attributes for the line type
87616 --
87617 l_entered_amt_idx := 24;
87618 l_accted_amt_idx := 29;
87619 l_bflow_applied_to_amt_idx := 7; -- 5132302
87620 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
87621 l_rec_acct_attrs.array_char_value(1) := p_source_52;
87622 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
87623 l_rec_acct_attrs.array_num_value(2) :=
87624 xla_ae_sources_pkg.GetSystemSourceNum(
87625 p_source_code => 'XLA_EVENT_APPL_ID'
87626 , p_source_type_code => 'Y'
87627 , p_source_application_id => 602
87628 );
87629 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
87630 l_rec_acct_attrs.array_char_value(3) := p_source_54;
87631 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
87632 l_rec_acct_attrs.array_char_value(4) :=
87633 xla_ae_sources_pkg.GetSystemSourceChar(
87634 p_source_code => 'XLA_ENTITY_CODE'
87635 , p_source_type_code => 'Y'
87636 , p_source_application_id => 602
87637 );
87638 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
87639 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
87640 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
87641 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
87642 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
87643 l_rec_acct_attrs.array_num_value(7) := p_source_72;
87644 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
87645 l_rec_acct_attrs.array_num_value(8) := p_source_90;
87646 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
87647 l_rec_acct_attrs.array_char_value(9) := p_source_91;
87648 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
87649 l_rec_acct_attrs.array_char_value(10) := p_source_92;
87650 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
87651 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
87652 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
87653 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
87654 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
87655 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
87656 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
87657 l_rec_acct_attrs.array_char_value(14) := p_source_54;
87658 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
87659 l_rec_acct_attrs.array_num_value(15) := p_source_64;
87660 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
87661 l_rec_acct_attrs.array_num_value(16) := p_source_65;
87662 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
87663 l_rec_acct_attrs.array_char_value(17) := p_source_66;
87664 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
87665 l_rec_acct_attrs.array_num_value(18) := p_source_67;
87666 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
87667 l_rec_acct_attrs.array_num_value(19) := p_source_68;
87668 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
87669 l_rec_acct_attrs.array_num_value(20) := p_source_69;
87670 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
87671 l_rec_acct_attrs.array_char_value(21) := p_source_66;
87672 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
87673 l_rec_acct_attrs.array_num_value(22) := p_source_70;
87674 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
87675 l_rec_acct_attrs.array_char_value(23) := p_source_71;
87676 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
87677 l_rec_acct_attrs.array_num_value(24) := p_source_72;
87678 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
87679 l_rec_acct_attrs.array_char_value(25) := p_source_66;
87680 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
87681 l_rec_acct_attrs.array_date_value(26) := p_source_136;
87682 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
87683 l_rec_acct_attrs.array_num_value(27) := p_source_137;
87684 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
87685 l_rec_acct_attrs.array_char_value(28) := p_source_138;
87686 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
87687 l_rec_acct_attrs.array_num_value(29) := p_source_21;
87688 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
87689 l_rec_acct_attrs.array_date_value(30) := p_source_76;
87690 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
87691 l_rec_acct_attrs.array_char_value(31) := p_source_77;
87692 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
87693 l_rec_acct_attrs.array_date_value(32) := p_source_78;
87694 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
87695 l_rec_acct_attrs.array_char_value(33) := p_source_79;
87696 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
87697 l_rec_acct_attrs.array_num_value(34) := p_source_80;
87701 l_rec_acct_attrs.array_char_value(36) := p_source_82;
87698 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
87699 l_rec_acct_attrs.array_num_value(35) := p_source_81;
87700 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
87702 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
87703 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
87704 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
87705 l_rec_acct_attrs.array_char_value(38) := p_source_54;
87706 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
87707 l_rec_acct_attrs.array_num_value(39) := p_source_84;
87708 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
87709 l_rec_acct_attrs.array_num_value(40) := p_source_85;
87710 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
87711 l_rec_acct_attrs.array_num_value(41) := p_source_86;
87712 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
87713 l_rec_acct_attrs.array_num_value(42) := p_source_87;
87714 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
87715 l_rec_acct_attrs.array_num_value(43) := p_source_88;
87716 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
87717 l_rec_acct_attrs.array_num_value(44) := p_source_89;
87718
87719 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
87720 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
87721
87722 ---------------------------------------------------------------------------------------------------------------
87723 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
87724 ---------------------------------------------------------------------------------------------------------------
87725 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
87726
87727 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87728 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87729
87730 IF xla_accounting_cache_pkg.GetValueChar
87731 (p_source_code => 'LEDGER_CATEGORY_CODE'
87732 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
87733 AND l_bflow_method_code = 'PRIOR_ENTRY'
87734 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
87735 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
87736 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
87737 )
87738 THEN
87739 xla_ae_lines_pkg.BflowUpgEntry
87740 (p_business_method_code => l_bflow_method_code
87741 ,p_business_class_code => l_bflow_class_code
87742 ,p_balance_type => l_balance_type_code);
87743 ELSE
87744 NULL;
87745 -- No business flow processing for business flow method of NONE.
87746 END IF;
87747
87748 --
87749 -- call analytical criteria
87750 --
87751
87752
87753 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
87754 xla_ae_lines_pkg.SetAnalyticalCriteria(
87755 p_analytical_criterion_name => 'Payables Custom Source'
87756 , p_analytical_criterion_owner => 'S'
87757 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
87758 , p_amb_context_code => 'DEFAULT'
87759 , p_balancing_flag => 'N'
87760
87761 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
87762 p_source_163
87763 , p_source_57
87764 , p_source_63))
87765 , p_analytical_detail_num_1 => NULL
87766 , p_analytical_detail_date_1 => NULL
87767
87768 , p_ae_header_id => l_ae_header_id
87769 )
87770 ;
87771 --
87772
87773 --
87774 -- call description
87775 --
87776
87777 xla_ae_lines_pkg.SetLineDescription(
87778 p_ae_header_id => l_ae_header_id
87779 ,p_description => Description_1 (
87780 p_application_id => p_application_id
87781 , p_ae_header_id => l_ae_header_id
87782 , p_source_1 => p_source_1
87783 )
87784 );
87785
87786
87787 --
87788 -- call ADRs
87789 -- Bug 4922099
87790 --
87791 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87792 (NVL(l_actual_upg_option, 'N') = 'O') OR
87793 (NVL(l_enc_upg_option, 'N') = 'O')
87794 )
87795 THEN
87796 NULL;
87797 --
87798 --
87799
87800 l_ccid := AcctDerRule_34(
87801 p_application_id => p_application_id
87802 , p_ae_header_id => l_ae_header_id
87803 , p_source_34 => p_source_34
87804 , x_transaction_coa_id => l_adr_transaction_coa_id
87805 , x_accounting_coa_id => l_adr_accounting_coa_id
87806 , x_value_type_code => l_adr_value_type_code
87807 , p_side => 'NA'
87808 );
87809
87810 xla_ae_lines_pkg.set_ccid(
87811 p_code_combination_id => l_ccid
87812 , p_value_type_code => l_adr_value_type_code
87813 , p_transaction_coa_id => l_adr_transaction_coa_id
87814 , p_accounting_coa_id => l_adr_accounting_coa_id
87815 , p_adr_code => 'AP_LIAB'
87816 , p_adr_type_code => 'S'
87820 , p_component_appl_id => l_component_appl_id
87817 , p_component_type => l_component_type
87818 , p_component_code => l_component_code
87819 , p_component_type_code => l_component_type_code
87821 , p_amb_context_code => l_amb_context_code
87822 , p_side => 'NA'
87823 );
87824
87825
87826 --
87827 --
87828 END IF;
87829 --
87830 -- Bug 4922099
87831 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87832 (NVL(l_enc_upg_option, 'N') = 'O')
87833 ) AND
87834 (l_bflow_method_code = 'PRIOR_ENTRY')
87835 )
87836 THEN
87837 IF
87838 --
87839 1 = 2
87840 --
87841 THEN
87842 xla_accounting_err_pkg.build_message
87843 (p_appli_s_name => 'XLA'
87844 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87845 ,p_token_1 => 'LINE_NUMBER'
87846 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87847 ,p_token_2 => 'LINE_TYPE_NAME'
87848 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87849 l_component_type
87850 ,l_component_code
87851 ,l_component_type_code
87852 ,l_component_appl_id
87853 ,l_amb_context_code
87854 ,l_entity_code
87855 ,l_event_class_code
87856 )
87857 ,p_token_3 => 'OWNER'
87858 ,p_value_3 => xla_lookups_pkg.get_meaning(
87859 p_lookup_type => 'XLA_OWNER_TYPE'
87860 ,p_lookup_code => l_component_type_code
87861 )
87862 ,p_token_4 => 'PRODUCT_NAME'
87863 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87864 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87865 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87866 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87867 ,p_ae_header_id => NULL
87868 );
87869
87870 IF (C_LEVEL_ERROR>= g_log_level) THEN
87871 trace
87872 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87873 ,p_level => C_LEVEL_ERROR
87874 ,p_module => l_log_module);
87875 END IF;
87876 END IF;
87877 END IF;
87878 --
87879 --
87880 ------------------------------------------------------------------------------------------------
87881 -- 4219869 Business Flow
87882 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87883 -- Prior Entry. Currently, the following code is always generated.
87884 ------------------------------------------------------------------------------------------------
87885 XLA_AE_LINES_PKG.ValidateCurrentLine;
87886
87887 ------------------------------------------------------------------------------------
87888 -- 4219869 Business Flow
87889 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87890 ------------------------------------------------------------------------------------
87891 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87892
87893 ----------------------------------------------------------------------------------
87894 -- 4219869 Business Flow
87895 -- Update journal entry status -- Need to generate this within IF <condition>
87896 ----------------------------------------------------------------------------------
87897 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87898 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87899 ,p_balance_type_code => l_balance_type_code
87900 );
87901
87902 -------------------------------------------------------------------------------------------
87903 -- 4262811 - Generate the Accrual Reversal lines
87904 -------------------------------------------------------------------------------------------
87905 BEGIN
87906 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87907 (g_array_event(p_event_id).array_value_num('header_index'));
87908 IF l_acc_rev_flag IS NULL THEN
87909 l_acc_rev_flag := 'N';
87910 END IF;
87911 EXCEPTION
87912 WHEN OTHERS THEN
87913 l_acc_rev_flag := 'N';
87914 END;
87915 --
87916 IF (l_acc_rev_flag = 'Y') THEN
87917
87921 ------------------------------------------------------------------------------------------
87918 -- 4645092 ------------------------------------------------------------------------------
87919 -- To allow MPA report to determine if it should generate report process
87920 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87922
87923 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87924 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87925 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87926 -- call ADRs
87927 -- Bug 4922099
87928 --
87929 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87930 (NVL(l_actual_upg_option, 'N') = 'O') OR
87931 (NVL(l_enc_upg_option, 'N') = 'O')
87932 )
87933 THEN
87934 NULL;
87935 --
87936 --
87937
87938 l_ccid := AcctDerRule_34(
87939 p_application_id => p_application_id
87940 , p_ae_header_id => l_ae_header_id
87941 , p_source_34 => p_source_34
87942 , x_transaction_coa_id => l_adr_transaction_coa_id
87943 , x_accounting_coa_id => l_adr_accounting_coa_id
87944 , x_value_type_code => l_adr_value_type_code
87945 , p_side => 'NA'
87946 );
87947
87948 xla_ae_lines_pkg.set_ccid(
87949 p_code_combination_id => l_ccid
87950 , p_value_type_code => l_adr_value_type_code
87951 , p_transaction_coa_id => l_adr_transaction_coa_id
87952 , p_accounting_coa_id => l_adr_accounting_coa_id
87953 , p_adr_code => 'AP_LIAB'
87954 , p_adr_type_code => 'S'
87955 , p_component_type => l_component_type
87956 , p_component_code => l_component_code
87957 , p_component_type_code => l_component_type_code
87958 , p_component_appl_id => l_component_appl_id
87959 , p_amb_context_code => l_amb_context_code
87960 , p_side => 'NA'
87961 );
87962
87963
87964 --
87965 --
87966 END IF;
87967
87968 --
87969 -- Update the line information that should be overwritten
87970 --
87971 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87972 p_header_num => 1);
87973 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87974
87975 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87976
87977 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87978 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87979 END IF;
87980
87981 --
87982 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87983 --
87984 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87985 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87986 ELSE
87987 ---------------------------------------------------------------------------------------------------
87988 -- 4262811a Switch Sign
87989 ---------------------------------------------------------------------------------------------------
87990 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87991 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87992 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87993 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87994 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87995 -- 5132302
87996 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87997 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87998
87999 END IF;
88000
88001 -- 4955764
88002 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88003 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88004
88005
88006 XLA_AE_LINES_PKG.ValidateCurrentLine;
88007 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88008
88009 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88010 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88011 ,p_balance_type_code => l_balance_type_code);
88012
88013 END IF;
88014
88015 -----------------------------------------------------------------------------------------
88016 -- 4262811 Multiperiod Accounting
88017 -----------------------------------------------------------------------------------------
88018 -- No MPA option is assigned.
88019
88020
88021 END IF;
88022 END IF;
88023 --
88024
88025 --
88026 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88027 trace
88028 (p_msg => 'END of AcctLineType_152'
88029 ,p_level => C_LEVEL_PROCEDURE
88030 ,p_module => l_log_module);
88031 END IF;
88032 --
88033 EXCEPTION
88037 xla_exceptions_pkg.raise_message
88034 WHEN xla_exceptions_pkg.application_exception THEN
88035 RAISE;
88036 WHEN OTHERS THEN
88038 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_152');
88039 END AcctLineType_152;
88040 --
88041
88042 ---------------------------------------
88043 --
88044 -- PRIVATE FUNCTION
88045 -- AcctLineType_153
88046 --
88047 ---------------------------------------
88048 PROCEDURE AcctLineType_153 (
88049 p_application_id IN NUMBER
88050 ,p_event_id IN NUMBER
88051 ,p_calculate_acctd_flag IN VARCHAR2
88052 ,p_calculate_g_l_flag IN VARCHAR2
88053 ,p_actual_flag IN OUT VARCHAR2
88054 ,p_balance_type_code OUT VARCHAR2
88055 ,p_gain_or_loss_ref OUT VARCHAR2
88056
88057 --Invoice Distribution Description
88058 , p_source_1 IN VARCHAR2
88059 --Automatic Offsets Value
88060 , p_source_15 IN VARCHAR2
88061 , p_source_15_meaning IN VARCHAR2
88062 --Invoice Distribution Ledger Amount
88063 , p_source_21 IN NUMBER
88064 --Invoice Liability Account
88065 , p_source_34 IN NUMBER
88066 --Accounting Reversal Indicator
88067 , p_source_52 IN VARCHAR2
88068 --Distribution Link Type
88069 , p_source_54 IN VARCHAR2
88070 --Allocation to Main Distribution Identifier
88071 , p_source_56 IN NUMBER
88072 --Invoice Identifier
88073 , p_source_57 IN NUMBER
88074 --Invoice Distribution Identifier
88075 , p_source_63 IN NUMBER
88076 --Payables Encumbrance Upgrade Credit Account
88077 , p_source_64 IN NUMBER
88078 --Payables Encumbrance Upgrade Credit Amount
88079 , p_source_65 IN NUMBER
88080 --Invoice Currency Code
88081 , p_source_66 IN VARCHAR2
88082 --Payables Encumbrance Upgrade Credit Base Amount
88083 , p_source_67 IN NUMBER
88084 --Payables Encumbrance Upgrade Debit Account
88085 , p_source_68 IN NUMBER
88086 --Payables Encumbrance Upgrade Debit Amount
88087 , p_source_69 IN NUMBER
88088 --Payables Encumbrance Upgrade Debit Base Amount
88089 , p_source_70 IN NUMBER
88090 --Payables Encumbrance Upgrade Option
88091 , p_source_71 IN VARCHAR2
88092 --Invoice Distribution Amount
88093 , p_source_72 IN NUMBER
88094 --Deferred Accounting End Date
88095 , p_source_76 IN DATE
88096 --Deferred Accounting Option
88097 , p_source_77 IN VARCHAR2
88098 --Deferred Accounting Start Date
88099 , p_source_78 IN DATE
88100 --Override Accounted Amount Indicator
88101 , p_source_79 IN VARCHAR2
88102 , p_source_79_meaning IN VARCHAR2
88103 --Invoice Supplier Identifier
88104 , p_source_80 IN NUMBER
88105 --Invoice Supplier Site Identifier
88106 , p_source_81 IN NUMBER
88107 --Third Party Type
88108 , p_source_82 IN VARCHAR2
88109 --Parent Reversal Identifier
88110 , p_source_83 IN NUMBER
88111 --Invoice Distribution Statistical Amount
88112 , p_source_84 IN NUMBER
88113 --Invoice Distribution Tax Line Identifier
88114 , p_source_85 IN NUMBER
88115 --Invoice Distribution Tax Distribution Identifier from Tax
88116 , p_source_86 IN NUMBER
88117 --Invoice Distribution Summary Tax Line Identifier
88118 , p_source_87 IN NUMBER
88119 --Payables Upgrade Credit Encumbrance Type Identifier
88120 , p_source_88 IN NUMBER
88121 --Payables Upgrade Debit Encumbrance Type Identifier
88122 , p_source_89 IN NUMBER
88123 --Business Flow Accounts Payable Application Identifier
88124 , p_source_90 IN NUMBER
88125 --Business Flow Invoice Distribution Type
88126 , p_source_91 IN VARCHAR2
88127 --Business Flow Invoice Entity Code
88128 , p_source_92 IN VARCHAR2
88129 --Business Flow Invoice Distribution Identifier
88130 , p_source_93 IN NUMBER
88131 --Business Flow Invoice Identifier
88132 , p_source_94 IN NUMBER
88133 --Self-Assessed Tax Flag
88134 , p_source_135 IN VARCHAR2
88135 , p_source_135_meaning IN VARCHAR2
88136 --Invoice Exchange Date
88137 , p_source_136 IN DATE
88138 --Invoice Exchange Rate
88139 , p_source_137 IN NUMBER
88140 --Invoice Exchange Rate Type
88141 , p_source_138 IN VARCHAR2
88142 --Invoice Source
88143 , p_source_163 IN VARCHAR2
88144 --Invoice Type
88145 , p_source_164 IN VARCHAR2
88146 , p_source_164_meaning IN VARCHAR2
88147 )
88148 IS
88149
88150 l_component_type VARCHAR2(80);
88151 l_component_code VARCHAR2(30);
88152 l_component_type_code VARCHAR2(1);
88153 l_component_appl_id INTEGER;
88154 l_amb_context_code VARCHAR2(30);
88155 l_entity_code VARCHAR2(30);
88156 l_event_class_code VARCHAR2(30);
88157 l_ae_header_id NUMBER;
88158 l_event_type_code VARCHAR2(30);
88159 l_line_definition_code VARCHAR2(30);
88160 l_line_definition_owner_code VARCHAR2(1);
88161 --
88162 -- adr variables
88163 l_segment VARCHAR2(30);
88164 l_ccid NUMBER;
88165 l_adr_transaction_coa_id NUMBER;
88166 l_adr_accounting_coa_id NUMBER;
88167 l_adr_flexfield_segment_code VARCHAR2(30);
88171 l_adr_value_segment_code VARCHAR2(30);
88168 l_adr_flex_value_set_id NUMBER;
88169 l_adr_value_type_code VARCHAR2(30);
88170 l_adr_value_combination_id NUMBER;
88172
88173 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
88174 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
88175 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
88176 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
88177
88178 -- 4262811 Variables ------------------------------------------------------------------------------------------
88179 l_entered_amt_idx NUMBER;
88180 l_accted_amt_idx NUMBER;
88181 l_acc_rev_flag VARCHAR2(1);
88182 l_accrual_line_num NUMBER;
88183 l_tmp_amt NUMBER;
88184 l_acc_rev_natural_side_code VARCHAR2(1);
88185
88186 l_num_entries NUMBER;
88187 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
88188 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
88189 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
88190 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
88191 l_recog_line_1 NUMBER;
88192 l_recog_line_2 NUMBER;
88193
88194 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
88195 l_bflow_applied_to_amt NUMBER; -- 5132302
88196 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
88197
88198 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
88199
88200 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
88201 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
88202
88203 ---------------------------------------------------------------------------------------------------------------
88204
88205
88206 --
88207 -- bulk performance
88208 --
88209 l_balance_type_code VARCHAR2(1);
88210 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
88211 l_log_module VARCHAR2(240);
88212
88213 --
88214 -- Upgrade strategy
88215 --
88216 l_actual_upg_option VARCHAR2(1);
88217 l_enc_upg_option VARCHAR2(1);
88218
88219 --
88220 BEGIN
88221 --
88222 IF g_log_enabled THEN
88223 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_153';
88224 END IF;
88225 --
88226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88227
88228 trace
88229 (p_msg => 'BEGIN of AcctLineType_153'
88230 ,p_level => C_LEVEL_PROCEDURE
88231 ,p_module => l_log_module);
88232
88233 END IF;
88234 --
88235 l_component_type := 'AMB_JLT';
88236 l_component_code := 'AP_LIAB_INV_AOS_AS';
88237 l_component_type_code := 'S';
88238 l_component_appl_id := 200;
88239 l_amb_context_code := 'DEFAULT';
88240 l_entity_code := 'AP_INVOICES';
88241 l_event_class_code := 'INVOICES';
88242 l_event_type_code := 'INVOICES_ALL';
88243 l_line_definition_owner_code := 'S';
88244 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
88245 --
88246 l_balance_type_code := 'A';
88247 l_segment := NULL;
88248 l_ccid := NULL;
88249 l_adr_transaction_coa_id := NULL;
88250 l_adr_accounting_coa_id := NULL;
88251 l_adr_flexfield_segment_code := NULL;
88252 l_adr_flex_value_set_id := NULL;
88253 l_adr_value_type_code := NULL;
88254 l_adr_value_combination_id := NULL;
88255 l_adr_value_segment_code := NULL;
88256
88257 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
88258 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
88259 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
88260 l_budgetary_control_flag := 'N';
88261
88262 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88263 l_bflow_applied_to_amt := NULL; -- 5132302
88264 l_entered_amt_idx := NULL; -- 4262811
88265 l_accted_amt_idx := NULL; -- 4262811
88266 l_acc_rev_flag := NULL; -- 4262811
88267 l_accrual_line_num := NULL; -- 4262811
88268 l_tmp_amt := NULL; -- 4262811
88269 --
88270
88271 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
88272 l_balance_type_code <> 'B' THEN
88273 IF NVL(p_source_15,'
88274 ') = 'ACCOUNT_SEGMENT_VALUE' AND
88275 (NVL(p_source_164,'
88276 ') = 'STANDARD' OR
88277 NVL(p_source_164,'
88278 ') = 'MIXED' OR
88279 NVL(p_source_164,'
88280 ') = 'AWT' OR
88281 NVL(p_source_164,'
88282 ') = 'PO PRICE ADJUST' OR
88283 NVL(p_source_164,'
88284 ') = 'EXPENSE REPORT' OR
88285 NVL(p_source_164,'
88286 ') = 'PAYMENT REQUEST' OR
88287 NVL(p_source_164,'
88288 ') = 'RETAINAGE RELEASE') AND
88289 NVL(p_source_135,'
88290 ') <> 'Y'
88291 THEN
88292
88293 --
88294 XLA_AE_LINES_PKG.SetNewLine;
88295
88296 p_balance_type_code := l_balance_type_code;
88297 -- set the flag so later we will know whether the gain loss line needs to be created
88298
88302
88299 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
88300 p_actual_flag :='A';
88301 END IF;
88303 --
88304 -- bulk performance
88305 --
88306 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
88307 p_header_num => 0); -- 4262811
88308 --
88309 -- set accounting line options
88310 --
88311 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
88312 p_natural_side_code => 'C'
88313 , p_gain_or_loss_flag => 'N'
88314 , p_gl_transfer_mode_code => 'S'
88315 , p_acct_entry_type_code => 'A'
88316 , p_switch_side_flag => 'Y'
88317 , p_merge_duplicate_code => 'A'
88318 );
88319 --
88320 l_acc_rev_natural_side_code := 'D'; -- 4262811
88321 --
88322 --
88323 -- set accounting line type info
88324 --
88325 xla_ae_lines_pkg.SetAcctLineType
88326 (p_component_type => l_component_type
88327 ,p_event_type_code => l_event_type_code
88328 ,p_line_definition_owner_code => l_line_definition_owner_code
88329 ,p_line_definition_code => l_line_definition_code
88330 ,p_accounting_line_code => l_component_code
88331 ,p_accounting_line_type_code => l_component_type_code
88332 ,p_accounting_line_appl_id => l_component_appl_id
88333 ,p_amb_context_code => l_amb_context_code
88334 ,p_entity_code => l_entity_code
88335 ,p_event_class_code => l_event_class_code);
88336 --
88337 -- set accounting class
88338 --
88339 xla_ae_lines_pkg.SetAcctClass(
88340 p_accounting_class_code => 'LIABILITY'
88341 , p_ae_header_id => l_ae_header_id
88342 );
88343
88344 --
88345 -- set rounding class
88346 --
88347 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88348 'LIABILITY';
88349
88350 --
88351 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88352 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88353 --
88354 -- bulk performance
88355 --
88356 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88357
88358 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88359 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88360
88361 -- 4955764
88362 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88363 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88364
88365 -- 4458381 Public Sector Enh
88366
88367 --
88368 -- set accounting attributes for the line type
88369 --
88370 l_entered_amt_idx := 24;
88371 l_accted_amt_idx := 29;
88372 l_bflow_applied_to_amt_idx := 7; -- 5132302
88373 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88374 l_rec_acct_attrs.array_char_value(1) := p_source_52;
88375 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88376 l_rec_acct_attrs.array_num_value(2) :=
88377 xla_ae_sources_pkg.GetSystemSourceNum(
88378 p_source_code => 'XLA_EVENT_APPL_ID'
88379 , p_source_type_code => 'Y'
88380 , p_source_application_id => 602
88381 );
88382 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88383 l_rec_acct_attrs.array_char_value(3) := p_source_54;
88384 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88385 l_rec_acct_attrs.array_char_value(4) :=
88386 xla_ae_sources_pkg.GetSystemSourceChar(
88387 p_source_code => 'XLA_ENTITY_CODE'
88388 , p_source_type_code => 'Y'
88389 , p_source_application_id => 602
88390 );
88391 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88392 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
88393 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88394 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
88395 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
88396 l_rec_acct_attrs.array_num_value(7) := p_source_72;
88397 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
88398 l_rec_acct_attrs.array_num_value(8) := p_source_90;
88399 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88400 l_rec_acct_attrs.array_char_value(9) := p_source_91;
88401 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
88402 l_rec_acct_attrs.array_char_value(10) := p_source_92;
88403 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
88404 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
88405 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88406 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
88407 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
88408 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
88409 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
88410 l_rec_acct_attrs.array_char_value(14) := p_source_54;
88414 l_rec_acct_attrs.array_num_value(16) := p_source_65;
88411 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
88412 l_rec_acct_attrs.array_num_value(15) := p_source_64;
88413 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
88415 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
88416 l_rec_acct_attrs.array_char_value(17) := p_source_66;
88417 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
88418 l_rec_acct_attrs.array_num_value(18) := p_source_67;
88419 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
88420 l_rec_acct_attrs.array_num_value(19) := p_source_68;
88421 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
88422 l_rec_acct_attrs.array_num_value(20) := p_source_69;
88423 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
88424 l_rec_acct_attrs.array_char_value(21) := p_source_66;
88425 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
88426 l_rec_acct_attrs.array_num_value(22) := p_source_70;
88427 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
88428 l_rec_acct_attrs.array_char_value(23) := p_source_71;
88429 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
88430 l_rec_acct_attrs.array_num_value(24) := p_source_72;
88431 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
88432 l_rec_acct_attrs.array_char_value(25) := p_source_66;
88433 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
88434 l_rec_acct_attrs.array_date_value(26) := p_source_136;
88435 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
88436 l_rec_acct_attrs.array_num_value(27) := p_source_137;
88437 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
88438 l_rec_acct_attrs.array_char_value(28) := p_source_138;
88439 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
88440 l_rec_acct_attrs.array_num_value(29) := p_source_21;
88441 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
88442 l_rec_acct_attrs.array_date_value(30) := p_source_76;
88443 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
88444 l_rec_acct_attrs.array_char_value(31) := p_source_77;
88445 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
88446 l_rec_acct_attrs.array_date_value(32) := p_source_78;
88447 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
88448 l_rec_acct_attrs.array_char_value(33) := p_source_79;
88449 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
88450 l_rec_acct_attrs.array_num_value(34) := p_source_80;
88451 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
88452 l_rec_acct_attrs.array_num_value(35) := p_source_81;
88453 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
88454 l_rec_acct_attrs.array_char_value(36) := p_source_82;
88455 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
88456 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
88457 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
88458 l_rec_acct_attrs.array_char_value(38) := p_source_54;
88459 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
88460 l_rec_acct_attrs.array_num_value(39) := p_source_84;
88461 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
88462 l_rec_acct_attrs.array_num_value(40) := p_source_85;
88463 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
88464 l_rec_acct_attrs.array_num_value(41) := p_source_86;
88465 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
88466 l_rec_acct_attrs.array_num_value(42) := p_source_87;
88467 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
88468 l_rec_acct_attrs.array_num_value(43) := p_source_88;
88469 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
88470 l_rec_acct_attrs.array_num_value(44) := p_source_89;
88471
88472 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
88473 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
88474
88475 ---------------------------------------------------------------------------------------------------------------
88476 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
88477 ---------------------------------------------------------------------------------------------------------------
88478 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
88479
88480 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88481 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88482
88483 IF xla_accounting_cache_pkg.GetValueChar
88484 (p_source_code => 'LEDGER_CATEGORY_CODE'
88485 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
88486 AND l_bflow_method_code = 'PRIOR_ENTRY'
88487 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
88488 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
88489 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
88490 )
88491 THEN
88492 xla_ae_lines_pkg.BflowUpgEntry
88493 (p_business_method_code => l_bflow_method_code
88494 ,p_business_class_code => l_bflow_class_code
88495 ,p_balance_type => l_balance_type_code);
88496 ELSE
88500 ,p_business_class_code => l_bflow_class_code
88497 NULL;
88498 XLA_AE_LINES_PKG.business_flow_validation(
88499 p_business_method_code => l_bflow_method_code
88501 ,p_inherit_description_flag => l_inherit_desc_flag);
88502 END IF;
88503
88504 --
88505 -- call analytical criteria
88506 --
88507
88508
88509 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
88510 xla_ae_lines_pkg.SetAnalyticalCriteria(
88511 p_analytical_criterion_name => 'Payables Custom Source'
88512 , p_analytical_criterion_owner => 'S'
88513 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
88514 , p_amb_context_code => 'DEFAULT'
88515 , p_balancing_flag => 'N'
88516
88517 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
88518 p_source_163
88519 , p_source_57
88520 , p_source_63))
88521 , p_analytical_detail_num_1 => NULL
88522 , p_analytical_detail_date_1 => NULL
88523
88524 , p_ae_header_id => l_ae_header_id
88525 )
88526 ;
88527 --
88528
88529 --
88530 -- call description
88531 --
88532
88533 xla_ae_lines_pkg.SetLineDescription(
88534 p_ae_header_id => l_ae_header_id
88535 ,p_description => Description_1 (
88536 p_application_id => p_application_id
88537 , p_ae_header_id => l_ae_header_id
88538 , p_source_1 => p_source_1
88539 )
88540 );
88541
88542
88543 --
88544 -- call ADRs
88545 -- Bug 4922099
88546 --
88547 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88548 (NVL(l_actual_upg_option, 'N') = 'O') OR
88549 (NVL(l_enc_upg_option, 'N') = 'O')
88550 )
88551 THEN
88552 NULL;
88553 --
88554 --
88555
88556 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
88557 p_code_combination_id => TO_NUMBER(C_NUM)
88558 , p_value_type_code => NULL
88559 , p_transaction_coa_id => null
88560 , p_accounting_coa_id => null
88561 , p_adr_code => NULL
88562 , p_adr_type_code => NULL
88563 , p_component_type => l_component_type
88564 , p_component_code => l_component_code
88565 , p_component_type_code => l_component_type_code
88566 , p_component_appl_id => l_component_appl_id
88567 , p_amb_context_code => l_amb_context_code
88568 , p_side => NULL
88569 );
88570
88571
88572 -- initialise segments
88573 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88574 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88575 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88576 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88577 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88578 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88579 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88580 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88581 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88582 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88583 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88584 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88585 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88586 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88587 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88588 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88589 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88590 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88591 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88592 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88593 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88594 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88595 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88596 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88597 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88598 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88599 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88600 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88601 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88602 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88603 --
88604
88605 --
88606
88607
88608 l_segment := AcctDerRule_15(
88609 p_application_id => p_application_id
88610 , p_ae_header_id => l_ae_header_id
88614 , x_flexfield_segment_code => l_adr_flexfield_segment_code
88611 , p_source_34 => p_source_34
88612 , x_transaction_coa_id => l_adr_transaction_coa_id
88613 , x_accounting_coa_id => l_adr_accounting_coa_id
88615 , x_flex_value_set_id => l_adr_flex_value_set_id
88616 , x_value_type_code => l_adr_value_type_code
88617 , x_value_combination_id => l_adr_value_combination_id
88618 , x_value_segment_code => l_adr_value_segment_code
88619 , p_side => 'NA'
88620 , p_override_seg_flag => 'Y'
88621 );
88622
88623 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
88624
88625 xla_ae_lines_pkg.set_segment(
88626 p_to_segment_code => 'GL_ACCOUNT'
88627 , p_segment_value => l_segment
88628 , p_from_segment_code => l_adr_value_segment_code
88629 , p_from_combination_id => l_adr_value_combination_id
88630 , p_value_type_code => l_adr_value_type_code
88631 , p_transaction_coa_id => l_adr_transaction_coa_id
88632 , p_accounting_coa_id => l_adr_accounting_coa_id
88633 , p_flexfield_segment_code => l_adr_flexfield_segment_code
88634 , p_flex_value_set_id => l_adr_flex_value_set_id
88635 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
88636 , p_adr_type_code => 'S'
88637 , p_component_type => l_component_type
88638 , p_component_code => l_component_code
88639 , p_component_type_code => l_component_type_code
88640 , p_component_appl_id => l_component_appl_id
88641 , p_amb_context_code => l_amb_context_code
88642 , p_entity_code => 'AP_INVOICES'
88643 , p_event_class_code => 'INVOICES'
88644 , p_side => 'NA'
88645 );
88646
88647 END IF;
88648
88649 --
88650 --
88651 END IF;
88652 --
88653 -- Bug 4922099
88654 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
88655 (NVL(l_enc_upg_option, 'N') = 'O')
88656 ) AND
88657 (l_bflow_method_code = 'PRIOR_ENTRY')
88658 )
88659 THEN
88660 IF
88661 --
88662 1 = 2
88663 --
88664 THEN
88665 xla_accounting_err_pkg.build_message
88666 (p_appli_s_name => 'XLA'
88667 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88668 ,p_token_1 => 'LINE_NUMBER'
88669 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
88670 ,p_token_2 => 'LINE_TYPE_NAME'
88671 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
88672 l_component_type
88673 ,l_component_code
88674 ,l_component_type_code
88675 ,l_component_appl_id
88676 ,l_amb_context_code
88677 ,l_entity_code
88678 ,l_event_class_code
88679 )
88680 ,p_token_3 => 'OWNER'
88681 ,p_value_3 => xla_lookups_pkg.get_meaning(
88682 p_lookup_type => 'XLA_OWNER_TYPE'
88683 ,p_lookup_code => l_component_type_code
88684 )
88685 ,p_token_4 => 'PRODUCT_NAME'
88686 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
88687 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
88688 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
88689 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
88690 ,p_ae_header_id => NULL
88691 );
88692
88693 IF (C_LEVEL_ERROR>= g_log_level) THEN
88694 trace
88695 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88696 ,p_level => C_LEVEL_ERROR
88697 ,p_module => l_log_module);
88698 END IF;
88699 END IF;
88700 END IF;
88701 --
88702 --
88703 ------------------------------------------------------------------------------------------------
88704 -- 4219869 Business Flow
88705 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
88706 -- Prior Entry. Currently, the following code is always generated.
88707 ------------------------------------------------------------------------------------------------
88711 -- 4219869 Business Flow
88708 XLA_AE_LINES_PKG.ValidateCurrentLine;
88709
88710 ------------------------------------------------------------------------------------
88712 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
88713 ------------------------------------------------------------------------------------
88714 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88715
88716 ----------------------------------------------------------------------------------
88717 -- 4219869 Business Flow
88718 -- Update journal entry status -- Need to generate this within IF <condition>
88719 ----------------------------------------------------------------------------------
88720 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88721 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
88722 ,p_balance_type_code => l_balance_type_code
88723 );
88724
88725 -------------------------------------------------------------------------------------------
88726 -- 4262811 - Generate the Accrual Reversal lines
88727 -------------------------------------------------------------------------------------------
88728 BEGIN
88729 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
88730 (g_array_event(p_event_id).array_value_num('header_index'));
88731 IF l_acc_rev_flag IS NULL THEN
88732 l_acc_rev_flag := 'N';
88733 END IF;
88734 EXCEPTION
88735 WHEN OTHERS THEN
88736 l_acc_rev_flag := 'N';
88737 END;
88738 --
88739 IF (l_acc_rev_flag = 'Y') THEN
88740
88741 -- 4645092 ------------------------------------------------------------------------------
88742 -- To allow MPA report to determine if it should generate report process
88743 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
88744 ------------------------------------------------------------------------------------------
88745
88746 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
88747 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
88748 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
88749 -- call ADRs
88750 -- Bug 4922099
88751 --
88752 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88753 (NVL(l_actual_upg_option, 'N') = 'O') OR
88754 (NVL(l_enc_upg_option, 'N') = 'O')
88755 )
88756 THEN
88757 NULL;
88758 --
88759 --
88760
88761 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
88762 p_code_combination_id => TO_NUMBER(C_NUM)
88763 , p_value_type_code => NULL
88764 , p_transaction_coa_id => null
88765 , p_accounting_coa_id => null
88766 , p_adr_code => NULL
88767 , p_adr_type_code => NULL
88768 , p_component_type => l_component_type
88769 , p_component_code => l_component_code
88770 , p_component_type_code => l_component_type_code
88771 , p_component_appl_id => l_component_appl_id
88772 , p_amb_context_code => l_amb_context_code
88773 , p_side => NULL
88774 );
88775
88776
88777 -- initialise segments
88778 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88779 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88780 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88781 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88782 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88783 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88784 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88785 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88786 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88787 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88788 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88789 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88790 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88791 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88792 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88793 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88794 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88795 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88796 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88797 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88798 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88799 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88800 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88801 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88802 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88803 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88807 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88804 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88805 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88806 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88808 --
88809
88810 --
88811
88812
88813 l_segment := AcctDerRule_15(
88814 p_application_id => p_application_id
88815 , p_ae_header_id => l_ae_header_id
88816 , p_source_34 => p_source_34
88817 , x_transaction_coa_id => l_adr_transaction_coa_id
88818 , x_accounting_coa_id => l_adr_accounting_coa_id
88819 , x_flexfield_segment_code => l_adr_flexfield_segment_code
88820 , x_flex_value_set_id => l_adr_flex_value_set_id
88821 , x_value_type_code => l_adr_value_type_code
88822 , x_value_combination_id => l_adr_value_combination_id
88823 , x_value_segment_code => l_adr_value_segment_code
88824 , p_side => 'NA'
88825 , p_override_seg_flag => 'Y'
88826 );
88827
88828 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
88829
88830 xla_ae_lines_pkg.set_segment(
88831 p_to_segment_code => 'GL_ACCOUNT'
88832 , p_segment_value => l_segment
88833 , p_from_segment_code => l_adr_value_segment_code
88834 , p_from_combination_id => l_adr_value_combination_id
88835 , p_value_type_code => l_adr_value_type_code
88836 , p_transaction_coa_id => l_adr_transaction_coa_id
88837 , p_accounting_coa_id => l_adr_accounting_coa_id
88838 , p_flexfield_segment_code => l_adr_flexfield_segment_code
88839 , p_flex_value_set_id => l_adr_flex_value_set_id
88840 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
88841 , p_adr_type_code => 'S'
88842 , p_component_type => l_component_type
88843 , p_component_code => l_component_code
88844 , p_component_type_code => l_component_type_code
88845 , p_component_appl_id => l_component_appl_id
88846 , p_amb_context_code => l_amb_context_code
88847 , p_entity_code => 'AP_INVOICES'
88848 , p_event_class_code => 'INVOICES'
88849 , p_side => 'NA'
88850 );
88851
88852 END IF;
88853
88854 --
88855 --
88856 END IF;
88857
88858 --
88859 -- Update the line information that should be overwritten
88860 --
88861 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
88862 p_header_num => 1);
88863 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
88864
88865 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
88866
88867 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
88868 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
88869 END IF;
88870
88871 --
88872 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
88873 --
88874 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
88875 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
88876 ELSE
88877 ---------------------------------------------------------------------------------------------------
88878 -- 4262811a Switch Sign
88879 ---------------------------------------------------------------------------------------------------
88880 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
88881 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88882 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88883 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88884 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88885 -- 5132302
88886 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
88887 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88888
88889 END IF;
88890
88891 -- 4955764
88892 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88893 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88894
88895
88896 XLA_AE_LINES_PKG.ValidateCurrentLine;
88897 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88898
88899 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88900 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88901 ,p_balance_type_code => l_balance_type_code);
88902
88903 END IF;
88904
88905 -----------------------------------------------------------------------------------------
88906 -- 4262811 Multiperiod Accounting
88907 -----------------------------------------------------------------------------------------
88908 -- No MPA option is assigned.
88909
88913 --
88910
88911 END IF;
88912 END IF;
88914
88915 --
88916 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88917 trace
88918 (p_msg => 'END of AcctLineType_153'
88919 ,p_level => C_LEVEL_PROCEDURE
88920 ,p_module => l_log_module);
88921 END IF;
88922 --
88923 EXCEPTION
88924 WHEN xla_exceptions_pkg.application_exception THEN
88925 RAISE;
88926 WHEN OTHERS THEN
88927 xla_exceptions_pkg.raise_message
88928 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_153');
88929 END AcctLineType_153;
88930 --
88931
88932 ---------------------------------------
88933 --
88934 -- PRIVATE FUNCTION
88935 -- AcctLineType_154
88936 --
88937 ---------------------------------------
88938 PROCEDURE AcctLineType_154 (
88939 p_application_id IN NUMBER
88940 ,p_event_id IN NUMBER
88941 ,p_calculate_acctd_flag IN VARCHAR2
88942 ,p_calculate_g_l_flag IN VARCHAR2
88943 ,p_actual_flag IN OUT VARCHAR2
88944 ,p_balance_type_code OUT VARCHAR2
88945 ,p_gain_or_loss_ref OUT VARCHAR2
88946
88947 --Invoice Distribution Description
88948 , p_source_1 IN VARCHAR2
88949 --Automatic Offsets Value
88950 , p_source_15 IN VARCHAR2
88951 , p_source_15_meaning IN VARCHAR2
88952 --Invoice Distribution Ledger Amount
88953 , p_source_21 IN NUMBER
88954 --Invoice Liability Account
88955 , p_source_34 IN NUMBER
88956 --Accounting Reversal Indicator
88957 , p_source_52 IN VARCHAR2
88958 --Distribution Link Type
88959 , p_source_54 IN VARCHAR2
88960 --Allocation to Main Distribution Identifier
88961 , p_source_56 IN NUMBER
88962 --Invoice Identifier
88963 , p_source_57 IN NUMBER
88964 --Invoice Distribution Identifier
88965 , p_source_63 IN NUMBER
88966 --Payables Encumbrance Upgrade Credit Account
88967 , p_source_64 IN NUMBER
88968 --Payables Encumbrance Upgrade Credit Amount
88969 , p_source_65 IN NUMBER
88970 --Invoice Currency Code
88971 , p_source_66 IN VARCHAR2
88972 --Payables Encumbrance Upgrade Credit Base Amount
88973 , p_source_67 IN NUMBER
88974 --Payables Encumbrance Upgrade Debit Account
88975 , p_source_68 IN NUMBER
88976 --Payables Encumbrance Upgrade Debit Amount
88977 , p_source_69 IN NUMBER
88978 --Payables Encumbrance Upgrade Debit Base Amount
88979 , p_source_70 IN NUMBER
88980 --Payables Encumbrance Upgrade Option
88981 , p_source_71 IN VARCHAR2
88982 --Invoice Distribution Amount
88983 , p_source_72 IN NUMBER
88984 --Deferred Accounting End Date
88985 , p_source_76 IN DATE
88986 --Deferred Accounting Option
88987 , p_source_77 IN VARCHAR2
88988 --Deferred Accounting Start Date
88989 , p_source_78 IN DATE
88990 --Override Accounted Amount Indicator
88991 , p_source_79 IN VARCHAR2
88992 , p_source_79_meaning IN VARCHAR2
88993 --Invoice Supplier Identifier
88994 , p_source_80 IN NUMBER
88995 --Invoice Supplier Site Identifier
88996 , p_source_81 IN NUMBER
88997 --Third Party Type
88998 , p_source_82 IN VARCHAR2
88999 --Parent Reversal Identifier
89000 , p_source_83 IN NUMBER
89001 --Invoice Distribution Statistical Amount
89002 , p_source_84 IN NUMBER
89003 --Invoice Distribution Tax Line Identifier
89004 , p_source_85 IN NUMBER
89005 --Invoice Distribution Tax Distribution Identifier from Tax
89006 , p_source_86 IN NUMBER
89007 --Invoice Distribution Summary Tax Line Identifier
89008 , p_source_87 IN NUMBER
89009 --Payables Upgrade Credit Encumbrance Type Identifier
89010 , p_source_88 IN NUMBER
89011 --Payables Upgrade Debit Encumbrance Type Identifier
89012 , p_source_89 IN NUMBER
89013 --Business Flow Accounts Payable Application Identifier
89014 , p_source_90 IN NUMBER
89015 --Business Flow Invoice Distribution Type
89016 , p_source_91 IN VARCHAR2
89017 --Business Flow Invoice Entity Code
89018 , p_source_92 IN VARCHAR2
89019 --Business Flow Invoice Distribution Identifier
89020 , p_source_93 IN NUMBER
89021 --Business Flow Invoice Identifier
89022 , p_source_94 IN NUMBER
89023 --Self-Assessed Tax Flag
89024 , p_source_135 IN VARCHAR2
89025 , p_source_135_meaning IN VARCHAR2
89026 --Invoice Exchange Date
89027 , p_source_136 IN DATE
89028 --Invoice Exchange Rate
89029 , p_source_137 IN NUMBER
89030 --Invoice Exchange Rate Type
89031 , p_source_138 IN VARCHAR2
89032 --Invoice Source
89033 , p_source_163 IN VARCHAR2
89034 --Invoice Type
89035 , p_source_164 IN VARCHAR2
89036 , p_source_164_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;
89051 --
89048 l_event_type_code VARCHAR2(30);
89049 l_line_definition_code VARCHAR2(30);
89050 l_line_definition_owner_code VARCHAR2(1);
89052 -- adr variables
89053 l_segment VARCHAR2(30);
89054 l_ccid NUMBER;
89055 l_adr_transaction_coa_id NUMBER;
89056 l_adr_accounting_coa_id NUMBER;
89057 l_adr_flexfield_segment_code VARCHAR2(30);
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_154';
89114 END IF;
89115 --
89116 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89117
89118 trace
89119 (p_msg => 'BEGIN of AcctLineType_154'
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_INV_AOS_BS';
89127 l_component_type_code := 'S';
89128 l_component_appl_id := 200;
89129 l_amb_context_code := 'DEFAULT';
89130 l_entity_code := 'AP_INVOICES';
89131 l_event_class_code := 'INVOICES';
89132 l_event_type_code := 'INVOICES_ALL';
89133 l_line_definition_owner_code := 'S';
89134 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_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 := 'SAME_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_15,'
89164 ') = 'BALANCING_SEGMENT' AND
89165 (NVL(p_source_164,'
89166 ') = 'STANDARD' OR
89167 NVL(p_source_164,'
89168 ') = 'MIXED' OR
89169 NVL(p_source_164,'
89170 ') = 'AWT' OR
89171 NVL(p_source_164,'
89172 ') = 'PO PRICE ADJUST' OR
89173 NVL(p_source_164,'
89174 ') = 'EXPENSE REPORT' OR
89175 NVL(p_source_164,'
89179 NVL(p_source_135,'
89176 ') = 'PAYMENT REQUEST' OR
89177 NVL(p_source_164,'
89178 ') = 'RETAINAGE RELEASE') AND
89180 ') <> 'Y'
89181 THEN
89182
89183 --
89184 XLA_AE_LINES_PKG.SetNewLine;
89185
89186 p_balance_type_code := l_balance_type_code;
89187 -- set the flag so later we will know whether the gain loss line needs to be created
89188
89189 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89190 p_actual_flag :='A';
89191 END IF;
89192
89193 --
89194 -- bulk performance
89195 --
89196 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89197 p_header_num => 0); -- 4262811
89198 --
89199 -- set accounting line options
89200 --
89201 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89202 p_natural_side_code => 'C'
89203 , p_gain_or_loss_flag => 'N'
89204 , p_gl_transfer_mode_code => 'S'
89205 , p_acct_entry_type_code => 'A'
89206 , p_switch_side_flag => 'Y'
89207 , p_merge_duplicate_code => 'A'
89208 );
89209 --
89210 l_acc_rev_natural_side_code := 'D'; -- 4262811
89211 --
89212 --
89213 -- set accounting line type info
89214 --
89215 xla_ae_lines_pkg.SetAcctLineType
89216 (p_component_type => l_component_type
89217 ,p_event_type_code => l_event_type_code
89218 ,p_line_definition_owner_code => l_line_definition_owner_code
89219 ,p_line_definition_code => l_line_definition_code
89220 ,p_accounting_line_code => l_component_code
89221 ,p_accounting_line_type_code => l_component_type_code
89222 ,p_accounting_line_appl_id => l_component_appl_id
89223 ,p_amb_context_code => l_amb_context_code
89224 ,p_entity_code => l_entity_code
89225 ,p_event_class_code => l_event_class_code);
89226 --
89227 -- set accounting class
89228 --
89229 xla_ae_lines_pkg.SetAcctClass(
89230 p_accounting_class_code => 'LIABILITY'
89231 , p_ae_header_id => l_ae_header_id
89232 );
89233
89234 --
89235 -- set rounding class
89236 --
89237 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89238 'LIABILITY';
89239
89240 --
89241 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89242 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89243 --
89244 -- bulk performance
89245 --
89246 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
89247
89248 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
89249 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
89250
89251 -- 4955764
89252 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89253 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
89254
89255 -- 4458381 Public Sector Enh
89256
89257 --
89258 -- set accounting attributes for the line type
89259 --
89260 l_entered_amt_idx := 24;
89261 l_accted_amt_idx := 29;
89262 l_bflow_applied_to_amt_idx := 7; -- 5132302
89263 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
89264 l_rec_acct_attrs.array_char_value(1) := p_source_52;
89265 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
89266 l_rec_acct_attrs.array_num_value(2) :=
89267 xla_ae_sources_pkg.GetSystemSourceNum(
89268 p_source_code => 'XLA_EVENT_APPL_ID'
89269 , p_source_type_code => 'Y'
89270 , p_source_application_id => 602
89271 );
89272 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
89273 l_rec_acct_attrs.array_char_value(3) := p_source_54;
89274 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
89275 l_rec_acct_attrs.array_char_value(4) :=
89276 xla_ae_sources_pkg.GetSystemSourceChar(
89277 p_source_code => 'XLA_ENTITY_CODE'
89278 , p_source_type_code => 'Y'
89279 , p_source_application_id => 602
89280 );
89281 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
89282 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
89283 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
89284 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
89285 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
89286 l_rec_acct_attrs.array_num_value(7) := p_source_72;
89287 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
89288 l_rec_acct_attrs.array_num_value(8) := p_source_90;
89289 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
89290 l_rec_acct_attrs.array_char_value(9) := p_source_91;
89291 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
89292 l_rec_acct_attrs.array_char_value(10) := p_source_92;
89293 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
89294 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
89295 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
89299 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
89296 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
89297 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
89298 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
89300 l_rec_acct_attrs.array_char_value(14) := p_source_54;
89301 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
89302 l_rec_acct_attrs.array_num_value(15) := p_source_64;
89303 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
89304 l_rec_acct_attrs.array_num_value(16) := p_source_65;
89305 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
89306 l_rec_acct_attrs.array_char_value(17) := p_source_66;
89307 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
89308 l_rec_acct_attrs.array_num_value(18) := p_source_67;
89309 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
89310 l_rec_acct_attrs.array_num_value(19) := p_source_68;
89311 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
89312 l_rec_acct_attrs.array_num_value(20) := p_source_69;
89313 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
89314 l_rec_acct_attrs.array_char_value(21) := p_source_66;
89315 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
89316 l_rec_acct_attrs.array_num_value(22) := p_source_70;
89317 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
89318 l_rec_acct_attrs.array_char_value(23) := p_source_71;
89319 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
89320 l_rec_acct_attrs.array_num_value(24) := p_source_72;
89321 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
89322 l_rec_acct_attrs.array_char_value(25) := p_source_66;
89323 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
89324 l_rec_acct_attrs.array_date_value(26) := p_source_136;
89325 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
89326 l_rec_acct_attrs.array_num_value(27) := p_source_137;
89327 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
89328 l_rec_acct_attrs.array_char_value(28) := p_source_138;
89329 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
89330 l_rec_acct_attrs.array_num_value(29) := p_source_21;
89331 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
89332 l_rec_acct_attrs.array_date_value(30) := p_source_76;
89333 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
89334 l_rec_acct_attrs.array_char_value(31) := p_source_77;
89335 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
89336 l_rec_acct_attrs.array_date_value(32) := p_source_78;
89337 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
89338 l_rec_acct_attrs.array_char_value(33) := p_source_79;
89339 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
89340 l_rec_acct_attrs.array_num_value(34) := p_source_80;
89341 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
89342 l_rec_acct_attrs.array_num_value(35) := p_source_81;
89343 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
89344 l_rec_acct_attrs.array_char_value(36) := p_source_82;
89345 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
89346 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
89347 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
89348 l_rec_acct_attrs.array_char_value(38) := p_source_54;
89349 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
89350 l_rec_acct_attrs.array_num_value(39) := p_source_84;
89351 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
89352 l_rec_acct_attrs.array_num_value(40) := p_source_85;
89353 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
89354 l_rec_acct_attrs.array_num_value(41) := p_source_86;
89355 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
89356 l_rec_acct_attrs.array_num_value(42) := p_source_87;
89357 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
89358 l_rec_acct_attrs.array_num_value(43) := p_source_88;
89359 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
89360 l_rec_acct_attrs.array_num_value(44) := p_source_89;
89361
89362 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89363 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89364
89365 ---------------------------------------------------------------------------------------------------------------
89366 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89367 ---------------------------------------------------------------------------------------------------------------
89368 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89369
89370 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89371 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89372
89373 IF xla_accounting_cache_pkg.GetValueChar
89374 (p_source_code => 'LEDGER_CATEGORY_CODE'
89375 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89376 AND l_bflow_method_code = 'PRIOR_ENTRY'
89377 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89378 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89379 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89380 )
89384 ,p_business_class_code => l_bflow_class_code
89381 THEN
89382 xla_ae_lines_pkg.BflowUpgEntry
89383 (p_business_method_code => l_bflow_method_code
89385 ,p_balance_type => l_balance_type_code);
89386 ELSE
89387 NULL;
89388 XLA_AE_LINES_PKG.business_flow_validation(
89389 p_business_method_code => l_bflow_method_code
89390 ,p_business_class_code => l_bflow_class_code
89391 ,p_inherit_description_flag => l_inherit_desc_flag);
89392 END IF;
89393
89394 --
89395 -- call analytical criteria
89396 --
89397
89398
89399 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
89400 xla_ae_lines_pkg.SetAnalyticalCriteria(
89401 p_analytical_criterion_name => 'Payables Custom Source'
89402 , p_analytical_criterion_owner => 'S'
89403 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
89404 , p_amb_context_code => 'DEFAULT'
89405 , p_balancing_flag => 'N'
89406
89407 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
89408 p_source_163
89409 , p_source_57
89410 , p_source_63))
89411 , p_analytical_detail_num_1 => NULL
89412 , p_analytical_detail_date_1 => NULL
89413
89414 , p_ae_header_id => l_ae_header_id
89415 )
89416 ;
89417 --
89418
89419 --
89420 -- call description
89421 --
89422
89423 xla_ae_lines_pkg.SetLineDescription(
89424 p_ae_header_id => l_ae_header_id
89425 ,p_description => Description_1 (
89426 p_application_id => p_application_id
89427 , p_ae_header_id => l_ae_header_id
89428 , p_source_1 => p_source_1
89429 )
89430 );
89431
89432
89433 --
89434 -- call ADRs
89435 -- Bug 4922099
89436 --
89437 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89438 (NVL(l_actual_upg_option, 'N') = 'O') OR
89439 (NVL(l_enc_upg_option, 'N') = 'O')
89440 )
89441 THEN
89442 NULL;
89443 --
89444 --
89445
89446 l_ccid := AcctDerRule_34(
89447 p_application_id => p_application_id
89448 , p_ae_header_id => l_ae_header_id
89449 , p_source_34 => p_source_34
89450 , x_transaction_coa_id => l_adr_transaction_coa_id
89451 , x_accounting_coa_id => l_adr_accounting_coa_id
89452 , x_value_type_code => l_adr_value_type_code
89453 , p_side => 'NA'
89454 );
89455
89456 xla_ae_lines_pkg.set_ccid(
89457 p_code_combination_id => l_ccid
89458 , p_value_type_code => l_adr_value_type_code
89459 , p_transaction_coa_id => l_adr_transaction_coa_id
89460 , p_accounting_coa_id => l_adr_accounting_coa_id
89461 , p_adr_code => 'AP_LIAB'
89462 , p_adr_type_code => 'S'
89463 , p_component_type => l_component_type
89464 , p_component_code => l_component_code
89465 , p_component_type_code => l_component_type_code
89466 , p_component_appl_id => l_component_appl_id
89467 , p_amb_context_code => l_amb_context_code
89468 , p_side => 'NA'
89469 );
89470
89471
89472 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
89473 p_to_segment_code => 'GL_BALANCING'
89474 , p_segment_value => C_CHAR
89475 , p_from_segment_code => NULL
89476 , p_from_combination_id => NULL
89477 , p_value_type_code => NULL
89478 , p_transaction_coa_id => null
89479 , p_accounting_coa_id => null
89480 , p_flexfield_segment_code => NULL
89481 , p_flex_value_set_id => NULL
89482 , p_adr_code => NULL
89483 , p_adr_type_code => NULL
89484 , p_component_type => l_component_type
89485 , p_component_code => l_component_code
89486 , p_component_type_code => l_component_type_code
89487 , p_component_appl_id => l_component_appl_id
89488 , p_amb_context_code => l_amb_context_code
89489 , p_entity_code => 'AP_INVOICES'
89490 , p_event_class_code => 'INVOICES'
89491 , p_side => 'NA'
89492 );
89493 --
89494
89495
89496 --
89497 --
89498 END IF;
89499 --
89500 -- Bug 4922099
89501 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89502 (NVL(l_enc_upg_option, 'N') = 'O')
89503 ) AND
89504 (l_bflow_method_code = 'PRIOR_ENTRY')
89505 )
89506 THEN
89507 IF
89508 --
89509 1 = 2
89510 --
89511 THEN
89512 xla_accounting_err_pkg.build_message
89513 (p_appli_s_name => 'XLA'
89514 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89515 ,p_token_1 => 'LINE_NUMBER'
89516 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89517 ,p_token_2 => 'LINE_TYPE_NAME'
89521 ,l_component_type_code
89518 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89519 l_component_type
89520 ,l_component_code
89522 ,l_component_appl_id
89523 ,l_amb_context_code
89524 ,l_entity_code
89525 ,l_event_class_code
89526 )
89527 ,p_token_3 => 'OWNER'
89528 ,p_value_3 => xla_lookups_pkg.get_meaning(
89529 p_lookup_type => 'XLA_OWNER_TYPE'
89530 ,p_lookup_code => l_component_type_code
89531 )
89532 ,p_token_4 => 'PRODUCT_NAME'
89533 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89534 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89535 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89536 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89537 ,p_ae_header_id => NULL
89538 );
89539
89540 IF (C_LEVEL_ERROR>= g_log_level) THEN
89541 trace
89542 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89543 ,p_level => C_LEVEL_ERROR
89544 ,p_module => l_log_module);
89545 END IF;
89546 END IF;
89547 END IF;
89548 --
89549 --
89550 ------------------------------------------------------------------------------------------------
89551 -- 4219869 Business Flow
89552 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89553 -- Prior Entry. Currently, the following code is always generated.
89554 ------------------------------------------------------------------------------------------------
89555 XLA_AE_LINES_PKG.ValidateCurrentLine;
89556
89557 ------------------------------------------------------------------------------------
89558 -- 4219869 Business Flow
89559 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89560 ------------------------------------------------------------------------------------
89561 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89562
89563 ----------------------------------------------------------------------------------
89564 -- 4219869 Business Flow
89565 -- Update journal entry status -- Need to generate this within IF <condition>
89566 ----------------------------------------------------------------------------------
89567 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89568 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89569 ,p_balance_type_code => l_balance_type_code
89570 );
89571
89572 -------------------------------------------------------------------------------------------
89573 -- 4262811 - Generate the Accrual Reversal lines
89574 -------------------------------------------------------------------------------------------
89575 BEGIN
89576 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89577 (g_array_event(p_event_id).array_value_num('header_index'));
89578 IF l_acc_rev_flag IS NULL THEN
89579 l_acc_rev_flag := 'N';
89580 END IF;
89581 EXCEPTION
89582 WHEN OTHERS THEN
89583 l_acc_rev_flag := 'N';
89584 END;
89585 --
89586 IF (l_acc_rev_flag = 'Y') THEN
89587
89588 -- 4645092 ------------------------------------------------------------------------------
89589 -- To allow MPA report to determine if it should generate report process
89590 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89591 ------------------------------------------------------------------------------------------
89592
89593 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89594 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89595 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89596 -- call ADRs
89597 -- Bug 4922099
89598 --
89599 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89600 (NVL(l_actual_upg_option, 'N') = 'O') OR
89601 (NVL(l_enc_upg_option, 'N') = 'O')
89602 )
89603 THEN
89604 NULL;
89605 --
89606 --
89607
89608 l_ccid := AcctDerRule_34(
89609 p_application_id => p_application_id
89610 , p_ae_header_id => l_ae_header_id
89611 , p_source_34 => p_source_34
89612 , x_transaction_coa_id => l_adr_transaction_coa_id
89613 , x_accounting_coa_id => l_adr_accounting_coa_id
89617
89614 , x_value_type_code => l_adr_value_type_code
89615 , p_side => 'NA'
89616 );
89618 xla_ae_lines_pkg.set_ccid(
89619 p_code_combination_id => l_ccid
89620 , p_value_type_code => l_adr_value_type_code
89621 , p_transaction_coa_id => l_adr_transaction_coa_id
89622 , p_accounting_coa_id => l_adr_accounting_coa_id
89623 , p_adr_code => 'AP_LIAB'
89624 , p_adr_type_code => 'S'
89625 , p_component_type => l_component_type
89626 , p_component_code => l_component_code
89627 , p_component_type_code => l_component_type_code
89628 , p_component_appl_id => l_component_appl_id
89629 , p_amb_context_code => l_amb_context_code
89630 , p_side => 'NA'
89631 );
89632
89633
89634 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
89635 p_to_segment_code => 'GL_BALANCING'
89636 , p_segment_value => C_CHAR
89637 , p_from_segment_code => NULL
89638 , p_from_combination_id => NULL
89639 , p_value_type_code => NULL
89640 , p_transaction_coa_id => null
89641 , p_accounting_coa_id => null
89642 , p_flexfield_segment_code => NULL
89643 , p_flex_value_set_id => NULL
89644 , p_adr_code => NULL
89645 , p_adr_type_code => NULL
89646 , p_component_type => l_component_type
89647 , p_component_code => l_component_code
89648 , p_component_type_code => l_component_type_code
89649 , p_component_appl_id => l_component_appl_id
89650 , p_amb_context_code => l_amb_context_code
89651 , p_entity_code => 'AP_INVOICES'
89652 , p_event_class_code => 'INVOICES'
89653 , p_side => 'NA'
89654 );
89655 --
89656
89657
89658 --
89659 --
89660 END IF;
89661
89662 --
89663 -- Update the line information that should be overwritten
89664 --
89665 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
89666 p_header_num => 1);
89667 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
89668
89669 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
89670
89671 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
89672 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
89673 END IF;
89674
89675 --
89676 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
89677 --
89678 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
89679 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
89680 ELSE
89681 ---------------------------------------------------------------------------------------------------
89682 -- 4262811a Switch Sign
89683 ---------------------------------------------------------------------------------------------------
89684 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
89685 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89686 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89687 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89688 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89689 -- 5132302
89690 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
89691 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89692
89693 END IF;
89694
89695 -- 4955764
89696 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89697 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
89698
89699
89700 XLA_AE_LINES_PKG.ValidateCurrentLine;
89701 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89702
89703 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89704 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
89705 ,p_balance_type_code => l_balance_type_code);
89706
89707 END IF;
89708
89709 -----------------------------------------------------------------------------------------
89710 -- 4262811 Multiperiod Accounting
89711 -----------------------------------------------------------------------------------------
89712 -- No MPA option is assigned.
89713
89714
89715 END IF;
89716 END IF;
89717 --
89718
89719 --
89720 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89721 trace
89722 (p_msg => 'END of AcctLineType_154'
89723 ,p_level => C_LEVEL_PROCEDURE
89724 ,p_module => l_log_module);
89725 END IF;
89726 --
89727 EXCEPTION
89728 WHEN xla_exceptions_pkg.application_exception THEN
89729 RAISE;
89730 WHEN OTHERS THEN
89734 --
89731 xla_exceptions_pkg.raise_message
89732 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_154');
89733 END AcctLineType_154;
89735
89736 ---------------------------------------
89737 --
89738 -- PRIVATE FUNCTION
89739 -- AcctLineType_155
89740 --
89741 ---------------------------------------
89742 PROCEDURE AcctLineType_155 (
89743 p_application_id IN NUMBER
89744 ,p_event_id IN NUMBER
89745 ,p_calculate_acctd_flag IN VARCHAR2
89746 ,p_calculate_g_l_flag IN VARCHAR2
89747 ,p_actual_flag IN OUT VARCHAR2
89748 ,p_balance_type_code OUT VARCHAR2
89749 ,p_gain_or_loss_ref OUT VARCHAR2
89750
89751 --Payment Currency Code
89752 , p_source_13 IN VARCHAR2
89753 --Accounting Reversal Indicator
89754 , p_source_52 IN VARCHAR2
89755 --Distribution Link Type
89756 , p_source_54 IN VARCHAR2
89757 --Override Accounted Amount Indicator
89758 , p_source_79 IN VARCHAR2
89759 , p_source_79_meaning IN VARCHAR2
89760 --Third Party Type
89761 , p_source_82 IN VARCHAR2
89762 --Invoice Distribution Tax Line Identifier
89763 , p_source_85 IN NUMBER
89764 --Invoice Distribution Tax Distribution Identifier from Tax
89765 , p_source_86 IN NUMBER
89766 --Invoice Distribution Summary Tax Line Identifier
89767 , p_source_87 IN NUMBER
89768 --Business Flow Accounts Payable Application Identifier
89769 , p_source_90 IN NUMBER
89770 --Business Flow Invoice Distribution Type
89771 , p_source_91 IN VARCHAR2
89772 --Business Flow Invoice Entity Code
89773 , p_source_92 IN VARCHAR2
89774 --Business Flow Invoice Distribution Identifier
89775 , p_source_93 IN NUMBER
89776 --Business Flow Invoice Identifier
89777 , p_source_94 IN NUMBER
89778 --When to Account for Payment Option
89779 , p_source_96 IN VARCHAR2
89780 --Payment Distribution Type
89781 , p_source_97 IN VARCHAR2
89782 , p_source_97_meaning IN VARCHAR2
89783 --Payment Distribution Amount
89784 , p_source_98 IN NUMBER
89785 --Payment Distribution Identifier
89786 , p_source_103 IN NUMBER
89787 --Payment Distribution Reversed Identifier
89788 , p_source_111 IN NUMBER
89789 --Payment Distribution (Invoice Rate) Ledger Amount
89790 , p_source_116 IN NUMBER
89791 --Payment Type
89792 , p_source_122 IN VARCHAR2
89793 , p_source_122_meaning IN VARCHAR2
89794 --Invoice Distribution Amount of the Payment Distribution
89795 , p_source_124 IN NUMBER
89796 --Invoice Type Paid
89797 , p_source_160 IN VARCHAR2
89798 , p_source_160_meaning IN VARCHAR2
89799 )
89800 IS
89801
89802 l_component_type VARCHAR2(80);
89803 l_component_code VARCHAR2(30);
89804 l_component_type_code VARCHAR2(1);
89805 l_component_appl_id INTEGER;
89806 l_amb_context_code VARCHAR2(30);
89807 l_entity_code VARCHAR2(30);
89808 l_event_class_code VARCHAR2(30);
89809 l_ae_header_id NUMBER;
89810 l_event_type_code VARCHAR2(30);
89811 l_line_definition_code VARCHAR2(30);
89812 l_line_definition_owner_code VARCHAR2(1);
89813 --
89814 -- adr variables
89815 l_segment VARCHAR2(30);
89816 l_ccid NUMBER;
89817 l_adr_transaction_coa_id NUMBER;
89818 l_adr_accounting_coa_id NUMBER;
89819 l_adr_flexfield_segment_code VARCHAR2(30);
89820 l_adr_flex_value_set_id NUMBER;
89821 l_adr_value_type_code VARCHAR2(30);
89822 l_adr_value_combination_id NUMBER;
89823 l_adr_value_segment_code VARCHAR2(30);
89824
89825 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
89826 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
89827 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
89828 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
89829
89830 -- 4262811 Variables ------------------------------------------------------------------------------------------
89831 l_entered_amt_idx NUMBER;
89832 l_accted_amt_idx NUMBER;
89833 l_acc_rev_flag VARCHAR2(1);
89834 l_accrual_line_num NUMBER;
89835 l_tmp_amt NUMBER;
89836 l_acc_rev_natural_side_code VARCHAR2(1);
89837
89838 l_num_entries NUMBER;
89839 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
89840 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
89841 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
89842 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
89843 l_recog_line_1 NUMBER;
89844 l_recog_line_2 NUMBER;
89845
89846 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
89847 l_bflow_applied_to_amt NUMBER; -- 5132302
89848 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
89849
89850 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
89851
89852 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
89856
89853 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
89854
89855 ---------------------------------------------------------------------------------------------------------------
89857
89858 --
89859 -- bulk performance
89860 --
89861 l_balance_type_code VARCHAR2(1);
89862 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
89863 l_log_module VARCHAR2(240);
89864
89865 --
89866 -- Upgrade strategy
89867 --
89868 l_actual_upg_option VARCHAR2(1);
89869 l_enc_upg_option VARCHAR2(1);
89870
89871 --
89872 BEGIN
89873 --
89874 IF g_log_enabled THEN
89875 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_155';
89876 END IF;
89877 --
89878 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89879
89880 trace
89881 (p_msg => 'BEGIN of AcctLineType_155'
89882 ,p_level => C_LEVEL_PROCEDURE
89883 ,p_module => l_log_module);
89884
89885 END IF;
89886 --
89887 l_component_type := 'AMB_JLT';
89888 l_component_code := 'AP_LIAB_PMT';
89889 l_component_type_code := 'S';
89890 l_component_appl_id := 200;
89891 l_amb_context_code := 'DEFAULT';
89892 l_entity_code := 'AP_PAYMENTS';
89893 l_event_class_code := 'PAYMENTS';
89894 l_event_type_code := 'PAYMENTS_ALL';
89895 l_line_definition_owner_code := 'S';
89896 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
89897 --
89898 l_balance_type_code := 'A';
89899 l_segment := NULL;
89900 l_ccid := NULL;
89901 l_adr_transaction_coa_id := NULL;
89902 l_adr_accounting_coa_id := NULL;
89903 l_adr_flexfield_segment_code := NULL;
89904 l_adr_flex_value_set_id := NULL;
89905 l_adr_value_type_code := NULL;
89906 l_adr_value_combination_id := NULL;
89907 l_adr_value_segment_code := NULL;
89908
89909 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
89910 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
89911 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
89912 l_budgetary_control_flag := 'N';
89913
89914 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89915 l_bflow_applied_to_amt := NULL; -- 5132302
89916 l_entered_amt_idx := NULL; -- 4262811
89917 l_accted_amt_idx := NULL; -- 4262811
89918 l_acc_rev_flag := NULL; -- 4262811
89919 l_accrual_line_num := NULL; -- 4262811
89920 l_tmp_amt := NULL; -- 4262811
89921 --
89922
89923 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
89924 l_balance_type_code <> 'B' THEN
89925 IF NVL(p_source_96,'
89926 ') <> 'CLEAR_CLEAR' AND
89927 NVL(p_source_160,'
89928 ') <> 'INTEREST' AND
89929 (NVL(p_source_97,'
89930 ') = 'ROUNDING' OR
89931 NVL(p_source_97,'
89932 ') = 'CASH' OR
89933 NVL(p_source_97,'
89934 ') = 'DISCOUNT') AND
89935 NVL(p_source_122,'
89936 ') <> 'R'
89937 THEN
89938
89939 --
89940 XLA_AE_LINES_PKG.SetNewLine;
89941
89942 p_balance_type_code := l_balance_type_code;
89943 -- set the flag so later we will know whether the gain loss line needs to be created
89944
89945 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89946 p_actual_flag :='A';
89947 END IF;
89948
89949 --
89950 -- bulk performance
89951 --
89952 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89953 p_header_num => 0); -- 4262811
89954 --
89955 -- set accounting line options
89956 --
89957 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89958 p_natural_side_code => 'D'
89959 , p_gain_or_loss_flag => 'N'
89960 , p_gl_transfer_mode_code => 'S'
89961 , p_acct_entry_type_code => 'A'
89962 , p_switch_side_flag => 'Y'
89963 , p_merge_duplicate_code => 'A'
89964 );
89965 --
89966 l_acc_rev_natural_side_code := 'C'; -- 4262811
89967 --
89968 --
89969 -- set accounting line type info
89970 --
89971 xla_ae_lines_pkg.SetAcctLineType
89972 (p_component_type => l_component_type
89973 ,p_event_type_code => l_event_type_code
89974 ,p_line_definition_owner_code => l_line_definition_owner_code
89975 ,p_line_definition_code => l_line_definition_code
89976 ,p_accounting_line_code => l_component_code
89977 ,p_accounting_line_type_code => l_component_type_code
89978 ,p_accounting_line_appl_id => l_component_appl_id
89979 ,p_amb_context_code => l_amb_context_code
89980 ,p_entity_code => l_entity_code
89981 ,p_event_class_code => l_event_class_code);
89982 --
89983 -- set accounting class
89984 --
89985 xla_ae_lines_pkg.SetAcctClass(
89986 p_accounting_class_code => 'LIABILITY'
89987 , p_ae_header_id => l_ae_header_id
89988 );
89989
89990 --
89991 -- set rounding class
89992 --
89996 --
89993 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89994 'LIABILITY';
89995
89997 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89998 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89999 --
90000 -- bulk performance
90001 --
90002 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90003
90004 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90005 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90006
90007 -- 4955764
90008 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90009 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90010
90011 -- 4458381 Public Sector Enh
90012
90013 --
90014 -- set accounting attributes for the line type
90015 --
90016 l_entered_amt_idx := 10;
90017 l_accted_amt_idx := 12;
90018 l_bflow_applied_to_amt_idx := 2; -- 5132302
90019 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90020 l_rec_acct_attrs.array_char_value(1) := p_source_52;
90021 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
90022 l_rec_acct_attrs.array_num_value(2) := p_source_124;
90023 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
90024 l_rec_acct_attrs.array_num_value(3) := p_source_90;
90025 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90026 l_rec_acct_attrs.array_char_value(4) := p_source_91;
90027 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
90028 l_rec_acct_attrs.array_char_value(5) := p_source_92;
90029 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
90030 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
90031 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90032 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
90033 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
90034 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
90035 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
90036 l_rec_acct_attrs.array_char_value(9) := p_source_54;
90037 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
90038 l_rec_acct_attrs.array_num_value(10) := p_source_98;
90039 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
90040 l_rec_acct_attrs.array_char_value(11) := p_source_13;
90041 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
90042 l_rec_acct_attrs.array_num_value(12) := p_source_116;
90043 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
90044 l_rec_acct_attrs.array_char_value(13) := p_source_79;
90045 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
90046 l_rec_acct_attrs.array_char_value(14) := p_source_82;
90047 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
90048 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_111);
90049 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
90050 l_rec_acct_attrs.array_char_value(16) := p_source_54;
90051 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
90052 l_rec_acct_attrs.array_num_value(17) := p_source_85;
90053 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
90054 l_rec_acct_attrs.array_num_value(18) := p_source_86;
90055 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
90056 l_rec_acct_attrs.array_num_value(19) := p_source_87;
90057
90058 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
90059 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
90060
90061 ---------------------------------------------------------------------------------------------------------------
90062 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
90063 ---------------------------------------------------------------------------------------------------------------
90064 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
90065
90066 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90067 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90068
90069 IF xla_accounting_cache_pkg.GetValueChar
90070 (p_source_code => 'LEDGER_CATEGORY_CODE'
90071 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
90072 AND l_bflow_method_code = 'PRIOR_ENTRY'
90073 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
90074 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
90075 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
90076 )
90077 THEN
90078 xla_ae_lines_pkg.BflowUpgEntry
90079 (p_business_method_code => l_bflow_method_code
90080 ,p_business_class_code => l_bflow_class_code
90081 ,p_balance_type => l_balance_type_code);
90082 ELSE
90083 NULL;
90084 XLA_AE_LINES_PKG.business_flow_validation(
90085 p_business_method_code => l_bflow_method_code
90086 ,p_business_class_code => l_bflow_class_code
90090 --
90087 ,p_inherit_description_flag => l_inherit_desc_flag);
90088 END IF;
90089
90091 -- call analytical criteria
90092 --
90093 -- Inherited Analytical Criteria for business flow method of Prior Entry.
90094 --
90095 -- call description
90096 --
90097 -- No description or it is inherited.
90098 --
90099 -- call ADRs
90100 -- Bug 4922099
90101 --
90102 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90103 (NVL(l_actual_upg_option, 'N') = 'O') OR
90104 (NVL(l_enc_upg_option, 'N') = 'O')
90105 )
90106 THEN
90107 NULL;
90108 --
90109 --
90110
90111 --
90112 --
90113 END IF;
90114 --
90115 -- Bug 4922099
90116 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90117 (NVL(l_enc_upg_option, 'N') = 'O')
90118 ) AND
90119 (l_bflow_method_code = 'PRIOR_ENTRY')
90120 )
90121 THEN
90122 IF
90123 --
90124 1 = 1
90125 --
90126 THEN
90127 xla_accounting_err_pkg.build_message
90128 (p_appli_s_name => 'XLA'
90129 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90130 ,p_token_1 => 'LINE_NUMBER'
90131 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90132 ,p_token_2 => 'LINE_TYPE_NAME'
90133 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90134 l_component_type
90135 ,l_component_code
90136 ,l_component_type_code
90137 ,l_component_appl_id
90138 ,l_amb_context_code
90139 ,l_entity_code
90140 ,l_event_class_code
90141 )
90142 ,p_token_3 => 'OWNER'
90143 ,p_value_3 => xla_lookups_pkg.get_meaning(
90144 p_lookup_type => 'XLA_OWNER_TYPE'
90145 ,p_lookup_code => l_component_type_code
90146 )
90147 ,p_token_4 => 'PRODUCT_NAME'
90148 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90149 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90150 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90151 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90152 ,p_ae_header_id => NULL
90153 );
90154
90155 IF (C_LEVEL_ERROR>= g_log_level) THEN
90156 trace
90157 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90158 ,p_level => C_LEVEL_ERROR
90159 ,p_module => l_log_module);
90160 END IF;
90161 END IF;
90162 END IF;
90163 --
90164 --
90165 ------------------------------------------------------------------------------------------------
90166 -- 4219869 Business Flow
90167 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90168 -- Prior Entry. Currently, the following code is always generated.
90169 ------------------------------------------------------------------------------------------------
90170 -- No ValidateCurrentLine for business flow method of Prior Entry
90171
90172 ------------------------------------------------------------------------------------
90173 -- 4219869 Business Flow
90174 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90175 ------------------------------------------------------------------------------------
90176 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90177
90178 ----------------------------------------------------------------------------------
90179 -- 4219869 Business Flow
90180 -- Update journal entry status -- Need to generate this within IF <condition>
90181 ----------------------------------------------------------------------------------
90182 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90183 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90184 ,p_balance_type_code => l_balance_type_code
90185 );
90186
90187 -------------------------------------------------------------------------------------------
90188 -- 4262811 - Generate the Accrual Reversal lines
90189 -------------------------------------------------------------------------------------------
90190 BEGIN
90194 l_acc_rev_flag := 'N';
90191 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90192 (g_array_event(p_event_id).array_value_num('header_index'));
90193 IF l_acc_rev_flag IS NULL THEN
90195 END IF;
90196 EXCEPTION
90197 WHEN OTHERS THEN
90198 l_acc_rev_flag := 'N';
90199 END;
90200 --
90201 IF (l_acc_rev_flag = 'Y') THEN
90202
90203 -- 4645092 ------------------------------------------------------------------------------
90204 -- To allow MPA report to determine if it should generate report process
90205 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90206 ------------------------------------------------------------------------------------------
90207
90208 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90209 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90210 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90211 -- call ADRs
90212 -- Bug 4922099
90213 --
90214 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90215 (NVL(l_actual_upg_option, 'N') = 'O') OR
90216 (NVL(l_enc_upg_option, 'N') = 'O')
90217 )
90218 THEN
90219 NULL;
90220 --
90221 --
90222
90223 --
90224 --
90225 END IF;
90226
90227 --
90228 -- Update the line information that should be overwritten
90229 --
90230 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90231 p_header_num => 1);
90232 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90233
90234 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90235
90236 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90237 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90238 END IF;
90239
90240 --
90241 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90242 --
90243 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90244 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90245 ELSE
90246 ---------------------------------------------------------------------------------------------------
90247 -- 4262811a Switch Sign
90248 ---------------------------------------------------------------------------------------------------
90249 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90250 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90251 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90252 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90253 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90254 -- 5132302
90255 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90256 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90257
90258 END IF;
90259
90260 -- 4955764
90261 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90262 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90263
90264
90265 XLA_AE_LINES_PKG.ValidateCurrentLine;
90266 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90267
90268 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90269 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
90270 ,p_balance_type_code => l_balance_type_code);
90271
90272 END IF;
90273
90274 -----------------------------------------------------------------------------------------
90275 -- 4262811 Multiperiod Accounting
90276 -----------------------------------------------------------------------------------------
90277 -- No MPA option is assigned.
90278
90279
90280 END IF;
90281 END IF;
90282 --
90283
90284 --
90285 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90286 trace
90287 (p_msg => 'END of AcctLineType_155'
90288 ,p_level => C_LEVEL_PROCEDURE
90289 ,p_module => l_log_module);
90290 END IF;
90291 --
90292 EXCEPTION
90293 WHEN xla_exceptions_pkg.application_exception THEN
90294 RAISE;
90295 WHEN OTHERS THEN
90296 xla_exceptions_pkg.raise_message
90297 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_155');
90298 END AcctLineType_155;
90299 --
90300
90301 ---------------------------------------
90302 --
90303 -- PRIVATE FUNCTION
90304 -- AcctLineType_156
90305 --
90306 ---------------------------------------
90307 PROCEDURE AcctLineType_156 (
90308 p_application_id IN NUMBER
90309 ,p_event_id IN NUMBER
90310 ,p_calculate_acctd_flag IN VARCHAR2
90311 ,p_calculate_g_l_flag IN VARCHAR2
90312 ,p_actual_flag IN OUT VARCHAR2
90313 ,p_balance_type_code OUT VARCHAR2
90317 , p_source_1 IN VARCHAR2
90314 ,p_gain_or_loss_ref OUT VARCHAR2
90315
90316 --Invoice Distribution Description
90318 --Automatic Offsets Value
90319 , p_source_15 IN VARCHAR2
90320 , p_source_15_meaning IN VARCHAR2
90321 --Invoice Distribution Ledger Amount
90322 , p_source_21 IN NUMBER
90323 --Invoice Liability Account
90324 , p_source_34 IN NUMBER
90325 --Accounting Reversal Indicator
90326 , p_source_52 IN VARCHAR2
90327 --Distribution Link Type
90328 , p_source_54 IN VARCHAR2
90329 --Allocation to Main Distribution Identifier
90330 , p_source_56 IN NUMBER
90331 --Invoice Identifier
90332 , p_source_57 IN NUMBER
90333 --Invoice Distribution Identifier
90334 , p_source_63 IN NUMBER
90335 --Payables Encumbrance Upgrade Credit Account
90336 , p_source_64 IN NUMBER
90337 --Payables Encumbrance Upgrade Credit Amount
90338 , p_source_65 IN NUMBER
90339 --Invoice Currency Code
90340 , p_source_66 IN VARCHAR2
90341 --Payables Encumbrance Upgrade Credit Base Amount
90342 , p_source_67 IN NUMBER
90343 --Payables Encumbrance Upgrade Debit Account
90344 , p_source_68 IN NUMBER
90345 --Payables Encumbrance Upgrade Debit Amount
90346 , p_source_69 IN NUMBER
90347 --Payables Encumbrance Upgrade Debit Base Amount
90348 , p_source_70 IN NUMBER
90349 --Payables Encumbrance Upgrade Option
90350 , p_source_71 IN VARCHAR2
90351 --Invoice Distribution Amount
90352 , p_source_72 IN NUMBER
90353 --Deferred Accounting End Date
90354 , p_source_76 IN DATE
90355 --Deferred Accounting Option
90356 , p_source_77 IN VARCHAR2
90357 --Deferred Accounting Start Date
90358 , p_source_78 IN DATE
90359 --Override Accounted Amount Indicator
90360 , p_source_79 IN VARCHAR2
90361 , p_source_79_meaning IN VARCHAR2
90362 --Invoice Supplier Identifier
90363 , p_source_80 IN NUMBER
90364 --Invoice Supplier Site Identifier
90365 , p_source_81 IN NUMBER
90366 --Third Party Type
90367 , p_source_82 IN VARCHAR2
90368 --Parent Reversal Identifier
90369 , p_source_83 IN NUMBER
90370 --Invoice Distribution Statistical Amount
90371 , p_source_84 IN NUMBER
90372 --Invoice Distribution Tax Line Identifier
90373 , p_source_85 IN NUMBER
90374 --Invoice Distribution Tax Distribution Identifier from Tax
90375 , p_source_86 IN NUMBER
90376 --Invoice Distribution Summary Tax Line Identifier
90377 , p_source_87 IN NUMBER
90378 --Payables Upgrade Credit Encumbrance Type Identifier
90379 , p_source_88 IN NUMBER
90380 --Payables Upgrade Debit Encumbrance Type Identifier
90381 , p_source_89 IN NUMBER
90382 --Business Flow Accounts Payable Application Identifier
90383 , p_source_90 IN NUMBER
90384 --Business Flow Invoice Distribution Type
90385 , p_source_91 IN VARCHAR2
90386 --Business Flow Invoice Entity Code
90387 , p_source_92 IN VARCHAR2
90388 --Business Flow Invoice Distribution Identifier
90389 , p_source_93 IN NUMBER
90390 --Business Flow Invoice Identifier
90391 , p_source_94 IN NUMBER
90392 --Self-Assessed Tax Flag
90393 , p_source_135 IN VARCHAR2
90394 , p_source_135_meaning IN VARCHAR2
90395 --Invoice Exchange Date
90396 , p_source_136 IN DATE
90397 --Invoice Exchange Rate
90398 , p_source_137 IN NUMBER
90399 --Invoice Exchange Rate Type
90400 , p_source_138 IN VARCHAR2
90401 --Invoice Source
90402 , p_source_163 IN VARCHAR2
90403 )
90404 IS
90405
90406 l_component_type VARCHAR2(80);
90407 l_component_code VARCHAR2(30);
90408 l_component_type_code VARCHAR2(1);
90409 l_component_appl_id INTEGER;
90410 l_amb_context_code VARCHAR2(30);
90411 l_entity_code VARCHAR2(30);
90412 l_event_class_code VARCHAR2(30);
90413 l_ae_header_id NUMBER;
90414 l_event_type_code VARCHAR2(30);
90415 l_line_definition_code VARCHAR2(30);
90416 l_line_definition_owner_code VARCHAR2(1);
90417 --
90418 -- adr variables
90419 l_segment VARCHAR2(30);
90420 l_ccid NUMBER;
90421 l_adr_transaction_coa_id NUMBER;
90422 l_adr_accounting_coa_id NUMBER;
90423 l_adr_flexfield_segment_code VARCHAR2(30);
90424 l_adr_flex_value_set_id NUMBER;
90425 l_adr_value_type_code VARCHAR2(30);
90426 l_adr_value_combination_id NUMBER;
90427 l_adr_value_segment_code VARCHAR2(30);
90428
90429 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90430 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90431 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90432 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90433
90434 -- 4262811 Variables ------------------------------------------------------------------------------------------
90435 l_entered_amt_idx NUMBER;
90436 l_accted_amt_idx NUMBER;
90437 l_acc_rev_flag VARCHAR2(1);
90438 l_accrual_line_num NUMBER;
90439 l_tmp_amt NUMBER;
90440 l_acc_rev_natural_side_code VARCHAR2(1);
90444 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90441
90442 l_num_entries NUMBER;
90443 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90445 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90446 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90447 l_recog_line_1 NUMBER;
90448 l_recog_line_2 NUMBER;
90449
90450 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90451 l_bflow_applied_to_amt NUMBER; -- 5132302
90452 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90453
90454 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90455
90456 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90457 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90458
90459 ---------------------------------------------------------------------------------------------------------------
90460
90461
90462 --
90463 -- bulk performance
90464 --
90465 l_balance_type_code VARCHAR2(1);
90466 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90467 l_log_module VARCHAR2(240);
90468
90469 --
90470 -- Upgrade strategy
90471 --
90472 l_actual_upg_option VARCHAR2(1);
90473 l_enc_upg_option VARCHAR2(1);
90474
90475 --
90476 BEGIN
90477 --
90478 IF g_log_enabled THEN
90479 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_156';
90480 END IF;
90481 --
90482 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90483
90484 trace
90485 (p_msg => 'BEGIN of AcctLineType_156'
90486 ,p_level => C_LEVEL_PROCEDURE
90487 ,p_module => l_log_module);
90488
90489 END IF;
90490 --
90491 l_component_type := 'AMB_JLT';
90492 l_component_code := 'AP_LIAB_PREPAY';
90493 l_component_type_code := 'S';
90494 l_component_appl_id := 200;
90495 l_amb_context_code := 'DEFAULT';
90496 l_entity_code := 'AP_INVOICES';
90497 l_event_class_code := 'PREPAYMENTS';
90498 l_event_type_code := 'PREPAYMENTS_ALL';
90499 l_line_definition_owner_code := 'S';
90500 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
90501 --
90502 l_balance_type_code := 'A';
90503 l_segment := NULL;
90504 l_ccid := NULL;
90505 l_adr_transaction_coa_id := NULL;
90506 l_adr_accounting_coa_id := NULL;
90507 l_adr_flexfield_segment_code := NULL;
90508 l_adr_flex_value_set_id := NULL;
90509 l_adr_value_type_code := NULL;
90510 l_adr_value_combination_id := NULL;
90511 l_adr_value_segment_code := NULL;
90512
90513 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
90514 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
90515 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90516 l_budgetary_control_flag := 'N';
90517
90518 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90519 l_bflow_applied_to_amt := NULL; -- 5132302
90520 l_entered_amt_idx := NULL; -- 4262811
90521 l_accted_amt_idx := NULL; -- 4262811
90522 l_acc_rev_flag := NULL; -- 4262811
90523 l_accrual_line_num := NULL; -- 4262811
90524 l_tmp_amt := NULL; -- 4262811
90525 --
90526
90527 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90528 l_balance_type_code <> 'B' THEN
90529 IF (NVL(p_source_15,'
90530 ') <> 'BALANCING_SEGMENT' AND
90531 NVL(p_source_15,'
90532 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
90533 NVL(p_source_135,'
90534 ') <> 'Y'
90535 THEN
90536
90537 --
90538 XLA_AE_LINES_PKG.SetNewLine;
90539
90540 p_balance_type_code := l_balance_type_code;
90541 -- set the flag so later we will know whether the gain loss line needs to be created
90542
90543 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90544 p_actual_flag :='A';
90545 END IF;
90546
90547 --
90548 -- bulk performance
90549 --
90550 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90551 p_header_num => 0); -- 4262811
90552 --
90553 -- set accounting line options
90554 --
90555 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90556 p_natural_side_code => 'C'
90557 , p_gain_or_loss_flag => 'N'
90558 , p_gl_transfer_mode_code => 'S'
90559 , p_acct_entry_type_code => 'A'
90560 , p_switch_side_flag => 'Y'
90561 , p_merge_duplicate_code => 'A'
90562 );
90563 --
90564 l_acc_rev_natural_side_code := 'D'; -- 4262811
90565 --
90566 --
90567 -- set accounting line type info
90568 --
90569 xla_ae_lines_pkg.SetAcctLineType
90570 (p_component_type => l_component_type
90571 ,p_event_type_code => l_event_type_code
90572 ,p_line_definition_owner_code => l_line_definition_owner_code
90576 ,p_accounting_line_appl_id => l_component_appl_id
90573 ,p_line_definition_code => l_line_definition_code
90574 ,p_accounting_line_code => l_component_code
90575 ,p_accounting_line_type_code => l_component_type_code
90577 ,p_amb_context_code => l_amb_context_code
90578 ,p_entity_code => l_entity_code
90579 ,p_event_class_code => l_event_class_code);
90580 --
90581 -- set accounting class
90582 --
90583 xla_ae_lines_pkg.SetAcctClass(
90584 p_accounting_class_code => 'LIABILITY'
90585 , p_ae_header_id => l_ae_header_id
90586 );
90587
90588 --
90589 -- set rounding class
90590 --
90591 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90592 'LIABILITY';
90593
90594 --
90595 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90596 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90597 --
90598 -- bulk performance
90599 --
90600 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90601
90602 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90603 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90604
90605 -- 4955764
90606 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90607 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90608
90609 -- 4458381 Public Sector Enh
90610
90611 --
90612 -- set accounting attributes for the line type
90613 --
90614 l_entered_amt_idx := 23;
90615 l_accted_amt_idx := 28;
90616 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90617 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90618 l_rec_acct_attrs.array_char_value(1) := p_source_52;
90619 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
90620 l_rec_acct_attrs.array_num_value(2) :=
90621 xla_ae_sources_pkg.GetSystemSourceNum(
90622 p_source_code => 'XLA_EVENT_APPL_ID'
90623 , p_source_type_code => 'Y'
90624 , p_source_application_id => 602
90625 );
90626 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
90627 l_rec_acct_attrs.array_char_value(3) := p_source_54;
90628 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
90629 l_rec_acct_attrs.array_char_value(4) :=
90630 xla_ae_sources_pkg.GetSystemSourceChar(
90631 p_source_code => 'XLA_ENTITY_CODE'
90632 , p_source_type_code => 'Y'
90633 , p_source_application_id => 602
90634 );
90635 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
90636 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
90637 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
90638 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
90639 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
90640 l_rec_acct_attrs.array_num_value(7) := p_source_90;
90641 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90642 l_rec_acct_attrs.array_char_value(8) := p_source_91;
90643 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
90644 l_rec_acct_attrs.array_char_value(9) := p_source_92;
90645 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
90646 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
90647 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90648 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
90649 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
90650 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
90651 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
90652 l_rec_acct_attrs.array_char_value(13) := p_source_54;
90653 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
90654 l_rec_acct_attrs.array_num_value(14) := p_source_64;
90655 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
90656 l_rec_acct_attrs.array_num_value(15) := p_source_65;
90657 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
90658 l_rec_acct_attrs.array_char_value(16) := p_source_66;
90659 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
90660 l_rec_acct_attrs.array_num_value(17) := p_source_67;
90661 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
90662 l_rec_acct_attrs.array_num_value(18) := p_source_68;
90663 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
90664 l_rec_acct_attrs.array_num_value(19) := p_source_69;
90665 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
90666 l_rec_acct_attrs.array_char_value(20) := p_source_66;
90667 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
90668 l_rec_acct_attrs.array_num_value(21) := p_source_70;
90669 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
90670 l_rec_acct_attrs.array_char_value(22) := p_source_71;
90671 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
90672 l_rec_acct_attrs.array_num_value(23) := p_source_72;
90673 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
90677 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
90674 l_rec_acct_attrs.array_char_value(24) := p_source_66;
90675 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
90676 l_rec_acct_attrs.array_date_value(25) := p_source_136;
90678 l_rec_acct_attrs.array_num_value(26) := p_source_137;
90679 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
90680 l_rec_acct_attrs.array_char_value(27) := p_source_138;
90681 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
90682 l_rec_acct_attrs.array_num_value(28) := p_source_21;
90683 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
90684 l_rec_acct_attrs.array_date_value(29) := p_source_76;
90685 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
90686 l_rec_acct_attrs.array_char_value(30) := p_source_77;
90687 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
90688 l_rec_acct_attrs.array_date_value(31) := p_source_78;
90689 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
90690 l_rec_acct_attrs.array_char_value(32) := p_source_79;
90691 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
90692 l_rec_acct_attrs.array_num_value(33) := p_source_80;
90693 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
90694 l_rec_acct_attrs.array_num_value(34) := p_source_81;
90695 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
90696 l_rec_acct_attrs.array_char_value(35) := p_source_82;
90697 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
90698 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
90699 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
90700 l_rec_acct_attrs.array_char_value(37) := p_source_54;
90701 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
90702 l_rec_acct_attrs.array_num_value(38) := p_source_84;
90703 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
90704 l_rec_acct_attrs.array_num_value(39) := p_source_85;
90705 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
90706 l_rec_acct_attrs.array_num_value(40) := p_source_86;
90707 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
90708 l_rec_acct_attrs.array_num_value(41) := p_source_87;
90709 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
90710 l_rec_acct_attrs.array_num_value(42) := p_source_88;
90711 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
90712 l_rec_acct_attrs.array_num_value(43) := p_source_89;
90713
90714 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
90715 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
90716
90717 ---------------------------------------------------------------------------------------------------------------
90718 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
90719 ---------------------------------------------------------------------------------------------------------------
90720 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
90721
90722 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90723 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90724
90725 IF xla_accounting_cache_pkg.GetValueChar
90726 (p_source_code => 'LEDGER_CATEGORY_CODE'
90727 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
90728 AND l_bflow_method_code = 'PRIOR_ENTRY'
90729 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
90730 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
90731 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
90732 )
90733 THEN
90734 xla_ae_lines_pkg.BflowUpgEntry
90735 (p_business_method_code => l_bflow_method_code
90736 ,p_business_class_code => l_bflow_class_code
90737 ,p_balance_type => l_balance_type_code);
90738 ELSE
90739 NULL;
90740 -- No business flow processing for business flow method of NONE.
90741 END IF;
90742
90743 --
90744 -- call analytical criteria
90745 --
90746
90747
90748 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
90749 xla_ae_lines_pkg.SetAnalyticalCriteria(
90750 p_analytical_criterion_name => 'Payables Custom Source'
90751 , p_analytical_criterion_owner => 'S'
90752 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
90753 , p_amb_context_code => 'DEFAULT'
90754 , p_balancing_flag => 'N'
90755
90756 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
90757 p_source_163
90758 , p_source_57
90759 , p_source_63))
90760 , p_analytical_detail_num_1 => NULL
90761 , p_analytical_detail_date_1 => NULL
90762
90763 , p_ae_header_id => l_ae_header_id
90764 )
90765 ;
90766 --
90767
90768 --
90769 -- call description
90770 --
90771
90772 xla_ae_lines_pkg.SetLineDescription(
90773 p_ae_header_id => l_ae_header_id
90774 ,p_description => Description_1 (
90775 p_application_id => p_application_id
90776 , p_ae_header_id => l_ae_header_id
90777 , p_source_1 => p_source_1
90778 )
90779 );
90780
90781
90782 --
90783 -- call ADRs
90787 (NVL(l_actual_upg_option, 'N') = 'O') OR
90784 -- Bug 4922099
90785 --
90786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90788 (NVL(l_enc_upg_option, 'N') = 'O')
90789 )
90790 THEN
90791 NULL;
90792 --
90793 --
90794
90795 l_ccid := AcctDerRule_34(
90796 p_application_id => p_application_id
90797 , p_ae_header_id => l_ae_header_id
90798 , p_source_34 => p_source_34
90799 , x_transaction_coa_id => l_adr_transaction_coa_id
90800 , x_accounting_coa_id => l_adr_accounting_coa_id
90801 , x_value_type_code => l_adr_value_type_code
90802 , p_side => 'NA'
90803 );
90804
90805 xla_ae_lines_pkg.set_ccid(
90806 p_code_combination_id => l_ccid
90807 , p_value_type_code => l_adr_value_type_code
90808 , p_transaction_coa_id => l_adr_transaction_coa_id
90809 , p_accounting_coa_id => l_adr_accounting_coa_id
90810 , p_adr_code => 'AP_LIAB'
90811 , p_adr_type_code => 'S'
90812 , p_component_type => l_component_type
90813 , p_component_code => l_component_code
90814 , p_component_type_code => l_component_type_code
90815 , p_component_appl_id => l_component_appl_id
90816 , p_amb_context_code => l_amb_context_code
90817 , p_side => 'NA'
90818 );
90819
90820
90821 --
90822 --
90823 END IF;
90824 --
90825 -- Bug 4922099
90826 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90827 (NVL(l_enc_upg_option, 'N') = 'O')
90828 ) AND
90829 (l_bflow_method_code = 'PRIOR_ENTRY')
90830 )
90831 THEN
90832 IF
90833 --
90834 1 = 2
90835 --
90836 THEN
90837 xla_accounting_err_pkg.build_message
90838 (p_appli_s_name => 'XLA'
90839 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90840 ,p_token_1 => 'LINE_NUMBER'
90841 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90842 ,p_token_2 => 'LINE_TYPE_NAME'
90843 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90844 l_component_type
90845 ,l_component_code
90846 ,l_component_type_code
90847 ,l_component_appl_id
90848 ,l_amb_context_code
90849 ,l_entity_code
90850 ,l_event_class_code
90851 )
90852 ,p_token_3 => 'OWNER'
90853 ,p_value_3 => xla_lookups_pkg.get_meaning(
90854 p_lookup_type => 'XLA_OWNER_TYPE'
90855 ,p_lookup_code => l_component_type_code
90856 )
90857 ,p_token_4 => 'PRODUCT_NAME'
90858 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90859 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90860 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90861 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90862 ,p_ae_header_id => NULL
90863 );
90864
90865 IF (C_LEVEL_ERROR>= g_log_level) THEN
90866 trace
90867 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90868 ,p_level => C_LEVEL_ERROR
90869 ,p_module => l_log_module);
90870 END IF;
90871 END IF;
90872 END IF;
90873 --
90874 --
90875 ------------------------------------------------------------------------------------------------
90876 -- 4219869 Business Flow
90877 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90878 -- Prior Entry. Currently, the following code is always generated.
90879 ------------------------------------------------------------------------------------------------
90880 XLA_AE_LINES_PKG.ValidateCurrentLine;
90881
90882 ------------------------------------------------------------------------------------
90883 -- 4219869 Business Flow
90884 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90885 ------------------------------------------------------------------------------------
90886 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90887
90891 ----------------------------------------------------------------------------------
90888 ----------------------------------------------------------------------------------
90889 -- 4219869 Business Flow
90890 -- Update journal entry status -- Need to generate this within IF <condition>
90892 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90893 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90894 ,p_balance_type_code => l_balance_type_code
90895 );
90896
90897 -------------------------------------------------------------------------------------------
90898 -- 4262811 - Generate the Accrual Reversal lines
90899 -------------------------------------------------------------------------------------------
90900 BEGIN
90901 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90902 (g_array_event(p_event_id).array_value_num('header_index'));
90903 IF l_acc_rev_flag IS NULL THEN
90904 l_acc_rev_flag := 'N';
90905 END IF;
90906 EXCEPTION
90907 WHEN OTHERS THEN
90908 l_acc_rev_flag := 'N';
90909 END;
90910 --
90911 IF (l_acc_rev_flag = 'Y') THEN
90912
90913 -- 4645092 ------------------------------------------------------------------------------
90914 -- To allow MPA report to determine if it should generate report process
90915 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90916 ------------------------------------------------------------------------------------------
90917
90918 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90919 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90920 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90921 -- call ADRs
90922 -- Bug 4922099
90923 --
90924 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90925 (NVL(l_actual_upg_option, 'N') = 'O') OR
90926 (NVL(l_enc_upg_option, 'N') = 'O')
90927 )
90928 THEN
90929 NULL;
90930 --
90931 --
90932
90933 l_ccid := AcctDerRule_34(
90934 p_application_id => p_application_id
90935 , p_ae_header_id => l_ae_header_id
90936 , p_source_34 => p_source_34
90937 , x_transaction_coa_id => l_adr_transaction_coa_id
90938 , x_accounting_coa_id => l_adr_accounting_coa_id
90939 , x_value_type_code => l_adr_value_type_code
90940 , p_side => 'NA'
90941 );
90942
90943 xla_ae_lines_pkg.set_ccid(
90944 p_code_combination_id => l_ccid
90945 , p_value_type_code => l_adr_value_type_code
90946 , p_transaction_coa_id => l_adr_transaction_coa_id
90947 , p_accounting_coa_id => l_adr_accounting_coa_id
90948 , p_adr_code => 'AP_LIAB'
90949 , p_adr_type_code => 'S'
90950 , p_component_type => l_component_type
90951 , p_component_code => l_component_code
90952 , p_component_type_code => l_component_type_code
90953 , p_component_appl_id => l_component_appl_id
90954 , p_amb_context_code => l_amb_context_code
90955 , p_side => 'NA'
90956 );
90957
90958
90959 --
90960 --
90961 END IF;
90962
90963 --
90964 -- Update the line information that should be overwritten
90965 --
90966 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90967 p_header_num => 1);
90968 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90969
90970 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90971
90972 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90973 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90974 END IF;
90975
90976 --
90977 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90978 --
90979 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90980 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90981 ELSE
90982 ---------------------------------------------------------------------------------------------------
90983 -- 4262811a Switch Sign
90984 ---------------------------------------------------------------------------------------------------
90985 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90986 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90987 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90988 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90989 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90990 -- 5132302
90991 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90992 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90993
90994 END IF;
90995
90996 -- 4955764
91000
90997 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90998 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90999
91001 XLA_AE_LINES_PKG.ValidateCurrentLine;
91002 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91003
91004 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91005 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91006 ,p_balance_type_code => l_balance_type_code);
91007
91008 END IF;
91009
91010 -----------------------------------------------------------------------------------------
91011 -- 4262811 Multiperiod Accounting
91012 -----------------------------------------------------------------------------------------
91013 -- No MPA option is assigned.
91014
91015
91016 END IF;
91017 END IF;
91018 --
91019
91020 --
91021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91022 trace
91023 (p_msg => 'END of AcctLineType_156'
91024 ,p_level => C_LEVEL_PROCEDURE
91025 ,p_module => l_log_module);
91026 END IF;
91027 --
91028 EXCEPTION
91029 WHEN xla_exceptions_pkg.application_exception THEN
91030 RAISE;
91031 WHEN OTHERS THEN
91032 xla_exceptions_pkg.raise_message
91033 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_156');
91034 END AcctLineType_156;
91035 --
91036
91037 ---------------------------------------
91038 --
91039 -- PRIVATE FUNCTION
91040 -- AcctLineType_157
91041 --
91042 ---------------------------------------
91043 PROCEDURE AcctLineType_157 (
91044 p_application_id IN NUMBER
91045 ,p_event_id IN NUMBER
91046 ,p_calculate_acctd_flag IN VARCHAR2
91047 ,p_calculate_g_l_flag IN VARCHAR2
91048 ,p_actual_flag IN OUT VARCHAR2
91049 ,p_balance_type_code OUT VARCHAR2
91050 ,p_gain_or_loss_ref OUT VARCHAR2
91051
91052 --Invoice Distribution Description
91053 , p_source_1 IN VARCHAR2
91054 --Automatic Offsets Value
91055 , p_source_15 IN VARCHAR2
91056 , p_source_15_meaning IN VARCHAR2
91057 --Invoice Distribution Ledger Amount
91058 , p_source_21 IN NUMBER
91059 --Invoice Liability Account
91060 , p_source_34 IN NUMBER
91061 --Accounting Reversal Indicator
91062 , p_source_52 IN VARCHAR2
91063 --Distribution Link Type
91064 , p_source_54 IN VARCHAR2
91065 --Allocation to Main Distribution Identifier
91066 , p_source_56 IN NUMBER
91067 --Invoice Identifier
91068 , p_source_57 IN NUMBER
91069 --Invoice Distribution Identifier
91070 , p_source_63 IN NUMBER
91071 --Payables Encumbrance Upgrade Credit Account
91072 , p_source_64 IN NUMBER
91073 --Payables Encumbrance Upgrade Credit Amount
91074 , p_source_65 IN NUMBER
91075 --Invoice Currency Code
91076 , p_source_66 IN VARCHAR2
91077 --Payables Encumbrance Upgrade Credit Base Amount
91078 , p_source_67 IN NUMBER
91079 --Payables Encumbrance Upgrade Debit Account
91080 , p_source_68 IN NUMBER
91081 --Payables Encumbrance Upgrade Debit Amount
91082 , p_source_69 IN NUMBER
91083 --Payables Encumbrance Upgrade Debit Base Amount
91084 , p_source_70 IN NUMBER
91085 --Payables Encumbrance Upgrade Option
91086 , p_source_71 IN VARCHAR2
91087 --Invoice Distribution Amount
91088 , p_source_72 IN NUMBER
91089 --Deferred Accounting End Date
91090 , p_source_76 IN DATE
91091 --Deferred Accounting Option
91092 , p_source_77 IN VARCHAR2
91093 --Deferred Accounting Start Date
91094 , p_source_78 IN DATE
91095 --Override Accounted Amount Indicator
91096 , p_source_79 IN VARCHAR2
91097 , p_source_79_meaning IN VARCHAR2
91098 --Invoice Supplier Identifier
91099 , p_source_80 IN NUMBER
91100 --Invoice Supplier Site Identifier
91101 , p_source_81 IN NUMBER
91102 --Third Party Type
91103 , p_source_82 IN VARCHAR2
91104 --Parent Reversal Identifier
91105 , p_source_83 IN NUMBER
91106 --Invoice Distribution Statistical Amount
91107 , p_source_84 IN NUMBER
91108 --Invoice Distribution Tax Line Identifier
91109 , p_source_85 IN NUMBER
91110 --Invoice Distribution Tax Distribution Identifier from Tax
91111 , p_source_86 IN NUMBER
91112 --Invoice Distribution Summary Tax Line Identifier
91113 , p_source_87 IN NUMBER
91114 --Payables Upgrade Credit Encumbrance Type Identifier
91115 , p_source_88 IN NUMBER
91116 --Payables Upgrade Debit Encumbrance Type Identifier
91117 , p_source_89 IN NUMBER
91118 --Business Flow Accounts Payable Application Identifier
91119 , p_source_90 IN NUMBER
91120 --Business Flow Invoice Distribution Type
91121 , p_source_91 IN VARCHAR2
91122 --Business Flow Invoice Entity Code
91123 , p_source_92 IN VARCHAR2
91124 --Business Flow Invoice Distribution Identifier
91125 , p_source_93 IN NUMBER
91126 --Business Flow Invoice Identifier
91127 , p_source_94 IN NUMBER
91128 --Self-Assessed Tax Flag
91129 , p_source_135 IN VARCHAR2
91130 , p_source_135_meaning IN VARCHAR2
91134 , p_source_137 IN NUMBER
91131 --Invoice Exchange Date
91132 , p_source_136 IN DATE
91133 --Invoice Exchange Rate
91135 --Invoice Exchange Rate Type
91136 , p_source_138 IN VARCHAR2
91137 --Project Identifier
91138 , p_source_146 IN NUMBER
91139 --Invoice Source
91140 , p_source_163 IN VARCHAR2
91141 )
91142 IS
91143
91144 l_component_type VARCHAR2(80);
91145 l_component_code VARCHAR2(30);
91146 l_component_type_code VARCHAR2(1);
91147 l_component_appl_id INTEGER;
91148 l_amb_context_code VARCHAR2(30);
91149 l_entity_code VARCHAR2(30);
91150 l_event_class_code VARCHAR2(30);
91151 l_ae_header_id NUMBER;
91152 l_event_type_code VARCHAR2(30);
91153 l_line_definition_code VARCHAR2(30);
91154 l_line_definition_owner_code VARCHAR2(1);
91155 --
91156 -- adr variables
91157 l_segment VARCHAR2(30);
91158 l_ccid NUMBER;
91159 l_adr_transaction_coa_id NUMBER;
91160 l_adr_accounting_coa_id NUMBER;
91161 l_adr_flexfield_segment_code VARCHAR2(30);
91162 l_adr_flex_value_set_id NUMBER;
91163 l_adr_value_type_code VARCHAR2(30);
91164 l_adr_value_combination_id NUMBER;
91165 l_adr_value_segment_code VARCHAR2(30);
91166
91167 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
91168 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
91169 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
91170 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
91171
91172 -- 4262811 Variables ------------------------------------------------------------------------------------------
91173 l_entered_amt_idx NUMBER;
91174 l_accted_amt_idx NUMBER;
91175 l_acc_rev_flag VARCHAR2(1);
91176 l_accrual_line_num NUMBER;
91177 l_tmp_amt NUMBER;
91178 l_acc_rev_natural_side_code VARCHAR2(1);
91179
91180 l_num_entries NUMBER;
91181 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
91182 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
91183 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
91184 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
91185 l_recog_line_1 NUMBER;
91186 l_recog_line_2 NUMBER;
91187
91188 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
91189 l_bflow_applied_to_amt NUMBER; -- 5132302
91190 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
91191
91192 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
91193
91194 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
91195 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
91196
91197 ---------------------------------------------------------------------------------------------------------------
91198
91199
91200 --
91201 -- bulk performance
91202 --
91203 l_balance_type_code VARCHAR2(1);
91204 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
91205 l_log_module VARCHAR2(240);
91206
91207 --
91208 -- Upgrade strategy
91209 --
91210 l_actual_upg_option VARCHAR2(1);
91211 l_enc_upg_option VARCHAR2(1);
91212
91213 --
91214 BEGIN
91215 --
91216 IF g_log_enabled THEN
91217 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_157';
91218 END IF;
91219 --
91220 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91221
91222 trace
91223 (p_msg => 'BEGIN of AcctLineType_157'
91224 ,p_level => C_LEVEL_PROCEDURE
91225 ,p_module => l_log_module);
91226
91227 END IF;
91228 --
91229 l_component_type := 'AMB_JLT';
91230 l_component_code := 'AP_LIAB_PREPAY_AOS_AS';
91231 l_component_type_code := 'S';
91232 l_component_appl_id := 200;
91233 l_amb_context_code := 'DEFAULT';
91234 l_entity_code := 'AP_INVOICES';
91235 l_event_class_code := 'PREPAYMENTS';
91236 l_event_type_code := 'PREPAYMENTS_ALL';
91237 l_line_definition_owner_code := 'S';
91238 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
91239 --
91240 l_balance_type_code := 'A';
91241 l_segment := NULL;
91242 l_ccid := NULL;
91243 l_adr_transaction_coa_id := NULL;
91244 l_adr_accounting_coa_id := NULL;
91245 l_adr_flexfield_segment_code := NULL;
91246 l_adr_flex_value_set_id := NULL;
91247 l_adr_value_type_code := NULL;
91248 l_adr_value_combination_id := NULL;
91249 l_adr_value_segment_code := NULL;
91250
91251 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
91252 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
91253 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
91254 l_budgetary_control_flag := 'N';
91255
91256 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91257 l_bflow_applied_to_amt := NULL; -- 5132302
91258 l_entered_amt_idx := NULL; -- 4262811
91262 l_tmp_amt := NULL; -- 4262811
91259 l_accted_amt_idx := NULL; -- 4262811
91260 l_acc_rev_flag := NULL; -- 4262811
91261 l_accrual_line_num := NULL; -- 4262811
91263 --
91264
91265 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
91266 l_balance_type_code <> 'B' THEN
91267 IF NVL(p_source_15,'
91268 ') = 'ACCOUNT_SEGMENT_VALUE' AND
91269 NVL(p_source_135,'
91270 ') <> 'Y'
91271 THEN
91272
91273 --
91274 XLA_AE_LINES_PKG.SetNewLine;
91275
91276 p_balance_type_code := l_balance_type_code;
91277 -- set the flag so later we will know whether the gain loss line needs to be created
91278
91279 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
91280 p_actual_flag :='A';
91281 END IF;
91282
91283 --
91284 -- bulk performance
91285 --
91286 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
91287 p_header_num => 0); -- 4262811
91288 --
91289 -- set accounting line options
91290 --
91291 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
91292 p_natural_side_code => 'C'
91293 , p_gain_or_loss_flag => 'N'
91294 , p_gl_transfer_mode_code => 'S'
91295 , p_acct_entry_type_code => 'A'
91296 , p_switch_side_flag => 'Y'
91297 , p_merge_duplicate_code => 'A'
91298 );
91299 --
91300 l_acc_rev_natural_side_code := 'D'; -- 4262811
91301 --
91302 --
91303 -- set accounting line type info
91304 --
91305 xla_ae_lines_pkg.SetAcctLineType
91306 (p_component_type => l_component_type
91307 ,p_event_type_code => l_event_type_code
91308 ,p_line_definition_owner_code => l_line_definition_owner_code
91309 ,p_line_definition_code => l_line_definition_code
91310 ,p_accounting_line_code => l_component_code
91311 ,p_accounting_line_type_code => l_component_type_code
91312 ,p_accounting_line_appl_id => l_component_appl_id
91313 ,p_amb_context_code => l_amb_context_code
91314 ,p_entity_code => l_entity_code
91315 ,p_event_class_code => l_event_class_code);
91316 --
91317 -- set accounting class
91318 --
91319 xla_ae_lines_pkg.SetAcctClass(
91320 p_accounting_class_code => 'LIABILITY'
91321 , p_ae_header_id => l_ae_header_id
91322 );
91323
91324 --
91325 -- set rounding class
91326 --
91327 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
91328 'LIABILITY';
91329
91330 --
91331 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
91332 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
91333 --
91334 -- bulk performance
91335 --
91336 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
91337
91338 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
91339 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
91340
91341 -- 4955764
91342 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91343 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
91344
91345 -- 4458381 Public Sector Enh
91346
91347 --
91348 -- set accounting attributes for the line type
91349 --
91350 l_entered_amt_idx := 23;
91351 l_accted_amt_idx := 28;
91352 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91353 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
91354 l_rec_acct_attrs.array_char_value(1) := p_source_52;
91355 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
91356 l_rec_acct_attrs.array_num_value(2) :=
91357 xla_ae_sources_pkg.GetSystemSourceNum(
91358 p_source_code => 'XLA_EVENT_APPL_ID'
91359 , p_source_type_code => 'Y'
91360 , p_source_application_id => 602
91361 );
91362 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
91363 l_rec_acct_attrs.array_char_value(3) := p_source_54;
91364 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
91365 l_rec_acct_attrs.array_char_value(4) :=
91366 xla_ae_sources_pkg.GetSystemSourceChar(
91367 p_source_code => 'XLA_ENTITY_CODE'
91368 , p_source_type_code => 'Y'
91369 , p_source_application_id => 602
91370 );
91371 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
91372 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
91373 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
91374 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
91375 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
91376 l_rec_acct_attrs.array_num_value(7) := p_source_90;
91377 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
91378 l_rec_acct_attrs.array_char_value(8) := p_source_91;
91379 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
91383 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
91380 l_rec_acct_attrs.array_char_value(9) := p_source_92;
91381 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
91382 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
91384 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
91385 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
91386 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
91387 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
91388 l_rec_acct_attrs.array_char_value(13) := p_source_54;
91389 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
91390 l_rec_acct_attrs.array_num_value(14) := p_source_64;
91391 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
91392 l_rec_acct_attrs.array_num_value(15) := p_source_65;
91393 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
91394 l_rec_acct_attrs.array_char_value(16) := p_source_66;
91395 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
91396 l_rec_acct_attrs.array_num_value(17) := p_source_67;
91397 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
91398 l_rec_acct_attrs.array_num_value(18) := p_source_68;
91399 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
91400 l_rec_acct_attrs.array_num_value(19) := p_source_69;
91401 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
91402 l_rec_acct_attrs.array_char_value(20) := p_source_66;
91403 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
91404 l_rec_acct_attrs.array_num_value(21) := p_source_70;
91405 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
91406 l_rec_acct_attrs.array_char_value(22) := p_source_71;
91407 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
91408 l_rec_acct_attrs.array_num_value(23) := p_source_72;
91409 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
91410 l_rec_acct_attrs.array_char_value(24) := p_source_66;
91411 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
91412 l_rec_acct_attrs.array_date_value(25) := p_source_136;
91413 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
91414 l_rec_acct_attrs.array_num_value(26) := p_source_137;
91415 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
91416 l_rec_acct_attrs.array_char_value(27) := p_source_138;
91417 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
91418 l_rec_acct_attrs.array_num_value(28) := p_source_21;
91419 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
91420 l_rec_acct_attrs.array_date_value(29) := p_source_76;
91421 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
91422 l_rec_acct_attrs.array_char_value(30) := p_source_77;
91423 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
91424 l_rec_acct_attrs.array_date_value(31) := p_source_78;
91425 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
91426 l_rec_acct_attrs.array_char_value(32) := p_source_79;
91427 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
91428 l_rec_acct_attrs.array_num_value(33) := p_source_80;
91429 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
91430 l_rec_acct_attrs.array_num_value(34) := p_source_81;
91431 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
91432 l_rec_acct_attrs.array_char_value(35) := p_source_82;
91433 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
91434 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
91435 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
91436 l_rec_acct_attrs.array_char_value(37) := p_source_54;
91437 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
91438 l_rec_acct_attrs.array_num_value(38) := p_source_84;
91439 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
91440 l_rec_acct_attrs.array_num_value(39) := p_source_85;
91441 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
91442 l_rec_acct_attrs.array_num_value(40) := p_source_86;
91443 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
91444 l_rec_acct_attrs.array_num_value(41) := p_source_87;
91445 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
91446 l_rec_acct_attrs.array_num_value(42) := p_source_88;
91447 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
91448 l_rec_acct_attrs.array_num_value(43) := p_source_89;
91449
91450 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91451 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91452
91453 ---------------------------------------------------------------------------------------------------------------
91454 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91455 ---------------------------------------------------------------------------------------------------------------
91456 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91457
91458 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91459 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91460
91461 IF xla_accounting_cache_pkg.GetValueChar
91462 (p_source_code => 'LEDGER_CATEGORY_CODE'
91463 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91467 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91464 AND l_bflow_method_code = 'PRIOR_ENTRY'
91465 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91466 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91468 )
91469 THEN
91470 xla_ae_lines_pkg.BflowUpgEntry
91471 (p_business_method_code => l_bflow_method_code
91472 ,p_business_class_code => l_bflow_class_code
91473 ,p_balance_type => l_balance_type_code);
91474 ELSE
91475 NULL;
91476 XLA_AE_LINES_PKG.business_flow_validation(
91477 p_business_method_code => l_bflow_method_code
91478 ,p_business_class_code => l_bflow_class_code
91479 ,p_inherit_description_flag => l_inherit_desc_flag);
91480 END IF;
91481
91482 --
91483 -- call analytical criteria
91484 --
91485
91486
91487 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
91488 xla_ae_lines_pkg.SetAnalyticalCriteria(
91489 p_analytical_criterion_name => 'Payables Custom Source'
91490 , p_analytical_criterion_owner => 'S'
91491 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
91492 , p_amb_context_code => 'DEFAULT'
91493 , p_balancing_flag => 'N'
91494
91495 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
91496 p_source_163
91497 , p_source_57
91498 , p_source_63))
91499 , p_analytical_detail_num_1 => NULL
91500 , p_analytical_detail_date_1 => NULL
91501
91502 , p_ae_header_id => l_ae_header_id
91503 )
91504 ;
91505 --
91506
91507
91508 xla_ae_lines_pkg.g_rec_lines.array_anc_id_2(xla_ae_lines_pkg.g_LineNumber) :=
91509 xla_ae_lines_pkg.SetAnalyticalCriteria(
91510 p_analytical_criterion_name => 'Project Number'
91511 , p_analytical_criterion_owner => 'S'
91512 , p_analytical_criterion_code => 'PROJECT_NUMBER'
91513 , p_amb_context_code => 'DEFAULT'
91514 , p_balancing_flag => 'N'
91515
91516 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
91517 p_source_146))
91518 , p_analytical_detail_num_1 => NULL
91519 , p_analytical_detail_date_1 => NULL
91520
91521 , p_ae_header_id => l_ae_header_id
91522 )
91523 ;
91524 --
91525
91526 --
91527 -- call description
91528 --
91529
91530 xla_ae_lines_pkg.SetLineDescription(
91531 p_ae_header_id => l_ae_header_id
91532 ,p_description => Description_1 (
91533 p_application_id => p_application_id
91534 , p_ae_header_id => l_ae_header_id
91535 , p_source_1 => p_source_1
91536 )
91537 );
91538
91539
91540 --
91541 -- call ADRs
91542 -- Bug 4922099
91543 --
91544 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91545 (NVL(l_actual_upg_option, 'N') = 'O') OR
91546 (NVL(l_enc_upg_option, 'N') = 'O')
91547 )
91548 THEN
91549 NULL;
91550 --
91551 --
91552
91553 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
91554 p_code_combination_id => TO_NUMBER(C_NUM)
91555 , p_value_type_code => NULL
91556 , p_transaction_coa_id => null
91557 , p_accounting_coa_id => null
91558 , p_adr_code => NULL
91559 , p_adr_type_code => NULL
91560 , p_component_type => l_component_type
91561 , p_component_code => l_component_code
91562 , p_component_type_code => l_component_type_code
91563 , p_component_appl_id => l_component_appl_id
91564 , p_amb_context_code => l_amb_context_code
91565 , p_side => NULL
91566 );
91567
91568
91569 -- initialise segments
91570 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91571 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91572 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91573 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91574 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91575 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91576 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91577 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91578 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91579 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91580 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91581 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91582 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91583 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91584 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91585 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91586 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91590 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91587 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91588 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91589 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91591 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91592 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91593 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91594 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91595 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91596 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91597 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91598 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91599 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91600 --
91601
91602 --
91603
91604
91605 l_segment := AcctDerRule_15(
91606 p_application_id => p_application_id
91607 , p_ae_header_id => l_ae_header_id
91608 , p_source_34 => p_source_34
91609 , x_transaction_coa_id => l_adr_transaction_coa_id
91610 , x_accounting_coa_id => l_adr_accounting_coa_id
91611 , x_flexfield_segment_code => l_adr_flexfield_segment_code
91612 , x_flex_value_set_id => l_adr_flex_value_set_id
91613 , x_value_type_code => l_adr_value_type_code
91614 , x_value_combination_id => l_adr_value_combination_id
91615 , x_value_segment_code => l_adr_value_segment_code
91616 , p_side => 'NA'
91617 , p_override_seg_flag => 'Y'
91618 );
91619
91620 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
91621
91622 xla_ae_lines_pkg.set_segment(
91623 p_to_segment_code => 'GL_ACCOUNT'
91624 , p_segment_value => l_segment
91625 , p_from_segment_code => l_adr_value_segment_code
91626 , p_from_combination_id => l_adr_value_combination_id
91627 , p_value_type_code => l_adr_value_type_code
91628 , p_transaction_coa_id => l_adr_transaction_coa_id
91629 , p_accounting_coa_id => l_adr_accounting_coa_id
91630 , p_flexfield_segment_code => l_adr_flexfield_segment_code
91631 , p_flex_value_set_id => l_adr_flex_value_set_id
91632 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
91633 , p_adr_type_code => 'S'
91634 , p_component_type => l_component_type
91635 , p_component_code => l_component_code
91636 , p_component_type_code => l_component_type_code
91637 , p_component_appl_id => l_component_appl_id
91638 , p_amb_context_code => l_amb_context_code
91639 , p_entity_code => 'AP_INVOICES'
91640 , p_event_class_code => 'PREPAYMENTS'
91641 , p_side => 'NA'
91642 );
91643
91644 END IF;
91645
91646 --
91647 --
91648 END IF;
91649 --
91650 -- Bug 4922099
91651 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91652 (NVL(l_enc_upg_option, 'N') = 'O')
91653 ) AND
91654 (l_bflow_method_code = 'PRIOR_ENTRY')
91655 )
91656 THEN
91657 IF
91658 --
91659 1 = 2
91660 --
91661 THEN
91662 xla_accounting_err_pkg.build_message
91663 (p_appli_s_name => 'XLA'
91664 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91665 ,p_token_1 => 'LINE_NUMBER'
91666 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91667 ,p_token_2 => 'LINE_TYPE_NAME'
91668 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91669 l_component_type
91670 ,l_component_code
91671 ,l_component_type_code
91672 ,l_component_appl_id
91673 ,l_amb_context_code
91674 ,l_entity_code
91675 ,l_event_class_code
91676 )
91677 ,p_token_3 => 'OWNER'
91678 ,p_value_3 => xla_lookups_pkg.get_meaning(
91679 p_lookup_type => 'XLA_OWNER_TYPE'
91680 ,p_lookup_code => l_component_type_code
91681 )
91682 ,p_token_4 => 'PRODUCT_NAME'
91686 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91683 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91684 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91685 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91687 ,p_ae_header_id => NULL
91688 );
91689
91690 IF (C_LEVEL_ERROR>= g_log_level) THEN
91691 trace
91692 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91693 ,p_level => C_LEVEL_ERROR
91694 ,p_module => l_log_module);
91695 END IF;
91696 END IF;
91697 END IF;
91698 --
91699 --
91700 ------------------------------------------------------------------------------------------------
91701 -- 4219869 Business Flow
91702 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91703 -- Prior Entry. Currently, the following code is always generated.
91704 ------------------------------------------------------------------------------------------------
91705 XLA_AE_LINES_PKG.ValidateCurrentLine;
91706
91707 ------------------------------------------------------------------------------------
91708 -- 4219869 Business Flow
91709 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
91710 ------------------------------------------------------------------------------------
91711 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91712
91713 ----------------------------------------------------------------------------------
91714 -- 4219869 Business Flow
91715 -- Update journal entry status -- Need to generate this within IF <condition>
91716 ----------------------------------------------------------------------------------
91717 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91718 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
91719 ,p_balance_type_code => l_balance_type_code
91720 );
91721
91722 -------------------------------------------------------------------------------------------
91723 -- 4262811 - Generate the Accrual Reversal lines
91724 -------------------------------------------------------------------------------------------
91725 BEGIN
91726 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
91727 (g_array_event(p_event_id).array_value_num('header_index'));
91728 IF l_acc_rev_flag IS NULL THEN
91729 l_acc_rev_flag := 'N';
91730 END IF;
91731 EXCEPTION
91732 WHEN OTHERS THEN
91733 l_acc_rev_flag := 'N';
91734 END;
91735 --
91736 IF (l_acc_rev_flag = 'Y') THEN
91737
91738 -- 4645092 ------------------------------------------------------------------------------
91739 -- To allow MPA report to determine if it should generate report process
91740 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
91741 ------------------------------------------------------------------------------------------
91742
91743 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
91744 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
91745 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
91746 -- call ADRs
91747 -- Bug 4922099
91748 --
91749 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91750 (NVL(l_actual_upg_option, 'N') = 'O') OR
91751 (NVL(l_enc_upg_option, 'N') = 'O')
91752 )
91753 THEN
91754 NULL;
91755 --
91756 --
91757
91758 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
91759 p_code_combination_id => TO_NUMBER(C_NUM)
91760 , p_value_type_code => NULL
91761 , p_transaction_coa_id => null
91762 , p_accounting_coa_id => null
91763 , p_adr_code => NULL
91764 , p_adr_type_code => NULL
91765 , p_component_type => l_component_type
91766 , p_component_code => l_component_code
91767 , p_component_type_code => l_component_type_code
91768 , p_component_appl_id => l_component_appl_id
91769 , p_amb_context_code => l_amb_context_code
91770 , p_side => NULL
91771 );
91772
91773
91774 -- initialise segments
91775 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91776 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91777 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91778 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91779 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91780 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91781 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91782 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91783 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91784 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91788 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91785 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91786 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91787 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91789 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91790 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91791 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91792 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91793 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91794 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91795 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91796 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91797 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91798 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91799 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91800 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91801 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91802 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91803 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91804 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91805 --
91806
91807 --
91808
91809
91810 l_segment := AcctDerRule_15(
91811 p_application_id => p_application_id
91812 , p_ae_header_id => l_ae_header_id
91813 , p_source_34 => p_source_34
91814 , x_transaction_coa_id => l_adr_transaction_coa_id
91815 , x_accounting_coa_id => l_adr_accounting_coa_id
91816 , x_flexfield_segment_code => l_adr_flexfield_segment_code
91817 , x_flex_value_set_id => l_adr_flex_value_set_id
91818 , x_value_type_code => l_adr_value_type_code
91819 , x_value_combination_id => l_adr_value_combination_id
91820 , x_value_segment_code => l_adr_value_segment_code
91821 , p_side => 'NA'
91822 , p_override_seg_flag => 'Y'
91823 );
91824
91825 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
91826
91827 xla_ae_lines_pkg.set_segment(
91828 p_to_segment_code => 'GL_ACCOUNT'
91829 , p_segment_value => l_segment
91830 , p_from_segment_code => l_adr_value_segment_code
91831 , p_from_combination_id => l_adr_value_combination_id
91832 , p_value_type_code => l_adr_value_type_code
91833 , p_transaction_coa_id => l_adr_transaction_coa_id
91834 , p_accounting_coa_id => l_adr_accounting_coa_id
91835 , p_flexfield_segment_code => l_adr_flexfield_segment_code
91836 , p_flex_value_set_id => l_adr_flex_value_set_id
91837 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
91838 , p_adr_type_code => 'S'
91839 , p_component_type => l_component_type
91840 , p_component_code => l_component_code
91841 , p_component_type_code => l_component_type_code
91842 , p_component_appl_id => l_component_appl_id
91843 , p_amb_context_code => l_amb_context_code
91844 , p_entity_code => 'AP_INVOICES'
91845 , p_event_class_code => 'PREPAYMENTS'
91846 , p_side => 'NA'
91847 );
91848
91849 END IF;
91850
91851 --
91852 --
91853 END IF;
91854
91855 --
91856 -- Update the line information that should be overwritten
91857 --
91858 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91859 p_header_num => 1);
91860 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91861
91862 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91863
91864 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91865 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91866 END IF;
91867
91868 --
91869 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91870 --
91871 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91872 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91873 ELSE
91874 ---------------------------------------------------------------------------------------------------
91875 -- 4262811a Switch Sign
91876 ---------------------------------------------------------------------------------------------------
91877 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91878 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91882 -- 5132302
91879 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91880 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91881 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91883 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91884 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91885
91886 END IF;
91887
91888 -- 4955764
91889 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91890 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91891
91892
91893 XLA_AE_LINES_PKG.ValidateCurrentLine;
91894 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91895
91896 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91897 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91898 ,p_balance_type_code => l_balance_type_code);
91899
91900 END IF;
91901
91902 -----------------------------------------------------------------------------------------
91903 -- 4262811 Multiperiod Accounting
91904 -----------------------------------------------------------------------------------------
91905 -- No MPA option is assigned.
91906
91907
91908 END IF;
91909 END IF;
91910 --
91911
91912 --
91913 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91914 trace
91915 (p_msg => 'END of AcctLineType_157'
91916 ,p_level => C_LEVEL_PROCEDURE
91917 ,p_module => l_log_module);
91918 END IF;
91919 --
91920 EXCEPTION
91921 WHEN xla_exceptions_pkg.application_exception THEN
91922 RAISE;
91923 WHEN OTHERS THEN
91924 xla_exceptions_pkg.raise_message
91925 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_157');
91926 END AcctLineType_157;
91927 --
91928
91929 ---------------------------------------
91930 --
91931 -- PRIVATE FUNCTION
91932 -- AcctLineType_158
91933 --
91934 ---------------------------------------
91935 PROCEDURE AcctLineType_158 (
91936 p_application_id IN NUMBER
91937 ,p_event_id IN NUMBER
91938 ,p_calculate_acctd_flag IN VARCHAR2
91939 ,p_calculate_g_l_flag IN VARCHAR2
91940 ,p_actual_flag IN OUT VARCHAR2
91941 ,p_balance_type_code OUT VARCHAR2
91942 ,p_gain_or_loss_ref OUT VARCHAR2
91943
91944 --Invoice Distribution Description
91945 , p_source_1 IN VARCHAR2
91946 --Automatic Offsets Value
91947 , p_source_15 IN VARCHAR2
91948 , p_source_15_meaning IN VARCHAR2
91949 --Invoice Distribution Ledger Amount
91950 , p_source_21 IN NUMBER
91951 --Invoice Liability Account
91952 , p_source_34 IN NUMBER
91953 --Accounting Reversal Indicator
91954 , p_source_52 IN VARCHAR2
91955 --Distribution Link Type
91956 , p_source_54 IN VARCHAR2
91957 --Allocation to Main Distribution Identifier
91958 , p_source_56 IN NUMBER
91959 --Invoice Identifier
91960 , p_source_57 IN NUMBER
91961 --Invoice Distribution Identifier
91962 , p_source_63 IN NUMBER
91963 --Payables Encumbrance Upgrade Credit Account
91964 , p_source_64 IN NUMBER
91965 --Payables Encumbrance Upgrade Credit Amount
91966 , p_source_65 IN NUMBER
91967 --Invoice Currency Code
91968 , p_source_66 IN VARCHAR2
91969 --Payables Encumbrance Upgrade Credit Base Amount
91970 , p_source_67 IN NUMBER
91971 --Payables Encumbrance Upgrade Debit Account
91972 , p_source_68 IN NUMBER
91973 --Payables Encumbrance Upgrade Debit Amount
91974 , p_source_69 IN NUMBER
91975 --Payables Encumbrance Upgrade Debit Base Amount
91976 , p_source_70 IN NUMBER
91977 --Payables Encumbrance Upgrade Option
91978 , p_source_71 IN VARCHAR2
91979 --Invoice Distribution Amount
91980 , p_source_72 IN NUMBER
91981 --Deferred Accounting End Date
91982 , p_source_76 IN DATE
91983 --Deferred Accounting Option
91984 , p_source_77 IN VARCHAR2
91985 --Deferred Accounting Start Date
91986 , p_source_78 IN DATE
91987 --Override Accounted Amount Indicator
91988 , p_source_79 IN VARCHAR2
91989 , p_source_79_meaning IN VARCHAR2
91990 --Invoice Supplier Identifier
91991 , p_source_80 IN NUMBER
91992 --Invoice Supplier Site Identifier
91993 , p_source_81 IN NUMBER
91994 --Third Party Type
91995 , p_source_82 IN VARCHAR2
91996 --Parent Reversal Identifier
91997 , p_source_83 IN NUMBER
91998 --Invoice Distribution Statistical Amount
91999 , p_source_84 IN NUMBER
92000 --Invoice Distribution Tax Line Identifier
92001 , p_source_85 IN NUMBER
92002 --Invoice Distribution Tax Distribution Identifier from Tax
92003 , p_source_86 IN NUMBER
92004 --Invoice Distribution Summary Tax Line Identifier
92005 , p_source_87 IN NUMBER
92006 --Payables Upgrade Credit Encumbrance Type Identifier
92007 , p_source_88 IN NUMBER
92008 --Payables Upgrade Debit Encumbrance Type Identifier
92012 --Business Flow Invoice Distribution Type
92009 , p_source_89 IN NUMBER
92010 --Business Flow Accounts Payable Application Identifier
92011 , p_source_90 IN NUMBER
92013 , p_source_91 IN VARCHAR2
92014 --Business Flow Invoice Entity Code
92015 , p_source_92 IN VARCHAR2
92016 --Business Flow Invoice Distribution Identifier
92017 , p_source_93 IN NUMBER
92018 --Business Flow Invoice Identifier
92019 , p_source_94 IN NUMBER
92020 --Self-Assessed Tax Flag
92021 , p_source_135 IN VARCHAR2
92022 , p_source_135_meaning IN VARCHAR2
92023 --Invoice Exchange Date
92024 , p_source_136 IN DATE
92025 --Invoice Exchange Rate
92026 , p_source_137 IN NUMBER
92027 --Invoice Exchange Rate Type
92028 , p_source_138 IN VARCHAR2
92029 --Invoice Source
92030 , p_source_163 IN VARCHAR2
92031 )
92032 IS
92033
92034 l_component_type VARCHAR2(80);
92035 l_component_code VARCHAR2(30);
92036 l_component_type_code VARCHAR2(1);
92037 l_component_appl_id INTEGER;
92038 l_amb_context_code VARCHAR2(30);
92039 l_entity_code VARCHAR2(30);
92040 l_event_class_code VARCHAR2(30);
92041 l_ae_header_id NUMBER;
92042 l_event_type_code VARCHAR2(30);
92043 l_line_definition_code VARCHAR2(30);
92044 l_line_definition_owner_code VARCHAR2(1);
92045 --
92046 -- adr variables
92047 l_segment VARCHAR2(30);
92048 l_ccid NUMBER;
92049 l_adr_transaction_coa_id NUMBER;
92050 l_adr_accounting_coa_id NUMBER;
92051 l_adr_flexfield_segment_code VARCHAR2(30);
92052 l_adr_flex_value_set_id NUMBER;
92053 l_adr_value_type_code VARCHAR2(30);
92054 l_adr_value_combination_id NUMBER;
92055 l_adr_value_segment_code VARCHAR2(30);
92056
92057 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92058 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92059 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92060 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92061
92062 -- 4262811 Variables ------------------------------------------------------------------------------------------
92063 l_entered_amt_idx NUMBER;
92064 l_accted_amt_idx NUMBER;
92065 l_acc_rev_flag VARCHAR2(1);
92066 l_accrual_line_num NUMBER;
92067 l_tmp_amt NUMBER;
92068 l_acc_rev_natural_side_code VARCHAR2(1);
92069
92070 l_num_entries NUMBER;
92071 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92072 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92073 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92074 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92075 l_recog_line_1 NUMBER;
92076 l_recog_line_2 NUMBER;
92077
92078 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92079 l_bflow_applied_to_amt NUMBER; -- 5132302
92080 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92081
92082 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92083
92084 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92085 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92086
92087 ---------------------------------------------------------------------------------------------------------------
92088
92089
92090 --
92091 -- bulk performance
92092 --
92093 l_balance_type_code VARCHAR2(1);
92094 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92095 l_log_module VARCHAR2(240);
92096
92097 --
92098 -- Upgrade strategy
92099 --
92100 l_actual_upg_option VARCHAR2(1);
92101 l_enc_upg_option VARCHAR2(1);
92102
92103 --
92104 BEGIN
92105 --
92106 IF g_log_enabled THEN
92107 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_158';
92108 END IF;
92109 --
92110 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92111
92112 trace
92113 (p_msg => 'BEGIN of AcctLineType_158'
92114 ,p_level => C_LEVEL_PROCEDURE
92115 ,p_module => l_log_module);
92116
92117 END IF;
92118 --
92119 l_component_type := 'AMB_JLT';
92120 l_component_code := 'AP_LIAB_PREPAY_AOS_BS';
92121 l_component_type_code := 'S';
92122 l_component_appl_id := 200;
92123 l_amb_context_code := 'DEFAULT';
92124 l_entity_code := 'AP_INVOICES';
92125 l_event_class_code := 'PREPAYMENTS';
92126 l_event_type_code := 'PREPAYMENTS_ALL';
92127 l_line_definition_owner_code := 'S';
92128 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
92129 --
92130 l_balance_type_code := 'A';
92131 l_segment := NULL;
92132 l_ccid := NULL;
92133 l_adr_transaction_coa_id := NULL;
92134 l_adr_accounting_coa_id := NULL;
92135 l_adr_flexfield_segment_code := NULL;
92136 l_adr_flex_value_set_id := NULL;
92137 l_adr_value_type_code := NULL;
92138 l_adr_value_combination_id := NULL;
92139 l_adr_value_segment_code := NULL;
92143 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92140
92141 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
92142 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92144 l_budgetary_control_flag := 'N';
92145
92146 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92147 l_bflow_applied_to_amt := NULL; -- 5132302
92148 l_entered_amt_idx := NULL; -- 4262811
92149 l_accted_amt_idx := NULL; -- 4262811
92150 l_acc_rev_flag := NULL; -- 4262811
92151 l_accrual_line_num := NULL; -- 4262811
92152 l_tmp_amt := NULL; -- 4262811
92153 --
92154
92155 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92156 l_balance_type_code <> 'B' THEN
92157 IF NVL(p_source_15,'
92158 ') = 'BALANCING_SEGMENT' AND
92159 NVL(p_source_135,'
92160 ') <> 'Y'
92161 THEN
92162
92163 --
92164 XLA_AE_LINES_PKG.SetNewLine;
92165
92166 p_balance_type_code := l_balance_type_code;
92167 -- set the flag so later we will know whether the gain loss line needs to be created
92168
92169 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92170 p_actual_flag :='A';
92171 END IF;
92172
92173 --
92174 -- bulk performance
92175 --
92176 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92177 p_header_num => 0); -- 4262811
92178 --
92179 -- set accounting line options
92180 --
92181 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92182 p_natural_side_code => 'C'
92183 , p_gain_or_loss_flag => 'N'
92184 , p_gl_transfer_mode_code => 'S'
92185 , p_acct_entry_type_code => 'A'
92186 , p_switch_side_flag => 'Y'
92187 , p_merge_duplicate_code => 'A'
92188 );
92189 --
92190 l_acc_rev_natural_side_code := 'D'; -- 4262811
92191 --
92192 --
92193 -- set accounting line type info
92194 --
92195 xla_ae_lines_pkg.SetAcctLineType
92196 (p_component_type => l_component_type
92197 ,p_event_type_code => l_event_type_code
92198 ,p_line_definition_owner_code => l_line_definition_owner_code
92199 ,p_line_definition_code => l_line_definition_code
92200 ,p_accounting_line_code => l_component_code
92201 ,p_accounting_line_type_code => l_component_type_code
92202 ,p_accounting_line_appl_id => l_component_appl_id
92203 ,p_amb_context_code => l_amb_context_code
92204 ,p_entity_code => l_entity_code
92205 ,p_event_class_code => l_event_class_code);
92206 --
92207 -- set accounting class
92208 --
92209 xla_ae_lines_pkg.SetAcctClass(
92210 p_accounting_class_code => 'LIABILITY'
92211 , p_ae_header_id => l_ae_header_id
92212 );
92213
92214 --
92215 -- set rounding class
92216 --
92217 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92218 'LIABILITY';
92219
92220 --
92221 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92222 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92223 --
92224 -- bulk performance
92225 --
92226 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92227
92228 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92229 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92230
92231 -- 4955764
92232 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92233 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92234
92235 -- 4458381 Public Sector Enh
92236
92237 --
92238 -- set accounting attributes for the line type
92239 --
92240 l_entered_amt_idx := 23;
92241 l_accted_amt_idx := 28;
92242 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92243 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92244 l_rec_acct_attrs.array_char_value(1) := p_source_52;
92245 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
92246 l_rec_acct_attrs.array_num_value(2) :=
92247 xla_ae_sources_pkg.GetSystemSourceNum(
92248 p_source_code => 'XLA_EVENT_APPL_ID'
92249 , p_source_type_code => 'Y'
92250 , p_source_application_id => 602
92251 );
92252 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
92253 l_rec_acct_attrs.array_char_value(3) := p_source_54;
92254 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
92255 l_rec_acct_attrs.array_char_value(4) :=
92256 xla_ae_sources_pkg.GetSystemSourceChar(
92257 p_source_code => 'XLA_ENTITY_CODE'
92258 , p_source_type_code => 'Y'
92259 , p_source_application_id => 602
92260 );
92261 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
92262 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
92263 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
92267 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92264 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
92265 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
92266 l_rec_acct_attrs.array_num_value(7) := p_source_90;
92268 l_rec_acct_attrs.array_char_value(8) := p_source_91;
92269 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
92270 l_rec_acct_attrs.array_char_value(9) := p_source_92;
92271 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
92272 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
92273 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92274 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
92275 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
92276 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
92277 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
92278 l_rec_acct_attrs.array_char_value(13) := p_source_54;
92279 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
92280 l_rec_acct_attrs.array_num_value(14) := p_source_64;
92281 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
92282 l_rec_acct_attrs.array_num_value(15) := p_source_65;
92283 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
92284 l_rec_acct_attrs.array_char_value(16) := p_source_66;
92285 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
92286 l_rec_acct_attrs.array_num_value(17) := p_source_67;
92287 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
92288 l_rec_acct_attrs.array_num_value(18) := p_source_68;
92289 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
92290 l_rec_acct_attrs.array_num_value(19) := p_source_69;
92291 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
92292 l_rec_acct_attrs.array_char_value(20) := p_source_66;
92293 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
92294 l_rec_acct_attrs.array_num_value(21) := p_source_70;
92295 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
92296 l_rec_acct_attrs.array_char_value(22) := p_source_71;
92297 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
92298 l_rec_acct_attrs.array_num_value(23) := p_source_72;
92299 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
92300 l_rec_acct_attrs.array_char_value(24) := p_source_66;
92301 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
92302 l_rec_acct_attrs.array_date_value(25) := p_source_136;
92303 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
92304 l_rec_acct_attrs.array_num_value(26) := p_source_137;
92305 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
92306 l_rec_acct_attrs.array_char_value(27) := p_source_138;
92307 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
92308 l_rec_acct_attrs.array_num_value(28) := p_source_21;
92309 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
92310 l_rec_acct_attrs.array_date_value(29) := p_source_76;
92311 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
92312 l_rec_acct_attrs.array_char_value(30) := p_source_77;
92313 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
92314 l_rec_acct_attrs.array_date_value(31) := p_source_78;
92315 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
92316 l_rec_acct_attrs.array_char_value(32) := p_source_79;
92317 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
92318 l_rec_acct_attrs.array_num_value(33) := p_source_80;
92319 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
92320 l_rec_acct_attrs.array_num_value(34) := p_source_81;
92321 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
92322 l_rec_acct_attrs.array_char_value(35) := p_source_82;
92323 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
92324 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
92325 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
92326 l_rec_acct_attrs.array_char_value(37) := p_source_54;
92327 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
92328 l_rec_acct_attrs.array_num_value(38) := p_source_84;
92329 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
92330 l_rec_acct_attrs.array_num_value(39) := p_source_85;
92331 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
92332 l_rec_acct_attrs.array_num_value(40) := p_source_86;
92333 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
92334 l_rec_acct_attrs.array_num_value(41) := p_source_87;
92335 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
92336 l_rec_acct_attrs.array_num_value(42) := p_source_88;
92337 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
92338 l_rec_acct_attrs.array_num_value(43) := p_source_89;
92339
92340 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92341 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92342
92343 ---------------------------------------------------------------------------------------------------------------
92344 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92345 ---------------------------------------------------------------------------------------------------------------
92349 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92346 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92347
92348 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92350
92351 IF xla_accounting_cache_pkg.GetValueChar
92352 (p_source_code => 'LEDGER_CATEGORY_CODE'
92353 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92354 AND l_bflow_method_code = 'PRIOR_ENTRY'
92355 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92356 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92357 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92358 )
92359 THEN
92360 xla_ae_lines_pkg.BflowUpgEntry
92361 (p_business_method_code => l_bflow_method_code
92362 ,p_business_class_code => l_bflow_class_code
92363 ,p_balance_type => l_balance_type_code);
92364 ELSE
92365 NULL;
92366 XLA_AE_LINES_PKG.business_flow_validation(
92367 p_business_method_code => l_bflow_method_code
92368 ,p_business_class_code => l_bflow_class_code
92369 ,p_inherit_description_flag => l_inherit_desc_flag);
92370 END IF;
92371
92372 --
92373 -- call analytical criteria
92374 --
92375
92376
92377 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
92378 xla_ae_lines_pkg.SetAnalyticalCriteria(
92379 p_analytical_criterion_name => 'Payables Custom Source'
92380 , p_analytical_criterion_owner => 'S'
92381 , p_analytical_criterion_code => 'PAYABLES_CUSTOM_SOURCE'
92382 , p_amb_context_code => 'DEFAULT'
92383 , p_balancing_flag => 'N'
92384
92385 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.INVOICE_CATEGORY(
92386 p_source_163
92387 , p_source_57
92388 , p_source_63))
92389 , p_analytical_detail_num_1 => NULL
92390 , p_analytical_detail_date_1 => NULL
92391
92392 , p_ae_header_id => l_ae_header_id
92393 )
92394 ;
92395 --
92396
92397 --
92398 -- call description
92399 --
92400
92401 xla_ae_lines_pkg.SetLineDescription(
92402 p_ae_header_id => l_ae_header_id
92403 ,p_description => Description_1 (
92404 p_application_id => p_application_id
92405 , p_ae_header_id => l_ae_header_id
92406 , p_source_1 => p_source_1
92407 )
92408 );
92409
92410
92411 --
92412 -- call ADRs
92413 -- Bug 4922099
92414 --
92415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92416 (NVL(l_actual_upg_option, 'N') = 'O') OR
92417 (NVL(l_enc_upg_option, 'N') = 'O')
92418 )
92419 THEN
92420 NULL;
92421 --
92422 --
92423
92424 l_ccid := AcctDerRule_34(
92425 p_application_id => p_application_id
92426 , p_ae_header_id => l_ae_header_id
92427 , p_source_34 => p_source_34
92428 , x_transaction_coa_id => l_adr_transaction_coa_id
92429 , x_accounting_coa_id => l_adr_accounting_coa_id
92430 , x_value_type_code => l_adr_value_type_code
92431 , p_side => 'NA'
92432 );
92433
92434 xla_ae_lines_pkg.set_ccid(
92435 p_code_combination_id => l_ccid
92436 , p_value_type_code => l_adr_value_type_code
92437 , p_transaction_coa_id => l_adr_transaction_coa_id
92438 , p_accounting_coa_id => l_adr_accounting_coa_id
92439 , p_adr_code => 'AP_LIAB'
92440 , p_adr_type_code => 'S'
92441 , p_component_type => l_component_type
92442 , p_component_code => l_component_code
92443 , p_component_type_code => l_component_type_code
92444 , p_component_appl_id => l_component_appl_id
92445 , p_amb_context_code => l_amb_context_code
92446 , p_side => 'NA'
92447 );
92448
92449
92450 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
92451 p_to_segment_code => 'GL_BALANCING'
92452 , p_segment_value => C_CHAR
92453 , p_from_segment_code => NULL
92454 , p_from_combination_id => NULL
92455 , p_value_type_code => NULL
92456 , p_transaction_coa_id => null
92457 , p_accounting_coa_id => null
92458 , p_flexfield_segment_code => NULL
92459 , p_flex_value_set_id => NULL
92460 , p_adr_code => NULL
92461 , p_adr_type_code => NULL
92462 , p_component_type => l_component_type
92463 , p_component_code => l_component_code
92464 , p_component_type_code => l_component_type_code
92465 , p_component_appl_id => l_component_appl_id
92466 , p_amb_context_code => l_amb_context_code
92467 , p_entity_code => 'AP_INVOICES'
92468 , p_event_class_code => 'PREPAYMENTS'
92469 , p_side => 'NA'
92470 );
92471 --
92472
92473
92474 --
92475 --
92476 END IF;
92477 --
92481 ) AND
92478 -- Bug 4922099
92479 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
92480 (NVL(l_enc_upg_option, 'N') = 'O')
92482 (l_bflow_method_code = 'PRIOR_ENTRY')
92483 )
92484 THEN
92485 IF
92486 --
92487 1 = 2
92488 --
92489 THEN
92490 xla_accounting_err_pkg.build_message
92491 (p_appli_s_name => 'XLA'
92492 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92493 ,p_token_1 => 'LINE_NUMBER'
92494 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
92495 ,p_token_2 => 'LINE_TYPE_NAME'
92496 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
92497 l_component_type
92498 ,l_component_code
92499 ,l_component_type_code
92500 ,l_component_appl_id
92501 ,l_amb_context_code
92502 ,l_entity_code
92503 ,l_event_class_code
92504 )
92505 ,p_token_3 => 'OWNER'
92506 ,p_value_3 => xla_lookups_pkg.get_meaning(
92507 p_lookup_type => 'XLA_OWNER_TYPE'
92508 ,p_lookup_code => l_component_type_code
92509 )
92510 ,p_token_4 => 'PRODUCT_NAME'
92511 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
92512 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
92513 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
92514 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
92515 ,p_ae_header_id => NULL
92516 );
92517
92518 IF (C_LEVEL_ERROR>= g_log_level) THEN
92519 trace
92520 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92521 ,p_level => C_LEVEL_ERROR
92522 ,p_module => l_log_module);
92523 END IF;
92524 END IF;
92525 END IF;
92526 --
92527 --
92528 ------------------------------------------------------------------------------------------------
92529 -- 4219869 Business Flow
92530 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
92531 -- Prior Entry. Currently, the following code is always generated.
92532 ------------------------------------------------------------------------------------------------
92533 XLA_AE_LINES_PKG.ValidateCurrentLine;
92534
92535 ------------------------------------------------------------------------------------
92536 -- 4219869 Business Flow
92537 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92538 ------------------------------------------------------------------------------------
92539 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92540
92541 ----------------------------------------------------------------------------------
92542 -- 4219869 Business Flow
92543 -- Update journal entry status -- Need to generate this within IF <condition>
92544 ----------------------------------------------------------------------------------
92545 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92546 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92547 ,p_balance_type_code => l_balance_type_code
92548 );
92549
92550 -------------------------------------------------------------------------------------------
92551 -- 4262811 - Generate the Accrual Reversal lines
92552 -------------------------------------------------------------------------------------------
92553 BEGIN
92554 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92555 (g_array_event(p_event_id).array_value_num('header_index'));
92556 IF l_acc_rev_flag IS NULL THEN
92557 l_acc_rev_flag := 'N';
92558 END IF;
92559 EXCEPTION
92560 WHEN OTHERS THEN
92561 l_acc_rev_flag := 'N';
92562 END;
92563 --
92564 IF (l_acc_rev_flag = 'Y') THEN
92565
92566 -- 4645092 ------------------------------------------------------------------------------
92567 -- To allow MPA report to determine if it should generate report process
92568 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92569 ------------------------------------------------------------------------------------------
92570
92571 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92575 -- Bug 4922099
92572 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92573 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92574 -- call ADRs
92576 --
92577 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92578 (NVL(l_actual_upg_option, 'N') = 'O') OR
92579 (NVL(l_enc_upg_option, 'N') = 'O')
92580 )
92581 THEN
92582 NULL;
92583 --
92584 --
92585
92586 l_ccid := AcctDerRule_34(
92587 p_application_id => p_application_id
92588 , p_ae_header_id => l_ae_header_id
92589 , p_source_34 => p_source_34
92590 , x_transaction_coa_id => l_adr_transaction_coa_id
92591 , x_accounting_coa_id => l_adr_accounting_coa_id
92592 , x_value_type_code => l_adr_value_type_code
92593 , p_side => 'NA'
92594 );
92595
92596 xla_ae_lines_pkg.set_ccid(
92597 p_code_combination_id => l_ccid
92598 , p_value_type_code => l_adr_value_type_code
92599 , p_transaction_coa_id => l_adr_transaction_coa_id
92600 , p_accounting_coa_id => l_adr_accounting_coa_id
92601 , p_adr_code => 'AP_LIAB'
92602 , p_adr_type_code => 'S'
92603 , p_component_type => l_component_type
92604 , p_component_code => l_component_code
92605 , p_component_type_code => l_component_type_code
92606 , p_component_appl_id => l_component_appl_id
92607 , p_amb_context_code => l_amb_context_code
92608 , p_side => 'NA'
92609 );
92610
92611
92612 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
92613 p_to_segment_code => 'GL_BALANCING'
92614 , p_segment_value => C_CHAR
92615 , p_from_segment_code => NULL
92616 , p_from_combination_id => NULL
92617 , p_value_type_code => NULL
92618 , p_transaction_coa_id => null
92619 , p_accounting_coa_id => null
92620 , p_flexfield_segment_code => NULL
92621 , p_flex_value_set_id => NULL
92622 , p_adr_code => NULL
92623 , p_adr_type_code => NULL
92624 , p_component_type => l_component_type
92625 , p_component_code => l_component_code
92626 , p_component_type_code => l_component_type_code
92627 , p_component_appl_id => l_component_appl_id
92628 , p_amb_context_code => l_amb_context_code
92629 , p_entity_code => 'AP_INVOICES'
92630 , p_event_class_code => 'PREPAYMENTS'
92631 , p_side => 'NA'
92632 );
92633 --
92634
92635
92636 --
92637 --
92638 END IF;
92639
92640 --
92641 -- Update the line information that should be overwritten
92642 --
92643 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92644 p_header_num => 1);
92645 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92646
92647 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92648
92649 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92650 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92651 END IF;
92652
92653 --
92654 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92655 --
92656 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92657 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92658 ELSE
92659 ---------------------------------------------------------------------------------------------------
92660 -- 4262811a Switch Sign
92661 ---------------------------------------------------------------------------------------------------
92662 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92663 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92664 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92665 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92666 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92667 -- 5132302
92668 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
92669 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92670
92671 END IF;
92672
92673 -- 4955764
92674 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92675 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
92676
92677
92678 XLA_AE_LINES_PKG.ValidateCurrentLine;
92679 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92680
92681 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92682 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
92683 ,p_balance_type_code => l_balance_type_code);
92684
92685 END IF;
92686
92690 -- No MPA option is assigned.
92687 -----------------------------------------------------------------------------------------
92688 -- 4262811 Multiperiod Accounting
92689 -----------------------------------------------------------------------------------------
92691
92692
92693 END IF;
92694 END IF;
92695 --
92696
92697 --
92698 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92699 trace
92700 (p_msg => 'END of AcctLineType_158'
92701 ,p_level => C_LEVEL_PROCEDURE
92702 ,p_module => l_log_module);
92703 END IF;
92704 --
92705 EXCEPTION
92706 WHEN xla_exceptions_pkg.application_exception THEN
92707 RAISE;
92708 WHEN OTHERS THEN
92709 xla_exceptions_pkg.raise_message
92710 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_158');
92711 END AcctLineType_158;
92712 --
92713
92714 ---------------------------------------
92715 --
92716 -- PRIVATE FUNCTION
92717 -- AcctLineType_159
92718 --
92719 ---------------------------------------
92720 PROCEDURE AcctLineType_159 (
92721 p_application_id IN NUMBER
92722 ,p_event_id IN NUMBER
92723 ,p_calculate_acctd_flag IN VARCHAR2
92724 ,p_calculate_g_l_flag IN VARCHAR2
92725 ,p_actual_flag IN OUT VARCHAR2
92726 ,p_balance_type_code OUT VARCHAR2
92727 ,p_gain_or_loss_ref OUT VARCHAR2
92728
92729 --Accounting Reversal Indicator
92730 , p_source_52 IN VARCHAR2
92731 --Distribution Link Type
92732 , p_source_54 IN VARCHAR2
92733 --Invoice Identifier
92734 , p_source_57 IN NUMBER
92735 --Payables Encumbrance Upgrade Credit Account
92736 , p_source_64 IN NUMBER
92737 --Payables Encumbrance Upgrade Credit Amount
92738 , p_source_65 IN NUMBER
92739 --Invoice Currency Code
92740 , p_source_66 IN VARCHAR2
92741 --Payables Encumbrance Upgrade Credit Base Amount
92742 , p_source_67 IN NUMBER
92743 --Payables Encumbrance Upgrade Debit Account
92744 , p_source_68 IN NUMBER
92745 --Payables Encumbrance Upgrade Debit Amount
92746 , p_source_69 IN NUMBER
92747 --Payables Encumbrance Upgrade Debit Base Amount
92748 , p_source_70 IN NUMBER
92749 --Payables Encumbrance Upgrade Option
92750 , p_source_71 IN VARCHAR2
92751 --Deferred Accounting End Date
92752 , p_source_76 IN DATE
92753 --Deferred Accounting Option
92754 , p_source_77 IN VARCHAR2
92755 --Deferred Accounting Start Date
92756 , p_source_78 IN DATE
92757 --Override Accounted Amount Indicator
92758 , p_source_79 IN VARCHAR2
92759 , p_source_79_meaning IN VARCHAR2
92760 --Third Party Type
92761 , p_source_82 IN VARCHAR2
92762 --Invoice Distribution Tax Line Identifier
92763 , p_source_85 IN NUMBER
92764 --Invoice Distribution Tax Distribution Identifier from Tax
92765 , p_source_86 IN NUMBER
92766 --Invoice Distribution Summary Tax Line Identifier
92767 , p_source_87 IN NUMBER
92768 --Payables Upgrade Credit Encumbrance Type Identifier
92769 , p_source_88 IN NUMBER
92770 --Payables Upgrade Debit Encumbrance Type Identifier
92771 , p_source_89 IN NUMBER
92772 --Business Flow Accounts Payable Application Identifier
92773 , p_source_90 IN NUMBER
92774 --Prepayment Application Distribution Identifier
92775 , p_source_127 IN NUMBER
92776 --Business Flow Recipient Invoice Distribution Identifier
92777 , p_source_128 IN NUMBER
92778 --Business Flow Recipient Invoice Identifier
92779 , p_source_129 IN NUMBER
92780 --Upgrade Encumbrance Credit Account Class
92781 , p_source_130 IN VARCHAR2
92782 --Upgrade Encumbrance Debit Account Class
92783 , p_source_131 IN VARCHAR2
92784 --Prepayment Distribution Amount
92785 , p_source_132 IN NUMBER
92786 --Prepayment Distribution (Invoice Rate) Ledger Amount
92787 , p_source_133 IN NUMBER
92788 --Identifier of the Prepayment Application Reversed
92789 , p_source_134 IN NUMBER
92790 --Business Flow Prepayment Invoice Distribution Type
92791 , p_source_139 IN VARCHAR2
92792 --Business Flow Prepayment Invoice Entity Code
92793 , p_source_140 IN VARCHAR2
92794 --Prepayment Distribution Type
92795 , p_source_143 IN VARCHAR2
92796 )
92797 IS
92798
92799 l_component_type VARCHAR2(80);
92800 l_component_code VARCHAR2(30);
92801 l_component_type_code VARCHAR2(1);
92802 l_component_appl_id INTEGER;
92803 l_amb_context_code VARCHAR2(30);
92804 l_entity_code VARCHAR2(30);
92805 l_event_class_code VARCHAR2(30);
92806 l_ae_header_id NUMBER;
92807 l_event_type_code VARCHAR2(30);
92808 l_line_definition_code VARCHAR2(30);
92809 l_line_definition_owner_code VARCHAR2(1);
92810 --
92811 -- adr variables
92812 l_segment VARCHAR2(30);
92813 l_ccid NUMBER;
92814 l_adr_transaction_coa_id NUMBER;
92815 l_adr_accounting_coa_id NUMBER;
92816 l_adr_flexfield_segment_code VARCHAR2(30);
92817 l_adr_flex_value_set_id NUMBER;
92818 l_adr_value_type_code VARCHAR2(30);
92819 l_adr_value_combination_id NUMBER;
92823 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92820 l_adr_value_segment_code VARCHAR2(30);
92821
92822 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92824 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92825 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92826
92827 -- 4262811 Variables ------------------------------------------------------------------------------------------
92828 l_entered_amt_idx NUMBER;
92829 l_accted_amt_idx NUMBER;
92830 l_acc_rev_flag VARCHAR2(1);
92831 l_accrual_line_num NUMBER;
92832 l_tmp_amt NUMBER;
92833 l_acc_rev_natural_side_code VARCHAR2(1);
92834
92835 l_num_entries NUMBER;
92836 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92837 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92838 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92839 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92840 l_recog_line_1 NUMBER;
92841 l_recog_line_2 NUMBER;
92842
92843 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92844 l_bflow_applied_to_amt NUMBER; -- 5132302
92845 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92846
92847 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92848
92849 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92850 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92851
92852 ---------------------------------------------------------------------------------------------------------------
92853
92854
92855 --
92856 -- bulk performance
92857 --
92858 l_balance_type_code VARCHAR2(1);
92859 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92860 l_log_module VARCHAR2(240);
92861
92862 --
92863 -- Upgrade strategy
92864 --
92865 l_actual_upg_option VARCHAR2(1);
92866 l_enc_upg_option VARCHAR2(1);
92867
92868 --
92869 BEGIN
92870 --
92871 IF g_log_enabled THEN
92872 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_159';
92873 END IF;
92874 --
92875 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92876
92877 trace
92878 (p_msg => 'BEGIN of AcctLineType_159'
92879 ,p_level => C_LEVEL_PROCEDURE
92880 ,p_module => l_log_module);
92881
92882 END IF;
92883 --
92884 l_component_type := 'AMB_JLT';
92885 l_component_code := 'AP_LIAB_PREPAY_APP';
92886 l_component_type_code := 'S';
92887 l_component_appl_id := 200;
92888 l_amb_context_code := 'DEFAULT';
92889 l_entity_code := 'AP_INVOICES';
92890 l_event_class_code := 'PREPAYMENT APPLICATIONS';
92891 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
92892 l_line_definition_owner_code := 'S';
92893 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
92894 --
92895 l_balance_type_code := 'A';
92896 l_segment := NULL;
92897 l_ccid := NULL;
92898 l_adr_transaction_coa_id := NULL;
92899 l_adr_accounting_coa_id := NULL;
92900 l_adr_flexfield_segment_code := NULL;
92901 l_adr_flex_value_set_id := NULL;
92902 l_adr_value_type_code := NULL;
92903 l_adr_value_combination_id := NULL;
92904 l_adr_value_segment_code := NULL;
92905
92906 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
92907 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92908 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92909 l_budgetary_control_flag := 'N';
92910
92911 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92912 l_bflow_applied_to_amt := NULL; -- 5132302
92913 l_entered_amt_idx := NULL; -- 4262811
92914 l_accted_amt_idx := NULL; -- 4262811
92915 l_acc_rev_flag := NULL; -- 4262811
92916 l_accrual_line_num := NULL; -- 4262811
92917 l_tmp_amt := NULL; -- 4262811
92918 --
92919
92920 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92921 l_balance_type_code <> 'B' THEN
92922 IF NVL(p_source_143,'
92923 ') = 'PREPAY APPL' OR
92924 NVL(p_source_143,'
92925 ') = 'FINAL PAYMENT ROUNDING' OR
92926 NVL(p_source_143,'
92927 ') = 'PREPAY APPL REC TAX' OR
92928 NVL(p_source_143,'
92929 ') = 'PREPAY APPL NONREC TAX'
92930 THEN
92931
92932 --
92933 XLA_AE_LINES_PKG.SetNewLine;
92934
92935 p_balance_type_code := l_balance_type_code;
92936 -- set the flag so later we will know whether the gain loss line needs to be created
92937
92938 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92939 p_actual_flag :='A';
92940 END IF;
92941
92942 --
92943 -- bulk performance
92944 --
92945 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92946 p_header_num => 0); -- 4262811
92947 --
92948 -- set accounting line options
92952 , p_gain_or_loss_flag => 'N'
92949 --
92950 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92951 p_natural_side_code => 'C'
92953 , p_gl_transfer_mode_code => 'S'
92954 , p_acct_entry_type_code => 'A'
92955 , p_switch_side_flag => 'Y'
92956 , p_merge_duplicate_code => 'A'
92957 );
92958 --
92959 l_acc_rev_natural_side_code := 'D'; -- 4262811
92960 --
92961 --
92962 -- set accounting line type info
92963 --
92964 xla_ae_lines_pkg.SetAcctLineType
92965 (p_component_type => l_component_type
92966 ,p_event_type_code => l_event_type_code
92967 ,p_line_definition_owner_code => l_line_definition_owner_code
92968 ,p_line_definition_code => l_line_definition_code
92969 ,p_accounting_line_code => l_component_code
92970 ,p_accounting_line_type_code => l_component_type_code
92971 ,p_accounting_line_appl_id => l_component_appl_id
92972 ,p_amb_context_code => l_amb_context_code
92973 ,p_entity_code => l_entity_code
92974 ,p_event_class_code => l_event_class_code);
92975 --
92976 -- set accounting class
92977 --
92978 xla_ae_lines_pkg.SetAcctClass(
92979 p_accounting_class_code => 'LIABILITY'
92980 , p_ae_header_id => l_ae_header_id
92981 );
92982
92983 --
92984 -- set rounding class
92985 --
92986 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92987 'LIABILITY';
92988
92989 --
92990 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92991 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92992 --
92993 -- bulk performance
92994 --
92995 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92996
92997 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92998 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92999
93000 -- 4955764
93001 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93002 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93003
93004 -- 4458381 Public Sector Enh
93005
93006 --
93007 -- set accounting attributes for the line type
93008 --
93009 l_entered_amt_idx := 25;
93010 l_accted_amt_idx := 27;
93011 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93012 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93013 l_rec_acct_attrs.array_char_value(1) := p_source_52;
93014 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
93015 l_rec_acct_attrs.array_num_value(2) :=
93016 xla_ae_sources_pkg.GetSystemSourceNum(
93017 p_source_code => 'XLA_EVENT_APPL_ID'
93018 , p_source_type_code => 'Y'
93019 , p_source_application_id => 602
93020 );
93021 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
93022 l_rec_acct_attrs.array_char_value(3) := p_source_54;
93023 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
93024 l_rec_acct_attrs.array_char_value(4) :=
93025 xla_ae_sources_pkg.GetSystemSourceChar(
93026 p_source_code => 'XLA_ENTITY_CODE'
93027 , p_source_type_code => 'Y'
93028 , p_source_application_id => 602
93029 );
93030 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
93031 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
93032 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
93033 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
93034 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
93035 l_rec_acct_attrs.array_num_value(7) := p_source_90;
93036 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93037 l_rec_acct_attrs.array_char_value(8) := p_source_139;
93038 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
93039 l_rec_acct_attrs.array_char_value(9) := p_source_140;
93040 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
93041 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_128);
93042 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93043 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_129);
93044 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
93045 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
93046 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
93047 l_rec_acct_attrs.array_char_value(13) := p_source_54;
93048 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
93049 l_rec_acct_attrs.array_char_value(14) := p_source_130;
93050 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
93051 l_rec_acct_attrs.array_num_value(15) := p_source_64;
93052 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
93053 l_rec_acct_attrs.array_num_value(16) := p_source_65;
93054 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
93055 l_rec_acct_attrs.array_char_value(17) := p_source_66;
93056 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
93060 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
93057 l_rec_acct_attrs.array_num_value(18) := p_source_67;
93058 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
93059 l_rec_acct_attrs.array_char_value(19) := p_source_131;
93061 l_rec_acct_attrs.array_num_value(20) := p_source_68;
93062 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
93063 l_rec_acct_attrs.array_num_value(21) := p_source_69;
93064 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
93065 l_rec_acct_attrs.array_char_value(22) := p_source_66;
93066 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
93067 l_rec_acct_attrs.array_num_value(23) := p_source_70;
93068 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
93069 l_rec_acct_attrs.array_char_value(24) := p_source_71;
93070 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
93071 l_rec_acct_attrs.array_num_value(25) := p_source_132;
93072 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
93073 l_rec_acct_attrs.array_char_value(26) := p_source_66;
93074 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
93075 l_rec_acct_attrs.array_num_value(27) := p_source_133;
93076 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
93077 l_rec_acct_attrs.array_date_value(28) := p_source_76;
93078 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
93079 l_rec_acct_attrs.array_char_value(29) := p_source_77;
93080 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
93081 l_rec_acct_attrs.array_date_value(30) := p_source_78;
93082 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
93083 l_rec_acct_attrs.array_char_value(31) := p_source_79;
93084 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
93085 l_rec_acct_attrs.array_char_value(32) := p_source_82;
93086 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
93087 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_134);
93088 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
93089 l_rec_acct_attrs.array_char_value(34) := p_source_54;
93090 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
93091 l_rec_acct_attrs.array_num_value(35) := p_source_85;
93092 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
93093 l_rec_acct_attrs.array_num_value(36) := p_source_86;
93094 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
93095 l_rec_acct_attrs.array_num_value(37) := p_source_87;
93096 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
93097 l_rec_acct_attrs.array_num_value(38) := p_source_88;
93098 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
93099 l_rec_acct_attrs.array_num_value(39) := p_source_89;
93100
93101 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93102 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93103
93104 ---------------------------------------------------------------------------------------------------------------
93105 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93106 ---------------------------------------------------------------------------------------------------------------
93107 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93108
93109 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93110 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93111
93112 IF xla_accounting_cache_pkg.GetValueChar
93113 (p_source_code => 'LEDGER_CATEGORY_CODE'
93114 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93115 AND l_bflow_method_code = 'PRIOR_ENTRY'
93116 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93117 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93118 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93119 )
93120 THEN
93121 xla_ae_lines_pkg.BflowUpgEntry
93122 (p_business_method_code => l_bflow_method_code
93123 ,p_business_class_code => l_bflow_class_code
93124 ,p_balance_type => l_balance_type_code);
93125 ELSE
93126 NULL;
93127 XLA_AE_LINES_PKG.business_flow_validation(
93128 p_business_method_code => l_bflow_method_code
93129 ,p_business_class_code => l_bflow_class_code
93130 ,p_inherit_description_flag => l_inherit_desc_flag);
93131 END IF;
93132
93133 --
93134 -- call analytical criteria
93135 --
93136 -- Inherited Analytical Criteria for business flow method of Prior Entry.
93137 --
93138 -- call description
93139 --
93140 -- No description or it is inherited.
93141 --
93142 -- call ADRs
93143 -- Bug 4922099
93144 --
93145 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93146 (NVL(l_actual_upg_option, 'N') = 'O') OR
93147 (NVL(l_enc_upg_option, 'N') = 'O')
93148 )
93149 THEN
93150 NULL;
93151 --
93152 --
93153
93154 --
93155 --
93156 END IF;
93157 --
93158 -- Bug 4922099
93159 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93160 (NVL(l_enc_upg_option, 'N') = 'O')
93164 THEN
93161 ) AND
93162 (l_bflow_method_code = 'PRIOR_ENTRY')
93163 )
93165 IF
93166 --
93167 1 = 1
93168 --
93169 THEN
93170 xla_accounting_err_pkg.build_message
93171 (p_appli_s_name => 'XLA'
93172 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93173 ,p_token_1 => 'LINE_NUMBER'
93174 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93175 ,p_token_2 => 'LINE_TYPE_NAME'
93176 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93177 l_component_type
93178 ,l_component_code
93179 ,l_component_type_code
93180 ,l_component_appl_id
93181 ,l_amb_context_code
93182 ,l_entity_code
93183 ,l_event_class_code
93184 )
93185 ,p_token_3 => 'OWNER'
93186 ,p_value_3 => xla_lookups_pkg.get_meaning(
93187 p_lookup_type => 'XLA_OWNER_TYPE'
93188 ,p_lookup_code => l_component_type_code
93189 )
93190 ,p_token_4 => 'PRODUCT_NAME'
93191 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93192 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93193 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93194 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93195 ,p_ae_header_id => NULL
93196 );
93197
93198 IF (C_LEVEL_ERROR>= g_log_level) THEN
93199 trace
93200 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93201 ,p_level => C_LEVEL_ERROR
93202 ,p_module => l_log_module);
93203 END IF;
93204 END IF;
93205 END IF;
93206 --
93207 --
93208 ------------------------------------------------------------------------------------------------
93209 -- 4219869 Business Flow
93210 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93211 -- Prior Entry. Currently, the following code is always generated.
93212 ------------------------------------------------------------------------------------------------
93213 -- No ValidateCurrentLine for business flow method of Prior Entry
93214
93215 ------------------------------------------------------------------------------------
93216 -- 4219869 Business Flow
93217 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93218 ------------------------------------------------------------------------------------
93219 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93220
93221 ----------------------------------------------------------------------------------
93222 -- 4219869 Business Flow
93223 -- Update journal entry status -- Need to generate this within IF <condition>
93224 ----------------------------------------------------------------------------------
93225 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93226 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93227 ,p_balance_type_code => l_balance_type_code
93228 );
93229
93230 -------------------------------------------------------------------------------------------
93231 -- 4262811 - Generate the Accrual Reversal lines
93232 -------------------------------------------------------------------------------------------
93233 BEGIN
93234 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93235 (g_array_event(p_event_id).array_value_num('header_index'));
93236 IF l_acc_rev_flag IS NULL THEN
93237 l_acc_rev_flag := 'N';
93238 END IF;
93239 EXCEPTION
93240 WHEN OTHERS THEN
93241 l_acc_rev_flag := 'N';
93242 END;
93243 --
93244 IF (l_acc_rev_flag = 'Y') THEN
93245
93246 -- 4645092 ------------------------------------------------------------------------------
93247 -- To allow MPA report to determine if it should generate report process
93248 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93249 ------------------------------------------------------------------------------------------
93250
93251 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93252 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93256 --
93253 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93254 -- call ADRs
93255 -- Bug 4922099
93257 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93258 (NVL(l_actual_upg_option, 'N') = 'O') OR
93259 (NVL(l_enc_upg_option, 'N') = 'O')
93260 )
93261 THEN
93262 NULL;
93263 --
93264 --
93265
93266 --
93267 --
93268 END IF;
93269
93270 --
93271 -- Update the line information that should be overwritten
93272 --
93273 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93274 p_header_num => 1);
93275 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93276
93277 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93278
93279 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93280 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93281 END IF;
93282
93283 --
93284 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93285 --
93286 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93287 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93288 ELSE
93289 ---------------------------------------------------------------------------------------------------
93290 -- 4262811a Switch Sign
93291 ---------------------------------------------------------------------------------------------------
93292 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93293 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93294 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93295 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93296 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93297 -- 5132302
93298 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93299 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93300
93301 END IF;
93302
93303 -- 4955764
93304 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93305 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93306
93307
93308 XLA_AE_LINES_PKG.ValidateCurrentLine;
93309 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93310
93311 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93312 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93313 ,p_balance_type_code => l_balance_type_code);
93314
93315 END IF;
93316
93317 -----------------------------------------------------------------------------------------
93318 -- 4262811 Multiperiod Accounting
93319 -----------------------------------------------------------------------------------------
93320 -- No MPA option is assigned.
93321
93322
93323 END IF;
93324 END IF;
93325 --
93326
93327 --
93328 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93329 trace
93330 (p_msg => 'END of AcctLineType_159'
93331 ,p_level => C_LEVEL_PROCEDURE
93332 ,p_module => l_log_module);
93333 END IF;
93334 --
93335 EXCEPTION
93336 WHEN xla_exceptions_pkg.application_exception THEN
93337 RAISE;
93338 WHEN OTHERS THEN
93339 xla_exceptions_pkg.raise_message
93340 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_159');
93341 END AcctLineType_159;
93342 --
93343
93344 ---------------------------------------
93345 --
93346 -- PRIVATE FUNCTION
93347 -- AcctLineType_160
93348 --
93349 ---------------------------------------
93350 PROCEDURE AcctLineType_160 (
93351 p_application_id IN NUMBER
93352 ,p_event_id IN NUMBER
93353 ,p_calculate_acctd_flag IN VARCHAR2
93354 ,p_calculate_g_l_flag IN VARCHAR2
93355 ,p_actual_flag IN OUT VARCHAR2
93356 ,p_balance_type_code OUT VARCHAR2
93357 ,p_gain_or_loss_ref OUT VARCHAR2
93358
93359 --Payment Currency Code
93360 , p_source_13 IN VARCHAR2
93361 --Accounting Reversal Indicator
93362 , p_source_52 IN VARCHAR2
93363 --Distribution Link Type
93364 , p_source_54 IN VARCHAR2
93365 --Override Accounted Amount Indicator
93366 , p_source_79 IN VARCHAR2
93367 , p_source_79_meaning IN VARCHAR2
93368 --Third Party Type
93369 , p_source_82 IN VARCHAR2
93370 --Invoice Distribution Tax Line Identifier
93371 , p_source_85 IN NUMBER
93372 --Invoice Distribution Tax Distribution Identifier from Tax
93373 , p_source_86 IN NUMBER
93374 --Invoice Distribution Summary Tax Line Identifier
93375 , p_source_87 IN NUMBER
93376 --Business Flow Accounts Payable Application Identifier
93377 , p_source_90 IN NUMBER
93378 --Business Flow Invoice Distribution Type
93379 , p_source_91 IN VARCHAR2
93383 , p_source_93 IN NUMBER
93380 --Business Flow Invoice Entity Code
93381 , p_source_92 IN VARCHAR2
93382 --Business Flow Invoice Distribution Identifier
93384 --Business Flow Invoice Identifier
93385 , p_source_94 IN NUMBER
93386 --When to Account for Payment Option
93387 , p_source_96 IN VARCHAR2
93388 --Payment Distribution Type
93389 , p_source_97 IN VARCHAR2
93390 , p_source_97_meaning IN VARCHAR2
93391 --Payment Distribution Amount
93392 , p_source_98 IN NUMBER
93393 --Payment Distribution Identifier
93394 , p_source_103 IN NUMBER
93395 --Payment Distribution Reversed Identifier
93396 , p_source_111 IN NUMBER
93397 --Payment Distribution (Invoice Rate) Ledger Amount
93398 , p_source_116 IN NUMBER
93399 --Payment Type
93400 , p_source_122 IN VARCHAR2
93401 , p_source_122_meaning IN VARCHAR2
93402 )
93403 IS
93404
93405 l_component_type VARCHAR2(80);
93406 l_component_code VARCHAR2(30);
93407 l_component_type_code VARCHAR2(1);
93408 l_component_appl_id INTEGER;
93409 l_amb_context_code VARCHAR2(30);
93410 l_entity_code VARCHAR2(30);
93411 l_event_class_code VARCHAR2(30);
93412 l_ae_header_id NUMBER;
93413 l_event_type_code VARCHAR2(30);
93414 l_line_definition_code VARCHAR2(30);
93415 l_line_definition_owner_code VARCHAR2(1);
93416 --
93417 -- adr variables
93418 l_segment VARCHAR2(30);
93419 l_ccid NUMBER;
93420 l_adr_transaction_coa_id NUMBER;
93421 l_adr_accounting_coa_id NUMBER;
93422 l_adr_flexfield_segment_code VARCHAR2(30);
93423 l_adr_flex_value_set_id NUMBER;
93424 l_adr_value_type_code VARCHAR2(30);
93425 l_adr_value_combination_id NUMBER;
93426 l_adr_value_segment_code VARCHAR2(30);
93427
93428 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93429 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93430 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93431 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93432
93433 -- 4262811 Variables ------------------------------------------------------------------------------------------
93434 l_entered_amt_idx NUMBER;
93435 l_accted_amt_idx NUMBER;
93436 l_acc_rev_flag VARCHAR2(1);
93437 l_accrual_line_num NUMBER;
93438 l_tmp_amt NUMBER;
93439 l_acc_rev_natural_side_code VARCHAR2(1);
93440
93441 l_num_entries NUMBER;
93442 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93443 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93444 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93445 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93446 l_recog_line_1 NUMBER;
93447 l_recog_line_2 NUMBER;
93448
93449 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93450 l_bflow_applied_to_amt NUMBER; -- 5132302
93451 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93452
93453 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93454
93455 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93456 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93457
93458 ---------------------------------------------------------------------------------------------------------------
93459
93460
93461 --
93462 -- bulk performance
93463 --
93464 l_balance_type_code VARCHAR2(1);
93465 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93466 l_log_module VARCHAR2(240);
93467
93468 --
93469 -- Upgrade strategy
93470 --
93471 l_actual_upg_option VARCHAR2(1);
93472 l_enc_upg_option VARCHAR2(1);
93473
93474 --
93475 BEGIN
93476 --
93477 IF g_log_enabled THEN
93478 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_160';
93479 END IF;
93480 --
93481 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93482
93483 trace
93484 (p_msg => 'BEGIN of AcctLineType_160'
93485 ,p_level => C_LEVEL_PROCEDURE
93486 ,p_module => l_log_module);
93487
93488 END IF;
93489 --
93490 l_component_type := 'AMB_JLT';
93491 l_component_code := 'AP_LIAB_REF';
93492 l_component_type_code := 'S';
93493 l_component_appl_id := 200;
93494 l_amb_context_code := 'DEFAULT';
93495 l_entity_code := 'AP_PAYMENTS';
93496 l_event_class_code := 'REFUNDS';
93497 l_event_type_code := 'REFUNDS_ALL';
93498 l_line_definition_owner_code := 'S';
93499 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
93500 --
93501 l_balance_type_code := 'A';
93502 l_segment := NULL;
93503 l_ccid := NULL;
93504 l_adr_transaction_coa_id := NULL;
93505 l_adr_accounting_coa_id := NULL;
93506 l_adr_flexfield_segment_code := NULL;
93507 l_adr_flex_value_set_id := NULL;
93511
93508 l_adr_value_type_code := NULL;
93509 l_adr_value_combination_id := NULL;
93510 l_adr_value_segment_code := NULL;
93512 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
93513 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
93514 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93515 l_budgetary_control_flag := 'N';
93516
93517 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93518 l_bflow_applied_to_amt := NULL; -- 5132302
93519 l_entered_amt_idx := NULL; -- 4262811
93520 l_accted_amt_idx := NULL; -- 4262811
93521 l_acc_rev_flag := NULL; -- 4262811
93522 l_accrual_line_num := NULL; -- 4262811
93523 l_tmp_amt := NULL; -- 4262811
93524 --
93525
93526 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93527 l_balance_type_code <> 'B' THEN
93528 IF NVL(p_source_96,'
93529 ') <> 'CLEAR_CLEAR' AND
93530 (NVL(p_source_97,'
93531 ') = 'ROUNDING' OR
93532 NVL(p_source_97,'
93533 ') = 'CASH' OR
93534 NVL(p_source_97,'
93535 ') = 'DISCOUNT') AND
93536 NVL(p_source_122,'
93537 ') = 'R'
93538 THEN
93539
93540 --
93541 XLA_AE_LINES_PKG.SetNewLine;
93542
93543 p_balance_type_code := l_balance_type_code;
93544 -- set the flag so later we will know whether the gain loss line needs to be created
93545
93546 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
93547 p_actual_flag :='A';
93548 END IF;
93549
93550 --
93551 -- bulk performance
93552 --
93553 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93554 p_header_num => 0); -- 4262811
93555 --
93556 -- set accounting line options
93557 --
93558 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93559 p_natural_side_code => 'D'
93560 , p_gain_or_loss_flag => 'N'
93561 , p_gl_transfer_mode_code => 'S'
93562 , p_acct_entry_type_code => 'A'
93563 , p_switch_side_flag => 'Y'
93564 , p_merge_duplicate_code => 'A'
93565 );
93566 --
93567 l_acc_rev_natural_side_code := 'C'; -- 4262811
93568 --
93569 --
93570 -- set accounting line type info
93571 --
93572 xla_ae_lines_pkg.SetAcctLineType
93573 (p_component_type => l_component_type
93574 ,p_event_type_code => l_event_type_code
93575 ,p_line_definition_owner_code => l_line_definition_owner_code
93576 ,p_line_definition_code => l_line_definition_code
93577 ,p_accounting_line_code => l_component_code
93578 ,p_accounting_line_type_code => l_component_type_code
93579 ,p_accounting_line_appl_id => l_component_appl_id
93580 ,p_amb_context_code => l_amb_context_code
93581 ,p_entity_code => l_entity_code
93582 ,p_event_class_code => l_event_class_code);
93583 --
93584 -- set accounting class
93585 --
93586 xla_ae_lines_pkg.SetAcctClass(
93587 p_accounting_class_code => 'LIABILITY'
93588 , p_ae_header_id => l_ae_header_id
93589 );
93590
93591 --
93592 -- set rounding class
93593 --
93594 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
93595 'LIABILITY';
93596
93597 --
93598 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
93599 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
93600 --
93601 -- bulk performance
93602 --
93603 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
93604
93605 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
93606 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
93607
93608 -- 4955764
93609 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93610 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93611
93612 -- 4458381 Public Sector Enh
93613
93614 --
93615 -- set accounting attributes for the line type
93616 --
93617 l_entered_amt_idx := 9;
93618 l_accted_amt_idx := 11;
93619 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93620 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93621 l_rec_acct_attrs.array_char_value(1) := p_source_52;
93622 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
93623 l_rec_acct_attrs.array_num_value(2) := p_source_90;
93624 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93625 l_rec_acct_attrs.array_char_value(3) := p_source_91;
93626 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
93627 l_rec_acct_attrs.array_char_value(4) := p_source_92;
93628 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
93629 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
93630 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93634 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
93631 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
93632 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
93633 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
93635 l_rec_acct_attrs.array_char_value(8) := p_source_54;
93636 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
93637 l_rec_acct_attrs.array_num_value(9) := p_source_98;
93638 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
93639 l_rec_acct_attrs.array_char_value(10) := p_source_13;
93640 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
93641 l_rec_acct_attrs.array_num_value(11) := p_source_116;
93642 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
93643 l_rec_acct_attrs.array_char_value(12) := p_source_79;
93644 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
93645 l_rec_acct_attrs.array_char_value(13) := p_source_82;
93646 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
93647 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_111);
93648 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
93649 l_rec_acct_attrs.array_char_value(15) := p_source_54;
93650 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
93651 l_rec_acct_attrs.array_num_value(16) := p_source_85;
93652 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
93653 l_rec_acct_attrs.array_num_value(17) := p_source_86;
93654 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
93655 l_rec_acct_attrs.array_num_value(18) := p_source_87;
93656
93657 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93658 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93659
93660 ---------------------------------------------------------------------------------------------------------------
93661 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93662 ---------------------------------------------------------------------------------------------------------------
93663 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93664
93665 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93666 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93667
93668 IF xla_accounting_cache_pkg.GetValueChar
93669 (p_source_code => 'LEDGER_CATEGORY_CODE'
93670 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93671 AND l_bflow_method_code = 'PRIOR_ENTRY'
93672 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93673 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93674 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93675 )
93676 THEN
93677 xla_ae_lines_pkg.BflowUpgEntry
93678 (p_business_method_code => l_bflow_method_code
93679 ,p_business_class_code => l_bflow_class_code
93680 ,p_balance_type => l_balance_type_code);
93681 ELSE
93682 NULL;
93683 XLA_AE_LINES_PKG.business_flow_validation(
93684 p_business_method_code => l_bflow_method_code
93685 ,p_business_class_code => l_bflow_class_code
93686 ,p_inherit_description_flag => l_inherit_desc_flag);
93687 END IF;
93688
93689 --
93690 -- call analytical criteria
93691 --
93692 -- Inherited Analytical Criteria for business flow method of Prior Entry.
93693 --
93694 -- call description
93695 --
93696 -- No description or it is inherited.
93697 --
93698 -- call ADRs
93699 -- Bug 4922099
93700 --
93701 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93702 (NVL(l_actual_upg_option, 'N') = 'O') OR
93703 (NVL(l_enc_upg_option, 'N') = 'O')
93704 )
93705 THEN
93706 NULL;
93707 --
93708 --
93709
93710 --
93711 --
93712 END IF;
93713 --
93714 -- Bug 4922099
93715 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93716 (NVL(l_enc_upg_option, 'N') = 'O')
93717 ) AND
93718 (l_bflow_method_code = 'PRIOR_ENTRY')
93719 )
93720 THEN
93721 IF
93722 --
93723 1 = 1
93724 --
93725 THEN
93726 xla_accounting_err_pkg.build_message
93727 (p_appli_s_name => 'XLA'
93728 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93729 ,p_token_1 => 'LINE_NUMBER'
93730 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93731 ,p_token_2 => 'LINE_TYPE_NAME'
93732 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93733 l_component_type
93734 ,l_component_code
93735 ,l_component_type_code
93739 ,l_event_class_code
93736 ,l_component_appl_id
93737 ,l_amb_context_code
93738 ,l_entity_code
93740 )
93741 ,p_token_3 => 'OWNER'
93742 ,p_value_3 => xla_lookups_pkg.get_meaning(
93743 p_lookup_type => 'XLA_OWNER_TYPE'
93744 ,p_lookup_code => l_component_type_code
93745 )
93746 ,p_token_4 => 'PRODUCT_NAME'
93747 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93748 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93749 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93750 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93751 ,p_ae_header_id => NULL
93752 );
93753
93754 IF (C_LEVEL_ERROR>= g_log_level) THEN
93755 trace
93756 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93757 ,p_level => C_LEVEL_ERROR
93758 ,p_module => l_log_module);
93759 END IF;
93760 END IF;
93761 END IF;
93762 --
93763 --
93764 ------------------------------------------------------------------------------------------------
93765 -- 4219869 Business Flow
93766 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93767 -- Prior Entry. Currently, the following code is always generated.
93768 ------------------------------------------------------------------------------------------------
93769 -- No ValidateCurrentLine for business flow method of Prior Entry
93770
93771 ------------------------------------------------------------------------------------
93772 -- 4219869 Business Flow
93773 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93774 ------------------------------------------------------------------------------------
93775 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93776
93777 ----------------------------------------------------------------------------------
93778 -- 4219869 Business Flow
93779 -- Update journal entry status -- Need to generate this within IF <condition>
93780 ----------------------------------------------------------------------------------
93781 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93782 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93783 ,p_balance_type_code => l_balance_type_code
93784 );
93785
93786 -------------------------------------------------------------------------------------------
93787 -- 4262811 - Generate the Accrual Reversal lines
93788 -------------------------------------------------------------------------------------------
93789 BEGIN
93790 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93791 (g_array_event(p_event_id).array_value_num('header_index'));
93792 IF l_acc_rev_flag IS NULL THEN
93793 l_acc_rev_flag := 'N';
93794 END IF;
93795 EXCEPTION
93796 WHEN OTHERS THEN
93797 l_acc_rev_flag := 'N';
93798 END;
93799 --
93800 IF (l_acc_rev_flag = 'Y') THEN
93801
93802 -- 4645092 ------------------------------------------------------------------------------
93803 -- To allow MPA report to determine if it should generate report process
93804 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93805 ------------------------------------------------------------------------------------------
93806
93807 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93808 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93809 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93810 -- call ADRs
93811 -- Bug 4922099
93812 --
93813 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93814 (NVL(l_actual_upg_option, 'N') = 'O') OR
93815 (NVL(l_enc_upg_option, 'N') = 'O')
93816 )
93817 THEN
93818 NULL;
93819 --
93820 --
93821
93822 --
93823 --
93824 END IF;
93825
93826 --
93827 -- Update the line information that should be overwritten
93828 --
93829 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93830 p_header_num => 1);
93831 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93832
93833 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93834
93835 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93836 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93840 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93837 END IF;
93838
93839 --
93841 --
93842 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93843 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93844 ELSE
93845 ---------------------------------------------------------------------------------------------------
93846 -- 4262811a Switch Sign
93847 ---------------------------------------------------------------------------------------------------
93848 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93850 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93851 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93852 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93853 -- 5132302
93854 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93855 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93856
93857 END IF;
93858
93859 -- 4955764
93860 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93861 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93862
93863
93864 XLA_AE_LINES_PKG.ValidateCurrentLine;
93865 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93866
93867 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93868 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93869 ,p_balance_type_code => l_balance_type_code);
93870
93871 END IF;
93872
93873 -----------------------------------------------------------------------------------------
93874 -- 4262811 Multiperiod Accounting
93875 -----------------------------------------------------------------------------------------
93876 -- No MPA option is assigned.
93877
93878
93879 END IF;
93880 END IF;
93881 --
93882
93883 --
93884 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93885 trace
93886 (p_msg => 'END of AcctLineType_160'
93887 ,p_level => C_LEVEL_PROCEDURE
93888 ,p_module => l_log_module);
93889 END IF;
93890 --
93891 EXCEPTION
93892 WHEN xla_exceptions_pkg.application_exception THEN
93893 RAISE;
93894 WHEN OTHERS THEN
93895 xla_exceptions_pkg.raise_message
93896 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_160');
93897 END AcctLineType_160;
93898 --
93899
93900 ---------------------------------------
93901 --
93902 -- PRIVATE FUNCTION
93903 -- AcctLineType_161
93904 --
93905 ---------------------------------------
93906 PROCEDURE AcctLineType_161 (
93907 p_application_id IN NUMBER
93908 ,p_event_id IN NUMBER
93909 ,p_calculate_acctd_flag IN VARCHAR2
93910 ,p_calculate_g_l_flag IN VARCHAR2
93911 ,p_actual_flag IN OUT VARCHAR2
93912 ,p_balance_type_code OUT VARCHAR2
93913 ,p_gain_or_loss_ref OUT VARCHAR2
93914
93915 --Payment Currency Code
93916 , p_source_13 IN VARCHAR2
93917 --Automatic Offsets Value
93918 , p_source_15 IN VARCHAR2
93919 , p_source_15_meaning IN VARCHAR2
93920 --Invoice Distribution Account
93921 , p_source_30 IN NUMBER
93922 --Internal Realized Loss Account
93923 , p_source_38 IN NUMBER
93924 --Bank Loss Account
93925 , p_source_39 IN NUMBER
93926 --Accounting Reversal Indicator
93927 , p_source_52 IN VARCHAR2
93928 --Distribution Link Type
93929 , p_source_54 IN VARCHAR2
93930 --Override Accounted Amount Indicator
93931 , p_source_79 IN VARCHAR2
93932 , p_source_79_meaning IN VARCHAR2
93933 --Third Party Type
93934 , p_source_82 IN VARCHAR2
93935 --Invoice Distribution Tax Line Identifier
93936 , p_source_85 IN NUMBER
93937 --Invoice Distribution Summary Tax Line Identifier
93938 , p_source_87 IN NUMBER
93939 --Business Flow Accounts Payable Application Identifier
93940 , p_source_90 IN NUMBER
93941 --When to Account for Payment Option
93942 , p_source_96 IN VARCHAR2
93943 --Payment Distribution Type
93944 , p_source_97 IN VARCHAR2
93945 , p_source_97_meaning IN VARCHAR2
93946 --Payment Distribution Amount
93947 , p_source_98 IN NUMBER
93948 --Business Flow Payment Distribution Type
93949 , p_source_99 IN VARCHAR2
93950 --Business Flow Payment Entity Code
93951 , p_source_100 IN VARCHAR2
93952 --Business Flow Payment Distribution Identifier
93953 , p_source_101 IN NUMBER
93954 --Business Flow Payment Identifier
93955 , p_source_102 IN NUMBER
93956 --Payment Distribution Identifier
93957 , p_source_103 IN NUMBER
93958 --Cleared Exchange Date
93959 , p_source_105 IN DATE
93960 --Cleared Exchange Rate
93961 , p_source_106 IN NUMBER
93965 , p_source_109 IN NUMBER
93962 --Cleared Exchange Rate Type
93963 , p_source_107 IN VARCHAR2
93964 --Payment Supplier Identifier
93966 --Payment Supplier Site Identifier
93967 , p_source_110 IN NUMBER
93968 --Payment Distribution Reversed Identifier
93969 , p_source_111 IN NUMBER
93970 --Payment Identifier
93971 , p_source_112 IN NUMBER
93972 --Gain or Loss Indicator between Invoice and Clearing
93973 , p_source_148 IN VARCHAR2
93974 --Invoice/Clearing Ledger Amount Difference
93975 , p_source_149 IN NUMBER
93976 )
93977 IS
93978
93979 l_component_type VARCHAR2(80);
93980 l_component_code VARCHAR2(30);
93981 l_component_type_code VARCHAR2(1);
93982 l_component_appl_id INTEGER;
93983 l_amb_context_code VARCHAR2(30);
93984 l_entity_code VARCHAR2(30);
93985 l_event_class_code VARCHAR2(30);
93986 l_ae_header_id NUMBER;
93987 l_event_type_code VARCHAR2(30);
93988 l_line_definition_code VARCHAR2(30);
93989 l_line_definition_owner_code VARCHAR2(1);
93990 --
93991 -- adr variables
93992 l_segment VARCHAR2(30);
93993 l_ccid NUMBER;
93994 l_adr_transaction_coa_id NUMBER;
93995 l_adr_accounting_coa_id NUMBER;
93996 l_adr_flexfield_segment_code VARCHAR2(30);
93997 l_adr_flex_value_set_id NUMBER;
93998 l_adr_value_type_code VARCHAR2(30);
93999 l_adr_value_combination_id NUMBER;
94000 l_adr_value_segment_code VARCHAR2(30);
94001
94002 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
94003 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
94004 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
94005 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
94006
94007 -- 4262811 Variables ------------------------------------------------------------------------------------------
94008 l_entered_amt_idx NUMBER;
94009 l_accted_amt_idx NUMBER;
94010 l_acc_rev_flag VARCHAR2(1);
94011 l_accrual_line_num NUMBER;
94012 l_tmp_amt NUMBER;
94013 l_acc_rev_natural_side_code VARCHAR2(1);
94014
94015 l_num_entries NUMBER;
94016 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
94017 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
94018 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
94019 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
94020 l_recog_line_1 NUMBER;
94021 l_recog_line_2 NUMBER;
94022
94023 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
94024 l_bflow_applied_to_amt NUMBER; -- 5132302
94025 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
94026
94027 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94028
94029 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94030 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94031
94032 ---------------------------------------------------------------------------------------------------------------
94033
94034
94035 --
94036 -- bulk performance
94037 --
94038 l_balance_type_code VARCHAR2(1);
94039 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94040 l_log_module VARCHAR2(240);
94041
94042 --
94043 -- Upgrade strategy
94044 --
94045 l_actual_upg_option VARCHAR2(1);
94046 l_enc_upg_option VARCHAR2(1);
94047
94048 --
94049 BEGIN
94050 --
94051 IF g_log_enabled THEN
94052 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_161';
94053 END IF;
94054 --
94055 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94056
94057 trace
94058 (p_msg => 'BEGIN of AcctLineType_161'
94059 ,p_level => C_LEVEL_PROCEDURE
94060 ,p_module => l_log_module);
94061
94062 END IF;
94063 --
94064 l_component_type := 'AMB_JLT';
94065 l_component_code := 'AP_LOSS_INV_CLEAR';
94066 l_component_type_code := 'S';
94067 l_component_appl_id := 200;
94068 l_amb_context_code := 'DEFAULT';
94069 l_entity_code := 'AP_PAYMENTS';
94070 l_event_class_code := 'RECONCILED PAYMENTS';
94071 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
94072 l_line_definition_owner_code := 'S';
94073 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
94074 --
94075 l_balance_type_code := 'A';
94076 l_segment := NULL;
94077 l_ccid := NULL;
94078 l_adr_transaction_coa_id := NULL;
94079 l_adr_accounting_coa_id := NULL;
94080 l_adr_flexfield_segment_code := NULL;
94081 l_adr_flex_value_set_id := NULL;
94082 l_adr_value_type_code := NULL;
94083 l_adr_value_combination_id := NULL;
94084 l_adr_value_segment_code := NULL;
94085
94086 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94087 l_bflow_class_code := ''; -- 4219869 Business Flow
94088 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94089 l_budgetary_control_flag := 'N';
94090
94094 l_accted_amt_idx := NULL; -- 4262811
94091 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94092 l_bflow_applied_to_amt := NULL; -- 5132302
94093 l_entered_amt_idx := NULL; -- 4262811
94095 l_acc_rev_flag := NULL; -- 4262811
94096 l_accrual_line_num := NULL; -- 4262811
94097 l_tmp_amt := NULL; -- 4262811
94098 --
94099 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
94100 (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
94101 return;
94102 END IF;
94103
94104 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94105 l_balance_type_code <> 'B' THEN
94106 IF (NVL(p_source_96,'
94107 ') = 'CLEAR_CLEAR' OR
94108 NVL(p_source_96,'
94109 ') = 'ALWAYS_CLEAR') AND
94110 NVL(p_source_148,'
94111 ') = 'LOSS' AND
94112 NVL(p_source_97,'
94113 ') <> 'EXCHANGE RATE VARIANCE' AND
94114 NVL(p_source_97,'
94115 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
94116 NVL(p_source_97,'
94117 ') <> 'BANK CHARGE' AND
94118 NVL(p_source_97,'
94119 ') <> 'BANK ERROR' AND
94120 NVL(p_source_97,'
94121 ') <> 'AWT'
94122 THEN
94123
94124 --
94125 XLA_AE_LINES_PKG.SetNewLine;
94126
94127 p_balance_type_code := l_balance_type_code;
94128 -- set the flag so later we will know whether the gain loss line needs to be created
94129
94130 IF(l_balance_type_code = 'A' ) THEN
94131 p_actual_flag :='G';
94132 END IF;
94133
94134 --
94135 -- bulk performance
94136 --
94137 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94138 p_header_num => 0); -- 4262811
94139 --
94140 -- set accounting line options
94141 --
94142 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94143 p_natural_side_code => 'C'
94144 , p_gain_or_loss_flag => 'Y'
94145 , p_gl_transfer_mode_code => 'S'
94146 , p_acct_entry_type_code => 'A'
94147 , p_switch_side_flag => 'Y'
94148 , p_merge_duplicate_code => 'A'
94149 );
94150 --
94151 l_acc_rev_natural_side_code := 'D'; -- 4262811
94152 --
94153 --
94154 -- set accounting line type info
94155 --
94156 xla_ae_lines_pkg.SetAcctLineType
94157 (p_component_type => l_component_type
94158 ,p_event_type_code => l_event_type_code
94159 ,p_line_definition_owner_code => l_line_definition_owner_code
94160 ,p_line_definition_code => l_line_definition_code
94161 ,p_accounting_line_code => l_component_code
94162 ,p_accounting_line_type_code => l_component_type_code
94163 ,p_accounting_line_appl_id => l_component_appl_id
94164 ,p_amb_context_code => l_amb_context_code
94165 ,p_entity_code => l_entity_code
94166 ,p_event_class_code => l_event_class_code);
94167 --
94168 -- set accounting class
94169 --
94170 xla_ae_lines_pkg.SetAcctClass(
94171 p_accounting_class_code => 'LOSS'
94172 , p_ae_header_id => l_ae_header_id
94173 );
94174
94175 --
94176 -- set rounding class
94177 --
94178 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94179 'LOSS';
94180
94181 --
94182 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94183 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94184 --
94185 -- bulk performance
94186 --
94187 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94188
94189 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94190 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94191
94192 -- 4955764
94193 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94194 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94195
94196 -- 4458381 Public Sector Enh
94197
94198 --
94199 -- set accounting attributes for the line type
94200 --
94201 l_entered_amt_idx := 10;
94202 l_accted_amt_idx := 15;
94203 l_bflow_applied_to_amt_idx := 2; -- 5132302
94204 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
94205 l_rec_acct_attrs.array_char_value(1) := p_source_52;
94206 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
94207 l_rec_acct_attrs.array_num_value(2) := p_source_98;
94208 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
94209 l_rec_acct_attrs.array_num_value(3) := p_source_90;
94210 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
94211 l_rec_acct_attrs.array_char_value(4) := p_source_99;
94212 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
94213 l_rec_acct_attrs.array_char_value(5) := p_source_100;
94217 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
94214 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
94215 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
94216 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
94218 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
94219 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
94220 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
94221 l_rec_acct_attrs.array_char_value(9) := p_source_54;
94222 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
94223 l_rec_acct_attrs.array_num_value(10) := p_source_98;
94224 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
94225 l_rec_acct_attrs.array_char_value(11) := p_source_13;
94226 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
94227 l_rec_acct_attrs.array_date_value(12) := p_source_105;
94228 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
94229 l_rec_acct_attrs.array_num_value(13) := p_source_106;
94230 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
94231 l_rec_acct_attrs.array_char_value(14) := p_source_107;
94232 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
94233 l_rec_acct_attrs.array_num_value(15) := p_source_149;
94234 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
94235 l_rec_acct_attrs.array_char_value(16) := p_source_79;
94236 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
94237 l_rec_acct_attrs.array_num_value(17) := p_source_109;
94238 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
94239 l_rec_acct_attrs.array_num_value(18) := p_source_110;
94240 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
94241 l_rec_acct_attrs.array_char_value(19) := p_source_82;
94242 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
94243 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
94244 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
94245 l_rec_acct_attrs.array_char_value(21) := p_source_54;
94246 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
94247 l_rec_acct_attrs.array_num_value(22) := p_source_85;
94248 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
94249 l_rec_acct_attrs.array_num_value(23) := p_source_85;
94250 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
94251 l_rec_acct_attrs.array_num_value(24) := p_source_87;
94252
94253 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
94254 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
94255
94256 ---------------------------------------------------------------------------------------------------------------
94257 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
94258 ---------------------------------------------------------------------------------------------------------------
94259 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
94260
94261 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94262 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94263
94264 IF xla_accounting_cache_pkg.GetValueChar
94265 (p_source_code => 'LEDGER_CATEGORY_CODE'
94266 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
94267 AND l_bflow_method_code = 'PRIOR_ENTRY'
94268 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
94269 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
94270 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
94271 )
94272 THEN
94273 xla_ae_lines_pkg.BflowUpgEntry
94274 (p_business_method_code => l_bflow_method_code
94275 ,p_business_class_code => l_bflow_class_code
94276 ,p_balance_type => l_balance_type_code);
94277 ELSE
94278 NULL;
94279 -- No business flow processing for business flow method of NONE.
94280 END IF;
94281
94282 --
94283 -- call analytical criteria
94284 --
94285
94286
94287 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
94288 xla_ae_lines_pkg.SetAnalyticalCriteria(
94289 p_analytical_criterion_name => 'Check Id'
94290 , p_analytical_criterion_owner => 'S'
94291 , p_analytical_criterion_code => 'CHECK_ID'
94292 , p_amb_context_code => 'DEFAULT'
94293 , p_balancing_flag => 'N'
94294
94295 , p_analytical_detail_char_1 => NULL
94296 , p_analytical_detail_num_1 => p_source_112
94297 , p_analytical_detail_date_1 => NULL
94298
94299 , p_ae_header_id => l_ae_header_id
94300 )
94301 ;
94302 --
94303
94304 --
94305 -- call description
94306 --
94307 -- No description or it is inherited.
94308 --
94309 -- call ADRs
94310 -- Bug 4922099
94311 --
94312 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94313 (NVL(l_actual_upg_option, 'N') = 'O') OR
94314 (NVL(l_enc_upg_option, 'N') = 'O')
94315 )
94316 THEN
94317 NULL;
94318 --
94319 --
94320
94324 , p_source_15 => p_source_15
94321 l_ccid := AcctDerRule_38(
94322 p_application_id => p_application_id
94323 , p_ae_header_id => l_ae_header_id
94325 , p_source_15_meaning => p_source_15_meaning
94326 , p_source_30 => p_source_30
94327 , p_source_38 => p_source_38
94328 , p_source_39 => p_source_39
94329 , x_transaction_coa_id => l_adr_transaction_coa_id
94330 , x_accounting_coa_id => l_adr_accounting_coa_id
94331 , x_value_type_code => l_adr_value_type_code
94332 , p_side => 'NA'
94333 );
94334
94335 xla_ae_lines_pkg.set_ccid(
94336 p_code_combination_id => l_ccid
94337 , p_value_type_code => l_adr_value_type_code
94338 , p_transaction_coa_id => l_adr_transaction_coa_id
94339 , p_accounting_coa_id => l_adr_accounting_coa_id
94340 , p_adr_code => 'AP_REAL_LOSS'
94341 , p_adr_type_code => 'S'
94342 , p_component_type => l_component_type
94343 , p_component_code => l_component_code
94344 , p_component_type_code => l_component_type_code
94345 , p_component_appl_id => l_component_appl_id
94346 , p_amb_context_code => l_amb_context_code
94347 , p_side => 'NA'
94348 );
94349
94350
94351 l_segment := AcctDerRule_22(
94352 p_application_id => p_application_id
94353 , p_ae_header_id => l_ae_header_id
94354 , p_source_15 => p_source_15
94355 , p_source_15_meaning => p_source_15_meaning
94356 , p_source_30 => p_source_30
94357 , x_transaction_coa_id => l_adr_transaction_coa_id
94358 , x_accounting_coa_id => l_adr_accounting_coa_id
94359 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94360 , x_flex_value_set_id => l_adr_flex_value_set_id
94361 , x_value_type_code => l_adr_value_type_code
94362 , x_value_combination_id => l_adr_value_combination_id
94363 , x_value_segment_code => l_adr_value_segment_code
94364 , p_side => 'NA'
94365 , p_override_seg_flag => 'Y'
94366 );
94367
94368 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94369
94370 xla_ae_lines_pkg.set_segment(
94371 p_to_segment_code => 'GL_BALANCING'
94372 , p_segment_value => l_segment
94373 , p_from_segment_code => l_adr_value_segment_code
94374 , p_from_combination_id => l_adr_value_combination_id
94375 , p_value_type_code => l_adr_value_type_code
94376 , p_transaction_coa_id => l_adr_transaction_coa_id
94377 , p_accounting_coa_id => l_adr_accounting_coa_id
94378 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94379 , p_flex_value_set_id => l_adr_flex_value_set_id
94380 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94381 , p_adr_type_code => 'S'
94382 , p_component_type => l_component_type
94383 , p_component_code => l_component_code
94384 , p_component_type_code => l_component_type_code
94385 , p_component_appl_id => l_component_appl_id
94386 , p_amb_context_code => l_amb_context_code
94387 , p_entity_code => 'AP_PAYMENTS'
94388 , p_event_class_code => 'RECONCILED PAYMENTS'
94389 , p_side => 'NA'
94390 );
94391
94392 END IF;
94393
94394 l_segment := AcctDerRule_18(
94395 p_application_id => p_application_id
94396 , p_ae_header_id => l_ae_header_id
94397 , p_source_15 => p_source_15
94398 , p_source_15_meaning => p_source_15_meaning
94399 , p_source_38 => p_source_38
94400 , p_source_39 => p_source_39
94401 , x_transaction_coa_id => l_adr_transaction_coa_id
94402 , x_accounting_coa_id => l_adr_accounting_coa_id
94403 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94404 , x_flex_value_set_id => l_adr_flex_value_set_id
94405 , x_value_type_code => l_adr_value_type_code
94406 , x_value_combination_id => l_adr_value_combination_id
94407 , x_value_segment_code => l_adr_value_segment_code
94408 , p_side => 'NA'
94409 , p_override_seg_flag => 'Y'
94410 );
94411
94412 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94413
94414 xla_ae_lines_pkg.set_segment(
94415 p_to_segment_code => 'GL_ACCOUNT'
94416 , p_segment_value => l_segment
94417 , p_from_segment_code => l_adr_value_segment_code
94418 , p_from_combination_id => l_adr_value_combination_id
94419 , p_value_type_code => l_adr_value_type_code
94420 , p_transaction_coa_id => l_adr_transaction_coa_id
94421 , p_accounting_coa_id => l_adr_accounting_coa_id
94422 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94423 , p_flex_value_set_id => l_adr_flex_value_set_id
94424 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94425 , p_adr_type_code => 'S'
94426 , p_component_type => l_component_type
94427 , p_component_code => l_component_code
94428 , p_component_type_code => l_component_type_code
94429 , p_component_appl_id => l_component_appl_id
94433 , p_side => 'NA'
94430 , p_amb_context_code => l_amb_context_code
94431 , p_entity_code => 'AP_PAYMENTS'
94432 , p_event_class_code => 'RECONCILED PAYMENTS'
94434 );
94435
94436 END IF;
94437
94438 --
94439 --
94440 END IF;
94441 --
94442 -- Bug 4922099
94443 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
94444 (NVL(l_enc_upg_option, 'N') = 'O')
94445 ) AND
94446 (l_bflow_method_code = 'PRIOR_ENTRY')
94447 )
94448 THEN
94449 IF
94450 --
94451 1 = 2
94452 --
94453 THEN
94454 xla_accounting_err_pkg.build_message
94455 (p_appli_s_name => 'XLA'
94456 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94457 ,p_token_1 => 'LINE_NUMBER'
94458 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94459 ,p_token_2 => 'LINE_TYPE_NAME'
94460 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94461 l_component_type
94462 ,l_component_code
94463 ,l_component_type_code
94464 ,l_component_appl_id
94465 ,l_amb_context_code
94466 ,l_entity_code
94467 ,l_event_class_code
94468 )
94469 ,p_token_3 => 'OWNER'
94470 ,p_value_3 => xla_lookups_pkg.get_meaning(
94471 p_lookup_type => 'XLA_OWNER_TYPE'
94472 ,p_lookup_code => l_component_type_code
94473 )
94474 ,p_token_4 => 'PRODUCT_NAME'
94475 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94476 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94477 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94478 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94479 ,p_ae_header_id => NULL
94480 );
94481
94482 IF (C_LEVEL_ERROR>= g_log_level) THEN
94483 trace
94484 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94485 ,p_level => C_LEVEL_ERROR
94486 ,p_module => l_log_module);
94487 END IF;
94488 END IF;
94489 END IF;
94490 --
94491 --
94492 ------------------------------------------------------------------------------------------------
94493 -- 4219869 Business Flow
94494 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94495 -- Prior Entry. Currently, the following code is always generated.
94496 ------------------------------------------------------------------------------------------------
94497 XLA_AE_LINES_PKG.ValidateCurrentLine;
94498
94499 ------------------------------------------------------------------------------------
94500 -- 4219869 Business Flow
94501 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94502 ------------------------------------------------------------------------------------
94503 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94504
94505 ----------------------------------------------------------------------------------
94506 -- 4219869 Business Flow
94507 -- Update journal entry status -- Need to generate this within IF <condition>
94508 ----------------------------------------------------------------------------------
94509 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94510 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94511 ,p_balance_type_code => l_balance_type_code
94512 );
94513
94514 -------------------------------------------------------------------------------------------
94515 -- 4262811 - Generate the Accrual Reversal lines
94516 -------------------------------------------------------------------------------------------
94517 BEGIN
94518 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94519 (g_array_event(p_event_id).array_value_num('header_index'));
94520 IF l_acc_rev_flag IS NULL THEN
94521 l_acc_rev_flag := 'N';
94522 END IF;
94523 EXCEPTION
94524 WHEN OTHERS THEN
94525 l_acc_rev_flag := 'N';
94526 END;
94527 --
94528 IF (l_acc_rev_flag = 'Y') THEN
94529
94533 ------------------------------------------------------------------------------------------
94530 -- 4645092 ------------------------------------------------------------------------------
94531 -- To allow MPA report to determine if it should generate report process
94532 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94534
94535 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94536 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94537 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94538 -- call ADRs
94539 -- Bug 4922099
94540 --
94541 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94542 (NVL(l_actual_upg_option, 'N') = 'O') OR
94543 (NVL(l_enc_upg_option, 'N') = 'O')
94544 )
94545 THEN
94546 NULL;
94547 --
94548 --
94549
94550 l_ccid := AcctDerRule_38(
94551 p_application_id => p_application_id
94552 , p_ae_header_id => l_ae_header_id
94553 , p_source_15 => p_source_15
94554 , p_source_15_meaning => p_source_15_meaning
94555 , p_source_30 => p_source_30
94556 , p_source_38 => p_source_38
94557 , p_source_39 => p_source_39
94558 , x_transaction_coa_id => l_adr_transaction_coa_id
94559 , x_accounting_coa_id => l_adr_accounting_coa_id
94560 , x_value_type_code => l_adr_value_type_code
94561 , p_side => 'NA'
94562 );
94563
94564 xla_ae_lines_pkg.set_ccid(
94565 p_code_combination_id => l_ccid
94566 , p_value_type_code => l_adr_value_type_code
94567 , p_transaction_coa_id => l_adr_transaction_coa_id
94568 , p_accounting_coa_id => l_adr_accounting_coa_id
94569 , p_adr_code => 'AP_REAL_LOSS'
94570 , p_adr_type_code => 'S'
94571 , p_component_type => l_component_type
94572 , p_component_code => l_component_code
94573 , p_component_type_code => l_component_type_code
94574 , p_component_appl_id => l_component_appl_id
94575 , p_amb_context_code => l_amb_context_code
94576 , p_side => 'NA'
94577 );
94578
94579
94580 l_segment := AcctDerRule_22(
94581 p_application_id => p_application_id
94582 , p_ae_header_id => l_ae_header_id
94583 , p_source_15 => p_source_15
94584 , p_source_15_meaning => p_source_15_meaning
94585 , p_source_30 => p_source_30
94586 , x_transaction_coa_id => l_adr_transaction_coa_id
94587 , x_accounting_coa_id => l_adr_accounting_coa_id
94588 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94589 , x_flex_value_set_id => l_adr_flex_value_set_id
94590 , x_value_type_code => l_adr_value_type_code
94591 , x_value_combination_id => l_adr_value_combination_id
94592 , x_value_segment_code => l_adr_value_segment_code
94593 , p_side => 'NA'
94594 , p_override_seg_flag => 'Y'
94595 );
94596
94597 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94598
94599 xla_ae_lines_pkg.set_segment(
94600 p_to_segment_code => 'GL_BALANCING'
94601 , p_segment_value => l_segment
94602 , p_from_segment_code => l_adr_value_segment_code
94603 , p_from_combination_id => l_adr_value_combination_id
94604 , p_value_type_code => l_adr_value_type_code
94605 , p_transaction_coa_id => l_adr_transaction_coa_id
94606 , p_accounting_coa_id => l_adr_accounting_coa_id
94607 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94608 , p_flex_value_set_id => l_adr_flex_value_set_id
94609 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94610 , p_adr_type_code => 'S'
94611 , p_component_type => l_component_type
94612 , p_component_code => l_component_code
94613 , p_component_type_code => l_component_type_code
94614 , p_component_appl_id => l_component_appl_id
94615 , p_amb_context_code => l_amb_context_code
94616 , p_entity_code => 'AP_PAYMENTS'
94617 , p_event_class_code => 'RECONCILED PAYMENTS'
94618 , p_side => 'NA'
94619 );
94620
94621 END IF;
94622
94623 l_segment := AcctDerRule_18(
94624 p_application_id => p_application_id
94625 , p_ae_header_id => l_ae_header_id
94626 , p_source_15 => p_source_15
94627 , p_source_15_meaning => p_source_15_meaning
94628 , p_source_38 => p_source_38
94629 , p_source_39 => p_source_39
94630 , x_transaction_coa_id => l_adr_transaction_coa_id
94631 , x_accounting_coa_id => l_adr_accounting_coa_id
94632 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94633 , x_flex_value_set_id => l_adr_flex_value_set_id
94634 , x_value_type_code => l_adr_value_type_code
94635 , x_value_combination_id => l_adr_value_combination_id
94636 , x_value_segment_code => l_adr_value_segment_code
94637 , p_side => 'NA'
94638 , p_override_seg_flag => 'Y'
94639 );
94640
94641 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94642
94643 xla_ae_lines_pkg.set_segment(
94644 p_to_segment_code => 'GL_ACCOUNT'
94648 , p_value_type_code => l_adr_value_type_code
94645 , p_segment_value => l_segment
94646 , p_from_segment_code => l_adr_value_segment_code
94647 , p_from_combination_id => l_adr_value_combination_id
94649 , p_transaction_coa_id => l_adr_transaction_coa_id
94650 , p_accounting_coa_id => l_adr_accounting_coa_id
94651 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94652 , p_flex_value_set_id => l_adr_flex_value_set_id
94653 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94654 , p_adr_type_code => 'S'
94655 , p_component_type => l_component_type
94656 , p_component_code => l_component_code
94657 , p_component_type_code => l_component_type_code
94658 , p_component_appl_id => l_component_appl_id
94659 , p_amb_context_code => l_amb_context_code
94660 , p_entity_code => 'AP_PAYMENTS'
94661 , p_event_class_code => 'RECONCILED PAYMENTS'
94662 , p_side => 'NA'
94663 );
94664
94665 END IF;
94666
94667 --
94668 --
94669 END IF;
94670
94671 --
94672 -- Update the line information that should be overwritten
94673 --
94674 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94675 p_header_num => 1);
94676 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94677
94678 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94679
94680 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94681 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94682 END IF;
94683
94684 --
94685 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94686 --
94687 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94688 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94689 ELSE
94690 ---------------------------------------------------------------------------------------------------
94691 -- 4262811a Switch Sign
94692 ---------------------------------------------------------------------------------------------------
94693 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94694 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94695 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94696 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94697 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94698 -- 5132302
94699 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94700 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94701
94702 END IF;
94703
94704 -- 4955764
94705 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94706 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
94707
94708
94709 XLA_AE_LINES_PKG.ValidateCurrentLine;
94710 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94711
94712 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94713 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
94714 ,p_balance_type_code => l_balance_type_code);
94715
94716 END IF;
94717
94718 -----------------------------------------------------------------------------------------
94719 -- 4262811 Multiperiod Accounting
94720 -----------------------------------------------------------------------------------------
94721 -- No MPA option is assigned.
94722
94723
94724 END IF;
94725 END IF;
94726 --
94727
94728 --
94729 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94730 trace
94731 (p_msg => 'END of AcctLineType_161'
94732 ,p_level => C_LEVEL_PROCEDURE
94733 ,p_module => l_log_module);
94734 END IF;
94735 --
94736 EXCEPTION
94737 WHEN xla_exceptions_pkg.application_exception THEN
94738 RAISE;
94739 WHEN OTHERS THEN
94740 xla_exceptions_pkg.raise_message
94741 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_161');
94742 END AcctLineType_161;
94743 --
94744
94745 ---------------------------------------
94746 --
94747 -- PRIVATE FUNCTION
94748 -- AcctLineType_162
94749 --
94750 ---------------------------------------
94751 PROCEDURE AcctLineType_162 (
94752 p_application_id IN NUMBER
94753 ,p_event_id IN NUMBER
94754 ,p_calculate_acctd_flag IN VARCHAR2
94755 ,p_calculate_g_l_flag IN VARCHAR2
94756 ,p_actual_flag IN OUT VARCHAR2
94757 ,p_balance_type_code OUT VARCHAR2
94758 ,p_gain_or_loss_ref OUT VARCHAR2
94759
94760 --Payment Currency Code
94764 , p_source_15_meaning IN VARCHAR2
94761 , p_source_13 IN VARCHAR2
94762 --Automatic Offsets Value
94763 , p_source_15 IN VARCHAR2
94765 --Invoice Distribution Account
94766 , p_source_30 IN NUMBER
94767 --Internal Realized Loss Account
94768 , p_source_38 IN NUMBER
94769 --Bank Loss Account
94770 , p_source_39 IN NUMBER
94771 --Accounting Reversal Indicator
94772 , p_source_52 IN VARCHAR2
94773 --Distribution Link Type
94774 , p_source_54 IN VARCHAR2
94775 --Override Accounted Amount Indicator
94776 , p_source_79 IN VARCHAR2
94777 , p_source_79_meaning IN VARCHAR2
94778 --Third Party Type
94779 , p_source_82 IN VARCHAR2
94780 --Invoice Distribution Tax Line Identifier
94781 , p_source_85 IN NUMBER
94782 --Invoice Distribution Summary Tax Line Identifier
94783 , p_source_87 IN NUMBER
94784 --Business Flow Accounts Payable Application Identifier
94785 , p_source_90 IN NUMBER
94786 --When to Account for Payment Option
94787 , p_source_96 IN VARCHAR2
94788 --Payment Distribution Type
94789 , p_source_97 IN VARCHAR2
94790 , p_source_97_meaning IN VARCHAR2
94791 --Payment Distribution Amount
94792 , p_source_98 IN NUMBER
94793 --Business Flow Payment Distribution Type
94794 , p_source_99 IN VARCHAR2
94795 --Business Flow Payment Entity Code
94796 , p_source_100 IN VARCHAR2
94797 --Business Flow Payment Distribution Identifier
94798 , p_source_101 IN NUMBER
94799 --Business Flow Payment Identifier
94800 , p_source_102 IN NUMBER
94801 --Payment Distribution Identifier
94802 , p_source_103 IN NUMBER
94803 --Cleared Exchange Date
94804 , p_source_105 IN DATE
94805 --Cleared Exchange Rate
94806 , p_source_106 IN NUMBER
94807 --Cleared Exchange Rate Type
94808 , p_source_107 IN VARCHAR2
94809 --Payment Supplier Identifier
94810 , p_source_109 IN NUMBER
94811 --Payment Supplier Site Identifier
94812 , p_source_110 IN NUMBER
94813 --Payment Distribution Reversed Identifier
94814 , p_source_111 IN NUMBER
94815 --Payment Identifier
94816 , p_source_112 IN NUMBER
94817 --Payment Maturity Date
94818 , p_source_114 IN DATE
94819 --Gain or Loss Indicator between Maturity and Clearing
94820 , p_source_153 IN VARCHAR2
94821 --Maturity/Clearing Ledger Amount Difference
94822 , p_source_154 IN NUMBER
94823 )
94824 IS
94825
94826 l_component_type VARCHAR2(80);
94827 l_component_code VARCHAR2(30);
94828 l_component_type_code VARCHAR2(1);
94829 l_component_appl_id INTEGER;
94830 l_amb_context_code VARCHAR2(30);
94831 l_entity_code VARCHAR2(30);
94832 l_event_class_code VARCHAR2(30);
94833 l_ae_header_id NUMBER;
94834 l_event_type_code VARCHAR2(30);
94835 l_line_definition_code VARCHAR2(30);
94836 l_line_definition_owner_code VARCHAR2(1);
94837 --
94838 -- adr variables
94839 l_segment VARCHAR2(30);
94840 l_ccid NUMBER;
94841 l_adr_transaction_coa_id NUMBER;
94842 l_adr_accounting_coa_id NUMBER;
94843 l_adr_flexfield_segment_code VARCHAR2(30);
94844 l_adr_flex_value_set_id NUMBER;
94845 l_adr_value_type_code VARCHAR2(30);
94846 l_adr_value_combination_id NUMBER;
94847 l_adr_value_segment_code VARCHAR2(30);
94848
94849 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
94850 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
94851 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
94852 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
94853
94854 -- 4262811 Variables ------------------------------------------------------------------------------------------
94855 l_entered_amt_idx NUMBER;
94856 l_accted_amt_idx NUMBER;
94857 l_acc_rev_flag VARCHAR2(1);
94858 l_accrual_line_num NUMBER;
94859 l_tmp_amt NUMBER;
94860 l_acc_rev_natural_side_code VARCHAR2(1);
94861
94862 l_num_entries NUMBER;
94863 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
94864 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
94865 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
94866 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
94867 l_recog_line_1 NUMBER;
94868 l_recog_line_2 NUMBER;
94869
94870 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
94871 l_bflow_applied_to_amt NUMBER; -- 5132302
94872 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
94873
94874 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94875
94876 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94877 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94878
94879 ---------------------------------------------------------------------------------------------------------------
94880
94881
94882 --
94883 -- bulk performance
94884 --
94888
94885 l_balance_type_code VARCHAR2(1);
94886 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94887 l_log_module VARCHAR2(240);
94889 --
94890 -- Upgrade strategy
94891 --
94892 l_actual_upg_option VARCHAR2(1);
94893 l_enc_upg_option VARCHAR2(1);
94894
94895 --
94896 BEGIN
94897 --
94898 IF g_log_enabled THEN
94899 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_162';
94900 END IF;
94901 --
94902 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94903
94904 trace
94905 (p_msg => 'BEGIN of AcctLineType_162'
94906 ,p_level => C_LEVEL_PROCEDURE
94907 ,p_module => l_log_module);
94908
94909 END IF;
94910 --
94911 l_component_type := 'AMB_JLT';
94912 l_component_code := 'AP_LOSS_MAT_CLEAR';
94913 l_component_type_code := 'S';
94914 l_component_appl_id := 200;
94915 l_amb_context_code := 'DEFAULT';
94916 l_entity_code := 'AP_PAYMENTS';
94917 l_event_class_code := 'RECONCILED PAYMENTS';
94918 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
94919 l_line_definition_owner_code := 'S';
94920 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
94921 --
94922 l_balance_type_code := 'A';
94923 l_segment := NULL;
94924 l_ccid := NULL;
94925 l_adr_transaction_coa_id := NULL;
94926 l_adr_accounting_coa_id := NULL;
94927 l_adr_flexfield_segment_code := NULL;
94928 l_adr_flex_value_set_id := NULL;
94929 l_adr_value_type_code := NULL;
94930 l_adr_value_combination_id := NULL;
94931 l_adr_value_segment_code := NULL;
94932
94933 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94934 l_bflow_class_code := ''; -- 4219869 Business Flow
94935 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94936 l_budgetary_control_flag := 'N';
94937
94938 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94939 l_bflow_applied_to_amt := NULL; -- 5132302
94940 l_entered_amt_idx := NULL; -- 4262811
94941 l_accted_amt_idx := NULL; -- 4262811
94942 l_acc_rev_flag := NULL; -- 4262811
94943 l_accrual_line_num := NULL; -- 4262811
94944 l_tmp_amt := NULL; -- 4262811
94945 --
94946 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
94947 (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
94948 return;
94949 END IF;
94950
94951 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94952 l_balance_type_code <> 'B' THEN
94953 IF NVL(p_source_96,'
94954 ') = 'ALWAYS_ALWAYS' AND
94955 p_source_114 IS NOT NULL AND
94956 NVL(p_source_153,'
94957 ') = 'LOSS' AND
94958 NVL(p_source_97,'
94959 ') <> 'EXCHANGE RATE VARIANCE' AND
94960 NVL(p_source_97,'
94961 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
94962 NVL(p_source_97,'
94963 ') <> 'BANK CHARGE' AND
94964 NVL(p_source_97,'
94965 ') <> 'BANK ERROR'
94966 THEN
94967
94968 --
94969 XLA_AE_LINES_PKG.SetNewLine;
94970
94971 p_balance_type_code := l_balance_type_code;
94972 -- set the flag so later we will know whether the gain loss line needs to be created
94973
94974 IF(l_balance_type_code = 'A' ) THEN
94975 p_actual_flag :='G';
94976 END IF;
94977
94978 --
94979 -- bulk performance
94980 --
94981 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94982 p_header_num => 0); -- 4262811
94983 --
94984 -- set accounting line options
94985 --
94986 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94987 p_natural_side_code => 'C'
94988 , p_gain_or_loss_flag => 'Y'
94989 , p_gl_transfer_mode_code => 'S'
94990 , p_acct_entry_type_code => 'A'
94991 , p_switch_side_flag => 'Y'
94992 , p_merge_duplicate_code => 'A'
94993 );
94994 --
94995 l_acc_rev_natural_side_code := 'D'; -- 4262811
94996 --
94997 --
94998 -- set accounting line type info
94999 --
95000 xla_ae_lines_pkg.SetAcctLineType
95001 (p_component_type => l_component_type
95002 ,p_event_type_code => l_event_type_code
95003 ,p_line_definition_owner_code => l_line_definition_owner_code
95004 ,p_line_definition_code => l_line_definition_code
95005 ,p_accounting_line_code => l_component_code
95006 ,p_accounting_line_type_code => l_component_type_code
95007 ,p_accounting_line_appl_id => l_component_appl_id
95008 ,p_amb_context_code => l_amb_context_code
95009 ,p_entity_code => l_entity_code
95010 ,p_event_class_code => l_event_class_code);
95011 --
95012 -- set accounting class
95013 --
95014 xla_ae_lines_pkg.SetAcctClass(
95015 p_accounting_class_code => 'LOSS'
95016 , p_ae_header_id => l_ae_header_id
95017 );
95018
95022 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
95019 --
95020 -- set rounding class
95021 --
95023 'LOSS';
95024
95025 --
95026 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
95027 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
95028 --
95029 -- bulk performance
95030 --
95031 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
95032
95033 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
95034 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
95035
95036 -- 4955764
95037 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95038 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
95039
95040 -- 4458381 Public Sector Enh
95041
95042 --
95043 -- set accounting attributes for the line type
95044 --
95045 l_entered_amt_idx := 10;
95046 l_accted_amt_idx := 15;
95047 l_bflow_applied_to_amt_idx := 2; -- 5132302
95048 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95049 l_rec_acct_attrs.array_char_value(1) := p_source_52;
95050 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
95051 l_rec_acct_attrs.array_num_value(2) := p_source_98;
95052 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
95053 l_rec_acct_attrs.array_num_value(3) := p_source_90;
95054 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95055 l_rec_acct_attrs.array_char_value(4) := p_source_99;
95056 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
95057 l_rec_acct_attrs.array_char_value(5) := p_source_100;
95058 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
95059 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
95060 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95061 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
95062 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
95063 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
95064 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
95065 l_rec_acct_attrs.array_char_value(9) := p_source_54;
95066 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
95067 l_rec_acct_attrs.array_num_value(10) := p_source_98;
95068 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
95069 l_rec_acct_attrs.array_char_value(11) := p_source_13;
95070 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
95071 l_rec_acct_attrs.array_date_value(12) := p_source_105;
95072 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
95073 l_rec_acct_attrs.array_num_value(13) := p_source_106;
95074 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
95075 l_rec_acct_attrs.array_char_value(14) := p_source_107;
95076 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
95077 l_rec_acct_attrs.array_num_value(15) := p_source_154;
95078 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
95079 l_rec_acct_attrs.array_char_value(16) := p_source_79;
95080 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
95081 l_rec_acct_attrs.array_num_value(17) := p_source_109;
95082 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
95083 l_rec_acct_attrs.array_num_value(18) := p_source_110;
95084 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
95085 l_rec_acct_attrs.array_char_value(19) := p_source_82;
95086 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
95087 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
95088 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
95089 l_rec_acct_attrs.array_char_value(21) := p_source_54;
95090 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
95091 l_rec_acct_attrs.array_num_value(22) := p_source_85;
95092 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
95093 l_rec_acct_attrs.array_num_value(23) := p_source_85;
95094 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
95095 l_rec_acct_attrs.array_num_value(24) := p_source_87;
95096
95097 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95098 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95099
95100 ---------------------------------------------------------------------------------------------------------------
95101 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95102 ---------------------------------------------------------------------------------------------------------------
95103 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95104
95105 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95106 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95107
95108 IF xla_accounting_cache_pkg.GetValueChar
95109 (p_source_code => 'LEDGER_CATEGORY_CODE'
95110 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95111 AND l_bflow_method_code = 'PRIOR_ENTRY'
95115 )
95112 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95113 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95114 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95116 THEN
95117 xla_ae_lines_pkg.BflowUpgEntry
95118 (p_business_method_code => l_bflow_method_code
95119 ,p_business_class_code => l_bflow_class_code
95120 ,p_balance_type => l_balance_type_code);
95121 ELSE
95122 NULL;
95123 -- No business flow processing for business flow method of NONE.
95124 END IF;
95125
95126 --
95127 -- call analytical criteria
95128 --
95129
95130
95131 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
95132 xla_ae_lines_pkg.SetAnalyticalCriteria(
95133 p_analytical_criterion_name => 'Check Id'
95134 , p_analytical_criterion_owner => 'S'
95135 , p_analytical_criterion_code => 'CHECK_ID'
95136 , p_amb_context_code => 'DEFAULT'
95137 , p_balancing_flag => 'N'
95138
95139 , p_analytical_detail_char_1 => NULL
95140 , p_analytical_detail_num_1 => p_source_112
95141 , p_analytical_detail_date_1 => NULL
95142
95143 , p_ae_header_id => l_ae_header_id
95144 )
95145 ;
95146 --
95147
95148 --
95149 -- call description
95150 --
95151 -- No description or it is inherited.
95152 --
95153 -- call ADRs
95154 -- Bug 4922099
95155 --
95156 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95157 (NVL(l_actual_upg_option, 'N') = 'O') OR
95158 (NVL(l_enc_upg_option, 'N') = 'O')
95159 )
95160 THEN
95161 NULL;
95162 --
95163 --
95164
95165 l_ccid := AcctDerRule_38(
95166 p_application_id => p_application_id
95167 , p_ae_header_id => l_ae_header_id
95168 , p_source_15 => p_source_15
95169 , p_source_15_meaning => p_source_15_meaning
95170 , p_source_30 => p_source_30
95171 , p_source_38 => p_source_38
95172 , p_source_39 => p_source_39
95173 , x_transaction_coa_id => l_adr_transaction_coa_id
95174 , x_accounting_coa_id => l_adr_accounting_coa_id
95175 , x_value_type_code => l_adr_value_type_code
95176 , p_side => 'NA'
95177 );
95178
95179 xla_ae_lines_pkg.set_ccid(
95180 p_code_combination_id => l_ccid
95181 , p_value_type_code => l_adr_value_type_code
95182 , p_transaction_coa_id => l_adr_transaction_coa_id
95183 , p_accounting_coa_id => l_adr_accounting_coa_id
95184 , p_adr_code => 'AP_REAL_LOSS'
95185 , p_adr_type_code => 'S'
95186 , p_component_type => l_component_type
95187 , p_component_code => l_component_code
95188 , p_component_type_code => l_component_type_code
95189 , p_component_appl_id => l_component_appl_id
95190 , p_amb_context_code => l_amb_context_code
95191 , p_side => 'NA'
95192 );
95193
95194
95195 l_segment := AcctDerRule_22(
95196 p_application_id => p_application_id
95197 , p_ae_header_id => l_ae_header_id
95198 , p_source_15 => p_source_15
95199 , p_source_15_meaning => p_source_15_meaning
95200 , p_source_30 => p_source_30
95201 , x_transaction_coa_id => l_adr_transaction_coa_id
95202 , x_accounting_coa_id => l_adr_accounting_coa_id
95203 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95204 , x_flex_value_set_id => l_adr_flex_value_set_id
95205 , x_value_type_code => l_adr_value_type_code
95206 , x_value_combination_id => l_adr_value_combination_id
95207 , x_value_segment_code => l_adr_value_segment_code
95208 , p_side => 'NA'
95209 , p_override_seg_flag => 'Y'
95210 );
95211
95212 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95213
95214 xla_ae_lines_pkg.set_segment(
95215 p_to_segment_code => 'GL_BALANCING'
95216 , p_segment_value => l_segment
95217 , p_from_segment_code => l_adr_value_segment_code
95218 , p_from_combination_id => l_adr_value_combination_id
95219 , p_value_type_code => l_adr_value_type_code
95220 , p_transaction_coa_id => l_adr_transaction_coa_id
95221 , p_accounting_coa_id => l_adr_accounting_coa_id
95222 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95223 , p_flex_value_set_id => l_adr_flex_value_set_id
95224 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95225 , p_adr_type_code => 'S'
95226 , p_component_type => l_component_type
95227 , p_component_code => l_component_code
95228 , p_component_type_code => l_component_type_code
95229 , p_component_appl_id => l_component_appl_id
95230 , p_amb_context_code => l_amb_context_code
95231 , p_entity_code => 'AP_PAYMENTS'
95232 , p_event_class_code => 'RECONCILED PAYMENTS'
95233 , p_side => 'NA'
95234 );
95235
95236 END IF;
95237
95238 l_segment := AcctDerRule_18(
95239 p_application_id => p_application_id
95243 , p_source_38 => p_source_38
95240 , p_ae_header_id => l_ae_header_id
95241 , p_source_15 => p_source_15
95242 , p_source_15_meaning => p_source_15_meaning
95244 , p_source_39 => p_source_39
95245 , x_transaction_coa_id => l_adr_transaction_coa_id
95246 , x_accounting_coa_id => l_adr_accounting_coa_id
95247 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95248 , x_flex_value_set_id => l_adr_flex_value_set_id
95249 , x_value_type_code => l_adr_value_type_code
95250 , x_value_combination_id => l_adr_value_combination_id
95251 , x_value_segment_code => l_adr_value_segment_code
95252 , p_side => 'NA'
95253 , p_override_seg_flag => 'Y'
95254 );
95255
95256 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95257
95258 xla_ae_lines_pkg.set_segment(
95259 p_to_segment_code => 'GL_ACCOUNT'
95260 , p_segment_value => l_segment
95261 , p_from_segment_code => l_adr_value_segment_code
95262 , p_from_combination_id => l_adr_value_combination_id
95263 , p_value_type_code => l_adr_value_type_code
95264 , p_transaction_coa_id => l_adr_transaction_coa_id
95265 , p_accounting_coa_id => l_adr_accounting_coa_id
95266 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95267 , p_flex_value_set_id => l_adr_flex_value_set_id
95268 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
95269 , p_adr_type_code => 'S'
95270 , p_component_type => l_component_type
95271 , p_component_code => l_component_code
95272 , p_component_type_code => l_component_type_code
95273 , p_component_appl_id => l_component_appl_id
95274 , p_amb_context_code => l_amb_context_code
95275 , p_entity_code => 'AP_PAYMENTS'
95276 , p_event_class_code => 'RECONCILED PAYMENTS'
95277 , p_side => 'NA'
95278 );
95279
95280 END IF;
95281
95282 --
95283 --
95284 END IF;
95285 --
95286 -- Bug 4922099
95287 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
95288 (NVL(l_enc_upg_option, 'N') = 'O')
95289 ) AND
95290 (l_bflow_method_code = 'PRIOR_ENTRY')
95291 )
95292 THEN
95293 IF
95294 --
95295 1 = 2
95296 --
95297 THEN
95298 xla_accounting_err_pkg.build_message
95299 (p_appli_s_name => 'XLA'
95300 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95301 ,p_token_1 => 'LINE_NUMBER'
95302 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
95303 ,p_token_2 => 'LINE_TYPE_NAME'
95304 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
95305 l_component_type
95306 ,l_component_code
95307 ,l_component_type_code
95308 ,l_component_appl_id
95309 ,l_amb_context_code
95310 ,l_entity_code
95311 ,l_event_class_code
95312 )
95313 ,p_token_3 => 'OWNER'
95314 ,p_value_3 => xla_lookups_pkg.get_meaning(
95315 p_lookup_type => 'XLA_OWNER_TYPE'
95316 ,p_lookup_code => l_component_type_code
95317 )
95318 ,p_token_4 => 'PRODUCT_NAME'
95319 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
95320 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
95321 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
95322 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
95323 ,p_ae_header_id => NULL
95324 );
95325
95326 IF (C_LEVEL_ERROR>= g_log_level) THEN
95327 trace
95328 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95329 ,p_level => C_LEVEL_ERROR
95330 ,p_module => l_log_module);
95331 END IF;
95332 END IF;
95333 END IF;
95334 --
95335 --
95336 ------------------------------------------------------------------------------------------------
95337 -- 4219869 Business Flow
95341 XLA_AE_LINES_PKG.ValidateCurrentLine;
95338 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
95339 -- Prior Entry. Currently, the following code is always generated.
95340 ------------------------------------------------------------------------------------------------
95342
95343 ------------------------------------------------------------------------------------
95344 -- 4219869 Business Flow
95345 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
95346 ------------------------------------------------------------------------------------
95347 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95348
95349 ----------------------------------------------------------------------------------
95350 -- 4219869 Business Flow
95351 -- Update journal entry status -- Need to generate this within IF <condition>
95352 ----------------------------------------------------------------------------------
95353 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95354 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
95355 ,p_balance_type_code => l_balance_type_code
95356 );
95357
95358 -------------------------------------------------------------------------------------------
95359 -- 4262811 - Generate the Accrual Reversal lines
95360 -------------------------------------------------------------------------------------------
95361 BEGIN
95362 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
95363 (g_array_event(p_event_id).array_value_num('header_index'));
95364 IF l_acc_rev_flag IS NULL THEN
95365 l_acc_rev_flag := 'N';
95366 END IF;
95367 EXCEPTION
95368 WHEN OTHERS THEN
95369 l_acc_rev_flag := 'N';
95370 END;
95371 --
95372 IF (l_acc_rev_flag = 'Y') THEN
95373
95374 -- 4645092 ------------------------------------------------------------------------------
95375 -- To allow MPA report to determine if it should generate report process
95376 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
95377 ------------------------------------------------------------------------------------------
95378
95379 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
95380 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
95381 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
95382 -- call ADRs
95383 -- Bug 4922099
95384 --
95385 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95386 (NVL(l_actual_upg_option, 'N') = 'O') OR
95387 (NVL(l_enc_upg_option, 'N') = 'O')
95388 )
95389 THEN
95390 NULL;
95391 --
95392 --
95393
95394 l_ccid := AcctDerRule_38(
95395 p_application_id => p_application_id
95396 , p_ae_header_id => l_ae_header_id
95397 , p_source_15 => p_source_15
95398 , p_source_15_meaning => p_source_15_meaning
95399 , p_source_30 => p_source_30
95400 , p_source_38 => p_source_38
95401 , p_source_39 => p_source_39
95402 , x_transaction_coa_id => l_adr_transaction_coa_id
95403 , x_accounting_coa_id => l_adr_accounting_coa_id
95404 , x_value_type_code => l_adr_value_type_code
95405 , p_side => 'NA'
95406 );
95407
95408 xla_ae_lines_pkg.set_ccid(
95409 p_code_combination_id => l_ccid
95410 , p_value_type_code => l_adr_value_type_code
95411 , p_transaction_coa_id => l_adr_transaction_coa_id
95412 , p_accounting_coa_id => l_adr_accounting_coa_id
95413 , p_adr_code => 'AP_REAL_LOSS'
95414 , p_adr_type_code => 'S'
95415 , p_component_type => l_component_type
95416 , p_component_code => l_component_code
95417 , p_component_type_code => l_component_type_code
95418 , p_component_appl_id => l_component_appl_id
95419 , p_amb_context_code => l_amb_context_code
95420 , p_side => 'NA'
95421 );
95422
95423
95424 l_segment := AcctDerRule_22(
95425 p_application_id => p_application_id
95426 , p_ae_header_id => l_ae_header_id
95427 , p_source_15 => p_source_15
95428 , p_source_15_meaning => p_source_15_meaning
95429 , p_source_30 => p_source_30
95430 , x_transaction_coa_id => l_adr_transaction_coa_id
95431 , x_accounting_coa_id => l_adr_accounting_coa_id
95432 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95433 , x_flex_value_set_id => l_adr_flex_value_set_id
95434 , x_value_type_code => l_adr_value_type_code
95435 , x_value_combination_id => l_adr_value_combination_id
95436 , x_value_segment_code => l_adr_value_segment_code
95437 , p_side => 'NA'
95438 , p_override_seg_flag => 'Y'
95439 );
95440
95441 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95442
95443 xla_ae_lines_pkg.set_segment(
95444 p_to_segment_code => 'GL_BALANCING'
95445 , p_segment_value => l_segment
95446 , p_from_segment_code => l_adr_value_segment_code
95447 , p_from_combination_id => l_adr_value_combination_id
95451 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95448 , p_value_type_code => l_adr_value_type_code
95449 , p_transaction_coa_id => l_adr_transaction_coa_id
95450 , p_accounting_coa_id => l_adr_accounting_coa_id
95452 , p_flex_value_set_id => l_adr_flex_value_set_id
95453 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95454 , p_adr_type_code => 'S'
95455 , p_component_type => l_component_type
95456 , p_component_code => l_component_code
95457 , p_component_type_code => l_component_type_code
95458 , p_component_appl_id => l_component_appl_id
95459 , p_amb_context_code => l_amb_context_code
95460 , p_entity_code => 'AP_PAYMENTS'
95461 , p_event_class_code => 'RECONCILED PAYMENTS'
95462 , p_side => 'NA'
95463 );
95464
95465 END IF;
95466
95467 l_segment := AcctDerRule_18(
95468 p_application_id => p_application_id
95469 , p_ae_header_id => l_ae_header_id
95470 , p_source_15 => p_source_15
95471 , p_source_15_meaning => p_source_15_meaning
95472 , p_source_38 => p_source_38
95473 , p_source_39 => p_source_39
95474 , x_transaction_coa_id => l_adr_transaction_coa_id
95475 , x_accounting_coa_id => l_adr_accounting_coa_id
95476 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95477 , x_flex_value_set_id => l_adr_flex_value_set_id
95478 , x_value_type_code => l_adr_value_type_code
95479 , x_value_combination_id => l_adr_value_combination_id
95480 , x_value_segment_code => l_adr_value_segment_code
95481 , p_side => 'NA'
95482 , p_override_seg_flag => 'Y'
95483 );
95484
95485 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95486
95487 xla_ae_lines_pkg.set_segment(
95488 p_to_segment_code => 'GL_ACCOUNT'
95489 , p_segment_value => l_segment
95490 , p_from_segment_code => l_adr_value_segment_code
95491 , p_from_combination_id => l_adr_value_combination_id
95492 , p_value_type_code => l_adr_value_type_code
95493 , p_transaction_coa_id => l_adr_transaction_coa_id
95494 , p_accounting_coa_id => l_adr_accounting_coa_id
95495 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95496 , p_flex_value_set_id => l_adr_flex_value_set_id
95497 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
95498 , p_adr_type_code => 'S'
95499 , p_component_type => l_component_type
95500 , p_component_code => l_component_code
95501 , p_component_type_code => l_component_type_code
95502 , p_component_appl_id => l_component_appl_id
95503 , p_amb_context_code => l_amb_context_code
95504 , p_entity_code => 'AP_PAYMENTS'
95505 , p_event_class_code => 'RECONCILED PAYMENTS'
95506 , p_side => 'NA'
95507 );
95508
95509 END IF;
95510
95511 --
95512 --
95513 END IF;
95514
95515 --
95516 -- Update the line information that should be overwritten
95517 --
95518 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
95519 p_header_num => 1);
95520 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
95521
95522 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
95523
95524 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
95525 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
95526 END IF;
95527
95528 --
95529 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
95530 --
95531 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
95532 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
95533 ELSE
95534 ---------------------------------------------------------------------------------------------------
95535 -- 4262811a Switch Sign
95536 ---------------------------------------------------------------------------------------------------
95537 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
95538 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95539 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95540 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95541 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95542 -- 5132302
95543 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
95544 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95545
95546 END IF;
95547
95548 -- 4955764
95549 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95553 XLA_AE_LINES_PKG.ValidateCurrentLine;
95550 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
95551
95552
95554 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95555
95556 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95557 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
95558 ,p_balance_type_code => l_balance_type_code);
95559
95560 END IF;
95561
95562 -----------------------------------------------------------------------------------------
95563 -- 4262811 Multiperiod Accounting
95564 -----------------------------------------------------------------------------------------
95565 -- No MPA option is assigned.
95566
95567
95568 END IF;
95569 END IF;
95570 --
95571
95572 --
95573 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95574 trace
95575 (p_msg => 'END of AcctLineType_162'
95576 ,p_level => C_LEVEL_PROCEDURE
95577 ,p_module => l_log_module);
95578 END IF;
95579 --
95580 EXCEPTION
95581 WHEN xla_exceptions_pkg.application_exception THEN
95582 RAISE;
95583 WHEN OTHERS THEN
95584 xla_exceptions_pkg.raise_message
95585 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_162');
95586 END AcctLineType_162;
95587 --
95588
95589 ---------------------------------------
95590 --
95591 -- PRIVATE FUNCTION
95592 -- AcctLineType_163
95593 --
95594 ---------------------------------------
95595 PROCEDURE AcctLineType_163 (
95596 p_application_id IN NUMBER
95597 ,p_event_id IN NUMBER
95598 ,p_calculate_acctd_flag IN VARCHAR2
95599 ,p_calculate_g_l_flag IN VARCHAR2
95600 ,p_actual_flag IN OUT VARCHAR2
95601 ,p_balance_type_code OUT VARCHAR2
95602 ,p_gain_or_loss_ref OUT VARCHAR2
95603
95604 --Payment Currency Code
95605 , p_source_13 IN VARCHAR2
95606 --Automatic Offsets Value
95607 , p_source_15 IN VARCHAR2
95608 , p_source_15_meaning IN VARCHAR2
95609 --Invoice Distribution Account
95610 , p_source_30 IN NUMBER
95611 --Internal Realized Loss Account
95612 , p_source_38 IN NUMBER
95613 --Bank Loss Account
95614 , p_source_39 IN NUMBER
95615 --Accounting Reversal Indicator
95616 , p_source_52 IN VARCHAR2
95617 --Distribution Link Type
95618 , p_source_54 IN VARCHAR2
95619 --Override Accounted Amount Indicator
95620 , p_source_79 IN VARCHAR2
95621 , p_source_79_meaning IN VARCHAR2
95622 --Third Party Type
95623 , p_source_82 IN VARCHAR2
95624 --Invoice Distribution Tax Line Identifier
95625 , p_source_85 IN NUMBER
95626 --Invoice Distribution Tax Distribution Identifier from Tax
95627 , p_source_86 IN NUMBER
95628 --Invoice Distribution Summary Tax Line Identifier
95629 , p_source_87 IN NUMBER
95630 --Business Flow Accounts Payable Application Identifier
95631 , p_source_90 IN NUMBER
95632 --Business Flow Invoice Distribution Type
95633 , p_source_91 IN VARCHAR2
95634 --Business Flow Invoice Entity Code
95635 , p_source_92 IN VARCHAR2
95636 --Business Flow Invoice Distribution Identifier
95637 , p_source_93 IN NUMBER
95638 --Business Flow Invoice Identifier
95639 , p_source_94 IN NUMBER
95640 --When to Account for Payment Option
95641 , p_source_96 IN VARCHAR2
95642 --Payment Distribution Type
95643 , p_source_97 IN VARCHAR2
95644 , p_source_97_meaning IN VARCHAR2
95645 --Payment Distribution Amount
95646 , p_source_98 IN NUMBER
95647 --Payment Distribution Identifier
95648 , p_source_103 IN NUMBER
95649 --Payment Supplier Identifier
95650 , p_source_109 IN NUMBER
95651 --Payment Supplier Site Identifier
95652 , p_source_110 IN NUMBER
95653 --Payment Distribution Reversed Identifier
95654 , p_source_111 IN NUMBER
95655 --Payment Identifier
95656 , p_source_112 IN NUMBER
95657 --Payment Exchange Date
95658 , p_source_117 IN DATE
95659 --Payment Exchange Rate
95660 , p_source_118 IN NUMBER
95661 --Payment Exchange Rate Type
95662 , p_source_119 IN VARCHAR2
95663 --Payment Type
95664 , p_source_122 IN VARCHAR2
95665 , p_source_122_meaning IN VARCHAR2
95666 --Invoice Distribution Amount of the Payment Distribution
95667 , p_source_124 IN NUMBER
95668 --Invoice/Payment Ledger Amount Difference
95669 , p_source_150 IN NUMBER
95670 --Gain or Loss Indicator between Invoice and Payment
95671 , p_source_155 IN VARCHAR2
95672 )
95673 IS
95674
95675 l_component_type VARCHAR2(80);
95676 l_component_code VARCHAR2(30);
95677 l_component_type_code VARCHAR2(1);
95678 l_component_appl_id INTEGER;
95679 l_amb_context_code VARCHAR2(30);
95680 l_entity_code VARCHAR2(30);
95681 l_event_class_code VARCHAR2(30);
95682 l_ae_header_id NUMBER;
95683 l_event_type_code VARCHAR2(30);
95684 l_line_definition_code VARCHAR2(30);
95685 l_line_definition_owner_code VARCHAR2(1);
95686 --
95687 -- adr variables
95688 l_segment VARCHAR2(30);
95689 l_ccid NUMBER;
95693 l_adr_flex_value_set_id NUMBER;
95690 l_adr_transaction_coa_id NUMBER;
95691 l_adr_accounting_coa_id NUMBER;
95692 l_adr_flexfield_segment_code VARCHAR2(30);
95694 l_adr_value_type_code VARCHAR2(30);
95695 l_adr_value_combination_id NUMBER;
95696 l_adr_value_segment_code VARCHAR2(30);
95697
95698 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
95699 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
95700 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
95701 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
95702
95703 -- 4262811 Variables ------------------------------------------------------------------------------------------
95704 l_entered_amt_idx NUMBER;
95705 l_accted_amt_idx NUMBER;
95706 l_acc_rev_flag VARCHAR2(1);
95707 l_accrual_line_num NUMBER;
95708 l_tmp_amt NUMBER;
95709 l_acc_rev_natural_side_code VARCHAR2(1);
95710
95711 l_num_entries NUMBER;
95712 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
95713 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
95714 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
95715 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
95716 l_recog_line_1 NUMBER;
95717 l_recog_line_2 NUMBER;
95718
95719 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
95720 l_bflow_applied_to_amt NUMBER; -- 5132302
95721 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
95722
95723 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
95724
95725 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
95726 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
95727
95728 ---------------------------------------------------------------------------------------------------------------
95729
95730
95731 --
95732 -- bulk performance
95733 --
95734 l_balance_type_code VARCHAR2(1);
95735 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
95736 l_log_module VARCHAR2(240);
95737
95738 --
95739 -- Upgrade strategy
95740 --
95741 l_actual_upg_option VARCHAR2(1);
95742 l_enc_upg_option VARCHAR2(1);
95743
95744 --
95745 BEGIN
95746 --
95747 IF g_log_enabled THEN
95748 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_163';
95749 END IF;
95750 --
95751 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95752
95753 trace
95754 (p_msg => 'BEGIN of AcctLineType_163'
95755 ,p_level => C_LEVEL_PROCEDURE
95756 ,p_module => l_log_module);
95757
95758 END IF;
95759 --
95760 l_component_type := 'AMB_JLT';
95761 l_component_code := 'AP_LOSS_PMT';
95762 l_component_type_code := 'S';
95763 l_component_appl_id := 200;
95764 l_amb_context_code := 'DEFAULT';
95765 l_entity_code := 'AP_PAYMENTS';
95766 l_event_class_code := 'PAYMENTS';
95767 l_event_type_code := 'PAYMENTS_ALL';
95768 l_line_definition_owner_code := 'S';
95769 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
95770 --
95771 l_balance_type_code := 'A';
95772 l_segment := NULL;
95773 l_ccid := NULL;
95774 l_adr_transaction_coa_id := NULL;
95775 l_adr_accounting_coa_id := NULL;
95776 l_adr_flexfield_segment_code := NULL;
95777 l_adr_flex_value_set_id := NULL;
95778 l_adr_value_type_code := NULL;
95779 l_adr_value_combination_id := NULL;
95780 l_adr_value_segment_code := NULL;
95781
95782 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
95783 l_bflow_class_code := ''; -- 4219869 Business Flow
95784 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
95785 l_budgetary_control_flag := 'N';
95786
95787 l_bflow_applied_to_amt_idx := NULL; -- 5132302
95788 l_bflow_applied_to_amt := NULL; -- 5132302
95789 l_entered_amt_idx := NULL; -- 4262811
95790 l_accted_amt_idx := NULL; -- 4262811
95791 l_acc_rev_flag := NULL; -- 4262811
95792 l_accrual_line_num := NULL; -- 4262811
95793 l_tmp_amt := NULL; -- 4262811
95794 --
95795 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
95796 (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
95797 return;
95798 END IF;
95799
95800 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
95801 l_balance_type_code <> 'B' THEN
95802 IF (NVL(p_source_96,'
95803 ') <> 'CLEAR_CLEAR' AND
95804 NVL(p_source_96,'
95805 ') <> 'ALWAYS_CLEAR') AND
95806 NVL(p_source_155,'
95807 ') = 'LOSS' AND
95808 NVL(p_source_97,'
95809 ') <> 'EXCHANGE RATE VARIANCE' AND
95810 NVL(p_source_97,'
95811 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
95812 NVL(p_source_97,'
95813 ') <> 'BANK CHARGE' AND
95817 ') <> 'AWT' AND
95814 NVL(p_source_97,'
95815 ') <> 'BANK ERROR' AND
95816 NVL(p_source_97,'
95818 NVL(p_source_122,'
95819 ') <> 'R'
95820 THEN
95821
95822 --
95823 XLA_AE_LINES_PKG.SetNewLine;
95824
95825 p_balance_type_code := l_balance_type_code;
95826 -- set the flag so later we will know whether the gain loss line needs to be created
95827
95828 IF(l_balance_type_code = 'A' ) THEN
95829 p_actual_flag :='G';
95830 END IF;
95831
95832 --
95833 -- bulk performance
95834 --
95835 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
95836 p_header_num => 0); -- 4262811
95837 --
95838 -- set accounting line options
95839 --
95840 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
95841 p_natural_side_code => 'C'
95842 , p_gain_or_loss_flag => 'Y'
95843 , p_gl_transfer_mode_code => 'S'
95844 , p_acct_entry_type_code => 'A'
95845 , p_switch_side_flag => 'Y'
95846 , p_merge_duplicate_code => 'A'
95847 );
95848 --
95849 l_acc_rev_natural_side_code := 'D'; -- 4262811
95850 --
95851 --
95852 -- set accounting line type info
95853 --
95854 xla_ae_lines_pkg.SetAcctLineType
95855 (p_component_type => l_component_type
95856 ,p_event_type_code => l_event_type_code
95857 ,p_line_definition_owner_code => l_line_definition_owner_code
95858 ,p_line_definition_code => l_line_definition_code
95859 ,p_accounting_line_code => l_component_code
95860 ,p_accounting_line_type_code => l_component_type_code
95861 ,p_accounting_line_appl_id => l_component_appl_id
95862 ,p_amb_context_code => l_amb_context_code
95863 ,p_entity_code => l_entity_code
95864 ,p_event_class_code => l_event_class_code);
95865 --
95866 -- set accounting class
95867 --
95868 xla_ae_lines_pkg.SetAcctClass(
95869 p_accounting_class_code => 'LOSS'
95870 , p_ae_header_id => l_ae_header_id
95871 );
95872
95873 --
95874 -- set rounding class
95875 --
95876 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
95877 'LOSS';
95878
95879 --
95880 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
95881 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
95882 --
95883 -- bulk performance
95884 --
95885 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
95886
95887 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
95888 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
95889
95890 -- 4955764
95891 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95892 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
95893
95894 -- 4458381 Public Sector Enh
95895
95896 --
95897 -- set accounting attributes for the line type
95898 --
95899 l_entered_amt_idx := 10;
95900 l_accted_amt_idx := 15;
95901 l_bflow_applied_to_amt_idx := 2; -- 5132302
95902 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95903 l_rec_acct_attrs.array_char_value(1) := p_source_52;
95904 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
95905 l_rec_acct_attrs.array_num_value(2) := p_source_124;
95906 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
95907 l_rec_acct_attrs.array_num_value(3) := p_source_90;
95908 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95909 l_rec_acct_attrs.array_char_value(4) := p_source_91;
95910 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
95911 l_rec_acct_attrs.array_char_value(5) := p_source_92;
95912 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
95913 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
95914 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95915 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
95916 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
95917 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
95918 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
95919 l_rec_acct_attrs.array_char_value(9) := p_source_54;
95920 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
95921 l_rec_acct_attrs.array_num_value(10) := p_source_98;
95922 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
95923 l_rec_acct_attrs.array_char_value(11) := p_source_13;
95924 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
95925 l_rec_acct_attrs.array_date_value(12) := p_source_117;
95926 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
95927 l_rec_acct_attrs.array_num_value(13) := p_source_118;
95928 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
95929 l_rec_acct_attrs.array_char_value(14) := p_source_119;
95930 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
95931 l_rec_acct_attrs.array_num_value(15) := p_source_150;
95935 l_rec_acct_attrs.array_num_value(17) := p_source_109;
95932 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
95933 l_rec_acct_attrs.array_char_value(16) := p_source_79;
95934 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
95936 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
95937 l_rec_acct_attrs.array_num_value(18) := p_source_110;
95938 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
95939 l_rec_acct_attrs.array_char_value(19) := p_source_82;
95940 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
95941 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
95942 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
95943 l_rec_acct_attrs.array_char_value(21) := p_source_54;
95944 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
95945 l_rec_acct_attrs.array_num_value(22) := p_source_85;
95946 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
95947 l_rec_acct_attrs.array_num_value(23) := p_source_86;
95948 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
95949 l_rec_acct_attrs.array_num_value(24) := p_source_87;
95950
95951 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95952 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95953
95954 ---------------------------------------------------------------------------------------------------------------
95955 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95956 ---------------------------------------------------------------------------------------------------------------
95957 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95958
95959 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95960 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95961
95962 IF xla_accounting_cache_pkg.GetValueChar
95963 (p_source_code => 'LEDGER_CATEGORY_CODE'
95964 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95965 AND l_bflow_method_code = 'PRIOR_ENTRY'
95966 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95967 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95968 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95969 )
95970 THEN
95971 xla_ae_lines_pkg.BflowUpgEntry
95972 (p_business_method_code => l_bflow_method_code
95973 ,p_business_class_code => l_bflow_class_code
95974 ,p_balance_type => l_balance_type_code);
95975 ELSE
95976 NULL;
95977 -- No business flow processing for business flow method of NONE.
95978 END IF;
95979
95980 --
95981 -- call analytical criteria
95982 --
95983
95984
95985 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
95986 xla_ae_lines_pkg.SetAnalyticalCriteria(
95987 p_analytical_criterion_name => 'Check Id'
95988 , p_analytical_criterion_owner => 'S'
95989 , p_analytical_criterion_code => 'CHECK_ID'
95990 , p_amb_context_code => 'DEFAULT'
95991 , p_balancing_flag => 'N'
95992
95993 , p_analytical_detail_char_1 => NULL
95994 , p_analytical_detail_num_1 => p_source_112
95995 , p_analytical_detail_date_1 => NULL
95996
95997 , p_ae_header_id => l_ae_header_id
95998 )
95999 ;
96000 --
96001
96002 --
96003 -- call description
96004 --
96005 -- No description or it is inherited.
96006 --
96007 -- call ADRs
96008 -- Bug 4922099
96009 --
96010 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96011 (NVL(l_actual_upg_option, 'N') = 'O') OR
96012 (NVL(l_enc_upg_option, 'N') = 'O')
96013 )
96014 THEN
96015 NULL;
96016 --
96017 --
96018
96019 l_ccid := AcctDerRule_38(
96020 p_application_id => p_application_id
96021 , p_ae_header_id => l_ae_header_id
96022 , p_source_15 => p_source_15
96023 , p_source_15_meaning => p_source_15_meaning
96024 , p_source_30 => p_source_30
96025 , p_source_38 => p_source_38
96026 , p_source_39 => p_source_39
96027 , x_transaction_coa_id => l_adr_transaction_coa_id
96028 , x_accounting_coa_id => l_adr_accounting_coa_id
96029 , x_value_type_code => l_adr_value_type_code
96030 , p_side => 'NA'
96031 );
96032
96033 xla_ae_lines_pkg.set_ccid(
96034 p_code_combination_id => l_ccid
96035 , p_value_type_code => l_adr_value_type_code
96036 , p_transaction_coa_id => l_adr_transaction_coa_id
96037 , p_accounting_coa_id => l_adr_accounting_coa_id
96038 , p_adr_code => 'AP_REAL_LOSS'
96039 , p_adr_type_code => 'S'
96040 , p_component_type => l_component_type
96041 , p_component_code => l_component_code
96042 , p_component_type_code => l_component_type_code
96043 , p_component_appl_id => l_component_appl_id
96044 , p_amb_context_code => l_amb_context_code
96045 , p_side => 'NA'
96049 l_segment := AcctDerRule_22(
96046 );
96047
96048
96050 p_application_id => p_application_id
96051 , p_ae_header_id => l_ae_header_id
96052 , p_source_15 => p_source_15
96053 , p_source_15_meaning => p_source_15_meaning
96054 , p_source_30 => p_source_30
96055 , x_transaction_coa_id => l_adr_transaction_coa_id
96056 , x_accounting_coa_id => l_adr_accounting_coa_id
96057 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96058 , x_flex_value_set_id => l_adr_flex_value_set_id
96059 , x_value_type_code => l_adr_value_type_code
96060 , x_value_combination_id => l_adr_value_combination_id
96061 , x_value_segment_code => l_adr_value_segment_code
96062 , p_side => 'NA'
96063 , p_override_seg_flag => 'Y'
96064 );
96065
96066 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96067
96068 xla_ae_lines_pkg.set_segment(
96069 p_to_segment_code => 'GL_BALANCING'
96070 , p_segment_value => l_segment
96071 , p_from_segment_code => l_adr_value_segment_code
96072 , p_from_combination_id => l_adr_value_combination_id
96073 , p_value_type_code => l_adr_value_type_code
96074 , p_transaction_coa_id => l_adr_transaction_coa_id
96075 , p_accounting_coa_id => l_adr_accounting_coa_id
96076 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96077 , p_flex_value_set_id => l_adr_flex_value_set_id
96078 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96079 , p_adr_type_code => 'S'
96080 , p_component_type => l_component_type
96081 , p_component_code => l_component_code
96082 , p_component_type_code => l_component_type_code
96083 , p_component_appl_id => l_component_appl_id
96084 , p_amb_context_code => l_amb_context_code
96085 , p_entity_code => 'AP_PAYMENTS'
96086 , p_event_class_code => 'PAYMENTS'
96087 , p_side => 'NA'
96088 );
96089
96090 END IF;
96091
96092 l_segment := AcctDerRule_18(
96093 p_application_id => p_application_id
96094 , p_ae_header_id => l_ae_header_id
96095 , p_source_15 => p_source_15
96096 , p_source_15_meaning => p_source_15_meaning
96097 , p_source_38 => p_source_38
96098 , p_source_39 => p_source_39
96099 , x_transaction_coa_id => l_adr_transaction_coa_id
96100 , x_accounting_coa_id => l_adr_accounting_coa_id
96101 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96102 , x_flex_value_set_id => l_adr_flex_value_set_id
96103 , x_value_type_code => l_adr_value_type_code
96104 , x_value_combination_id => l_adr_value_combination_id
96105 , x_value_segment_code => l_adr_value_segment_code
96106 , p_side => 'NA'
96107 , p_override_seg_flag => 'Y'
96108 );
96109
96110 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96111
96112 xla_ae_lines_pkg.set_segment(
96113 p_to_segment_code => 'GL_ACCOUNT'
96114 , p_segment_value => l_segment
96115 , p_from_segment_code => l_adr_value_segment_code
96116 , p_from_combination_id => l_adr_value_combination_id
96117 , p_value_type_code => l_adr_value_type_code
96118 , p_transaction_coa_id => l_adr_transaction_coa_id
96119 , p_accounting_coa_id => l_adr_accounting_coa_id
96120 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96121 , p_flex_value_set_id => l_adr_flex_value_set_id
96122 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96123 , p_adr_type_code => 'S'
96124 , p_component_type => l_component_type
96125 , p_component_code => l_component_code
96126 , p_component_type_code => l_component_type_code
96127 , p_component_appl_id => l_component_appl_id
96128 , p_amb_context_code => l_amb_context_code
96129 , p_entity_code => 'AP_PAYMENTS'
96130 , p_event_class_code => 'PAYMENTS'
96131 , p_side => 'NA'
96132 );
96133
96134 END IF;
96135
96136 --
96137 --
96138 END IF;
96139 --
96140 -- Bug 4922099
96141 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96142 (NVL(l_enc_upg_option, 'N') = 'O')
96143 ) AND
96144 (l_bflow_method_code = 'PRIOR_ENTRY')
96145 )
96146 THEN
96147 IF
96148 --
96149 1 = 2
96150 --
96151 THEN
96152 xla_accounting_err_pkg.build_message
96153 (p_appli_s_name => 'XLA'
96154 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96155 ,p_token_1 => 'LINE_NUMBER'
96156 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
96157 ,p_token_2 => 'LINE_TYPE_NAME'
96161 ,l_component_type_code
96158 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
96159 l_component_type
96160 ,l_component_code
96162 ,l_component_appl_id
96163 ,l_amb_context_code
96164 ,l_entity_code
96165 ,l_event_class_code
96166 )
96167 ,p_token_3 => 'OWNER'
96168 ,p_value_3 => xla_lookups_pkg.get_meaning(
96169 p_lookup_type => 'XLA_OWNER_TYPE'
96170 ,p_lookup_code => l_component_type_code
96171 )
96172 ,p_token_4 => 'PRODUCT_NAME'
96173 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
96174 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
96175 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
96176 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
96177 ,p_ae_header_id => NULL
96178 );
96179
96180 IF (C_LEVEL_ERROR>= g_log_level) THEN
96181 trace
96182 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96183 ,p_level => C_LEVEL_ERROR
96184 ,p_module => l_log_module);
96185 END IF;
96186 END IF;
96187 END IF;
96188 --
96189 --
96190 ------------------------------------------------------------------------------------------------
96191 -- 4219869 Business Flow
96192 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
96193 -- Prior Entry. Currently, the following code is always generated.
96194 ------------------------------------------------------------------------------------------------
96195 XLA_AE_LINES_PKG.ValidateCurrentLine;
96196
96197 ------------------------------------------------------------------------------------
96198 -- 4219869 Business Flow
96199 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
96200 ------------------------------------------------------------------------------------
96201 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96202
96203 ----------------------------------------------------------------------------------
96204 -- 4219869 Business Flow
96205 -- Update journal entry status -- Need to generate this within IF <condition>
96206 ----------------------------------------------------------------------------------
96207 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96208 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
96209 ,p_balance_type_code => l_balance_type_code
96210 );
96211
96212 -------------------------------------------------------------------------------------------
96213 -- 4262811 - Generate the Accrual Reversal lines
96214 -------------------------------------------------------------------------------------------
96215 BEGIN
96216 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
96217 (g_array_event(p_event_id).array_value_num('header_index'));
96218 IF l_acc_rev_flag IS NULL THEN
96219 l_acc_rev_flag := 'N';
96220 END IF;
96221 EXCEPTION
96222 WHEN OTHERS THEN
96223 l_acc_rev_flag := 'N';
96224 END;
96225 --
96226 IF (l_acc_rev_flag = 'Y') THEN
96227
96228 -- 4645092 ------------------------------------------------------------------------------
96229 -- To allow MPA report to determine if it should generate report process
96230 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
96231 ------------------------------------------------------------------------------------------
96232
96233 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
96234 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
96235 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
96236 -- call ADRs
96237 -- Bug 4922099
96238 --
96239 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96240 (NVL(l_actual_upg_option, 'N') = 'O') OR
96241 (NVL(l_enc_upg_option, 'N') = 'O')
96242 )
96243 THEN
96244 NULL;
96245 --
96246 --
96247
96248 l_ccid := AcctDerRule_38(
96249 p_application_id => p_application_id
96250 , p_ae_header_id => l_ae_header_id
96251 , p_source_15 => p_source_15
96252 , p_source_15_meaning => p_source_15_meaning
96253 , p_source_30 => p_source_30
96254 , p_source_38 => p_source_38
96255 , p_source_39 => p_source_39
96259 , p_side => 'NA'
96256 , x_transaction_coa_id => l_adr_transaction_coa_id
96257 , x_accounting_coa_id => l_adr_accounting_coa_id
96258 , x_value_type_code => l_adr_value_type_code
96260 );
96261
96262 xla_ae_lines_pkg.set_ccid(
96263 p_code_combination_id => l_ccid
96264 , p_value_type_code => l_adr_value_type_code
96265 , p_transaction_coa_id => l_adr_transaction_coa_id
96266 , p_accounting_coa_id => l_adr_accounting_coa_id
96267 , p_adr_code => 'AP_REAL_LOSS'
96268 , p_adr_type_code => 'S'
96269 , p_component_type => l_component_type
96270 , p_component_code => l_component_code
96271 , p_component_type_code => l_component_type_code
96272 , p_component_appl_id => l_component_appl_id
96273 , p_amb_context_code => l_amb_context_code
96274 , p_side => 'NA'
96275 );
96276
96277
96278 l_segment := AcctDerRule_22(
96279 p_application_id => p_application_id
96280 , p_ae_header_id => l_ae_header_id
96281 , p_source_15 => p_source_15
96282 , p_source_15_meaning => p_source_15_meaning
96283 , p_source_30 => p_source_30
96284 , x_transaction_coa_id => l_adr_transaction_coa_id
96285 , x_accounting_coa_id => l_adr_accounting_coa_id
96286 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96287 , x_flex_value_set_id => l_adr_flex_value_set_id
96288 , x_value_type_code => l_adr_value_type_code
96289 , x_value_combination_id => l_adr_value_combination_id
96290 , x_value_segment_code => l_adr_value_segment_code
96291 , p_side => 'NA'
96292 , p_override_seg_flag => 'Y'
96293 );
96294
96295 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96296
96297 xla_ae_lines_pkg.set_segment(
96298 p_to_segment_code => 'GL_BALANCING'
96299 , p_segment_value => l_segment
96300 , p_from_segment_code => l_adr_value_segment_code
96301 , p_from_combination_id => l_adr_value_combination_id
96302 , p_value_type_code => l_adr_value_type_code
96303 , p_transaction_coa_id => l_adr_transaction_coa_id
96304 , p_accounting_coa_id => l_adr_accounting_coa_id
96305 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96306 , p_flex_value_set_id => l_adr_flex_value_set_id
96307 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96308 , p_adr_type_code => 'S'
96309 , p_component_type => l_component_type
96310 , p_component_code => l_component_code
96311 , p_component_type_code => l_component_type_code
96312 , p_component_appl_id => l_component_appl_id
96313 , p_amb_context_code => l_amb_context_code
96314 , p_entity_code => 'AP_PAYMENTS'
96315 , p_event_class_code => 'PAYMENTS'
96316 , p_side => 'NA'
96317 );
96318
96319 END IF;
96320
96321 l_segment := AcctDerRule_18(
96322 p_application_id => p_application_id
96323 , p_ae_header_id => l_ae_header_id
96324 , p_source_15 => p_source_15
96325 , p_source_15_meaning => p_source_15_meaning
96326 , p_source_38 => p_source_38
96327 , p_source_39 => p_source_39
96328 , x_transaction_coa_id => l_adr_transaction_coa_id
96329 , x_accounting_coa_id => l_adr_accounting_coa_id
96330 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96331 , x_flex_value_set_id => l_adr_flex_value_set_id
96332 , x_value_type_code => l_adr_value_type_code
96333 , x_value_combination_id => l_adr_value_combination_id
96334 , x_value_segment_code => l_adr_value_segment_code
96335 , p_side => 'NA'
96336 , p_override_seg_flag => 'Y'
96337 );
96338
96339 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96340
96341 xla_ae_lines_pkg.set_segment(
96342 p_to_segment_code => 'GL_ACCOUNT'
96343 , p_segment_value => l_segment
96344 , p_from_segment_code => l_adr_value_segment_code
96345 , p_from_combination_id => l_adr_value_combination_id
96346 , p_value_type_code => l_adr_value_type_code
96347 , p_transaction_coa_id => l_adr_transaction_coa_id
96348 , p_accounting_coa_id => l_adr_accounting_coa_id
96349 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96350 , p_flex_value_set_id => l_adr_flex_value_set_id
96351 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96352 , p_adr_type_code => 'S'
96353 , p_component_type => l_component_type
96354 , p_component_code => l_component_code
96355 , p_component_type_code => l_component_type_code
96356 , p_component_appl_id => l_component_appl_id
96357 , p_amb_context_code => l_amb_context_code
96358 , p_entity_code => 'AP_PAYMENTS'
96359 , p_event_class_code => 'PAYMENTS'
96360 , p_side => 'NA'
96361 );
96362
96363 END IF;
96364
96365 --
96369 --
96366 --
96367 END IF;
96368
96370 -- Update the line information that should be overwritten
96371 --
96372 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
96373 p_header_num => 1);
96374 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
96375
96376 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
96377
96378 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
96379 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
96380 END IF;
96381
96382 --
96383 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
96384 --
96385 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
96386 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
96387 ELSE
96388 ---------------------------------------------------------------------------------------------------
96389 -- 4262811a Switch Sign
96390 ---------------------------------------------------------------------------------------------------
96391 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
96392 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96393 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96394 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96395 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96396 -- 5132302
96397 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
96398 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96399
96400 END IF;
96401
96402 -- 4955764
96403 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96404 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
96405
96406
96407 XLA_AE_LINES_PKG.ValidateCurrentLine;
96408 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96409
96410 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96411 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
96412 ,p_balance_type_code => l_balance_type_code);
96413
96414 END IF;
96415
96416 -----------------------------------------------------------------------------------------
96417 -- 4262811 Multiperiod Accounting
96418 -----------------------------------------------------------------------------------------
96419 -- No MPA option is assigned.
96420
96421
96422 END IF;
96423 END IF;
96424 --
96425
96426 --
96427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96428 trace
96429 (p_msg => 'END of AcctLineType_163'
96430 ,p_level => C_LEVEL_PROCEDURE
96431 ,p_module => l_log_module);
96432 END IF;
96433 --
96434 EXCEPTION
96435 WHEN xla_exceptions_pkg.application_exception THEN
96436 RAISE;
96437 WHEN OTHERS THEN
96438 xla_exceptions_pkg.raise_message
96439 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_163');
96440 END AcctLineType_163;
96441 --
96442
96443 ---------------------------------------
96444 --
96445 -- PRIVATE FUNCTION
96446 -- AcctLineType_164
96447 --
96448 ---------------------------------------
96449 PROCEDURE AcctLineType_164 (
96450 p_application_id IN NUMBER
96451 ,p_event_id IN NUMBER
96452 ,p_calculate_acctd_flag IN VARCHAR2
96453 ,p_calculate_g_l_flag IN VARCHAR2
96454 ,p_actual_flag IN OUT VARCHAR2
96455 ,p_balance_type_code OUT VARCHAR2
96456 ,p_gain_or_loss_ref OUT VARCHAR2
96457
96458 --Payment Currency Code
96459 , p_source_13 IN VARCHAR2
96460 --Automatic Offsets Value
96461 , p_source_15 IN VARCHAR2
96462 , p_source_15_meaning IN VARCHAR2
96463 --Invoice Distribution Account
96464 , p_source_30 IN NUMBER
96465 --Internal Realized Loss Account
96466 , p_source_38 IN NUMBER
96467 --Bank Loss Account
96468 , p_source_39 IN NUMBER
96469 --Accounting Reversal Indicator
96470 , p_source_52 IN VARCHAR2
96471 --Distribution Link Type
96472 , p_source_54 IN VARCHAR2
96473 --Override Accounted Amount Indicator
96474 , p_source_79 IN VARCHAR2
96475 , p_source_79_meaning IN VARCHAR2
96476 --Third Party Type
96477 , p_source_82 IN VARCHAR2
96478 --Invoice Distribution Tax Line Identifier
96479 , p_source_85 IN NUMBER
96480 --Invoice Distribution Summary Tax Line Identifier
96481 , p_source_87 IN NUMBER
96482 --Business Flow Accounts Payable Application Identifier
96483 , p_source_90 IN NUMBER
96484 --When to Account for Payment Option
96485 , p_source_96 IN VARCHAR2
96486 --Payment Distribution Type
96487 , p_source_97 IN VARCHAR2
96488 , p_source_97_meaning IN VARCHAR2
96489 --Payment Distribution Amount
96490 , p_source_98 IN NUMBER
96491 --Business Flow Payment Distribution Type
96495 --Business Flow Payment Distribution Identifier
96492 , p_source_99 IN VARCHAR2
96493 --Business Flow Payment Entity Code
96494 , p_source_100 IN VARCHAR2
96496 , p_source_101 IN NUMBER
96497 --Business Flow Payment Identifier
96498 , p_source_102 IN NUMBER
96499 --Payment Distribution Identifier
96500 , p_source_103 IN NUMBER
96501 --Cleared Exchange Date
96502 , p_source_105 IN DATE
96503 --Cleared Exchange Rate
96504 , p_source_106 IN NUMBER
96505 --Cleared Exchange Rate Type
96506 , p_source_107 IN VARCHAR2
96507 --Payment Supplier Identifier
96508 , p_source_109 IN NUMBER
96509 --Payment Supplier Site Identifier
96510 , p_source_110 IN NUMBER
96511 --Payment Distribution Reversed Identifier
96512 , p_source_111 IN NUMBER
96513 --Payment Identifier
96514 , p_source_112 IN NUMBER
96515 --Payment Maturity Date
96516 , p_source_114 IN DATE
96517 --Gain or Loss Indicator between Payment and Clearing
96518 , p_source_156 IN VARCHAR2
96519 --Payment/Clearing Ledger Amount Difference
96520 , p_source_157 IN NUMBER
96521 )
96522 IS
96523
96524 l_component_type VARCHAR2(80);
96525 l_component_code VARCHAR2(30);
96526 l_component_type_code VARCHAR2(1);
96527 l_component_appl_id INTEGER;
96528 l_amb_context_code VARCHAR2(30);
96529 l_entity_code VARCHAR2(30);
96530 l_event_class_code VARCHAR2(30);
96531 l_ae_header_id NUMBER;
96532 l_event_type_code VARCHAR2(30);
96533 l_line_definition_code VARCHAR2(30);
96534 l_line_definition_owner_code VARCHAR2(1);
96535 --
96536 -- adr variables
96537 l_segment VARCHAR2(30);
96538 l_ccid NUMBER;
96539 l_adr_transaction_coa_id NUMBER;
96540 l_adr_accounting_coa_id NUMBER;
96541 l_adr_flexfield_segment_code VARCHAR2(30);
96542 l_adr_flex_value_set_id NUMBER;
96543 l_adr_value_type_code VARCHAR2(30);
96544 l_adr_value_combination_id NUMBER;
96545 l_adr_value_segment_code VARCHAR2(30);
96546
96547 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
96548 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
96549 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
96550 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
96551
96552 -- 4262811 Variables ------------------------------------------------------------------------------------------
96553 l_entered_amt_idx NUMBER;
96554 l_accted_amt_idx NUMBER;
96555 l_acc_rev_flag VARCHAR2(1);
96556 l_accrual_line_num NUMBER;
96557 l_tmp_amt NUMBER;
96558 l_acc_rev_natural_side_code VARCHAR2(1);
96559
96560 l_num_entries NUMBER;
96561 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
96562 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
96563 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
96564 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
96565 l_recog_line_1 NUMBER;
96566 l_recog_line_2 NUMBER;
96567
96568 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
96569 l_bflow_applied_to_amt NUMBER; -- 5132302
96570 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
96571
96572 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
96573
96574 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
96575 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
96576
96577 ---------------------------------------------------------------------------------------------------------------
96578
96579
96580 --
96581 -- bulk performance
96582 --
96583 l_balance_type_code VARCHAR2(1);
96584 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
96585 l_log_module VARCHAR2(240);
96586
96587 --
96588 -- Upgrade strategy
96589 --
96590 l_actual_upg_option VARCHAR2(1);
96591 l_enc_upg_option VARCHAR2(1);
96592
96593 --
96594 BEGIN
96595 --
96596 IF g_log_enabled THEN
96597 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_164';
96598 END IF;
96599 --
96600 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96601
96602 trace
96603 (p_msg => 'BEGIN of AcctLineType_164'
96604 ,p_level => C_LEVEL_PROCEDURE
96605 ,p_module => l_log_module);
96606
96607 END IF;
96608 --
96609 l_component_type := 'AMB_JLT';
96610 l_component_code := 'AP_LOSS_PMT_CLEAR';
96611 l_component_type_code := 'S';
96612 l_component_appl_id := 200;
96613 l_amb_context_code := 'DEFAULT';
96614 l_entity_code := 'AP_PAYMENTS';
96615 l_event_class_code := 'RECONCILED PAYMENTS';
96616 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
96617 l_line_definition_owner_code := 'S';
96618 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
96619 --
96620 l_balance_type_code := 'A';
96624 l_adr_accounting_coa_id := NULL;
96621 l_segment := NULL;
96622 l_ccid := NULL;
96623 l_adr_transaction_coa_id := NULL;
96625 l_adr_flexfield_segment_code := NULL;
96626 l_adr_flex_value_set_id := NULL;
96627 l_adr_value_type_code := NULL;
96628 l_adr_value_combination_id := NULL;
96629 l_adr_value_segment_code := NULL;
96630
96631 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
96632 l_bflow_class_code := ''; -- 4219869 Business Flow
96633 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96634 l_budgetary_control_flag := 'N';
96635
96636 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96637 l_bflow_applied_to_amt := NULL; -- 5132302
96638 l_entered_amt_idx := NULL; -- 4262811
96639 l_accted_amt_idx := NULL; -- 4262811
96640 l_acc_rev_flag := NULL; -- 4262811
96641 l_accrual_line_num := NULL; -- 4262811
96642 l_tmp_amt := NULL; -- 4262811
96643 --
96644 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
96645 (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
96646 return;
96647 END IF;
96648
96649 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96650 l_balance_type_code <> 'B' THEN
96651 IF NVL(p_source_96,'
96652 ') = 'ALWAYS_ALWAYS' AND
96653 p_source_114 IS NULL AND
96654 NVL(p_source_156,'
96655 ') = 'LOSS' AND
96656 NVL(p_source_97,'
96657 ') <> 'EXCHANGE RATE VARIANCE' AND
96658 NVL(p_source_97,'
96659 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
96660 NVL(p_source_97,'
96661 ') <> 'BANK CHARGE' AND
96662 NVL(p_source_97,'
96663 ') <> 'BANK ERROR' AND
96664 NVL(p_source_97,'
96665 ') <> 'AWT'
96666 THEN
96667
96668 --
96669 XLA_AE_LINES_PKG.SetNewLine;
96670
96671 p_balance_type_code := l_balance_type_code;
96672 -- set the flag so later we will know whether the gain loss line needs to be created
96673
96674 IF(l_balance_type_code = 'A' ) THEN
96675 p_actual_flag :='G';
96676 END IF;
96677
96678 --
96679 -- bulk performance
96680 --
96681 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96682 p_header_num => 0); -- 4262811
96683 --
96684 -- set accounting line options
96685 --
96686 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96687 p_natural_side_code => 'C'
96688 , p_gain_or_loss_flag => 'Y'
96689 , p_gl_transfer_mode_code => 'S'
96690 , p_acct_entry_type_code => 'A'
96691 , p_switch_side_flag => 'Y'
96692 , p_merge_duplicate_code => 'A'
96693 );
96694 --
96695 l_acc_rev_natural_side_code := 'D'; -- 4262811
96696 --
96697 --
96698 -- set accounting line type info
96699 --
96700 xla_ae_lines_pkg.SetAcctLineType
96701 (p_component_type => l_component_type
96702 ,p_event_type_code => l_event_type_code
96703 ,p_line_definition_owner_code => l_line_definition_owner_code
96704 ,p_line_definition_code => l_line_definition_code
96705 ,p_accounting_line_code => l_component_code
96706 ,p_accounting_line_type_code => l_component_type_code
96707 ,p_accounting_line_appl_id => l_component_appl_id
96708 ,p_amb_context_code => l_amb_context_code
96709 ,p_entity_code => l_entity_code
96710 ,p_event_class_code => l_event_class_code);
96711 --
96712 -- set accounting class
96713 --
96714 xla_ae_lines_pkg.SetAcctClass(
96715 p_accounting_class_code => 'LOSS'
96716 , p_ae_header_id => l_ae_header_id
96717 );
96718
96719 --
96720 -- set rounding class
96721 --
96722 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96723 'LOSS';
96724
96725 --
96726 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96727 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96728 --
96729 -- bulk performance
96730 --
96731 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96732
96733 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96734 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96735
96736 -- 4955764
96737 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96738 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96739
96740 -- 4458381 Public Sector Enh
96741
96742 --
96743 -- set accounting attributes for the line type
96744 --
96745 l_entered_amt_idx := 10;
96746 l_accted_amt_idx := 15;
96747 l_bflow_applied_to_amt_idx := 2; -- 5132302
96751 l_rec_acct_attrs.array_num_value(2) := p_source_98;
96748 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96749 l_rec_acct_attrs.array_char_value(1) := p_source_52;
96750 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
96752 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
96753 l_rec_acct_attrs.array_num_value(3) := p_source_90;
96754 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96755 l_rec_acct_attrs.array_char_value(4) := p_source_99;
96756 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
96757 l_rec_acct_attrs.array_char_value(5) := p_source_100;
96758 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
96759 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
96760 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96761 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
96762 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
96763 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
96764 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
96765 l_rec_acct_attrs.array_char_value(9) := p_source_54;
96766 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
96767 l_rec_acct_attrs.array_num_value(10) := p_source_98;
96768 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
96769 l_rec_acct_attrs.array_char_value(11) := p_source_13;
96770 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
96771 l_rec_acct_attrs.array_date_value(12) := p_source_105;
96772 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
96773 l_rec_acct_attrs.array_num_value(13) := p_source_106;
96774 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
96775 l_rec_acct_attrs.array_char_value(14) := p_source_107;
96776 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
96777 l_rec_acct_attrs.array_num_value(15) := p_source_157;
96778 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
96779 l_rec_acct_attrs.array_char_value(16) := p_source_79;
96780 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
96781 l_rec_acct_attrs.array_num_value(17) := p_source_109;
96782 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
96783 l_rec_acct_attrs.array_num_value(18) := p_source_110;
96784 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
96785 l_rec_acct_attrs.array_char_value(19) := p_source_82;
96786 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
96787 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
96788 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
96789 l_rec_acct_attrs.array_char_value(21) := p_source_54;
96790 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
96791 l_rec_acct_attrs.array_num_value(22) := p_source_85;
96792 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
96793 l_rec_acct_attrs.array_num_value(23) := p_source_85;
96794 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
96795 l_rec_acct_attrs.array_num_value(24) := p_source_87;
96796
96797 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
96798 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
96799
96800 ---------------------------------------------------------------------------------------------------------------
96801 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
96802 ---------------------------------------------------------------------------------------------------------------
96803 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
96804
96805 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96806 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96807
96808 IF xla_accounting_cache_pkg.GetValueChar
96809 (p_source_code => 'LEDGER_CATEGORY_CODE'
96810 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
96811 AND l_bflow_method_code = 'PRIOR_ENTRY'
96812 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
96813 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
96814 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
96815 )
96816 THEN
96817 xla_ae_lines_pkg.BflowUpgEntry
96818 (p_business_method_code => l_bflow_method_code
96819 ,p_business_class_code => l_bflow_class_code
96820 ,p_balance_type => l_balance_type_code);
96821 ELSE
96822 NULL;
96823 -- No business flow processing for business flow method of NONE.
96824 END IF;
96825
96826 --
96827 -- call analytical criteria
96828 --
96829
96830
96831 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
96832 xla_ae_lines_pkg.SetAnalyticalCriteria(
96833 p_analytical_criterion_name => 'Check Id'
96834 , p_analytical_criterion_owner => 'S'
96835 , p_analytical_criterion_code => 'CHECK_ID'
96836 , p_amb_context_code => 'DEFAULT'
96837 , p_balancing_flag => 'N'
96838
96839 , p_analytical_detail_char_1 => NULL
96840 , p_analytical_detail_num_1 => p_source_112
96844 )
96841 , p_analytical_detail_date_1 => NULL
96842
96843 , p_ae_header_id => l_ae_header_id
96845 ;
96846 --
96847
96848 --
96849 -- call description
96850 --
96851 -- No description or it is inherited.
96852 --
96853 -- call ADRs
96854 -- Bug 4922099
96855 --
96856 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96857 (NVL(l_actual_upg_option, 'N') = 'O') OR
96858 (NVL(l_enc_upg_option, 'N') = 'O')
96859 )
96860 THEN
96861 NULL;
96862 --
96863 --
96864
96865 l_ccid := AcctDerRule_38(
96866 p_application_id => p_application_id
96867 , p_ae_header_id => l_ae_header_id
96868 , p_source_15 => p_source_15
96869 , p_source_15_meaning => p_source_15_meaning
96870 , p_source_30 => p_source_30
96871 , p_source_38 => p_source_38
96872 , p_source_39 => p_source_39
96873 , x_transaction_coa_id => l_adr_transaction_coa_id
96874 , x_accounting_coa_id => l_adr_accounting_coa_id
96875 , x_value_type_code => l_adr_value_type_code
96876 , p_side => 'NA'
96877 );
96878
96879 xla_ae_lines_pkg.set_ccid(
96880 p_code_combination_id => l_ccid
96881 , p_value_type_code => l_adr_value_type_code
96882 , p_transaction_coa_id => l_adr_transaction_coa_id
96883 , p_accounting_coa_id => l_adr_accounting_coa_id
96884 , p_adr_code => 'AP_REAL_LOSS'
96885 , p_adr_type_code => 'S'
96886 , p_component_type => l_component_type
96887 , p_component_code => l_component_code
96888 , p_component_type_code => l_component_type_code
96889 , p_component_appl_id => l_component_appl_id
96890 , p_amb_context_code => l_amb_context_code
96891 , p_side => 'NA'
96892 );
96893
96894
96895 l_segment := AcctDerRule_22(
96896 p_application_id => p_application_id
96897 , p_ae_header_id => l_ae_header_id
96898 , p_source_15 => p_source_15
96899 , p_source_15_meaning => p_source_15_meaning
96900 , p_source_30 => p_source_30
96901 , x_transaction_coa_id => l_adr_transaction_coa_id
96902 , x_accounting_coa_id => l_adr_accounting_coa_id
96903 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96904 , x_flex_value_set_id => l_adr_flex_value_set_id
96905 , x_value_type_code => l_adr_value_type_code
96906 , x_value_combination_id => l_adr_value_combination_id
96907 , x_value_segment_code => l_adr_value_segment_code
96908 , p_side => 'NA'
96909 , p_override_seg_flag => 'Y'
96910 );
96911
96912 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96913
96914 xla_ae_lines_pkg.set_segment(
96915 p_to_segment_code => 'GL_BALANCING'
96916 , p_segment_value => l_segment
96917 , p_from_segment_code => l_adr_value_segment_code
96918 , p_from_combination_id => l_adr_value_combination_id
96919 , p_value_type_code => l_adr_value_type_code
96920 , p_transaction_coa_id => l_adr_transaction_coa_id
96921 , p_accounting_coa_id => l_adr_accounting_coa_id
96922 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96923 , p_flex_value_set_id => l_adr_flex_value_set_id
96924 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96925 , p_adr_type_code => 'S'
96926 , p_component_type => l_component_type
96927 , p_component_code => l_component_code
96928 , p_component_type_code => l_component_type_code
96929 , p_component_appl_id => l_component_appl_id
96930 , p_amb_context_code => l_amb_context_code
96931 , p_entity_code => 'AP_PAYMENTS'
96932 , p_event_class_code => 'RECONCILED PAYMENTS'
96933 , p_side => 'NA'
96934 );
96935
96936 END IF;
96937
96938 l_segment := AcctDerRule_18(
96939 p_application_id => p_application_id
96940 , p_ae_header_id => l_ae_header_id
96941 , p_source_15 => p_source_15
96942 , p_source_15_meaning => p_source_15_meaning
96943 , p_source_38 => p_source_38
96944 , p_source_39 => p_source_39
96945 , x_transaction_coa_id => l_adr_transaction_coa_id
96946 , x_accounting_coa_id => l_adr_accounting_coa_id
96947 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96948 , x_flex_value_set_id => l_adr_flex_value_set_id
96949 , x_value_type_code => l_adr_value_type_code
96950 , x_value_combination_id => l_adr_value_combination_id
96951 , x_value_segment_code => l_adr_value_segment_code
96952 , p_side => 'NA'
96953 , p_override_seg_flag => 'Y'
96954 );
96955
96956 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96957
96958 xla_ae_lines_pkg.set_segment(
96959 p_to_segment_code => 'GL_ACCOUNT'
96960 , p_segment_value => l_segment
96961 , p_from_segment_code => l_adr_value_segment_code
96962 , p_from_combination_id => l_adr_value_combination_id
96966 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96963 , p_value_type_code => l_adr_value_type_code
96964 , p_transaction_coa_id => l_adr_transaction_coa_id
96965 , p_accounting_coa_id => l_adr_accounting_coa_id
96967 , p_flex_value_set_id => l_adr_flex_value_set_id
96968 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96969 , p_adr_type_code => 'S'
96970 , p_component_type => l_component_type
96971 , p_component_code => l_component_code
96972 , p_component_type_code => l_component_type_code
96973 , p_component_appl_id => l_component_appl_id
96974 , p_amb_context_code => l_amb_context_code
96975 , p_entity_code => 'AP_PAYMENTS'
96976 , p_event_class_code => 'RECONCILED PAYMENTS'
96977 , p_side => 'NA'
96978 );
96979
96980 END IF;
96981
96982 --
96983 --
96984 END IF;
96985 --
96986 -- Bug 4922099
96987 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96988 (NVL(l_enc_upg_option, 'N') = 'O')
96989 ) AND
96990 (l_bflow_method_code = 'PRIOR_ENTRY')
96991 )
96992 THEN
96993 IF
96994 --
96995 1 = 2
96996 --
96997 THEN
96998 xla_accounting_err_pkg.build_message
96999 (p_appli_s_name => 'XLA'
97000 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97001 ,p_token_1 => 'LINE_NUMBER'
97002 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97003 ,p_token_2 => 'LINE_TYPE_NAME'
97004 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97005 l_component_type
97006 ,l_component_code
97007 ,l_component_type_code
97008 ,l_component_appl_id
97009 ,l_amb_context_code
97010 ,l_entity_code
97011 ,l_event_class_code
97012 )
97013 ,p_token_3 => 'OWNER'
97014 ,p_value_3 => xla_lookups_pkg.get_meaning(
97015 p_lookup_type => 'XLA_OWNER_TYPE'
97016 ,p_lookup_code => l_component_type_code
97017 )
97018 ,p_token_4 => 'PRODUCT_NAME'
97019 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97020 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97021 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97022 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97023 ,p_ae_header_id => NULL
97024 );
97025
97026 IF (C_LEVEL_ERROR>= g_log_level) THEN
97027 trace
97028 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97029 ,p_level => C_LEVEL_ERROR
97030 ,p_module => l_log_module);
97031 END IF;
97032 END IF;
97033 END IF;
97034 --
97035 --
97036 ------------------------------------------------------------------------------------------------
97037 -- 4219869 Business Flow
97038 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97039 -- Prior Entry. Currently, the following code is always generated.
97040 ------------------------------------------------------------------------------------------------
97041 XLA_AE_LINES_PKG.ValidateCurrentLine;
97042
97043 ------------------------------------------------------------------------------------
97044 -- 4219869 Business Flow
97045 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97046 ------------------------------------------------------------------------------------
97047 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97048
97049 ----------------------------------------------------------------------------------
97050 -- 4219869 Business Flow
97051 -- Update journal entry status -- Need to generate this within IF <condition>
97052 ----------------------------------------------------------------------------------
97053 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97054 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97055 ,p_balance_type_code => l_balance_type_code
97056 );
97057
97058 -------------------------------------------------------------------------------------------
97062 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
97059 -- 4262811 - Generate the Accrual Reversal lines
97060 -------------------------------------------------------------------------------------------
97061 BEGIN
97063 (g_array_event(p_event_id).array_value_num('header_index'));
97064 IF l_acc_rev_flag IS NULL THEN
97065 l_acc_rev_flag := 'N';
97066 END IF;
97067 EXCEPTION
97068 WHEN OTHERS THEN
97069 l_acc_rev_flag := 'N';
97070 END;
97071 --
97072 IF (l_acc_rev_flag = 'Y') THEN
97073
97074 -- 4645092 ------------------------------------------------------------------------------
97075 -- To allow MPA report to determine if it should generate report process
97076 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
97077 ------------------------------------------------------------------------------------------
97078
97079 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
97080 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
97081 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
97082 -- call ADRs
97083 -- Bug 4922099
97084 --
97085 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97086 (NVL(l_actual_upg_option, 'N') = 'O') OR
97087 (NVL(l_enc_upg_option, 'N') = 'O')
97088 )
97089 THEN
97090 NULL;
97091 --
97092 --
97093
97094 l_ccid := AcctDerRule_38(
97095 p_application_id => p_application_id
97096 , p_ae_header_id => l_ae_header_id
97097 , p_source_15 => p_source_15
97098 , p_source_15_meaning => p_source_15_meaning
97099 , p_source_30 => p_source_30
97100 , p_source_38 => p_source_38
97101 , p_source_39 => p_source_39
97102 , x_transaction_coa_id => l_adr_transaction_coa_id
97103 , x_accounting_coa_id => l_adr_accounting_coa_id
97104 , x_value_type_code => l_adr_value_type_code
97105 , p_side => 'NA'
97106 );
97107
97108 xla_ae_lines_pkg.set_ccid(
97109 p_code_combination_id => l_ccid
97110 , p_value_type_code => l_adr_value_type_code
97111 , p_transaction_coa_id => l_adr_transaction_coa_id
97112 , p_accounting_coa_id => l_adr_accounting_coa_id
97113 , p_adr_code => 'AP_REAL_LOSS'
97114 , p_adr_type_code => 'S'
97115 , p_component_type => l_component_type
97116 , p_component_code => l_component_code
97117 , p_component_type_code => l_component_type_code
97118 , p_component_appl_id => l_component_appl_id
97119 , p_amb_context_code => l_amb_context_code
97120 , p_side => 'NA'
97121 );
97122
97123
97124 l_segment := AcctDerRule_22(
97125 p_application_id => p_application_id
97126 , p_ae_header_id => l_ae_header_id
97127 , p_source_15 => p_source_15
97128 , p_source_15_meaning => p_source_15_meaning
97129 , p_source_30 => p_source_30
97130 , x_transaction_coa_id => l_adr_transaction_coa_id
97131 , x_accounting_coa_id => l_adr_accounting_coa_id
97132 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97133 , x_flex_value_set_id => l_adr_flex_value_set_id
97134 , x_value_type_code => l_adr_value_type_code
97135 , x_value_combination_id => l_adr_value_combination_id
97136 , x_value_segment_code => l_adr_value_segment_code
97137 , p_side => 'NA'
97138 , p_override_seg_flag => 'Y'
97139 );
97140
97141 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97142
97143 xla_ae_lines_pkg.set_segment(
97144 p_to_segment_code => 'GL_BALANCING'
97145 , p_segment_value => l_segment
97146 , p_from_segment_code => l_adr_value_segment_code
97147 , p_from_combination_id => l_adr_value_combination_id
97148 , p_value_type_code => l_adr_value_type_code
97149 , p_transaction_coa_id => l_adr_transaction_coa_id
97150 , p_accounting_coa_id => l_adr_accounting_coa_id
97151 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97152 , p_flex_value_set_id => l_adr_flex_value_set_id
97153 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97154 , p_adr_type_code => 'S'
97155 , p_component_type => l_component_type
97156 , p_component_code => l_component_code
97157 , p_component_type_code => l_component_type_code
97158 , p_component_appl_id => l_component_appl_id
97159 , p_amb_context_code => l_amb_context_code
97160 , p_entity_code => 'AP_PAYMENTS'
97161 , p_event_class_code => 'RECONCILED PAYMENTS'
97162 , p_side => 'NA'
97163 );
97164
97165 END IF;
97166
97167 l_segment := AcctDerRule_18(
97168 p_application_id => p_application_id
97169 , p_ae_header_id => l_ae_header_id
97170 , p_source_15 => p_source_15
97171 , p_source_15_meaning => p_source_15_meaning
97172 , p_source_38 => p_source_38
97173 , p_source_39 => p_source_39
97174 , x_transaction_coa_id => l_adr_transaction_coa_id
97178 , x_value_type_code => l_adr_value_type_code
97175 , x_accounting_coa_id => l_adr_accounting_coa_id
97176 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97177 , x_flex_value_set_id => l_adr_flex_value_set_id
97179 , x_value_combination_id => l_adr_value_combination_id
97180 , x_value_segment_code => l_adr_value_segment_code
97181 , p_side => 'NA'
97182 , p_override_seg_flag => 'Y'
97183 );
97184
97185 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97186
97187 xla_ae_lines_pkg.set_segment(
97188 p_to_segment_code => 'GL_ACCOUNT'
97189 , p_segment_value => l_segment
97190 , p_from_segment_code => l_adr_value_segment_code
97191 , p_from_combination_id => l_adr_value_combination_id
97192 , p_value_type_code => l_adr_value_type_code
97193 , p_transaction_coa_id => l_adr_transaction_coa_id
97194 , p_accounting_coa_id => l_adr_accounting_coa_id
97195 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97196 , p_flex_value_set_id => l_adr_flex_value_set_id
97197 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97198 , p_adr_type_code => 'S'
97199 , p_component_type => l_component_type
97200 , p_component_code => l_component_code
97201 , p_component_type_code => l_component_type_code
97202 , p_component_appl_id => l_component_appl_id
97203 , p_amb_context_code => l_amb_context_code
97204 , p_entity_code => 'AP_PAYMENTS'
97205 , p_event_class_code => 'RECONCILED PAYMENTS'
97206 , p_side => 'NA'
97207 );
97208
97209 END IF;
97210
97211 --
97212 --
97213 END IF;
97214
97215 --
97216 -- Update the line information that should be overwritten
97217 --
97218 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
97219 p_header_num => 1);
97220 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
97221
97222 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
97223
97224 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
97225 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
97226 END IF;
97227
97228 --
97229 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
97230 --
97231 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
97232 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
97233 ELSE
97234 ---------------------------------------------------------------------------------------------------
97235 -- 4262811a Switch Sign
97236 ---------------------------------------------------------------------------------------------------
97237 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
97238 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97239 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97240 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97241 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97242 -- 5132302
97243 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
97244 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97245
97246 END IF;
97247
97248 -- 4955764
97249 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97250 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
97251
97252
97253 XLA_AE_LINES_PKG.ValidateCurrentLine;
97254 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97255
97256 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97257 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
97258 ,p_balance_type_code => l_balance_type_code);
97259
97260 END IF;
97261
97262 -----------------------------------------------------------------------------------------
97263 -- 4262811 Multiperiod Accounting
97264 -----------------------------------------------------------------------------------------
97265 -- No MPA option is assigned.
97266
97267
97268 END IF;
97269 END IF;
97270 --
97271
97272 --
97273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97274 trace
97275 (p_msg => 'END of AcctLineType_164'
97276 ,p_level => C_LEVEL_PROCEDURE
97277 ,p_module => l_log_module);
97278 END IF;
97279 --
97280 EXCEPTION
97281 WHEN xla_exceptions_pkg.application_exception THEN
97282 RAISE;
97283 WHEN OTHERS THEN
97284 xla_exceptions_pkg.raise_message
97288
97285 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_164');
97286 END AcctLineType_164;
97287 --
97289 ---------------------------------------
97290 --
97291 -- PRIVATE FUNCTION
97292 -- AcctLineType_165
97293 --
97294 ---------------------------------------
97295 PROCEDURE AcctLineType_165 (
97296 p_application_id IN NUMBER
97297 ,p_event_id IN NUMBER
97298 ,p_calculate_acctd_flag IN VARCHAR2
97299 ,p_calculate_g_l_flag IN VARCHAR2
97300 ,p_actual_flag IN OUT VARCHAR2
97301 ,p_balance_type_code OUT VARCHAR2
97302 ,p_gain_or_loss_ref OUT VARCHAR2
97303
97304 --Payment Currency Code
97305 , p_source_13 IN VARCHAR2
97306 --Automatic Offsets Value
97307 , p_source_15 IN VARCHAR2
97308 , p_source_15_meaning IN VARCHAR2
97309 --Invoice Distribution Account
97310 , p_source_30 IN NUMBER
97311 --Internal Realized Loss Account
97312 , p_source_38 IN NUMBER
97313 --Bank Loss Account
97314 , p_source_39 IN NUMBER
97315 --Accounting Reversal Indicator
97316 , p_source_52 IN VARCHAR2
97317 --Distribution Link Type
97318 , p_source_54 IN VARCHAR2
97319 --Override Accounted Amount Indicator
97320 , p_source_79 IN VARCHAR2
97321 , p_source_79_meaning IN VARCHAR2
97322 --Third Party Type
97323 , p_source_82 IN VARCHAR2
97324 --Business Flow Accounts Payable Application Identifier
97325 , p_source_90 IN NUMBER
97326 --When to Account for Payment Option
97327 , p_source_96 IN VARCHAR2
97328 --Payment Distribution Type
97329 , p_source_97 IN VARCHAR2
97330 , p_source_97_meaning IN VARCHAR2
97331 --Payment Distribution Amount
97332 , p_source_98 IN NUMBER
97333 --Business Flow Payment Distribution Type
97334 , p_source_99 IN VARCHAR2
97335 --Business Flow Payment Entity Code
97336 , p_source_100 IN VARCHAR2
97337 --Business Flow Payment Distribution Identifier
97338 , p_source_101 IN NUMBER
97339 --Business Flow Payment Identifier
97340 , p_source_102 IN NUMBER
97341 --Payment Distribution Identifier
97342 , p_source_103 IN NUMBER
97343 --Payment Supplier Identifier
97344 , p_source_109 IN NUMBER
97345 --Payment Supplier Site Identifier
97346 , p_source_110 IN NUMBER
97347 --Payment Distribution Reversed Identifier
97348 , p_source_111 IN NUMBER
97349 --Payment Identifier
97350 , p_source_112 IN NUMBER
97351 --Payment Maturity Date
97352 , p_source_114 IN DATE
97353 --Payment Exchange Date
97354 , p_source_117 IN DATE
97355 --Payment Exchange Rate
97356 , p_source_118 IN NUMBER
97357 --Payment Exchange Rate Type
97358 , p_source_119 IN VARCHAR2
97359 --Payment/Maturity Ledger Amount Difference
97360 , p_source_151 IN NUMBER
97361 --Gain or Loss Indicator between Payment and Maturity
97362 , p_source_158 IN VARCHAR2
97363 )
97364 IS
97365
97366 l_component_type VARCHAR2(80);
97367 l_component_code VARCHAR2(30);
97368 l_component_type_code VARCHAR2(1);
97369 l_component_appl_id INTEGER;
97370 l_amb_context_code VARCHAR2(30);
97371 l_entity_code VARCHAR2(30);
97372 l_event_class_code VARCHAR2(30);
97373 l_ae_header_id NUMBER;
97374 l_event_type_code VARCHAR2(30);
97375 l_line_definition_code VARCHAR2(30);
97376 l_line_definition_owner_code VARCHAR2(1);
97377 --
97378 -- adr variables
97379 l_segment VARCHAR2(30);
97380 l_ccid NUMBER;
97381 l_adr_transaction_coa_id NUMBER;
97382 l_adr_accounting_coa_id NUMBER;
97383 l_adr_flexfield_segment_code VARCHAR2(30);
97384 l_adr_flex_value_set_id NUMBER;
97385 l_adr_value_type_code VARCHAR2(30);
97386 l_adr_value_combination_id NUMBER;
97387 l_adr_value_segment_code VARCHAR2(30);
97388
97389 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
97390 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
97391 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
97392 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
97393
97394 -- 4262811 Variables ------------------------------------------------------------------------------------------
97395 l_entered_amt_idx NUMBER;
97396 l_accted_amt_idx NUMBER;
97397 l_acc_rev_flag VARCHAR2(1);
97398 l_accrual_line_num NUMBER;
97399 l_tmp_amt NUMBER;
97400 l_acc_rev_natural_side_code VARCHAR2(1);
97401
97402 l_num_entries NUMBER;
97403 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
97404 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
97405 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
97406 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
97407 l_recog_line_1 NUMBER;
97408 l_recog_line_2 NUMBER;
97409
97410 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
97411 l_bflow_applied_to_amt NUMBER; -- 5132302
97415
97412 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
97413
97414 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
97416 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
97417 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
97418
97419 ---------------------------------------------------------------------------------------------------------------
97420
97421
97422 --
97423 -- bulk performance
97424 --
97425 l_balance_type_code VARCHAR2(1);
97426 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
97427 l_log_module VARCHAR2(240);
97428
97429 --
97430 -- Upgrade strategy
97431 --
97432 l_actual_upg_option VARCHAR2(1);
97433 l_enc_upg_option VARCHAR2(1);
97434
97435 --
97436 BEGIN
97437 --
97438 IF g_log_enabled THEN
97439 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_165';
97440 END IF;
97441 --
97442 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97443
97444 trace
97445 (p_msg => 'BEGIN of AcctLineType_165'
97446 ,p_level => C_LEVEL_PROCEDURE
97447 ,p_module => l_log_module);
97448
97449 END IF;
97450 --
97451 l_component_type := 'AMB_JLT';
97452 l_component_code := 'AP_LOSS_PMT_MAT';
97453 l_component_type_code := 'S';
97454 l_component_appl_id := 200;
97455 l_amb_context_code := 'DEFAULT';
97456 l_entity_code := 'AP_PAYMENTS';
97457 l_event_class_code := 'FUTURE DATED PAYMENTS';
97458 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
97459 l_line_definition_owner_code := 'S';
97460 l_line_definition_code := 'JA_CN_ACCRUAL_FUTURE_PAYMENT';
97461 --
97462 l_balance_type_code := 'A';
97463 l_segment := NULL;
97464 l_ccid := NULL;
97465 l_adr_transaction_coa_id := NULL;
97466 l_adr_accounting_coa_id := NULL;
97467 l_adr_flexfield_segment_code := NULL;
97468 l_adr_flex_value_set_id := NULL;
97469 l_adr_value_type_code := NULL;
97470 l_adr_value_combination_id := NULL;
97471 l_adr_value_segment_code := NULL;
97472
97473 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
97474 l_bflow_class_code := ''; -- 4219869 Business Flow
97475 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
97476 l_budgetary_control_flag := 'N';
97477
97478 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97479 l_bflow_applied_to_amt := NULL; -- 5132302
97480 l_entered_amt_idx := NULL; -- 4262811
97481 l_accted_amt_idx := NULL; -- 4262811
97482 l_acc_rev_flag := NULL; -- 4262811
97483 l_accrual_line_num := NULL; -- 4262811
97484 l_tmp_amt := NULL; -- 4262811
97485 --
97486 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
97487 (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
97488 return;
97489 END IF;
97490
97491 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
97492 l_balance_type_code <> 'B' THEN
97493 IF (NVL(p_source_96,'
97494 ') = 'ALWAYS_ALWAYS' OR
97495 NVL(p_source_96,'
97496 ') = 'ISSUE_ISSUE') AND
97497 p_source_114 IS NOT NULL AND
97498 NVL(p_source_158,'
97499 ') = 'LOSS' AND
97500 NVL(p_source_97,'
97501 ') <> 'EXCHANGE RATE VARIANCE' AND
97502 NVL(p_source_97,'
97503 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
97504 NVL(p_source_97,'
97505 ') <> 'BANK CHARGE' AND
97506 NVL(p_source_97,'
97507 ') <> 'BANK ERROR' AND
97508 NVL(p_source_97,'
97509 ') <> 'AWT'
97510 THEN
97511
97512 --
97513 XLA_AE_LINES_PKG.SetNewLine;
97514
97515 p_balance_type_code := l_balance_type_code;
97516 -- set the flag so later we will know whether the gain loss line needs to be created
97517
97518 IF(l_balance_type_code = 'A' ) THEN
97519 p_actual_flag :='G';
97520 END IF;
97521
97522 --
97523 -- bulk performance
97524 --
97525 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
97526 p_header_num => 0); -- 4262811
97527 --
97528 -- set accounting line options
97529 --
97530 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
97531 p_natural_side_code => 'C'
97532 , p_gain_or_loss_flag => 'Y'
97533 , p_gl_transfer_mode_code => 'S'
97534 , p_acct_entry_type_code => 'A'
97535 , p_switch_side_flag => 'Y'
97536 , p_merge_duplicate_code => 'A'
97537 );
97538 --
97539 l_acc_rev_natural_side_code := 'D'; -- 4262811
97540 --
97541 --
97542 -- set accounting line type info
97543 --
97544 xla_ae_lines_pkg.SetAcctLineType
97545 (p_component_type => l_component_type
97546 ,p_event_type_code => l_event_type_code
97547 ,p_line_definition_owner_code => l_line_definition_owner_code
97548 ,p_line_definition_code => l_line_definition_code
97552 ,p_amb_context_code => l_amb_context_code
97549 ,p_accounting_line_code => l_component_code
97550 ,p_accounting_line_type_code => l_component_type_code
97551 ,p_accounting_line_appl_id => l_component_appl_id
97553 ,p_entity_code => l_entity_code
97554 ,p_event_class_code => l_event_class_code);
97555 --
97556 -- set accounting class
97557 --
97558 xla_ae_lines_pkg.SetAcctClass(
97559 p_accounting_class_code => 'LOSS'
97560 , p_ae_header_id => l_ae_header_id
97561 );
97562
97563 --
97564 -- set rounding class
97565 --
97566 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
97567 'LOSS';
97568
97569 --
97570 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
97571 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
97572 --
97573 -- bulk performance
97574 --
97575 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
97576
97577 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
97578 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
97579
97580 -- 4955764
97581 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97582 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
97583
97584 -- 4458381 Public Sector Enh
97585
97586 --
97587 -- set accounting attributes for the line type
97588 --
97589 l_entered_amt_idx := 9;
97590 l_accted_amt_idx := 14;
97591 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97592 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
97593 l_rec_acct_attrs.array_char_value(1) := p_source_52;
97594 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
97595 l_rec_acct_attrs.array_num_value(2) := p_source_90;
97596 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
97597 l_rec_acct_attrs.array_char_value(3) := p_source_99;
97598 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
97599 l_rec_acct_attrs.array_char_value(4) := p_source_100;
97600 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
97601 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_101);
97602 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
97603 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
97604 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
97605 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
97606 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
97607 l_rec_acct_attrs.array_char_value(8) := p_source_54;
97608 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
97609 l_rec_acct_attrs.array_num_value(9) := p_source_98;
97610 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
97611 l_rec_acct_attrs.array_char_value(10) := p_source_13;
97612 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
97613 l_rec_acct_attrs.array_date_value(11) := p_source_117;
97614 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
97615 l_rec_acct_attrs.array_num_value(12) := p_source_118;
97616 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
97617 l_rec_acct_attrs.array_char_value(13) := p_source_119;
97618 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
97619 l_rec_acct_attrs.array_num_value(14) := p_source_151;
97620 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
97621 l_rec_acct_attrs.array_char_value(15) := p_source_79;
97622 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
97623 l_rec_acct_attrs.array_num_value(16) := p_source_109;
97624 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
97625 l_rec_acct_attrs.array_num_value(17) := p_source_110;
97626 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
97627 l_rec_acct_attrs.array_char_value(18) := p_source_82;
97628 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
97629 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
97630 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
97631 l_rec_acct_attrs.array_char_value(20) := p_source_54;
97632
97633 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97634 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97635
97636 ---------------------------------------------------------------------------------------------------------------
97637 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97638 ---------------------------------------------------------------------------------------------------------------
97639 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97640
97641 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97642 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97643
97644 IF xla_accounting_cache_pkg.GetValueChar
97645 (p_source_code => 'LEDGER_CATEGORY_CODE'
97649 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97646 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97647 AND l_bflow_method_code = 'PRIOR_ENTRY'
97648 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97650 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97651 )
97652 THEN
97653 xla_ae_lines_pkg.BflowUpgEntry
97654 (p_business_method_code => l_bflow_method_code
97655 ,p_business_class_code => l_bflow_class_code
97656 ,p_balance_type => l_balance_type_code);
97657 ELSE
97658 NULL;
97659 -- No business flow processing for business flow method of NONE.
97660 END IF;
97661
97662 --
97663 -- call analytical criteria
97664 --
97665
97666
97667 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
97668 xla_ae_lines_pkg.SetAnalyticalCriteria(
97669 p_analytical_criterion_name => 'Check Id'
97670 , p_analytical_criterion_owner => 'S'
97671 , p_analytical_criterion_code => 'CHECK_ID'
97672 , p_amb_context_code => 'DEFAULT'
97673 , p_balancing_flag => 'N'
97674
97675 , p_analytical_detail_char_1 => NULL
97676 , p_analytical_detail_num_1 => p_source_112
97677 , p_analytical_detail_date_1 => NULL
97678
97679 , p_ae_header_id => l_ae_header_id
97680 )
97681 ;
97682 --
97683
97684 --
97685 -- call description
97686 --
97687 -- No description or it is inherited.
97688 --
97689 -- call ADRs
97690 -- Bug 4922099
97691 --
97692 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97693 (NVL(l_actual_upg_option, 'N') = 'O') OR
97694 (NVL(l_enc_upg_option, 'N') = 'O')
97695 )
97696 THEN
97697 NULL;
97698 --
97699 --
97700
97701 l_ccid := AcctDerRule_38(
97702 p_application_id => p_application_id
97703 , p_ae_header_id => l_ae_header_id
97704 , p_source_15 => p_source_15
97705 , p_source_15_meaning => p_source_15_meaning
97706 , p_source_30 => p_source_30
97707 , p_source_38 => p_source_38
97708 , p_source_39 => p_source_39
97709 , x_transaction_coa_id => l_adr_transaction_coa_id
97710 , x_accounting_coa_id => l_adr_accounting_coa_id
97711 , x_value_type_code => l_adr_value_type_code
97712 , p_side => 'NA'
97713 );
97714
97715 xla_ae_lines_pkg.set_ccid(
97716 p_code_combination_id => l_ccid
97717 , p_value_type_code => l_adr_value_type_code
97718 , p_transaction_coa_id => l_adr_transaction_coa_id
97719 , p_accounting_coa_id => l_adr_accounting_coa_id
97720 , p_adr_code => 'AP_REAL_LOSS'
97721 , p_adr_type_code => 'S'
97722 , p_component_type => l_component_type
97723 , p_component_code => l_component_code
97724 , p_component_type_code => l_component_type_code
97725 , p_component_appl_id => l_component_appl_id
97726 , p_amb_context_code => l_amb_context_code
97727 , p_side => 'NA'
97728 );
97729
97730
97731 l_segment := AcctDerRule_22(
97732 p_application_id => p_application_id
97733 , p_ae_header_id => l_ae_header_id
97734 , p_source_15 => p_source_15
97735 , p_source_15_meaning => p_source_15_meaning
97736 , p_source_30 => p_source_30
97737 , x_transaction_coa_id => l_adr_transaction_coa_id
97738 , x_accounting_coa_id => l_adr_accounting_coa_id
97739 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97740 , x_flex_value_set_id => l_adr_flex_value_set_id
97741 , x_value_type_code => l_adr_value_type_code
97742 , x_value_combination_id => l_adr_value_combination_id
97743 , x_value_segment_code => l_adr_value_segment_code
97744 , p_side => 'NA'
97745 , p_override_seg_flag => 'Y'
97746 );
97747
97748 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97749
97750 xla_ae_lines_pkg.set_segment(
97751 p_to_segment_code => 'GL_BALANCING'
97752 , p_segment_value => l_segment
97753 , p_from_segment_code => l_adr_value_segment_code
97754 , p_from_combination_id => l_adr_value_combination_id
97755 , p_value_type_code => l_adr_value_type_code
97756 , p_transaction_coa_id => l_adr_transaction_coa_id
97757 , p_accounting_coa_id => l_adr_accounting_coa_id
97758 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97759 , p_flex_value_set_id => l_adr_flex_value_set_id
97760 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97761 , p_adr_type_code => 'S'
97762 , p_component_type => l_component_type
97763 , p_component_code => l_component_code
97764 , p_component_type_code => l_component_type_code
97765 , p_component_appl_id => l_component_appl_id
97766 , p_amb_context_code => l_amb_context_code
97767 , p_entity_code => 'AP_PAYMENTS'
97768 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97769 , p_side => 'NA'
97770 );
97774 l_segment := AcctDerRule_18(
97771
97772 END IF;
97773
97775 p_application_id => p_application_id
97776 , p_ae_header_id => l_ae_header_id
97777 , p_source_15 => p_source_15
97778 , p_source_15_meaning => p_source_15_meaning
97779 , p_source_38 => p_source_38
97780 , p_source_39 => p_source_39
97781 , x_transaction_coa_id => l_adr_transaction_coa_id
97782 , x_accounting_coa_id => l_adr_accounting_coa_id
97783 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97784 , x_flex_value_set_id => l_adr_flex_value_set_id
97785 , x_value_type_code => l_adr_value_type_code
97786 , x_value_combination_id => l_adr_value_combination_id
97787 , x_value_segment_code => l_adr_value_segment_code
97788 , p_side => 'NA'
97789 , p_override_seg_flag => 'Y'
97790 );
97791
97792 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97793
97794 xla_ae_lines_pkg.set_segment(
97795 p_to_segment_code => 'GL_ACCOUNT'
97796 , p_segment_value => l_segment
97797 , p_from_segment_code => l_adr_value_segment_code
97798 , p_from_combination_id => l_adr_value_combination_id
97799 , p_value_type_code => l_adr_value_type_code
97800 , p_transaction_coa_id => l_adr_transaction_coa_id
97801 , p_accounting_coa_id => l_adr_accounting_coa_id
97802 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97803 , p_flex_value_set_id => l_adr_flex_value_set_id
97804 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97805 , p_adr_type_code => 'S'
97806 , p_component_type => l_component_type
97807 , p_component_code => l_component_code
97808 , p_component_type_code => l_component_type_code
97809 , p_component_appl_id => l_component_appl_id
97810 , p_amb_context_code => l_amb_context_code
97811 , p_entity_code => 'AP_PAYMENTS'
97812 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97813 , p_side => 'NA'
97814 );
97815
97816 END IF;
97817
97818 --
97819 --
97820 END IF;
97821 --
97822 -- Bug 4922099
97823 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97824 (NVL(l_enc_upg_option, 'N') = 'O')
97825 ) AND
97826 (l_bflow_method_code = 'PRIOR_ENTRY')
97827 )
97828 THEN
97829 IF
97830 --
97831 1 = 2
97832 --
97833 THEN
97834 xla_accounting_err_pkg.build_message
97835 (p_appli_s_name => 'XLA'
97836 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97837 ,p_token_1 => 'LINE_NUMBER'
97838 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97839 ,p_token_2 => 'LINE_TYPE_NAME'
97840 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97841 l_component_type
97842 ,l_component_code
97843 ,l_component_type_code
97844 ,l_component_appl_id
97845 ,l_amb_context_code
97846 ,l_entity_code
97847 ,l_event_class_code
97848 )
97849 ,p_token_3 => 'OWNER'
97850 ,p_value_3 => xla_lookups_pkg.get_meaning(
97851 p_lookup_type => 'XLA_OWNER_TYPE'
97852 ,p_lookup_code => l_component_type_code
97853 )
97854 ,p_token_4 => 'PRODUCT_NAME'
97855 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97856 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97857 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97858 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97859 ,p_ae_header_id => NULL
97860 );
97861
97862 IF (C_LEVEL_ERROR>= g_log_level) THEN
97863 trace
97864 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97865 ,p_level => C_LEVEL_ERROR
97866 ,p_module => l_log_module);
97867 END IF;
97868 END IF;
97869 END IF;
97870 --
97874 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97871 --
97872 ------------------------------------------------------------------------------------------------
97873 -- 4219869 Business Flow
97875 -- Prior Entry. Currently, the following code is always generated.
97876 ------------------------------------------------------------------------------------------------
97877 XLA_AE_LINES_PKG.ValidateCurrentLine;
97878
97879 ------------------------------------------------------------------------------------
97880 -- 4219869 Business Flow
97881 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97882 ------------------------------------------------------------------------------------
97883 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97884
97885 ----------------------------------------------------------------------------------
97886 -- 4219869 Business Flow
97887 -- Update journal entry status -- Need to generate this within IF <condition>
97888 ----------------------------------------------------------------------------------
97889 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97890 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97891 ,p_balance_type_code => l_balance_type_code
97892 );
97893
97894 -------------------------------------------------------------------------------------------
97895 -- 4262811 - Generate the Accrual Reversal lines
97896 -------------------------------------------------------------------------------------------
97897 BEGIN
97898 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
97899 (g_array_event(p_event_id).array_value_num('header_index'));
97900 IF l_acc_rev_flag IS NULL THEN
97901 l_acc_rev_flag := 'N';
97902 END IF;
97903 EXCEPTION
97904 WHEN OTHERS THEN
97905 l_acc_rev_flag := 'N';
97906 END;
97907 --
97908 IF (l_acc_rev_flag = 'Y') THEN
97909
97910 -- 4645092 ------------------------------------------------------------------------------
97911 -- To allow MPA report to determine if it should generate report process
97912 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
97913 ------------------------------------------------------------------------------------------
97914
97915 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
97916 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
97917 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
97918 -- call ADRs
97919 -- Bug 4922099
97920 --
97921 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97922 (NVL(l_actual_upg_option, 'N') = 'O') OR
97923 (NVL(l_enc_upg_option, 'N') = 'O')
97924 )
97925 THEN
97926 NULL;
97927 --
97928 --
97929
97930 l_ccid := AcctDerRule_38(
97931 p_application_id => p_application_id
97932 , p_ae_header_id => l_ae_header_id
97933 , p_source_15 => p_source_15
97934 , p_source_15_meaning => p_source_15_meaning
97935 , p_source_30 => p_source_30
97936 , p_source_38 => p_source_38
97937 , p_source_39 => p_source_39
97938 , x_transaction_coa_id => l_adr_transaction_coa_id
97939 , x_accounting_coa_id => l_adr_accounting_coa_id
97940 , x_value_type_code => l_adr_value_type_code
97941 , p_side => 'NA'
97942 );
97943
97944 xla_ae_lines_pkg.set_ccid(
97945 p_code_combination_id => l_ccid
97946 , p_value_type_code => l_adr_value_type_code
97947 , p_transaction_coa_id => l_adr_transaction_coa_id
97948 , p_accounting_coa_id => l_adr_accounting_coa_id
97949 , p_adr_code => 'AP_REAL_LOSS'
97950 , p_adr_type_code => 'S'
97951 , p_component_type => l_component_type
97952 , p_component_code => l_component_code
97953 , p_component_type_code => l_component_type_code
97954 , p_component_appl_id => l_component_appl_id
97955 , p_amb_context_code => l_amb_context_code
97956 , p_side => 'NA'
97957 );
97958
97959
97960 l_segment := AcctDerRule_22(
97961 p_application_id => p_application_id
97962 , p_ae_header_id => l_ae_header_id
97963 , p_source_15 => p_source_15
97964 , p_source_15_meaning => p_source_15_meaning
97965 , p_source_30 => p_source_30
97966 , x_transaction_coa_id => l_adr_transaction_coa_id
97967 , x_accounting_coa_id => l_adr_accounting_coa_id
97968 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97969 , x_flex_value_set_id => l_adr_flex_value_set_id
97970 , x_value_type_code => l_adr_value_type_code
97971 , x_value_combination_id => l_adr_value_combination_id
97972 , x_value_segment_code => l_adr_value_segment_code
97973 , p_side => 'NA'
97974 , p_override_seg_flag => 'Y'
97975 );
97976
97977 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97978
97979 xla_ae_lines_pkg.set_segment(
97980 p_to_segment_code => 'GL_BALANCING'
97981 , p_segment_value => l_segment
97985 , p_transaction_coa_id => l_adr_transaction_coa_id
97982 , p_from_segment_code => l_adr_value_segment_code
97983 , p_from_combination_id => l_adr_value_combination_id
97984 , p_value_type_code => l_adr_value_type_code
97986 , p_accounting_coa_id => l_adr_accounting_coa_id
97987 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97988 , p_flex_value_set_id => l_adr_flex_value_set_id
97989 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97990 , p_adr_type_code => 'S'
97991 , p_component_type => l_component_type
97992 , p_component_code => l_component_code
97993 , p_component_type_code => l_component_type_code
97994 , p_component_appl_id => l_component_appl_id
97995 , p_amb_context_code => l_amb_context_code
97996 , p_entity_code => 'AP_PAYMENTS'
97997 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97998 , p_side => 'NA'
97999 );
98000
98001 END IF;
98002
98003 l_segment := AcctDerRule_18(
98004 p_application_id => p_application_id
98005 , p_ae_header_id => l_ae_header_id
98006 , p_source_15 => p_source_15
98007 , p_source_15_meaning => p_source_15_meaning
98008 , p_source_38 => p_source_38
98009 , p_source_39 => p_source_39
98010 , x_transaction_coa_id => l_adr_transaction_coa_id
98011 , x_accounting_coa_id => l_adr_accounting_coa_id
98012 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98013 , x_flex_value_set_id => l_adr_flex_value_set_id
98014 , x_value_type_code => l_adr_value_type_code
98015 , x_value_combination_id => l_adr_value_combination_id
98016 , x_value_segment_code => l_adr_value_segment_code
98017 , p_side => 'NA'
98018 , p_override_seg_flag => 'Y'
98019 );
98020
98021 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98022
98023 xla_ae_lines_pkg.set_segment(
98024 p_to_segment_code => 'GL_ACCOUNT'
98025 , p_segment_value => l_segment
98026 , p_from_segment_code => l_adr_value_segment_code
98027 , p_from_combination_id => l_adr_value_combination_id
98028 , p_value_type_code => l_adr_value_type_code
98029 , p_transaction_coa_id => l_adr_transaction_coa_id
98030 , p_accounting_coa_id => l_adr_accounting_coa_id
98031 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98032 , p_flex_value_set_id => l_adr_flex_value_set_id
98033 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98034 , p_adr_type_code => 'S'
98035 , p_component_type => l_component_type
98036 , p_component_code => l_component_code
98037 , p_component_type_code => l_component_type_code
98038 , p_component_appl_id => l_component_appl_id
98039 , p_amb_context_code => l_amb_context_code
98040 , p_entity_code => 'AP_PAYMENTS'
98041 , p_event_class_code => 'FUTURE DATED PAYMENTS'
98042 , p_side => 'NA'
98043 );
98044
98045 END IF;
98046
98047 --
98048 --
98049 END IF;
98050
98051 --
98052 -- Update the line information that should be overwritten
98053 --
98054 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98055 p_header_num => 1);
98056 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98057
98058 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98059
98060 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98061 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98062 END IF;
98063
98064 --
98065 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98066 --
98067 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98068 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98069 ELSE
98070 ---------------------------------------------------------------------------------------------------
98071 -- 4262811a Switch Sign
98072 ---------------------------------------------------------------------------------------------------
98073 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98074 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98075 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98076 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98077 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98078 -- 5132302
98079 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98080 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98081
98082 END IF;
98083
98084 -- 4955764
98085 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98089 XLA_AE_LINES_PKG.ValidateCurrentLine;
98086 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98087
98088
98090 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98091
98092 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98093 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98094 ,p_balance_type_code => l_balance_type_code);
98095
98096 END IF;
98097
98098 -----------------------------------------------------------------------------------------
98099 -- 4262811 Multiperiod Accounting
98100 -----------------------------------------------------------------------------------------
98101 -- No MPA option is assigned.
98102
98103
98104 END IF;
98105 END IF;
98106 --
98107
98108 --
98109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98110 trace
98111 (p_msg => 'END of AcctLineType_165'
98112 ,p_level => C_LEVEL_PROCEDURE
98113 ,p_module => l_log_module);
98114 END IF;
98115 --
98116 EXCEPTION
98117 WHEN xla_exceptions_pkg.application_exception THEN
98118 RAISE;
98119 WHEN OTHERS THEN
98120 xla_exceptions_pkg.raise_message
98121 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_165');
98122 END AcctLineType_165;
98123 --
98124
98125 ---------------------------------------
98126 --
98127 -- PRIVATE FUNCTION
98128 -- AcctLineType_166
98129 --
98130 ---------------------------------------
98131 PROCEDURE AcctLineType_166 (
98132 p_application_id IN NUMBER
98133 ,p_event_id IN NUMBER
98134 ,p_calculate_acctd_flag IN VARCHAR2
98135 ,p_calculate_g_l_flag IN VARCHAR2
98136 ,p_actual_flag IN OUT VARCHAR2
98137 ,p_balance_type_code OUT VARCHAR2
98138 ,p_gain_or_loss_ref OUT VARCHAR2
98139
98140 --Automatic Offsets Value
98141 , p_source_15 IN VARCHAR2
98142 , p_source_15_meaning IN VARCHAR2
98143 --Invoice Distribution Account
98144 , p_source_30 IN NUMBER
98145 --Internal Realized Loss Account
98146 , p_source_38 IN NUMBER
98147 --Bank Loss Account
98148 , p_source_39 IN NUMBER
98149 --Accounting Reversal Indicator
98150 , p_source_52 IN VARCHAR2
98151 --Distribution Link Type
98152 , p_source_54 IN VARCHAR2
98153 --Invoice Identifier
98154 , p_source_57 IN NUMBER
98155 --Payables Encumbrance Upgrade Credit Account
98156 , p_source_64 IN NUMBER
98157 --Payables Encumbrance Upgrade Credit Amount
98158 , p_source_65 IN NUMBER
98159 --Invoice Currency Code
98160 , p_source_66 IN VARCHAR2
98161 --Payables Encumbrance Upgrade Credit Base Amount
98162 , p_source_67 IN NUMBER
98163 --Payables Encumbrance Upgrade Debit Account
98164 , p_source_68 IN NUMBER
98165 --Payables Encumbrance Upgrade Debit Amount
98166 , p_source_69 IN NUMBER
98167 --Payables Encumbrance Upgrade Debit Base Amount
98168 , p_source_70 IN NUMBER
98169 --Payables Encumbrance Upgrade Option
98170 , p_source_71 IN VARCHAR2
98171 --Deferred Accounting End Date
98172 , p_source_76 IN DATE
98173 --Deferred Accounting Option
98174 , p_source_77 IN VARCHAR2
98175 --Deferred Accounting Start Date
98176 , p_source_78 IN DATE
98177 --Override Accounted Amount Indicator
98178 , p_source_79 IN VARCHAR2
98179 , p_source_79_meaning IN VARCHAR2
98180 --Invoice Supplier Identifier
98181 , p_source_80 IN NUMBER
98182 --Invoice Supplier Site Identifier
98183 , p_source_81 IN NUMBER
98184 --Third Party Type
98185 , p_source_82 IN VARCHAR2
98186 --Invoice Distribution Tax Line Identifier
98187 , p_source_85 IN NUMBER
98188 --Invoice Distribution Tax Distribution Identifier from Tax
98189 , p_source_86 IN NUMBER
98190 --Invoice Distribution Summary Tax Line Identifier
98191 , p_source_87 IN NUMBER
98192 --Payables Upgrade Credit Encumbrance Type Identifier
98193 , p_source_88 IN NUMBER
98194 --Payables Upgrade Debit Encumbrance Type Identifier
98195 , p_source_89 IN NUMBER
98196 --Business Flow Accounts Payable Application Identifier
98197 , p_source_90 IN NUMBER
98198 --Prepayment Application Distribution Identifier
98199 , p_source_127 IN NUMBER
98200 --Upgrade Encumbrance Credit Account Class
98201 , p_source_130 IN VARCHAR2
98202 --Upgrade Encumbrance Debit Account Class
98203 , p_source_131 IN VARCHAR2
98204 --Prepayment Distribution Amount
98205 , p_source_132 IN NUMBER
98206 --Identifier of the Prepayment Application Reversed
98207 , p_source_134 IN NUMBER
98208 --Invoice Exchange Date
98209 , p_source_136 IN DATE
98210 --Invoice Exchange Rate
98211 , p_source_137 IN NUMBER
98212 --Invoice Exchange Rate Type
98213 , p_source_138 IN VARCHAR2
98214 --Business Flow Prepayment Invoice Distribution Type
98215 , p_source_139 IN VARCHAR2
98216 --Business Flow Prepayment Invoice Entity Code
98217 , p_source_140 IN VARCHAR2
98218 --Business Flow Prepayment Invoice Distribution Identifier
98219 , p_source_141 IN NUMBER
98223 , p_source_143 IN VARCHAR2
98220 --Business Flow Prepayment Invoice Identifier
98221 , p_source_142 IN NUMBER
98222 --Prepayment Distribution Type
98224 --Prepayment/Invoice Ledger Amount Difference
98225 , p_source_152 IN NUMBER
98226 --Gain or Loss Indicator between Prepayment and Invoice
98227 , p_source_159 IN VARCHAR2
98228 )
98229 IS
98230
98231 l_component_type VARCHAR2(80);
98232 l_component_code VARCHAR2(30);
98233 l_component_type_code VARCHAR2(1);
98234 l_component_appl_id INTEGER;
98235 l_amb_context_code VARCHAR2(30);
98236 l_entity_code VARCHAR2(30);
98237 l_event_class_code VARCHAR2(30);
98238 l_ae_header_id NUMBER;
98239 l_event_type_code VARCHAR2(30);
98240 l_line_definition_code VARCHAR2(30);
98241 l_line_definition_owner_code VARCHAR2(1);
98242 --
98243 -- adr variables
98244 l_segment VARCHAR2(30);
98245 l_ccid NUMBER;
98246 l_adr_transaction_coa_id NUMBER;
98247 l_adr_accounting_coa_id NUMBER;
98248 l_adr_flexfield_segment_code VARCHAR2(30);
98249 l_adr_flex_value_set_id NUMBER;
98250 l_adr_value_type_code VARCHAR2(30);
98251 l_adr_value_combination_id NUMBER;
98252 l_adr_value_segment_code VARCHAR2(30);
98253
98254 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
98255 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
98256 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
98257 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
98258
98259 -- 4262811 Variables ------------------------------------------------------------------------------------------
98260 l_entered_amt_idx NUMBER;
98261 l_accted_amt_idx NUMBER;
98262 l_acc_rev_flag VARCHAR2(1);
98263 l_accrual_line_num NUMBER;
98264 l_tmp_amt NUMBER;
98265 l_acc_rev_natural_side_code VARCHAR2(1);
98266
98267 l_num_entries NUMBER;
98268 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
98269 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
98270 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
98271 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
98272 l_recog_line_1 NUMBER;
98273 l_recog_line_2 NUMBER;
98274
98275 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
98276 l_bflow_applied_to_amt NUMBER; -- 5132302
98277 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
98278
98279 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
98280
98281 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
98282 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
98283
98284 ---------------------------------------------------------------------------------------------------------------
98285
98286
98287 --
98288 -- bulk performance
98289 --
98290 l_balance_type_code VARCHAR2(1);
98291 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
98292 l_log_module VARCHAR2(240);
98293
98294 --
98295 -- Upgrade strategy
98296 --
98297 l_actual_upg_option VARCHAR2(1);
98298 l_enc_upg_option VARCHAR2(1);
98299
98300 --
98301 BEGIN
98302 --
98303 IF g_log_enabled THEN
98304 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_166';
98305 END IF;
98306 --
98307 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98308
98309 trace
98310 (p_msg => 'BEGIN of AcctLineType_166'
98311 ,p_level => C_LEVEL_PROCEDURE
98312 ,p_module => l_log_module);
98313
98314 END IF;
98315 --
98316 l_component_type := 'AMB_JLT';
98317 l_component_code := 'AP_LOSS_PREPAY_APP';
98318 l_component_type_code := 'S';
98319 l_component_appl_id := 200;
98320 l_amb_context_code := 'DEFAULT';
98321 l_entity_code := 'AP_INVOICES';
98322 l_event_class_code := 'PREPAYMENT APPLICATIONS';
98323 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
98324 l_line_definition_owner_code := 'S';
98325 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
98326 --
98327 l_balance_type_code := 'A';
98328 l_segment := NULL;
98329 l_ccid := NULL;
98330 l_adr_transaction_coa_id := NULL;
98331 l_adr_accounting_coa_id := NULL;
98332 l_adr_flexfield_segment_code := NULL;
98333 l_adr_flex_value_set_id := NULL;
98334 l_adr_value_type_code := NULL;
98335 l_adr_value_combination_id := NULL;
98336 l_adr_value_segment_code := NULL;
98337
98338 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
98339 l_bflow_class_code := ''; -- 4219869 Business Flow
98340 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
98341 l_budgetary_control_flag := 'N';
98342
98343 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98344 l_bflow_applied_to_amt := NULL; -- 5132302
98345 l_entered_amt_idx := NULL; -- 4262811
98346 l_accted_amt_idx := NULL; -- 4262811
98350 --
98347 l_acc_rev_flag := NULL; -- 4262811
98348 l_accrual_line_num := NULL; -- 4262811
98349 l_tmp_amt := NULL; -- 4262811
98351 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
98352 (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
98353 return;
98354 END IF;
98355
98356 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
98357 l_balance_type_code <> 'B' THEN
98358 IF (NVL(p_source_143,'
98359 ') = 'PREPAY APPL' OR
98360 NVL(p_source_143,'
98361 ') = 'PREPAY APPL NONREC TAX' OR
98362 NVL(p_source_143,'
98363 ') = 'PREPAY APPL REC TAX') AND
98364 NVL(p_source_159,'
98365 ') = 'LOSS'
98366 THEN
98367
98368 --
98369 XLA_AE_LINES_PKG.SetNewLine;
98370
98371 p_balance_type_code := l_balance_type_code;
98372 -- set the flag so later we will know whether the gain loss line needs to be created
98373
98374 IF(l_balance_type_code = 'A' ) THEN
98375 p_actual_flag :='G';
98376 END IF;
98377
98378 --
98379 -- bulk performance
98380 --
98381 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
98382 p_header_num => 0); -- 4262811
98383 --
98384 -- set accounting line options
98385 --
98386 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
98387 p_natural_side_code => 'D'
98388 , p_gain_or_loss_flag => 'Y'
98389 , p_gl_transfer_mode_code => 'S'
98390 , p_acct_entry_type_code => 'A'
98391 , p_switch_side_flag => 'Y'
98392 , p_merge_duplicate_code => 'A'
98393 );
98394 --
98395 l_acc_rev_natural_side_code := 'C'; -- 4262811
98396 --
98397 --
98398 -- set accounting line type info
98399 --
98400 xla_ae_lines_pkg.SetAcctLineType
98401 (p_component_type => l_component_type
98402 ,p_event_type_code => l_event_type_code
98403 ,p_line_definition_owner_code => l_line_definition_owner_code
98404 ,p_line_definition_code => l_line_definition_code
98405 ,p_accounting_line_code => l_component_code
98406 ,p_accounting_line_type_code => l_component_type_code
98407 ,p_accounting_line_appl_id => l_component_appl_id
98408 ,p_amb_context_code => l_amb_context_code
98409 ,p_entity_code => l_entity_code
98410 ,p_event_class_code => l_event_class_code);
98411 --
98412 -- set accounting class
98413 --
98414 xla_ae_lines_pkg.SetAcctClass(
98415 p_accounting_class_code => 'LOSS'
98416 , p_ae_header_id => l_ae_header_id
98417 );
98418
98419 --
98420 -- set rounding class
98421 --
98422 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
98423 'LOSS';
98424
98425 --
98426 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
98427 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
98428 --
98429 -- bulk performance
98430 --
98431 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
98432
98433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
98434 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
98435
98436 -- 4955764
98437 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98438 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
98439
98440 -- 4458381 Public Sector Enh
98441
98442 --
98443 -- set accounting attributes for the line type
98444 --
98445 l_entered_amt_idx := 25;
98446 l_accted_amt_idx := 30;
98447 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98448 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
98449 l_rec_acct_attrs.array_char_value(1) := p_source_52;
98450 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
98451 l_rec_acct_attrs.array_num_value(2) :=
98452 xla_ae_sources_pkg.GetSystemSourceNum(
98453 p_source_code => 'XLA_EVENT_APPL_ID'
98454 , p_source_type_code => 'Y'
98455 , p_source_application_id => 602
98456 );
98457 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
98458 l_rec_acct_attrs.array_char_value(3) := p_source_54;
98459 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
98460 l_rec_acct_attrs.array_char_value(4) :=
98461 xla_ae_sources_pkg.GetSystemSourceChar(
98462 p_source_code => 'XLA_ENTITY_CODE'
98463 , p_source_type_code => 'Y'
98464 , p_source_application_id => 602
98465 );
98466 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
98467 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
98468 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
98472 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
98469 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
98470 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
98471 l_rec_acct_attrs.array_num_value(7) := p_source_90;
98473 l_rec_acct_attrs.array_char_value(8) := p_source_139;
98474 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
98475 l_rec_acct_attrs.array_char_value(9) := p_source_140;
98476 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
98477 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
98478 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
98479 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
98480 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
98481 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
98482 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
98483 l_rec_acct_attrs.array_char_value(13) := p_source_54;
98484 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
98485 l_rec_acct_attrs.array_char_value(14) := p_source_130;
98486 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
98487 l_rec_acct_attrs.array_num_value(15) := p_source_64;
98488 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
98489 l_rec_acct_attrs.array_num_value(16) := p_source_65;
98490 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
98491 l_rec_acct_attrs.array_char_value(17) := p_source_66;
98492 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
98493 l_rec_acct_attrs.array_num_value(18) := p_source_67;
98494 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
98495 l_rec_acct_attrs.array_char_value(19) := p_source_131;
98496 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
98497 l_rec_acct_attrs.array_num_value(20) := p_source_68;
98498 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
98499 l_rec_acct_attrs.array_num_value(21) := p_source_69;
98500 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
98501 l_rec_acct_attrs.array_char_value(22) := p_source_66;
98502 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
98503 l_rec_acct_attrs.array_num_value(23) := p_source_70;
98504 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
98505 l_rec_acct_attrs.array_char_value(24) := p_source_71;
98506 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
98507 l_rec_acct_attrs.array_num_value(25) := p_source_132;
98508 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
98509 l_rec_acct_attrs.array_char_value(26) := p_source_66;
98510 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
98511 l_rec_acct_attrs.array_date_value(27) := p_source_136;
98512 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
98513 l_rec_acct_attrs.array_num_value(28) := p_source_137;
98514 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
98515 l_rec_acct_attrs.array_char_value(29) := p_source_138;
98516 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
98517 l_rec_acct_attrs.array_num_value(30) := p_source_152;
98518 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
98519 l_rec_acct_attrs.array_date_value(31) := p_source_76;
98520 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
98521 l_rec_acct_attrs.array_char_value(32) := p_source_77;
98522 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
98523 l_rec_acct_attrs.array_date_value(33) := p_source_78;
98524 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
98525 l_rec_acct_attrs.array_char_value(34) := p_source_79;
98526 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
98527 l_rec_acct_attrs.array_num_value(35) := p_source_80;
98528 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
98529 l_rec_acct_attrs.array_num_value(36) := p_source_81;
98530 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
98531 l_rec_acct_attrs.array_char_value(37) := p_source_82;
98532 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
98533 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
98534 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
98535 l_rec_acct_attrs.array_char_value(39) := p_source_54;
98536 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
98537 l_rec_acct_attrs.array_num_value(40) := p_source_85;
98538 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
98539 l_rec_acct_attrs.array_num_value(41) := p_source_86;
98540 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
98541 l_rec_acct_attrs.array_num_value(42) := p_source_87;
98542 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
98543 l_rec_acct_attrs.array_num_value(43) := p_source_88;
98544 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
98545 l_rec_acct_attrs.array_num_value(44) := p_source_89;
98546
98547 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
98548 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
98549
98550 ---------------------------------------------------------------------------------------------------------------
98551 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
98555 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98552 ---------------------------------------------------------------------------------------------------------------
98553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
98554
98556 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98557
98558 IF xla_accounting_cache_pkg.GetValueChar
98559 (p_source_code => 'LEDGER_CATEGORY_CODE'
98560 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
98561 AND l_bflow_method_code = 'PRIOR_ENTRY'
98562 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
98563 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
98564 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
98565 )
98566 THEN
98567 xla_ae_lines_pkg.BflowUpgEntry
98568 (p_business_method_code => l_bflow_method_code
98569 ,p_business_class_code => l_bflow_class_code
98570 ,p_balance_type => l_balance_type_code);
98571 ELSE
98572 NULL;
98573 -- No business flow processing for business flow method of NONE.
98574 END IF;
98575
98576 --
98577 -- call analytical criteria
98578 --
98579
98580 --
98581 -- call description
98582 --
98583 -- No description or it is inherited.
98584 --
98585 -- call ADRs
98586 -- Bug 4922099
98587 --
98588 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98589 (NVL(l_actual_upg_option, 'N') = 'O') OR
98590 (NVL(l_enc_upg_option, 'N') = 'O')
98591 )
98592 THEN
98593 NULL;
98594 --
98595 --
98596
98597 l_ccid := AcctDerRule_38(
98598 p_application_id => p_application_id
98599 , p_ae_header_id => l_ae_header_id
98600 , p_source_15 => p_source_15
98601 , p_source_15_meaning => p_source_15_meaning
98602 , p_source_30 => p_source_30
98603 , p_source_38 => p_source_38
98604 , p_source_39 => p_source_39
98605 , x_transaction_coa_id => l_adr_transaction_coa_id
98606 , x_accounting_coa_id => l_adr_accounting_coa_id
98607 , x_value_type_code => l_adr_value_type_code
98608 , p_side => 'NA'
98609 );
98610
98611 xla_ae_lines_pkg.set_ccid(
98612 p_code_combination_id => l_ccid
98613 , p_value_type_code => l_adr_value_type_code
98614 , p_transaction_coa_id => l_adr_transaction_coa_id
98615 , p_accounting_coa_id => l_adr_accounting_coa_id
98616 , p_adr_code => 'AP_REAL_LOSS'
98617 , p_adr_type_code => 'S'
98618 , p_component_type => l_component_type
98619 , p_component_code => l_component_code
98620 , p_component_type_code => l_component_type_code
98621 , p_component_appl_id => l_component_appl_id
98622 , p_amb_context_code => l_amb_context_code
98623 , p_side => 'NA'
98624 );
98625
98626
98627 l_segment := AcctDerRule_22(
98628 p_application_id => p_application_id
98629 , p_ae_header_id => l_ae_header_id
98630 , p_source_15 => p_source_15
98631 , p_source_15_meaning => p_source_15_meaning
98632 , p_source_30 => p_source_30
98633 , x_transaction_coa_id => l_adr_transaction_coa_id
98634 , x_accounting_coa_id => l_adr_accounting_coa_id
98635 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98636 , x_flex_value_set_id => l_adr_flex_value_set_id
98637 , x_value_type_code => l_adr_value_type_code
98638 , x_value_combination_id => l_adr_value_combination_id
98639 , x_value_segment_code => l_adr_value_segment_code
98640 , p_side => 'NA'
98641 , p_override_seg_flag => 'Y'
98642 );
98643
98644 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98645
98646 xla_ae_lines_pkg.set_segment(
98647 p_to_segment_code => 'GL_BALANCING'
98648 , p_segment_value => l_segment
98649 , p_from_segment_code => l_adr_value_segment_code
98650 , p_from_combination_id => l_adr_value_combination_id
98651 , p_value_type_code => l_adr_value_type_code
98652 , p_transaction_coa_id => l_adr_transaction_coa_id
98653 , p_accounting_coa_id => l_adr_accounting_coa_id
98654 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98655 , p_flex_value_set_id => l_adr_flex_value_set_id
98656 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98657 , p_adr_type_code => 'S'
98658 , p_component_type => l_component_type
98659 , p_component_code => l_component_code
98660 , p_component_type_code => l_component_type_code
98661 , p_component_appl_id => l_component_appl_id
98662 , p_amb_context_code => l_amb_context_code
98663 , p_entity_code => 'AP_INVOICES'
98664 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98665 , p_side => 'NA'
98666 );
98667
98668 END IF;
98669
98670 l_segment := AcctDerRule_18(
98671 p_application_id => p_application_id
98675 , p_source_38 => p_source_38
98672 , p_ae_header_id => l_ae_header_id
98673 , p_source_15 => p_source_15
98674 , p_source_15_meaning => p_source_15_meaning
98676 , p_source_39 => p_source_39
98677 , x_transaction_coa_id => l_adr_transaction_coa_id
98678 , x_accounting_coa_id => l_adr_accounting_coa_id
98679 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98680 , x_flex_value_set_id => l_adr_flex_value_set_id
98681 , x_value_type_code => l_adr_value_type_code
98682 , x_value_combination_id => l_adr_value_combination_id
98683 , x_value_segment_code => l_adr_value_segment_code
98684 , p_side => 'NA'
98685 , p_override_seg_flag => 'Y'
98686 );
98687
98688 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98689
98690 xla_ae_lines_pkg.set_segment(
98691 p_to_segment_code => 'GL_ACCOUNT'
98692 , p_segment_value => l_segment
98693 , p_from_segment_code => l_adr_value_segment_code
98694 , p_from_combination_id => l_adr_value_combination_id
98695 , p_value_type_code => l_adr_value_type_code
98696 , p_transaction_coa_id => l_adr_transaction_coa_id
98697 , p_accounting_coa_id => l_adr_accounting_coa_id
98698 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98699 , p_flex_value_set_id => l_adr_flex_value_set_id
98700 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98701 , p_adr_type_code => 'S'
98702 , p_component_type => l_component_type
98703 , p_component_code => l_component_code
98704 , p_component_type_code => l_component_type_code
98705 , p_component_appl_id => l_component_appl_id
98706 , p_amb_context_code => l_amb_context_code
98707 , p_entity_code => 'AP_INVOICES'
98708 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98709 , p_side => 'NA'
98710 );
98711
98712 END IF;
98713
98714 --
98715 --
98716 END IF;
98717 --
98718 -- Bug 4922099
98719 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
98720 (NVL(l_enc_upg_option, 'N') = 'O')
98721 ) AND
98722 (l_bflow_method_code = 'PRIOR_ENTRY')
98723 )
98724 THEN
98725 IF
98726 --
98727 1 = 2
98728 --
98729 THEN
98730 xla_accounting_err_pkg.build_message
98731 (p_appli_s_name => 'XLA'
98732 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98733 ,p_token_1 => 'LINE_NUMBER'
98734 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
98735 ,p_token_2 => 'LINE_TYPE_NAME'
98736 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
98737 l_component_type
98738 ,l_component_code
98739 ,l_component_type_code
98740 ,l_component_appl_id
98741 ,l_amb_context_code
98742 ,l_entity_code
98743 ,l_event_class_code
98744 )
98745 ,p_token_3 => 'OWNER'
98746 ,p_value_3 => xla_lookups_pkg.get_meaning(
98747 p_lookup_type => 'XLA_OWNER_TYPE'
98748 ,p_lookup_code => l_component_type_code
98749 )
98750 ,p_token_4 => 'PRODUCT_NAME'
98751 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
98752 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
98753 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
98754 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
98755 ,p_ae_header_id => NULL
98756 );
98757
98758 IF (C_LEVEL_ERROR>= g_log_level) THEN
98759 trace
98760 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98761 ,p_level => C_LEVEL_ERROR
98762 ,p_module => l_log_module);
98763 END IF;
98764 END IF;
98765 END IF;
98766 --
98767 --
98768 ------------------------------------------------------------------------------------------------
98769 -- 4219869 Business Flow
98773 XLA_AE_LINES_PKG.ValidateCurrentLine;
98770 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
98771 -- Prior Entry. Currently, the following code is always generated.
98772 ------------------------------------------------------------------------------------------------
98774
98775 ------------------------------------------------------------------------------------
98776 -- 4219869 Business Flow
98777 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
98778 ------------------------------------------------------------------------------------
98779 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98780
98781 ----------------------------------------------------------------------------------
98782 -- 4219869 Business Flow
98783 -- Update journal entry status -- Need to generate this within IF <condition>
98784 ----------------------------------------------------------------------------------
98785 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98786 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
98787 ,p_balance_type_code => l_balance_type_code
98788 );
98789
98790 -------------------------------------------------------------------------------------------
98791 -- 4262811 - Generate the Accrual Reversal lines
98792 -------------------------------------------------------------------------------------------
98793 BEGIN
98794 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98795 (g_array_event(p_event_id).array_value_num('header_index'));
98796 IF l_acc_rev_flag IS NULL THEN
98797 l_acc_rev_flag := 'N';
98798 END IF;
98799 EXCEPTION
98800 WHEN OTHERS THEN
98801 l_acc_rev_flag := 'N';
98802 END;
98803 --
98804 IF (l_acc_rev_flag = 'Y') THEN
98805
98806 -- 4645092 ------------------------------------------------------------------------------
98807 -- To allow MPA report to determine if it should generate report process
98808 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98809 ------------------------------------------------------------------------------------------
98810
98811 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98812 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98813 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98814 -- call ADRs
98815 -- Bug 4922099
98816 --
98817 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98818 (NVL(l_actual_upg_option, 'N') = 'O') OR
98819 (NVL(l_enc_upg_option, 'N') = 'O')
98820 )
98821 THEN
98822 NULL;
98823 --
98824 --
98825
98826 l_ccid := AcctDerRule_38(
98827 p_application_id => p_application_id
98828 , p_ae_header_id => l_ae_header_id
98829 , p_source_15 => p_source_15
98830 , p_source_15_meaning => p_source_15_meaning
98831 , p_source_30 => p_source_30
98832 , p_source_38 => p_source_38
98833 , p_source_39 => p_source_39
98834 , x_transaction_coa_id => l_adr_transaction_coa_id
98835 , x_accounting_coa_id => l_adr_accounting_coa_id
98836 , x_value_type_code => l_adr_value_type_code
98837 , p_side => 'NA'
98838 );
98839
98840 xla_ae_lines_pkg.set_ccid(
98841 p_code_combination_id => l_ccid
98842 , p_value_type_code => l_adr_value_type_code
98843 , p_transaction_coa_id => l_adr_transaction_coa_id
98844 , p_accounting_coa_id => l_adr_accounting_coa_id
98845 , p_adr_code => 'AP_REAL_LOSS'
98846 , p_adr_type_code => 'S'
98847 , p_component_type => l_component_type
98848 , p_component_code => l_component_code
98849 , p_component_type_code => l_component_type_code
98850 , p_component_appl_id => l_component_appl_id
98851 , p_amb_context_code => l_amb_context_code
98852 , p_side => 'NA'
98853 );
98854
98855
98856 l_segment := AcctDerRule_22(
98857 p_application_id => p_application_id
98858 , p_ae_header_id => l_ae_header_id
98859 , p_source_15 => p_source_15
98860 , p_source_15_meaning => p_source_15_meaning
98861 , p_source_30 => p_source_30
98862 , x_transaction_coa_id => l_adr_transaction_coa_id
98863 , x_accounting_coa_id => l_adr_accounting_coa_id
98864 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98865 , x_flex_value_set_id => l_adr_flex_value_set_id
98866 , x_value_type_code => l_adr_value_type_code
98867 , x_value_combination_id => l_adr_value_combination_id
98868 , x_value_segment_code => l_adr_value_segment_code
98869 , p_side => 'NA'
98870 , p_override_seg_flag => 'Y'
98871 );
98872
98873 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98874
98875 xla_ae_lines_pkg.set_segment(
98876 p_to_segment_code => 'GL_BALANCING'
98877 , p_segment_value => l_segment
98878 , p_from_segment_code => l_adr_value_segment_code
98879 , p_from_combination_id => l_adr_value_combination_id
98880 , p_value_type_code => l_adr_value_type_code
98884 , p_flex_value_set_id => l_adr_flex_value_set_id
98881 , p_transaction_coa_id => l_adr_transaction_coa_id
98882 , p_accounting_coa_id => l_adr_accounting_coa_id
98883 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98885 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98886 , p_adr_type_code => 'S'
98887 , p_component_type => l_component_type
98888 , p_component_code => l_component_code
98889 , p_component_type_code => l_component_type_code
98890 , p_component_appl_id => l_component_appl_id
98891 , p_amb_context_code => l_amb_context_code
98892 , p_entity_code => 'AP_INVOICES'
98893 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98894 , p_side => 'NA'
98895 );
98896
98897 END IF;
98898
98899 l_segment := AcctDerRule_18(
98900 p_application_id => p_application_id
98901 , p_ae_header_id => l_ae_header_id
98902 , p_source_15 => p_source_15
98903 , p_source_15_meaning => p_source_15_meaning
98904 , p_source_38 => p_source_38
98905 , p_source_39 => p_source_39
98906 , x_transaction_coa_id => l_adr_transaction_coa_id
98907 , x_accounting_coa_id => l_adr_accounting_coa_id
98908 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98909 , x_flex_value_set_id => l_adr_flex_value_set_id
98910 , x_value_type_code => l_adr_value_type_code
98911 , x_value_combination_id => l_adr_value_combination_id
98912 , x_value_segment_code => l_adr_value_segment_code
98913 , p_side => 'NA'
98914 , p_override_seg_flag => 'Y'
98915 );
98916
98917 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98918
98919 xla_ae_lines_pkg.set_segment(
98920 p_to_segment_code => 'GL_ACCOUNT'
98921 , p_segment_value => l_segment
98922 , p_from_segment_code => l_adr_value_segment_code
98923 , p_from_combination_id => l_adr_value_combination_id
98924 , p_value_type_code => l_adr_value_type_code
98925 , p_transaction_coa_id => l_adr_transaction_coa_id
98926 , p_accounting_coa_id => l_adr_accounting_coa_id
98927 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98928 , p_flex_value_set_id => l_adr_flex_value_set_id
98929 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98930 , p_adr_type_code => 'S'
98931 , p_component_type => l_component_type
98932 , p_component_code => l_component_code
98933 , p_component_type_code => l_component_type_code
98934 , p_component_appl_id => l_component_appl_id
98935 , p_amb_context_code => l_amb_context_code
98936 , p_entity_code => 'AP_INVOICES'
98937 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98938 , p_side => 'NA'
98939 );
98940
98941 END IF;
98942
98943 --
98944 --
98945 END IF;
98946
98947 --
98948 -- Update the line information that should be overwritten
98949 --
98950 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98951 p_header_num => 1);
98952 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98953
98954 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98955
98956 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98957 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98958 END IF;
98959
98960 --
98961 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98962 --
98963 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98964 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98965 ELSE
98966 ---------------------------------------------------------------------------------------------------
98967 -- 4262811a Switch Sign
98968 ---------------------------------------------------------------------------------------------------
98969 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98971 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98972 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98973 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98974 -- 5132302
98975 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98976 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98977
98978 END IF;
98979
98980 -- 4955764
98981 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98985 XLA_AE_LINES_PKG.ValidateCurrentLine;
98982 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98983
98984
98986 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98987
98988 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98989 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98990 ,p_balance_type_code => l_balance_type_code);
98991
98992 END IF;
98993
98994 -----------------------------------------------------------------------------------------
98995 -- 4262811 Multiperiod Accounting
98996 -----------------------------------------------------------------------------------------
98997 -- No MPA option is assigned.
98998
98999
99000 END IF;
99001 END IF;
99002 --
99003
99004 --
99005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99006 trace
99007 (p_msg => 'END of AcctLineType_166'
99008 ,p_level => C_LEVEL_PROCEDURE
99009 ,p_module => l_log_module);
99010 END IF;
99011 --
99012 EXCEPTION
99013 WHEN xla_exceptions_pkg.application_exception THEN
99014 RAISE;
99015 WHEN OTHERS THEN
99016 xla_exceptions_pkg.raise_message
99017 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_166');
99018 END AcctLineType_166;
99019 --
99020
99021 ---------------------------------------
99022 --
99023 -- PRIVATE FUNCTION
99024 -- AcctLineType_167
99025 --
99026 ---------------------------------------
99027 PROCEDURE AcctLineType_167 (
99028 p_application_id IN NUMBER
99029 ,p_event_id IN NUMBER
99030 ,p_calculate_acctd_flag IN VARCHAR2
99031 ,p_calculate_g_l_flag IN VARCHAR2
99032 ,p_actual_flag IN OUT VARCHAR2
99033 ,p_balance_type_code OUT VARCHAR2
99034 ,p_gain_or_loss_ref OUT VARCHAR2
99035
99036 --Payment Currency Code
99037 , p_source_13 IN VARCHAR2
99038 --Automatic Offsets Value
99039 , p_source_15 IN VARCHAR2
99040 , p_source_15_meaning IN VARCHAR2
99041 --Invoice Distribution Account
99042 , p_source_30 IN NUMBER
99043 --Internal Realized Loss Account
99044 , p_source_38 IN NUMBER
99045 --Bank Loss Account
99046 , p_source_39 IN NUMBER
99047 --Accounting Reversal Indicator
99048 , p_source_52 IN VARCHAR2
99049 --Distribution Link Type
99050 , p_source_54 IN VARCHAR2
99051 --Override Accounted Amount Indicator
99052 , p_source_79 IN VARCHAR2
99053 , p_source_79_meaning IN VARCHAR2
99054 --Third Party Type
99055 , p_source_82 IN VARCHAR2
99056 --Invoice Distribution Tax Line Identifier
99057 , p_source_85 IN NUMBER
99058 --Invoice Distribution Tax Distribution Identifier from Tax
99059 , p_source_86 IN NUMBER
99060 --Invoice Distribution Summary Tax Line Identifier
99061 , p_source_87 IN NUMBER
99062 --Business Flow Accounts Payable Application Identifier
99063 , p_source_90 IN NUMBER
99064 --Business Flow Invoice Distribution Type
99065 , p_source_91 IN VARCHAR2
99066 --Business Flow Invoice Entity Code
99067 , p_source_92 IN VARCHAR2
99068 --Business Flow Invoice Distribution Identifier
99069 , p_source_93 IN NUMBER
99070 --Business Flow Invoice Identifier
99071 , p_source_94 IN NUMBER
99072 --When to Account for Payment Option
99073 , p_source_96 IN VARCHAR2
99074 --Payment Distribution Type
99075 , p_source_97 IN VARCHAR2
99076 , p_source_97_meaning IN VARCHAR2
99077 --Payment Distribution Amount
99078 , p_source_98 IN NUMBER
99079 --Payment Distribution Identifier
99080 , p_source_103 IN NUMBER
99081 --Payment Supplier Identifier
99082 , p_source_109 IN NUMBER
99083 --Payment Supplier Site Identifier
99084 , p_source_110 IN NUMBER
99085 --Payment Distribution Reversed Identifier
99086 , p_source_111 IN NUMBER
99087 --Payment Identifier
99088 , p_source_112 IN NUMBER
99089 --Payment Exchange Date
99090 , p_source_117 IN DATE
99091 --Payment Exchange Rate
99092 , p_source_118 IN NUMBER
99093 --Payment Exchange Rate Type
99094 , p_source_119 IN VARCHAR2
99095 --Payment Type
99096 , p_source_122 IN VARCHAR2
99097 , p_source_122_meaning IN VARCHAR2
99098 --Invoice/Payment Ledger Amount Difference
99099 , p_source_150 IN NUMBER
99100 --Gain or Loss Indicator between Invoice and Payment
99101 , p_source_155 IN VARCHAR2
99102 )
99103 IS
99104
99105 l_component_type VARCHAR2(80);
99106 l_component_code VARCHAR2(30);
99107 l_component_type_code VARCHAR2(1);
99108 l_component_appl_id INTEGER;
99109 l_amb_context_code VARCHAR2(30);
99110 l_entity_code VARCHAR2(30);
99111 l_event_class_code VARCHAR2(30);
99112 l_ae_header_id NUMBER;
99113 l_event_type_code VARCHAR2(30);
99114 l_line_definition_code VARCHAR2(30);
99115 l_line_definition_owner_code VARCHAR2(1);
99116 --
99117 -- adr variables
99118 l_segment VARCHAR2(30);
99119 l_ccid NUMBER;
99123 l_adr_flex_value_set_id NUMBER;
99120 l_adr_transaction_coa_id NUMBER;
99121 l_adr_accounting_coa_id NUMBER;
99122 l_adr_flexfield_segment_code VARCHAR2(30);
99124 l_adr_value_type_code VARCHAR2(30);
99125 l_adr_value_combination_id NUMBER;
99126 l_adr_value_segment_code VARCHAR2(30);
99127
99128 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99129 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99130 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99131 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99132
99133 -- 4262811 Variables ------------------------------------------------------------------------------------------
99134 l_entered_amt_idx NUMBER;
99135 l_accted_amt_idx NUMBER;
99136 l_acc_rev_flag VARCHAR2(1);
99137 l_accrual_line_num NUMBER;
99138 l_tmp_amt NUMBER;
99139 l_acc_rev_natural_side_code VARCHAR2(1);
99140
99141 l_num_entries NUMBER;
99142 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99143 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99144 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99145 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99146 l_recog_line_1 NUMBER;
99147 l_recog_line_2 NUMBER;
99148
99149 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99150 l_bflow_applied_to_amt NUMBER; -- 5132302
99151 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99152
99153 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99154
99155 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99156 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99157
99158 ---------------------------------------------------------------------------------------------------------------
99159
99160
99161 --
99162 -- bulk performance
99163 --
99164 l_balance_type_code VARCHAR2(1);
99165 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99166 l_log_module VARCHAR2(240);
99167
99168 --
99169 -- Upgrade strategy
99170 --
99171 l_actual_upg_option VARCHAR2(1);
99172 l_enc_upg_option VARCHAR2(1);
99173
99174 --
99175 BEGIN
99176 --
99177 IF g_log_enabled THEN
99178 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_167';
99179 END IF;
99180 --
99181 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99182
99183 trace
99184 (p_msg => 'BEGIN of AcctLineType_167'
99185 ,p_level => C_LEVEL_PROCEDURE
99186 ,p_module => l_log_module);
99187
99188 END IF;
99189 --
99190 l_component_type := 'AMB_JLT';
99191 l_component_code := 'AP_LOSS_REF';
99192 l_component_type_code := 'S';
99193 l_component_appl_id := 200;
99194 l_amb_context_code := 'DEFAULT';
99195 l_entity_code := 'AP_PAYMENTS';
99196 l_event_class_code := 'REFUNDS';
99197 l_event_type_code := 'REFUNDS_ALL';
99198 l_line_definition_owner_code := 'S';
99199 l_line_definition_code := 'JA_CN_ACCRUAL_REFUNDS_ALL';
99200 --
99201 l_balance_type_code := 'A';
99202 l_segment := NULL;
99203 l_ccid := NULL;
99204 l_adr_transaction_coa_id := NULL;
99205 l_adr_accounting_coa_id := NULL;
99206 l_adr_flexfield_segment_code := NULL;
99207 l_adr_flex_value_set_id := NULL;
99208 l_adr_value_type_code := NULL;
99209 l_adr_value_combination_id := NULL;
99210 l_adr_value_segment_code := NULL;
99211
99212 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
99213 l_bflow_class_code := ''; -- 4219869 Business Flow
99214 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99215 l_budgetary_control_flag := 'N';
99216
99217 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99218 l_bflow_applied_to_amt := NULL; -- 5132302
99219 l_entered_amt_idx := NULL; -- 4262811
99220 l_accted_amt_idx := NULL; -- 4262811
99221 l_acc_rev_flag := NULL; -- 4262811
99222 l_accrual_line_num := NULL; -- 4262811
99223 l_tmp_amt := NULL; -- 4262811
99224 --
99225 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
99226 (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
99227 return;
99228 END IF;
99229
99230 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99231 l_balance_type_code <> 'B' THEN
99232 IF (NVL(p_source_96,'
99233 ') <> 'CLEAR_CLEAR' AND
99234 NVL(p_source_96,'
99235 ') <> 'ALWAYS_CLEAR') AND
99236 NVL(p_source_155,'
99237 ') = 'LOSS' AND
99238 NVL(p_source_122,'
99239 ') = 'R' AND
99240 NVL(p_source_97,'
99241 ') <> 'EXCHANGE RATE VARIANCE' AND
99242 NVL(p_source_97,'
99243 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
99244 NVL(p_source_97,'
99245 ') <> 'BANK CHARGE' AND
99246 NVL(p_source_97,'
99247 ') <> 'BANK ERROR'
99251 XLA_AE_LINES_PKG.SetNewLine;
99248 THEN
99249
99250 --
99252
99253 p_balance_type_code := l_balance_type_code;
99254 -- set the flag so later we will know whether the gain loss line needs to be created
99255
99256 IF(l_balance_type_code = 'A' ) THEN
99257 p_actual_flag :='G';
99258 END IF;
99259
99260 --
99261 -- bulk performance
99262 --
99263 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99264 p_header_num => 0); -- 4262811
99265 --
99266 -- set accounting line options
99267 --
99268 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99269 p_natural_side_code => 'C'
99270 , p_gain_or_loss_flag => 'Y'
99271 , p_gl_transfer_mode_code => 'S'
99272 , p_acct_entry_type_code => 'A'
99273 , p_switch_side_flag => 'Y'
99274 , p_merge_duplicate_code => 'A'
99275 );
99276 --
99277 l_acc_rev_natural_side_code := 'D'; -- 4262811
99278 --
99279 --
99280 -- set accounting line type info
99281 --
99282 xla_ae_lines_pkg.SetAcctLineType
99283 (p_component_type => l_component_type
99284 ,p_event_type_code => l_event_type_code
99285 ,p_line_definition_owner_code => l_line_definition_owner_code
99286 ,p_line_definition_code => l_line_definition_code
99287 ,p_accounting_line_code => l_component_code
99288 ,p_accounting_line_type_code => l_component_type_code
99289 ,p_accounting_line_appl_id => l_component_appl_id
99290 ,p_amb_context_code => l_amb_context_code
99291 ,p_entity_code => l_entity_code
99292 ,p_event_class_code => l_event_class_code);
99293 --
99294 -- set accounting class
99295 --
99296 xla_ae_lines_pkg.SetAcctClass(
99297 p_accounting_class_code => 'LOSS'
99298 , p_ae_header_id => l_ae_header_id
99299 );
99300
99301 --
99302 -- set rounding class
99303 --
99304 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99305 'LOSS';
99306
99307 --
99308 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
99309 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
99310 --
99311 -- bulk performance
99312 --
99313 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
99314
99315 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
99316 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
99317
99318 -- 4955764
99319 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99320 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
99321
99322 -- 4458381 Public Sector Enh
99323
99324 --
99325 -- set accounting attributes for the line type
99326 --
99327 l_entered_amt_idx := 9;
99328 l_accted_amt_idx := 14;
99329 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99330 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
99331 l_rec_acct_attrs.array_char_value(1) := p_source_52;
99332 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
99333 l_rec_acct_attrs.array_num_value(2) := p_source_90;
99334 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
99335 l_rec_acct_attrs.array_char_value(3) := p_source_91;
99336 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
99337 l_rec_acct_attrs.array_char_value(4) := p_source_92;
99338 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
99339 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_93);
99340 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
99341 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
99342 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
99343 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
99344 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
99345 l_rec_acct_attrs.array_char_value(8) := p_source_54;
99346 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
99347 l_rec_acct_attrs.array_num_value(9) := p_source_98;
99348 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
99349 l_rec_acct_attrs.array_char_value(10) := p_source_13;
99350 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
99351 l_rec_acct_attrs.array_date_value(11) := p_source_117;
99352 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
99353 l_rec_acct_attrs.array_num_value(12) := p_source_118;
99354 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
99355 l_rec_acct_attrs.array_char_value(13) := p_source_119;
99356 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
99357 l_rec_acct_attrs.array_num_value(14) := p_source_150;
99358 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
99359 l_rec_acct_attrs.array_char_value(15) := p_source_79;
99360 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
99361 l_rec_acct_attrs.array_num_value(16) := p_source_109;
99365 l_rec_acct_attrs.array_char_value(18) := p_source_82;
99362 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
99363 l_rec_acct_attrs.array_num_value(17) := p_source_110;
99364 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
99366 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
99367 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_111);
99368 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
99369 l_rec_acct_attrs.array_char_value(20) := p_source_54;
99370 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
99371 l_rec_acct_attrs.array_num_value(21) := p_source_85;
99372 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
99373 l_rec_acct_attrs.array_num_value(22) := p_source_86;
99374 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
99375 l_rec_acct_attrs.array_num_value(23) := p_source_87;
99376
99377 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
99378 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
99379
99380 ---------------------------------------------------------------------------------------------------------------
99381 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
99382 ---------------------------------------------------------------------------------------------------------------
99383 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
99384
99385 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99386 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99387
99388 IF xla_accounting_cache_pkg.GetValueChar
99389 (p_source_code => 'LEDGER_CATEGORY_CODE'
99390 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
99391 AND l_bflow_method_code = 'PRIOR_ENTRY'
99392 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
99393 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
99394 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
99395 )
99396 THEN
99397 xla_ae_lines_pkg.BflowUpgEntry
99398 (p_business_method_code => l_bflow_method_code
99399 ,p_business_class_code => l_bflow_class_code
99400 ,p_balance_type => l_balance_type_code);
99401 ELSE
99402 NULL;
99403 -- No business flow processing for business flow method of NONE.
99404 END IF;
99405
99406 --
99407 -- call analytical criteria
99408 --
99409
99410
99411 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
99412 xla_ae_lines_pkg.SetAnalyticalCriteria(
99413 p_analytical_criterion_name => 'Check Id'
99414 , p_analytical_criterion_owner => 'S'
99415 , p_analytical_criterion_code => 'CHECK_ID'
99416 , p_amb_context_code => 'DEFAULT'
99417 , p_balancing_flag => 'N'
99418
99419 , p_analytical_detail_char_1 => NULL
99420 , p_analytical_detail_num_1 => p_source_112
99421 , p_analytical_detail_date_1 => NULL
99422
99423 , p_ae_header_id => l_ae_header_id
99424 )
99425 ;
99426 --
99427
99428 --
99429 -- call description
99430 --
99431 -- No description or it is inherited.
99432 --
99433 -- call ADRs
99434 -- Bug 4922099
99435 --
99436 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99437 (NVL(l_actual_upg_option, 'N') = 'O') OR
99438 (NVL(l_enc_upg_option, 'N') = 'O')
99439 )
99440 THEN
99441 NULL;
99442 --
99443 --
99444
99445 l_ccid := AcctDerRule_38(
99446 p_application_id => p_application_id
99447 , p_ae_header_id => l_ae_header_id
99448 , p_source_15 => p_source_15
99449 , p_source_15_meaning => p_source_15_meaning
99450 , p_source_30 => p_source_30
99451 , p_source_38 => p_source_38
99452 , p_source_39 => p_source_39
99453 , x_transaction_coa_id => l_adr_transaction_coa_id
99454 , x_accounting_coa_id => l_adr_accounting_coa_id
99455 , x_value_type_code => l_adr_value_type_code
99456 , p_side => 'NA'
99457 );
99458
99459 xla_ae_lines_pkg.set_ccid(
99460 p_code_combination_id => l_ccid
99461 , p_value_type_code => l_adr_value_type_code
99462 , p_transaction_coa_id => l_adr_transaction_coa_id
99463 , p_accounting_coa_id => l_adr_accounting_coa_id
99464 , p_adr_code => 'AP_REAL_LOSS'
99465 , p_adr_type_code => 'S'
99466 , p_component_type => l_component_type
99467 , p_component_code => l_component_code
99468 , p_component_type_code => l_component_type_code
99469 , p_component_appl_id => l_component_appl_id
99470 , p_amb_context_code => l_amb_context_code
99471 , p_side => 'NA'
99472 );
99473
99474
99475 l_segment := AcctDerRule_22(
99476 p_application_id => p_application_id
99477 , p_ae_header_id => l_ae_header_id
99478 , p_source_15 => p_source_15
99479 , p_source_15_meaning => p_source_15_meaning
99480 , p_source_30 => p_source_30
99484 , x_flex_value_set_id => l_adr_flex_value_set_id
99481 , x_transaction_coa_id => l_adr_transaction_coa_id
99482 , x_accounting_coa_id => l_adr_accounting_coa_id
99483 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99485 , x_value_type_code => l_adr_value_type_code
99486 , x_value_combination_id => l_adr_value_combination_id
99487 , x_value_segment_code => l_adr_value_segment_code
99488 , p_side => 'NA'
99489 , p_override_seg_flag => 'Y'
99490 );
99491
99492 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99493
99494 xla_ae_lines_pkg.set_segment(
99495 p_to_segment_code => 'GL_BALANCING'
99496 , p_segment_value => l_segment
99497 , p_from_segment_code => l_adr_value_segment_code
99498 , p_from_combination_id => l_adr_value_combination_id
99499 , p_value_type_code => l_adr_value_type_code
99500 , p_transaction_coa_id => l_adr_transaction_coa_id
99501 , p_accounting_coa_id => l_adr_accounting_coa_id
99502 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99503 , p_flex_value_set_id => l_adr_flex_value_set_id
99504 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
99505 , p_adr_type_code => 'S'
99506 , p_component_type => l_component_type
99507 , p_component_code => l_component_code
99508 , p_component_type_code => l_component_type_code
99509 , p_component_appl_id => l_component_appl_id
99510 , p_amb_context_code => l_amb_context_code
99511 , p_entity_code => 'AP_PAYMENTS'
99512 , p_event_class_code => 'REFUNDS'
99513 , p_side => 'NA'
99514 );
99515
99516 END IF;
99517
99518 l_segment := AcctDerRule_18(
99519 p_application_id => p_application_id
99520 , p_ae_header_id => l_ae_header_id
99521 , p_source_15 => p_source_15
99522 , p_source_15_meaning => p_source_15_meaning
99523 , p_source_38 => p_source_38
99524 , p_source_39 => p_source_39
99525 , x_transaction_coa_id => l_adr_transaction_coa_id
99526 , x_accounting_coa_id => l_adr_accounting_coa_id
99527 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99528 , x_flex_value_set_id => l_adr_flex_value_set_id
99529 , x_value_type_code => l_adr_value_type_code
99530 , x_value_combination_id => l_adr_value_combination_id
99531 , x_value_segment_code => l_adr_value_segment_code
99532 , p_side => 'NA'
99533 , p_override_seg_flag => 'Y'
99534 );
99535
99536 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99537
99538 xla_ae_lines_pkg.set_segment(
99539 p_to_segment_code => 'GL_ACCOUNT'
99540 , p_segment_value => l_segment
99541 , p_from_segment_code => l_adr_value_segment_code
99542 , p_from_combination_id => l_adr_value_combination_id
99543 , p_value_type_code => l_adr_value_type_code
99544 , p_transaction_coa_id => l_adr_transaction_coa_id
99545 , p_accounting_coa_id => l_adr_accounting_coa_id
99546 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99547 , p_flex_value_set_id => l_adr_flex_value_set_id
99548 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
99549 , p_adr_type_code => 'S'
99550 , p_component_type => l_component_type
99551 , p_component_code => l_component_code
99552 , p_component_type_code => l_component_type_code
99553 , p_component_appl_id => l_component_appl_id
99554 , p_amb_context_code => l_amb_context_code
99555 , p_entity_code => 'AP_PAYMENTS'
99556 , p_event_class_code => 'REFUNDS'
99557 , p_side => 'NA'
99558 );
99559
99560 END IF;
99561
99562 --
99563 --
99564 END IF;
99565 --
99566 -- Bug 4922099
99567 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
99568 (NVL(l_enc_upg_option, 'N') = 'O')
99569 ) AND
99570 (l_bflow_method_code = 'PRIOR_ENTRY')
99571 )
99572 THEN
99573 IF
99574 --
99575 1 = 2
99576 --
99577 THEN
99578 xla_accounting_err_pkg.build_message
99579 (p_appli_s_name => 'XLA'
99580 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99581 ,p_token_1 => 'LINE_NUMBER'
99582 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
99583 ,p_token_2 => 'LINE_TYPE_NAME'
99584 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
99585 l_component_type
99586 ,l_component_code
99587 ,l_component_type_code
99591 ,l_event_class_code
99588 ,l_component_appl_id
99589 ,l_amb_context_code
99590 ,l_entity_code
99592 )
99593 ,p_token_3 => 'OWNER'
99594 ,p_value_3 => xla_lookups_pkg.get_meaning(
99595 p_lookup_type => 'XLA_OWNER_TYPE'
99596 ,p_lookup_code => l_component_type_code
99597 )
99598 ,p_token_4 => 'PRODUCT_NAME'
99599 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
99600 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
99601 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
99602 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
99603 ,p_ae_header_id => NULL
99604 );
99605
99606 IF (C_LEVEL_ERROR>= g_log_level) THEN
99607 trace
99608 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99609 ,p_level => C_LEVEL_ERROR
99610 ,p_module => l_log_module);
99611 END IF;
99612 END IF;
99613 END IF;
99614 --
99615 --
99616 ------------------------------------------------------------------------------------------------
99617 -- 4219869 Business Flow
99618 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
99619 -- Prior Entry. Currently, the following code is always generated.
99620 ------------------------------------------------------------------------------------------------
99621 XLA_AE_LINES_PKG.ValidateCurrentLine;
99622
99623 ------------------------------------------------------------------------------------
99624 -- 4219869 Business Flow
99625 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
99626 ------------------------------------------------------------------------------------
99627 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99628
99629 ----------------------------------------------------------------------------------
99630 -- 4219869 Business Flow
99631 -- Update journal entry status -- Need to generate this within IF <condition>
99632 ----------------------------------------------------------------------------------
99633 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99634 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
99635 ,p_balance_type_code => l_balance_type_code
99636 );
99637
99638 -------------------------------------------------------------------------------------------
99639 -- 4262811 - Generate the Accrual Reversal lines
99640 -------------------------------------------------------------------------------------------
99641 BEGIN
99642 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
99643 (g_array_event(p_event_id).array_value_num('header_index'));
99644 IF l_acc_rev_flag IS NULL THEN
99645 l_acc_rev_flag := 'N';
99646 END IF;
99647 EXCEPTION
99648 WHEN OTHERS THEN
99649 l_acc_rev_flag := 'N';
99650 END;
99651 --
99652 IF (l_acc_rev_flag = 'Y') THEN
99653
99654 -- 4645092 ------------------------------------------------------------------------------
99655 -- To allow MPA report to determine if it should generate report process
99656 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
99657 ------------------------------------------------------------------------------------------
99658
99659 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
99660 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
99661 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
99662 -- call ADRs
99663 -- Bug 4922099
99664 --
99665 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99666 (NVL(l_actual_upg_option, 'N') = 'O') OR
99667 (NVL(l_enc_upg_option, 'N') = 'O')
99668 )
99669 THEN
99670 NULL;
99671 --
99672 --
99673
99674 l_ccid := AcctDerRule_38(
99675 p_application_id => p_application_id
99676 , p_ae_header_id => l_ae_header_id
99677 , p_source_15 => p_source_15
99678 , p_source_15_meaning => p_source_15_meaning
99679 , p_source_30 => p_source_30
99680 , p_source_38 => p_source_38
99681 , p_source_39 => p_source_39
99682 , x_transaction_coa_id => l_adr_transaction_coa_id
99683 , x_accounting_coa_id => l_adr_accounting_coa_id
99684 , x_value_type_code => l_adr_value_type_code
99685 , p_side => 'NA'
99686 );
99687
99691 , p_transaction_coa_id => l_adr_transaction_coa_id
99688 xla_ae_lines_pkg.set_ccid(
99689 p_code_combination_id => l_ccid
99690 , p_value_type_code => l_adr_value_type_code
99692 , p_accounting_coa_id => l_adr_accounting_coa_id
99693 , p_adr_code => 'AP_REAL_LOSS'
99694 , p_adr_type_code => 'S'
99695 , p_component_type => l_component_type
99696 , p_component_code => l_component_code
99697 , p_component_type_code => l_component_type_code
99698 , p_component_appl_id => l_component_appl_id
99699 , p_amb_context_code => l_amb_context_code
99700 , p_side => 'NA'
99701 );
99702
99703
99704 l_segment := AcctDerRule_22(
99705 p_application_id => p_application_id
99706 , p_ae_header_id => l_ae_header_id
99707 , p_source_15 => p_source_15
99708 , p_source_15_meaning => p_source_15_meaning
99709 , p_source_30 => p_source_30
99710 , x_transaction_coa_id => l_adr_transaction_coa_id
99711 , x_accounting_coa_id => l_adr_accounting_coa_id
99712 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99713 , x_flex_value_set_id => l_adr_flex_value_set_id
99714 , x_value_type_code => l_adr_value_type_code
99715 , x_value_combination_id => l_adr_value_combination_id
99716 , x_value_segment_code => l_adr_value_segment_code
99717 , p_side => 'NA'
99718 , p_override_seg_flag => 'Y'
99719 );
99720
99721 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99722
99723 xla_ae_lines_pkg.set_segment(
99724 p_to_segment_code => 'GL_BALANCING'
99725 , p_segment_value => l_segment
99726 , p_from_segment_code => l_adr_value_segment_code
99727 , p_from_combination_id => l_adr_value_combination_id
99728 , p_value_type_code => l_adr_value_type_code
99729 , p_transaction_coa_id => l_adr_transaction_coa_id
99730 , p_accounting_coa_id => l_adr_accounting_coa_id
99731 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99732 , p_flex_value_set_id => l_adr_flex_value_set_id
99733 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
99734 , p_adr_type_code => 'S'
99735 , p_component_type => l_component_type
99736 , p_component_code => l_component_code
99737 , p_component_type_code => l_component_type_code
99738 , p_component_appl_id => l_component_appl_id
99739 , p_amb_context_code => l_amb_context_code
99740 , p_entity_code => 'AP_PAYMENTS'
99741 , p_event_class_code => 'REFUNDS'
99742 , p_side => 'NA'
99743 );
99744
99745 END IF;
99746
99747 l_segment := AcctDerRule_18(
99748 p_application_id => p_application_id
99749 , p_ae_header_id => l_ae_header_id
99750 , p_source_15 => p_source_15
99751 , p_source_15_meaning => p_source_15_meaning
99752 , p_source_38 => p_source_38
99753 , p_source_39 => p_source_39
99754 , x_transaction_coa_id => l_adr_transaction_coa_id
99755 , x_accounting_coa_id => l_adr_accounting_coa_id
99756 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99757 , x_flex_value_set_id => l_adr_flex_value_set_id
99758 , x_value_type_code => l_adr_value_type_code
99759 , x_value_combination_id => l_adr_value_combination_id
99760 , x_value_segment_code => l_adr_value_segment_code
99761 , p_side => 'NA'
99762 , p_override_seg_flag => 'Y'
99763 );
99764
99765 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99766
99767 xla_ae_lines_pkg.set_segment(
99768 p_to_segment_code => 'GL_ACCOUNT'
99769 , p_segment_value => l_segment
99770 , p_from_segment_code => l_adr_value_segment_code
99771 , p_from_combination_id => l_adr_value_combination_id
99772 , p_value_type_code => l_adr_value_type_code
99773 , p_transaction_coa_id => l_adr_transaction_coa_id
99774 , p_accounting_coa_id => l_adr_accounting_coa_id
99775 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99776 , p_flex_value_set_id => l_adr_flex_value_set_id
99777 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
99778 , p_adr_type_code => 'S'
99779 , p_component_type => l_component_type
99780 , p_component_code => l_component_code
99781 , p_component_type_code => l_component_type_code
99782 , p_component_appl_id => l_component_appl_id
99783 , p_amb_context_code => l_amb_context_code
99784 , p_entity_code => 'AP_PAYMENTS'
99785 , p_event_class_code => 'REFUNDS'
99786 , p_side => 'NA'
99787 );
99788
99789 END IF;
99790
99791 --
99792 --
99793 END IF;
99794
99795 --
99796 -- Update the line information that should be overwritten
99797 --
99798 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
99799 p_header_num => 1);
99803
99800 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
99801
99802 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
99804 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
99805 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
99806 END IF;
99807
99808 --
99809 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
99810 --
99811 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
99812 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
99813 ELSE
99814 ---------------------------------------------------------------------------------------------------
99815 -- 4262811a Switch Sign
99816 ---------------------------------------------------------------------------------------------------
99817 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
99818 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99819 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99820 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99821 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99822 -- 5132302
99823 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
99824 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99825
99826 END IF;
99827
99828 -- 4955764
99829 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99830 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
99831
99832
99833 XLA_AE_LINES_PKG.ValidateCurrentLine;
99834 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99835
99836 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99837 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
99838 ,p_balance_type_code => l_balance_type_code);
99839
99840 END IF;
99841
99842 -----------------------------------------------------------------------------------------
99843 -- 4262811 Multiperiod Accounting
99844 -----------------------------------------------------------------------------------------
99845 -- No MPA option is assigned.
99846
99847
99848 END IF;
99849 END IF;
99850 --
99851
99852 --
99853 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99854 trace
99855 (p_msg => 'END of AcctLineType_167'
99856 ,p_level => C_LEVEL_PROCEDURE
99857 ,p_module => l_log_module);
99858 END IF;
99859 --
99860 EXCEPTION
99861 WHEN xla_exceptions_pkg.application_exception THEN
99862 RAISE;
99863 WHEN OTHERS THEN
99864 xla_exceptions_pkg.raise_message
99865 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_167');
99866 END AcctLineType_167;
99867 --
99868
99869 ---------------------------------------
99870 --
99871 -- PRIVATE FUNCTION
99872 -- AcctLineType_168
99873 --
99874 ---------------------------------------
99875 PROCEDURE AcctLineType_168 (
99876 p_application_id IN NUMBER
99877 ,p_event_id IN NUMBER
99878 ,p_calculate_acctd_flag IN VARCHAR2
99879 ,p_calculate_g_l_flag IN VARCHAR2
99880 ,p_actual_flag IN OUT VARCHAR2
99881 ,p_balance_type_code OUT VARCHAR2
99882 ,p_gain_or_loss_ref OUT VARCHAR2
99883
99884 --Invoice Distribution Description
99885 , p_source_1 IN VARCHAR2
99886 --Invoice Distribution Ledger Amount
99887 , p_source_21 IN NUMBER
99888 --Invoice Distribution Account
99889 , p_source_30 IN NUMBER
99890 --Invoice Distribution Type
99891 , p_source_33 IN VARCHAR2
99892 , p_source_33_meaning IN VARCHAR2
99893 --Accounting Reversal Indicator
99894 , p_source_52 IN VARCHAR2
99895 --Distribution Link Type
99896 , p_source_54 IN VARCHAR2
99897 --Allocation to Main Distribution Identifier
99898 , p_source_56 IN NUMBER
99899 --Invoice Identifier
99900 , p_source_57 IN NUMBER
99901 --Invoice Distribution Identifier
99902 , p_source_63 IN NUMBER
99903 --Payables Encumbrance Upgrade Credit Account
99904 , p_source_64 IN NUMBER
99905 --Payables Encumbrance Upgrade Credit Amount
99906 , p_source_65 IN NUMBER
99907 --Invoice Currency Code
99908 , p_source_66 IN VARCHAR2
99909 --Payables Encumbrance Upgrade Credit Base Amount
99910 , p_source_67 IN NUMBER
99911 --Payables Encumbrance Upgrade Debit Account
99912 , p_source_68 IN NUMBER
99913 --Payables Encumbrance Upgrade Debit Amount
99914 , p_source_69 IN NUMBER
99915 --Payables Encumbrance Upgrade Debit Base Amount
99916 , p_source_70 IN NUMBER
99917 --Payables Encumbrance Upgrade Option
99918 , p_source_71 IN VARCHAR2
99919 --Invoice Distribution Amount
99920 , p_source_72 IN NUMBER
99921 --Deferred Accounting End Date
99922 , p_source_76 IN DATE
99926 , p_source_78 IN DATE
99923 --Deferred Accounting Option
99924 , p_source_77 IN VARCHAR2
99925 --Deferred Accounting Start Date
99927 --Override Accounted Amount Indicator
99928 , p_source_79 IN VARCHAR2
99929 , p_source_79_meaning IN VARCHAR2
99930 --Invoice Supplier Identifier
99931 , p_source_80 IN NUMBER
99932 --Invoice Supplier Site Identifier
99933 , p_source_81 IN NUMBER
99934 --Third Party Type
99935 , p_source_82 IN VARCHAR2
99936 --Parent Reversal Identifier
99937 , p_source_83 IN NUMBER
99938 --Invoice Distribution Statistical Amount
99939 , p_source_84 IN NUMBER
99940 --Invoice Distribution Tax Line Identifier
99941 , p_source_85 IN NUMBER
99942 --Invoice Distribution Tax Distribution Identifier from Tax
99943 , p_source_86 IN NUMBER
99944 --Invoice Distribution Summary Tax Line Identifier
99945 , p_source_87 IN NUMBER
99946 --Payables Upgrade Credit Encumbrance Type Identifier
99947 , p_source_88 IN NUMBER
99948 --Payables Upgrade Debit Encumbrance Type Identifier
99949 , p_source_89 IN NUMBER
99950 --Business Flow Accounts Payable Application Identifier
99951 , p_source_90 IN NUMBER
99952 --Business Flow Invoice Distribution Type
99953 , p_source_91 IN VARCHAR2
99954 --Business Flow Invoice Entity Code
99955 , p_source_92 IN VARCHAR2
99956 --Business Flow Invoice Distribution Identifier
99957 , p_source_93 IN NUMBER
99958 --Business Flow Invoice Identifier
99959 , p_source_94 IN NUMBER
99960 --Invoice Exchange Date
99961 , p_source_136 IN DATE
99962 --Invoice Exchange Rate
99963 , p_source_137 IN NUMBER
99964 --Invoice Exchange Rate Type
99965 , p_source_138 IN VARCHAR2
99966 --Project Identifier
99967 , p_source_146 IN NUMBER
99968 )
99969 IS
99970
99971 l_component_type VARCHAR2(80);
99972 l_component_code VARCHAR2(30);
99973 l_component_type_code VARCHAR2(1);
99974 l_component_appl_id INTEGER;
99975 l_amb_context_code VARCHAR2(30);
99976 l_entity_code VARCHAR2(30);
99977 l_event_class_code VARCHAR2(30);
99978 l_ae_header_id NUMBER;
99979 l_event_type_code VARCHAR2(30);
99980 l_line_definition_code VARCHAR2(30);
99981 l_line_definition_owner_code VARCHAR2(1);
99982 --
99983 -- adr variables
99984 l_segment VARCHAR2(30);
99985 l_ccid NUMBER;
99986 l_adr_transaction_coa_id NUMBER;
99987 l_adr_accounting_coa_id NUMBER;
99988 l_adr_flexfield_segment_code VARCHAR2(30);
99989 l_adr_flex_value_set_id NUMBER;
99990 l_adr_value_type_code VARCHAR2(30);
99991 l_adr_value_combination_id NUMBER;
99992 l_adr_value_segment_code VARCHAR2(30);
99993
99994 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99995 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99996 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99997 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99998
99999 -- 4262811 Variables ------------------------------------------------------------------------------------------
100000 l_entered_amt_idx NUMBER;
100001 l_accted_amt_idx NUMBER;
100002 l_acc_rev_flag VARCHAR2(1);
100003 l_accrual_line_num NUMBER;
100004 l_tmp_amt NUMBER;
100005 l_acc_rev_natural_side_code VARCHAR2(1);
100006
100007 l_num_entries NUMBER;
100008 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100009 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100010 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100011 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100012 l_recog_line_1 NUMBER;
100013 l_recog_line_2 NUMBER;
100014
100015 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100016 l_bflow_applied_to_amt NUMBER; -- 5132302
100017 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100018
100019 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100020
100021 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100022 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100023
100024 ---------------------------------------------------------------------------------------------------------------
100025
100026
100027 --
100028 -- bulk performance
100029 --
100030 l_balance_type_code VARCHAR2(1);
100031 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100032 l_log_module VARCHAR2(240);
100033
100034 --
100035 -- Upgrade strategy
100036 --
100037 l_actual_upg_option VARCHAR2(1);
100038 l_enc_upg_option VARCHAR2(1);
100039
100040 --
100041 BEGIN
100042 --
100043 IF g_log_enabled THEN
100044 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_168';
100045 END IF;
100046 --
100047 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100048
100049 trace
100050 (p_msg => 'BEGIN of AcctLineType_168'
100054 END IF;
100051 ,p_level => C_LEVEL_PROCEDURE
100052 ,p_module => l_log_module);
100053
100055 --
100056 l_component_type := 'AMB_JLT';
100057 l_component_code := 'AP_MISC_EXPENSE_CM';
100058 l_component_type_code := 'S';
100059 l_component_appl_id := 200;
100060 l_amb_context_code := 'DEFAULT';
100061 l_entity_code := 'AP_INVOICES';
100062 l_event_class_code := 'CREDIT MEMOS';
100063 l_event_type_code := 'CREDIT MEMOS_ALL';
100064 l_line_definition_owner_code := 'S';
100065 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
100066 --
100067 l_balance_type_code := 'A';
100068 l_segment := NULL;
100069 l_ccid := NULL;
100070 l_adr_transaction_coa_id := NULL;
100071 l_adr_accounting_coa_id := NULL;
100072 l_adr_flexfield_segment_code := NULL;
100073 l_adr_flex_value_set_id := NULL;
100074 l_adr_value_type_code := NULL;
100075 l_adr_value_combination_id := NULL;
100076 l_adr_value_segment_code := NULL;
100077
100078 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
100079 l_bflow_class_code := ''; -- 4219869 Business Flow
100080 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100081 l_budgetary_control_flag := 'N';
100082
100083 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100084 l_bflow_applied_to_amt := NULL; -- 5132302
100085 l_entered_amt_idx := NULL; -- 4262811
100086 l_accted_amt_idx := NULL; -- 4262811
100087 l_acc_rev_flag := NULL; -- 4262811
100088 l_accrual_line_num := NULL; -- 4262811
100089 l_tmp_amt := NULL; -- 4262811
100090 --
100091
100092 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100093 l_balance_type_code <> 'B' THEN
100094 IF NVL(p_source_33,'
100095 ') = 'MISCELLANEOUS'
100096 THEN
100097
100098 --
100099 XLA_AE_LINES_PKG.SetNewLine;
100100
100101 p_balance_type_code := l_balance_type_code;
100102 -- set the flag so later we will know whether the gain loss line needs to be created
100103
100104 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100105 p_actual_flag :='A';
100106 END IF;
100107
100108 --
100109 -- bulk performance
100110 --
100111 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100112 p_header_num => 0); -- 4262811
100113 --
100114 -- set accounting line options
100115 --
100116 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100117 p_natural_side_code => 'D'
100118 , p_gain_or_loss_flag => 'N'
100119 , p_gl_transfer_mode_code => 'S'
100120 , p_acct_entry_type_code => 'A'
100121 , p_switch_side_flag => 'Y'
100122 , p_merge_duplicate_code => 'A'
100123 );
100124 --
100125 l_acc_rev_natural_side_code := 'C'; -- 4262811
100126 --
100127 --
100128 -- set accounting line type info
100129 --
100130 xla_ae_lines_pkg.SetAcctLineType
100131 (p_component_type => l_component_type
100132 ,p_event_type_code => l_event_type_code
100133 ,p_line_definition_owner_code => l_line_definition_owner_code
100134 ,p_line_definition_code => l_line_definition_code
100135 ,p_accounting_line_code => l_component_code
100136 ,p_accounting_line_type_code => l_component_type_code
100137 ,p_accounting_line_appl_id => l_component_appl_id
100138 ,p_amb_context_code => l_amb_context_code
100139 ,p_entity_code => l_entity_code
100140 ,p_event_class_code => l_event_class_code);
100141 --
100142 -- set accounting class
100143 --
100144 xla_ae_lines_pkg.SetAcctClass(
100145 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
100146 , p_ae_header_id => l_ae_header_id
100147 );
100148
100149 --
100150 -- set rounding class
100151 --
100152 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100153 'MISCELLANEOUS EXPENSE';
100154
100155 --
100156 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100157 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100158 --
100159 -- bulk performance
100160 --
100161 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100162
100163 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100164 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100165
100166 -- 4955764
100167 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100168 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100169
100170 -- 4458381 Public Sector Enh
100171
100172 --
100173 -- set accounting attributes for the line type
100174 --
100175 l_entered_amt_idx := 23;
100176 l_accted_amt_idx := 28;
100177 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100178 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100179 l_rec_acct_attrs.array_char_value(1) := p_source_52;
100183 p_source_code => 'XLA_EVENT_APPL_ID'
100180 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100181 l_rec_acct_attrs.array_num_value(2) :=
100182 xla_ae_sources_pkg.GetSystemSourceNum(
100184 , p_source_type_code => 'Y'
100185 , p_source_application_id => 602
100186 );
100187 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100188 l_rec_acct_attrs.array_char_value(3) := p_source_54;
100189 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100190 l_rec_acct_attrs.array_char_value(4) :=
100191 xla_ae_sources_pkg.GetSystemSourceChar(
100192 p_source_code => 'XLA_ENTITY_CODE'
100193 , p_source_type_code => 'Y'
100194 , p_source_application_id => 602
100195 );
100196 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100197 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
100198 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100199 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
100200 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
100201 l_rec_acct_attrs.array_num_value(7) := p_source_90;
100202 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100203 l_rec_acct_attrs.array_char_value(8) := p_source_91;
100204 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
100205 l_rec_acct_attrs.array_char_value(9) := p_source_92;
100206 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
100207 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
100208 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100209 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
100210 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
100211 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
100212 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
100213 l_rec_acct_attrs.array_char_value(13) := p_source_54;
100214 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
100215 l_rec_acct_attrs.array_num_value(14) := p_source_64;
100216 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
100217 l_rec_acct_attrs.array_num_value(15) := p_source_65;
100218 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
100219 l_rec_acct_attrs.array_char_value(16) := p_source_66;
100220 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
100221 l_rec_acct_attrs.array_num_value(17) := p_source_67;
100222 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
100223 l_rec_acct_attrs.array_num_value(18) := p_source_68;
100224 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
100225 l_rec_acct_attrs.array_num_value(19) := p_source_69;
100226 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
100227 l_rec_acct_attrs.array_char_value(20) := p_source_66;
100228 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
100229 l_rec_acct_attrs.array_num_value(21) := p_source_70;
100230 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
100231 l_rec_acct_attrs.array_char_value(22) := p_source_71;
100232 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
100233 l_rec_acct_attrs.array_num_value(23) := p_source_72;
100234 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
100235 l_rec_acct_attrs.array_char_value(24) := p_source_66;
100236 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
100237 l_rec_acct_attrs.array_date_value(25) := p_source_136;
100238 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
100239 l_rec_acct_attrs.array_num_value(26) := p_source_137;
100240 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
100241 l_rec_acct_attrs.array_char_value(27) := p_source_138;
100242 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
100243 l_rec_acct_attrs.array_num_value(28) := p_source_21;
100244 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
100245 l_rec_acct_attrs.array_date_value(29) := p_source_76;
100246 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
100247 l_rec_acct_attrs.array_char_value(30) := p_source_77;
100248 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
100249 l_rec_acct_attrs.array_date_value(31) := p_source_78;
100250 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
100251 l_rec_acct_attrs.array_char_value(32) := p_source_79;
100252 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
100253 l_rec_acct_attrs.array_num_value(33) := p_source_80;
100254 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
100255 l_rec_acct_attrs.array_num_value(34) := p_source_81;
100256 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
100257 l_rec_acct_attrs.array_char_value(35) := p_source_82;
100258 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
100259 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
100260 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
100261 l_rec_acct_attrs.array_char_value(37) := p_source_54;
100262 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
100263 l_rec_acct_attrs.array_num_value(38) := p_source_84;
100264 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
100265 l_rec_acct_attrs.array_num_value(39) := p_source_85;
100266 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
100270 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
100267 l_rec_acct_attrs.array_num_value(40) := p_source_86;
100268 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
100269 l_rec_acct_attrs.array_num_value(41) := p_source_87;
100271 l_rec_acct_attrs.array_num_value(42) := p_source_88;
100272 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
100273 l_rec_acct_attrs.array_num_value(43) := p_source_89;
100274
100275 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100276 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
100277
100278 ---------------------------------------------------------------------------------------------------------------
100279 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
100280 ---------------------------------------------------------------------------------------------------------------
100281 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
100282
100283 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100284 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100285
100286 IF xla_accounting_cache_pkg.GetValueChar
100287 (p_source_code => 'LEDGER_CATEGORY_CODE'
100288 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
100289 AND l_bflow_method_code = 'PRIOR_ENTRY'
100290 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
100291 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
100292 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
100293 )
100294 THEN
100295 xla_ae_lines_pkg.BflowUpgEntry
100296 (p_business_method_code => l_bflow_method_code
100297 ,p_business_class_code => l_bflow_class_code
100298 ,p_balance_type => l_balance_type_code);
100299 ELSE
100300 NULL;
100301 -- No business flow processing for business flow method of NONE.
100302 END IF;
100303
100304 --
100305 -- call analytical criteria
100306 --
100307
100308
100309 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
100310 xla_ae_lines_pkg.SetAnalyticalCriteria(
100311 p_analytical_criterion_name => 'Project Number'
100312 , p_analytical_criterion_owner => 'S'
100313 , p_analytical_criterion_code => 'PROJECT_NUMBER'
100314 , p_amb_context_code => 'DEFAULT'
100315 , p_balancing_flag => 'N'
100316
100317 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
100318 p_source_146))
100319 , p_analytical_detail_num_1 => NULL
100320 , p_analytical_detail_date_1 => NULL
100321
100322 , p_ae_header_id => l_ae_header_id
100323 )
100324 ;
100325 --
100326
100327 --
100328 -- call description
100329 --
100330
100331 xla_ae_lines_pkg.SetLineDescription(
100332 p_ae_header_id => l_ae_header_id
100333 ,p_description => Description_1 (
100334 p_application_id => p_application_id
100335 , p_ae_header_id => l_ae_header_id
100336 , p_source_1 => p_source_1
100337 )
100338 );
100339
100340
100341 --
100342 -- call ADRs
100343 -- Bug 4922099
100344 --
100345 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100346 (NVL(l_actual_upg_option, 'N') = 'O') OR
100347 (NVL(l_enc_upg_option, 'N') = 'O')
100348 )
100349 THEN
100350 NULL;
100351 --
100352 --
100353
100354 l_ccid := AcctDerRule_33(
100355 p_application_id => p_application_id
100356 , p_ae_header_id => l_ae_header_id
100357 , p_source_30 => p_source_30
100358 , x_transaction_coa_id => l_adr_transaction_coa_id
100359 , x_accounting_coa_id => l_adr_accounting_coa_id
100360 , x_value_type_code => l_adr_value_type_code
100361 , p_side => 'NA'
100362 );
100363
100364 xla_ae_lines_pkg.set_ccid(
100365 p_code_combination_id => l_ccid
100366 , p_value_type_code => l_adr_value_type_code
100367 , p_transaction_coa_id => l_adr_transaction_coa_id
100368 , p_accounting_coa_id => l_adr_accounting_coa_id
100369 , p_adr_code => 'AP_INVOICE_DIST'
100370 , p_adr_type_code => 'S'
100371 , p_component_type => l_component_type
100372 , p_component_code => l_component_code
100373 , p_component_type_code => l_component_type_code
100374 , p_component_appl_id => l_component_appl_id
100375 , p_amb_context_code => l_amb_context_code
100376 , p_side => 'NA'
100377 );
100378
100379
100380 --
100381 --
100382 END IF;
100383 --
100384 -- Bug 4922099
100385 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
100386 (NVL(l_enc_upg_option, 'N') = 'O')
100387 ) AND
100388 (l_bflow_method_code = 'PRIOR_ENTRY')
100389 )
100390 THEN
100391 IF
100392 --
100393 1 = 2
100394 --
100395 THEN
100396 xla_accounting_err_pkg.build_message
100400 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
100397 (p_appli_s_name => 'XLA'
100398 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100399 ,p_token_1 => 'LINE_NUMBER'
100401 ,p_token_2 => 'LINE_TYPE_NAME'
100402 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
100403 l_component_type
100404 ,l_component_code
100405 ,l_component_type_code
100406 ,l_component_appl_id
100407 ,l_amb_context_code
100408 ,l_entity_code
100409 ,l_event_class_code
100410 )
100411 ,p_token_3 => 'OWNER'
100412 ,p_value_3 => xla_lookups_pkg.get_meaning(
100413 p_lookup_type => 'XLA_OWNER_TYPE'
100414 ,p_lookup_code => l_component_type_code
100415 )
100416 ,p_token_4 => 'PRODUCT_NAME'
100417 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
100418 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
100419 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
100420 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
100421 ,p_ae_header_id => NULL
100422 );
100423
100424 IF (C_LEVEL_ERROR>= g_log_level) THEN
100425 trace
100426 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100427 ,p_level => C_LEVEL_ERROR
100428 ,p_module => l_log_module);
100429 END IF;
100430 END IF;
100431 END IF;
100432 --
100433 --
100434 ------------------------------------------------------------------------------------------------
100435 -- 4219869 Business Flow
100436 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
100437 -- Prior Entry. Currently, the following code is always generated.
100438 ------------------------------------------------------------------------------------------------
100439 XLA_AE_LINES_PKG.ValidateCurrentLine;
100440
100441 ------------------------------------------------------------------------------------
100442 -- 4219869 Business Flow
100443 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
100444 ------------------------------------------------------------------------------------
100445 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100446
100447 ----------------------------------------------------------------------------------
100448 -- 4219869 Business Flow
100449 -- Update journal entry status -- Need to generate this within IF <condition>
100450 ----------------------------------------------------------------------------------
100451 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100452 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
100453 ,p_balance_type_code => l_balance_type_code
100454 );
100455
100456 -------------------------------------------------------------------------------------------
100457 -- 4262811 - Generate the Accrual Reversal lines
100458 -------------------------------------------------------------------------------------------
100459 BEGIN
100460 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
100461 (g_array_event(p_event_id).array_value_num('header_index'));
100462 IF l_acc_rev_flag IS NULL THEN
100463 l_acc_rev_flag := 'N';
100464 END IF;
100465 EXCEPTION
100466 WHEN OTHERS THEN
100467 l_acc_rev_flag := 'N';
100468 END;
100469 --
100470 IF (l_acc_rev_flag = 'Y') THEN
100471
100472 -- 4645092 ------------------------------------------------------------------------------
100473 -- To allow MPA report to determine if it should generate report process
100474 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
100475 ------------------------------------------------------------------------------------------
100476
100477 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
100478 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
100479 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
100480 -- call ADRs
100481 -- Bug 4922099
100482 --
100483 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100484 (NVL(l_actual_upg_option, 'N') = 'O') OR
100485 (NVL(l_enc_upg_option, 'N') = 'O')
100489 --
100486 )
100487 THEN
100488 NULL;
100490 --
100491
100492 l_ccid := AcctDerRule_33(
100493 p_application_id => p_application_id
100494 , p_ae_header_id => l_ae_header_id
100495 , p_source_30 => p_source_30
100496 , x_transaction_coa_id => l_adr_transaction_coa_id
100497 , x_accounting_coa_id => l_adr_accounting_coa_id
100498 , x_value_type_code => l_adr_value_type_code
100499 , p_side => 'NA'
100500 );
100501
100502 xla_ae_lines_pkg.set_ccid(
100503 p_code_combination_id => l_ccid
100504 , p_value_type_code => l_adr_value_type_code
100505 , p_transaction_coa_id => l_adr_transaction_coa_id
100506 , p_accounting_coa_id => l_adr_accounting_coa_id
100507 , p_adr_code => 'AP_INVOICE_DIST'
100508 , p_adr_type_code => 'S'
100509 , p_component_type => l_component_type
100510 , p_component_code => l_component_code
100511 , p_component_type_code => l_component_type_code
100512 , p_component_appl_id => l_component_appl_id
100513 , p_amb_context_code => l_amb_context_code
100514 , p_side => 'NA'
100515 );
100516
100517
100518 --
100519 --
100520 END IF;
100521
100522 --
100523 -- Update the line information that should be overwritten
100524 --
100525 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
100526 p_header_num => 1);
100527 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
100528
100529 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
100530
100531 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
100532 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
100533 END IF;
100534
100535 --
100536 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
100537 --
100538 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
100539 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
100540 ELSE
100541 ---------------------------------------------------------------------------------------------------
100542 -- 4262811a Switch Sign
100543 ---------------------------------------------------------------------------------------------------
100544 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
100545 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100546 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100547 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100548 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100549 -- 5132302
100550 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
100551 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100552
100553 END IF;
100554
100555 -- 4955764
100556 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100557 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
100558
100559
100560 XLA_AE_LINES_PKG.ValidateCurrentLine;
100561 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100562
100563 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100564 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
100565 ,p_balance_type_code => l_balance_type_code);
100566
100567 END IF;
100568
100569 -----------------------------------------------------------------------------------------
100570 -- 4262811 Multiperiod Accounting
100571 -----------------------------------------------------------------------------------------
100572 -- No MPA option is assigned.
100573
100574
100575 END IF;
100576 END IF;
100577 --
100578
100579 --
100580 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100581 trace
100582 (p_msg => 'END of AcctLineType_168'
100583 ,p_level => C_LEVEL_PROCEDURE
100584 ,p_module => l_log_module);
100585 END IF;
100586 --
100587 EXCEPTION
100588 WHEN xla_exceptions_pkg.application_exception THEN
100589 RAISE;
100590 WHEN OTHERS THEN
100591 xla_exceptions_pkg.raise_message
100592 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_168');
100593 END AcctLineType_168;
100594 --
100595
100596 ---------------------------------------
100597 --
100598 -- PRIVATE FUNCTION
100599 -- AcctLineType_169
100600 --
100601 ---------------------------------------
100602 PROCEDURE AcctLineType_169 (
100603 p_application_id IN NUMBER
100604 ,p_event_id IN NUMBER
100605 ,p_calculate_acctd_flag IN VARCHAR2
100606 ,p_calculate_g_l_flag IN VARCHAR2
100607 ,p_actual_flag IN OUT VARCHAR2
100608 ,p_balance_type_code OUT VARCHAR2
100609 ,p_gain_or_loss_ref OUT VARCHAR2
100610
100614 , p_source_21 IN NUMBER
100611 --Invoice Distribution Description
100612 , p_source_1 IN VARCHAR2
100613 --Invoice Distribution Ledger Amount
100615 --Invoice Distribution Account
100616 , p_source_30 IN NUMBER
100617 --Invoice Distribution Type
100618 , p_source_33 IN VARCHAR2
100619 , p_source_33_meaning IN VARCHAR2
100620 --Accounting Reversal Indicator
100621 , p_source_52 IN VARCHAR2
100622 --Distribution Link Type
100623 , p_source_54 IN VARCHAR2
100624 --Allocation to Main Distribution Identifier
100625 , p_source_56 IN NUMBER
100626 --Invoice Identifier
100627 , p_source_57 IN NUMBER
100628 --Invoice Distribution Identifier
100629 , p_source_63 IN NUMBER
100630 --Payables Encumbrance Upgrade Credit Account
100631 , p_source_64 IN NUMBER
100632 --Payables Encumbrance Upgrade Credit Amount
100633 , p_source_65 IN NUMBER
100634 --Invoice Currency Code
100635 , p_source_66 IN VARCHAR2
100636 --Payables Encumbrance Upgrade Credit Base Amount
100637 , p_source_67 IN NUMBER
100638 --Payables Encumbrance Upgrade Debit Account
100639 , p_source_68 IN NUMBER
100640 --Payables Encumbrance Upgrade Debit Amount
100641 , p_source_69 IN NUMBER
100642 --Payables Encumbrance Upgrade Debit Base Amount
100643 , p_source_70 IN NUMBER
100644 --Payables Encumbrance Upgrade Option
100645 , p_source_71 IN VARCHAR2
100646 --Invoice Distribution Amount
100647 , p_source_72 IN NUMBER
100648 --Deferred Accounting End Date
100649 , p_source_76 IN DATE
100650 --Deferred Accounting Option
100651 , p_source_77 IN VARCHAR2
100652 --Deferred Accounting Start Date
100653 , p_source_78 IN DATE
100654 --Override Accounted Amount Indicator
100655 , p_source_79 IN VARCHAR2
100656 , p_source_79_meaning IN VARCHAR2
100657 --Invoice Supplier Identifier
100658 , p_source_80 IN NUMBER
100659 --Invoice Supplier Site Identifier
100660 , p_source_81 IN NUMBER
100661 --Third Party Type
100662 , p_source_82 IN VARCHAR2
100663 --Parent Reversal Identifier
100664 , p_source_83 IN NUMBER
100665 --Invoice Distribution Tax Line Identifier
100666 , p_source_85 IN NUMBER
100667 --Invoice Distribution Tax Distribution Identifier from Tax
100668 , p_source_86 IN NUMBER
100669 --Invoice Distribution Summary Tax Line Identifier
100670 , p_source_87 IN NUMBER
100671 --Payables Upgrade Credit Encumbrance Type Identifier
100672 , p_source_88 IN NUMBER
100673 --Payables Upgrade Debit Encumbrance Type Identifier
100674 , p_source_89 IN NUMBER
100675 --Business Flow Accounts Payable Application Identifier
100676 , p_source_90 IN NUMBER
100677 --Business Flow Invoice Distribution Type
100678 , p_source_91 IN VARCHAR2
100679 --Business Flow Invoice Entity Code
100680 , p_source_92 IN VARCHAR2
100681 --Business Flow Invoice Distribution Identifier
100682 , p_source_93 IN NUMBER
100683 --Business Flow Invoice Identifier
100684 , p_source_94 IN NUMBER
100685 --Invoice Exchange Date
100686 , p_source_136 IN DATE
100687 --Invoice Exchange Rate
100688 , p_source_137 IN NUMBER
100689 --Invoice Exchange Rate Type
100690 , p_source_138 IN VARCHAR2
100691 --Project Identifier
100692 , p_source_146 IN NUMBER
100693 )
100694 IS
100695
100696 l_component_type VARCHAR2(80);
100697 l_component_code VARCHAR2(30);
100698 l_component_type_code VARCHAR2(1);
100699 l_component_appl_id INTEGER;
100700 l_amb_context_code VARCHAR2(30);
100701 l_entity_code VARCHAR2(30);
100702 l_event_class_code VARCHAR2(30);
100703 l_ae_header_id NUMBER;
100704 l_event_type_code VARCHAR2(30);
100705 l_line_definition_code VARCHAR2(30);
100706 l_line_definition_owner_code VARCHAR2(1);
100707 --
100708 -- adr variables
100709 l_segment VARCHAR2(30);
100710 l_ccid NUMBER;
100711 l_adr_transaction_coa_id NUMBER;
100712 l_adr_accounting_coa_id NUMBER;
100713 l_adr_flexfield_segment_code VARCHAR2(30);
100714 l_adr_flex_value_set_id NUMBER;
100715 l_adr_value_type_code VARCHAR2(30);
100716 l_adr_value_combination_id NUMBER;
100717 l_adr_value_segment_code VARCHAR2(30);
100718
100719 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
100720 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
100721 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
100722 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
100723
100724 -- 4262811 Variables ------------------------------------------------------------------------------------------
100725 l_entered_amt_idx NUMBER;
100726 l_accted_amt_idx NUMBER;
100727 l_acc_rev_flag VARCHAR2(1);
100728 l_accrual_line_num NUMBER;
100729 l_tmp_amt NUMBER;
100730 l_acc_rev_natural_side_code VARCHAR2(1);
100731
100732 l_num_entries NUMBER;
100733 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100734 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100735 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100739
100736 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100737 l_recog_line_1 NUMBER;
100738 l_recog_line_2 NUMBER;
100740 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100741 l_bflow_applied_to_amt NUMBER; -- 5132302
100742 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100743
100744 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100745
100746 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100747 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100748
100749 ---------------------------------------------------------------------------------------------------------------
100750
100751
100752 --
100753 -- bulk performance
100754 --
100755 l_balance_type_code VARCHAR2(1);
100756 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100757 l_log_module VARCHAR2(240);
100758
100759 --
100760 -- Upgrade strategy
100761 --
100762 l_actual_upg_option VARCHAR2(1);
100763 l_enc_upg_option VARCHAR2(1);
100764
100765 --
100766 BEGIN
100767 --
100768 IF g_log_enabled THEN
100769 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_169';
100770 END IF;
100771 --
100772 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100773
100774 trace
100775 (p_msg => 'BEGIN of AcctLineType_169'
100776 ,p_level => C_LEVEL_PROCEDURE
100777 ,p_module => l_log_module);
100778
100779 END IF;
100780 --
100781 l_component_type := 'AMB_JLT';
100782 l_component_code := 'AP_MISC_EXPENSE_DM';
100783 l_component_type_code := 'S';
100784 l_component_appl_id := 200;
100785 l_amb_context_code := 'DEFAULT';
100786 l_entity_code := 'AP_INVOICES';
100787 l_event_class_code := 'DEBIT MEMOS';
100788 l_event_type_code := 'DEBIT MEMOS_ALL';
100789 l_line_definition_owner_code := 'S';
100790 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
100791 --
100792 l_balance_type_code := 'A';
100793 l_segment := NULL;
100794 l_ccid := NULL;
100795 l_adr_transaction_coa_id := NULL;
100796 l_adr_accounting_coa_id := NULL;
100797 l_adr_flexfield_segment_code := NULL;
100798 l_adr_flex_value_set_id := NULL;
100799 l_adr_value_type_code := NULL;
100800 l_adr_value_combination_id := NULL;
100801 l_adr_value_segment_code := NULL;
100802
100803 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
100804 l_bflow_class_code := ''; -- 4219869 Business Flow
100805 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100806 l_budgetary_control_flag := 'N';
100807
100808 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100809 l_bflow_applied_to_amt := NULL; -- 5132302
100810 l_entered_amt_idx := NULL; -- 4262811
100811 l_accted_amt_idx := NULL; -- 4262811
100812 l_acc_rev_flag := NULL; -- 4262811
100813 l_accrual_line_num := NULL; -- 4262811
100814 l_tmp_amt := NULL; -- 4262811
100815 --
100816
100817 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100818 l_balance_type_code <> 'B' THEN
100819 IF NVL(p_source_33,'
100820 ') = 'MISCELLANEOUS'
100821 THEN
100822
100823 --
100824 XLA_AE_LINES_PKG.SetNewLine;
100825
100826 p_balance_type_code := l_balance_type_code;
100827 -- set the flag so later we will know whether the gain loss line needs to be created
100828
100829 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100830 p_actual_flag :='A';
100831 END IF;
100832
100833 --
100834 -- bulk performance
100835 --
100836 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100837 p_header_num => 0); -- 4262811
100838 --
100839 -- set accounting line options
100840 --
100841 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100842 p_natural_side_code => 'D'
100843 , p_gain_or_loss_flag => 'N'
100844 , p_gl_transfer_mode_code => 'S'
100845 , p_acct_entry_type_code => 'A'
100846 , p_switch_side_flag => 'Y'
100847 , p_merge_duplicate_code => 'A'
100848 );
100849 --
100850 l_acc_rev_natural_side_code := 'C'; -- 4262811
100851 --
100852 --
100853 -- set accounting line type info
100854 --
100855 xla_ae_lines_pkg.SetAcctLineType
100856 (p_component_type => l_component_type
100857 ,p_event_type_code => l_event_type_code
100858 ,p_line_definition_owner_code => l_line_definition_owner_code
100859 ,p_line_definition_code => l_line_definition_code
100860 ,p_accounting_line_code => l_component_code
100861 ,p_accounting_line_type_code => l_component_type_code
100862 ,p_accounting_line_appl_id => l_component_appl_id
100863 ,p_amb_context_code => l_amb_context_code
100864 ,p_entity_code => l_entity_code
100865 ,p_event_class_code => l_event_class_code);
100866 --
100867 -- set accounting class
100868 --
100872 );
100869 xla_ae_lines_pkg.SetAcctClass(
100870 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
100871 , p_ae_header_id => l_ae_header_id
100873
100874 --
100875 -- set rounding class
100876 --
100877 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100878 'MISCELLANEOUS EXPENSE';
100879
100880 --
100881 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100882 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100883 --
100884 -- bulk performance
100885 --
100886 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100887
100888 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100889 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100890
100891 -- 4955764
100892 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100893 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100894
100895 -- 4458381 Public Sector Enh
100896
100897 --
100898 -- set accounting attributes for the line type
100899 --
100900 l_entered_amt_idx := 23;
100901 l_accted_amt_idx := 28;
100902 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100903 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100904 l_rec_acct_attrs.array_char_value(1) := p_source_52;
100905 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100906 l_rec_acct_attrs.array_num_value(2) :=
100907 xla_ae_sources_pkg.GetSystemSourceNum(
100908 p_source_code => 'XLA_EVENT_APPL_ID'
100909 , p_source_type_code => 'Y'
100910 , p_source_application_id => 602
100911 );
100912 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100913 l_rec_acct_attrs.array_char_value(3) := p_source_54;
100914 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100915 l_rec_acct_attrs.array_char_value(4) :=
100916 xla_ae_sources_pkg.GetSystemSourceChar(
100917 p_source_code => 'XLA_ENTITY_CODE'
100918 , p_source_type_code => 'Y'
100919 , p_source_application_id => 602
100920 );
100921 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100922 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
100923 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100924 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
100925 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
100926 l_rec_acct_attrs.array_num_value(7) := p_source_90;
100927 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100928 l_rec_acct_attrs.array_char_value(8) := p_source_91;
100929 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
100930 l_rec_acct_attrs.array_char_value(9) := p_source_92;
100931 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
100932 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
100933 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100934 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
100935 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
100936 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
100937 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
100938 l_rec_acct_attrs.array_char_value(13) := p_source_54;
100939 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
100940 l_rec_acct_attrs.array_num_value(14) := p_source_64;
100941 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
100942 l_rec_acct_attrs.array_num_value(15) := p_source_65;
100943 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
100944 l_rec_acct_attrs.array_char_value(16) := p_source_66;
100945 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
100946 l_rec_acct_attrs.array_num_value(17) := p_source_67;
100947 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
100948 l_rec_acct_attrs.array_num_value(18) := p_source_68;
100949 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
100950 l_rec_acct_attrs.array_num_value(19) := p_source_69;
100951 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
100952 l_rec_acct_attrs.array_char_value(20) := p_source_66;
100953 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
100954 l_rec_acct_attrs.array_num_value(21) := p_source_70;
100955 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
100956 l_rec_acct_attrs.array_char_value(22) := p_source_71;
100957 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
100958 l_rec_acct_attrs.array_num_value(23) := p_source_72;
100959 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
100960 l_rec_acct_attrs.array_char_value(24) := p_source_66;
100961 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
100962 l_rec_acct_attrs.array_date_value(25) := p_source_136;
100963 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
100964 l_rec_acct_attrs.array_num_value(26) := p_source_137;
100965 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
100966 l_rec_acct_attrs.array_char_value(27) := p_source_138;
100967 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
100971 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
100968 l_rec_acct_attrs.array_num_value(28) := p_source_21;
100969 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
100970 l_rec_acct_attrs.array_date_value(29) := p_source_76;
100972 l_rec_acct_attrs.array_char_value(30) := p_source_77;
100973 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
100974 l_rec_acct_attrs.array_date_value(31) := p_source_78;
100975 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
100976 l_rec_acct_attrs.array_char_value(32) := p_source_79;
100977 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
100978 l_rec_acct_attrs.array_num_value(33) := p_source_80;
100979 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
100980 l_rec_acct_attrs.array_num_value(34) := p_source_81;
100981 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
100982 l_rec_acct_attrs.array_char_value(35) := p_source_82;
100983 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
100984 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
100985 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
100986 l_rec_acct_attrs.array_char_value(37) := p_source_54;
100987 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
100988 l_rec_acct_attrs.array_num_value(38) := p_source_85;
100989 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
100990 l_rec_acct_attrs.array_num_value(39) := p_source_86;
100991 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
100992 l_rec_acct_attrs.array_num_value(40) := p_source_87;
100993 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
100994 l_rec_acct_attrs.array_num_value(41) := p_source_88;
100995 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
100996 l_rec_acct_attrs.array_num_value(42) := p_source_89;
100997
100998 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100999 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101000
101001 ---------------------------------------------------------------------------------------------------------------
101002 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101003 ---------------------------------------------------------------------------------------------------------------
101004 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101005
101006 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101007 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101008
101009 IF xla_accounting_cache_pkg.GetValueChar
101010 (p_source_code => 'LEDGER_CATEGORY_CODE'
101011 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101012 AND l_bflow_method_code = 'PRIOR_ENTRY'
101013 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101014 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101015 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101016 )
101017 THEN
101018 xla_ae_lines_pkg.BflowUpgEntry
101019 (p_business_method_code => l_bflow_method_code
101020 ,p_business_class_code => l_bflow_class_code
101021 ,p_balance_type => l_balance_type_code);
101022 ELSE
101023 NULL;
101024 -- No business flow processing for business flow method of NONE.
101025 END IF;
101026
101027 --
101028 -- call analytical criteria
101029 --
101030
101031
101032 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
101033 xla_ae_lines_pkg.SetAnalyticalCriteria(
101034 p_analytical_criterion_name => 'Project Number'
101035 , p_analytical_criterion_owner => 'S'
101036 , p_analytical_criterion_code => 'PROJECT_NUMBER'
101037 , p_amb_context_code => 'DEFAULT'
101038 , p_balancing_flag => 'N'
101039
101040 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
101041 p_source_146))
101042 , p_analytical_detail_num_1 => NULL
101043 , p_analytical_detail_date_1 => NULL
101044
101045 , p_ae_header_id => l_ae_header_id
101046 )
101047 ;
101048 --
101049
101050 --
101051 -- call description
101052 --
101053
101054 xla_ae_lines_pkg.SetLineDescription(
101055 p_ae_header_id => l_ae_header_id
101056 ,p_description => Description_1 (
101057 p_application_id => p_application_id
101058 , p_ae_header_id => l_ae_header_id
101059 , p_source_1 => p_source_1
101060 )
101061 );
101062
101063
101064 --
101065 -- call ADRs
101066 -- Bug 4922099
101067 --
101068 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101069 (NVL(l_actual_upg_option, 'N') = 'O') OR
101070 (NVL(l_enc_upg_option, 'N') = 'O')
101071 )
101072 THEN
101073 NULL;
101074 --
101075 --
101076
101077 l_ccid := AcctDerRule_33(
101078 p_application_id => p_application_id
101079 , p_ae_header_id => l_ae_header_id
101080 , p_source_30 => p_source_30
101081 , x_transaction_coa_id => l_adr_transaction_coa_id
101085 );
101082 , x_accounting_coa_id => l_adr_accounting_coa_id
101083 , x_value_type_code => l_adr_value_type_code
101084 , p_side => 'NA'
101086
101087 xla_ae_lines_pkg.set_ccid(
101088 p_code_combination_id => l_ccid
101089 , p_value_type_code => l_adr_value_type_code
101090 , p_transaction_coa_id => l_adr_transaction_coa_id
101091 , p_accounting_coa_id => l_adr_accounting_coa_id
101092 , p_adr_code => 'AP_INVOICE_DIST'
101093 , p_adr_type_code => 'S'
101094 , p_component_type => l_component_type
101095 , p_component_code => l_component_code
101096 , p_component_type_code => l_component_type_code
101097 , p_component_appl_id => l_component_appl_id
101098 , p_amb_context_code => l_amb_context_code
101099 , p_side => 'NA'
101100 );
101101
101102
101103 --
101104 --
101105 END IF;
101106 --
101107 -- Bug 4922099
101108 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101109 (NVL(l_enc_upg_option, 'N') = 'O')
101110 ) AND
101111 (l_bflow_method_code = 'PRIOR_ENTRY')
101112 )
101113 THEN
101114 IF
101115 --
101116 1 = 2
101117 --
101118 THEN
101119 xla_accounting_err_pkg.build_message
101120 (p_appli_s_name => 'XLA'
101121 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101122 ,p_token_1 => 'LINE_NUMBER'
101123 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101124 ,p_token_2 => 'LINE_TYPE_NAME'
101125 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101126 l_component_type
101127 ,l_component_code
101128 ,l_component_type_code
101129 ,l_component_appl_id
101130 ,l_amb_context_code
101131 ,l_entity_code
101132 ,l_event_class_code
101133 )
101134 ,p_token_3 => 'OWNER'
101135 ,p_value_3 => xla_lookups_pkg.get_meaning(
101136 p_lookup_type => 'XLA_OWNER_TYPE'
101137 ,p_lookup_code => l_component_type_code
101138 )
101139 ,p_token_4 => 'PRODUCT_NAME'
101140 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101141 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101142 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101143 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101144 ,p_ae_header_id => NULL
101145 );
101146
101147 IF (C_LEVEL_ERROR>= g_log_level) THEN
101148 trace
101149 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101150 ,p_level => C_LEVEL_ERROR
101151 ,p_module => l_log_module);
101152 END IF;
101153 END IF;
101154 END IF;
101155 --
101156 --
101157 ------------------------------------------------------------------------------------------------
101158 -- 4219869 Business Flow
101159 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101160 -- Prior Entry. Currently, the following code is always generated.
101161 ------------------------------------------------------------------------------------------------
101162 XLA_AE_LINES_PKG.ValidateCurrentLine;
101163
101164 ------------------------------------------------------------------------------------
101165 -- 4219869 Business Flow
101166 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101167 ------------------------------------------------------------------------------------
101168 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101169
101170 ----------------------------------------------------------------------------------
101171 -- 4219869 Business Flow
101172 -- Update journal entry status -- Need to generate this within IF <condition>
101173 ----------------------------------------------------------------------------------
101174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101176 ,p_balance_type_code => l_balance_type_code
101177 );
101181 -------------------------------------------------------------------------------------------
101178
101179 -------------------------------------------------------------------------------------------
101180 -- 4262811 - Generate the Accrual Reversal lines
101182 BEGIN
101183 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101184 (g_array_event(p_event_id).array_value_num('header_index'));
101185 IF l_acc_rev_flag IS NULL THEN
101186 l_acc_rev_flag := 'N';
101187 END IF;
101188 EXCEPTION
101189 WHEN OTHERS THEN
101190 l_acc_rev_flag := 'N';
101191 END;
101192 --
101193 IF (l_acc_rev_flag = 'Y') THEN
101194
101195 -- 4645092 ------------------------------------------------------------------------------
101196 -- To allow MPA report to determine if it should generate report process
101197 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101198 ------------------------------------------------------------------------------------------
101199
101200 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101201 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101202 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101203 -- call ADRs
101204 -- Bug 4922099
101205 --
101206 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101207 (NVL(l_actual_upg_option, 'N') = 'O') OR
101208 (NVL(l_enc_upg_option, 'N') = 'O')
101209 )
101210 THEN
101211 NULL;
101212 --
101213 --
101214
101215 l_ccid := AcctDerRule_33(
101216 p_application_id => p_application_id
101217 , p_ae_header_id => l_ae_header_id
101218 , p_source_30 => p_source_30
101219 , x_transaction_coa_id => l_adr_transaction_coa_id
101220 , x_accounting_coa_id => l_adr_accounting_coa_id
101221 , x_value_type_code => l_adr_value_type_code
101222 , p_side => 'NA'
101223 );
101224
101225 xla_ae_lines_pkg.set_ccid(
101226 p_code_combination_id => l_ccid
101227 , p_value_type_code => l_adr_value_type_code
101228 , p_transaction_coa_id => l_adr_transaction_coa_id
101229 , p_accounting_coa_id => l_adr_accounting_coa_id
101230 , p_adr_code => 'AP_INVOICE_DIST'
101231 , p_adr_type_code => 'S'
101232 , p_component_type => l_component_type
101233 , p_component_code => l_component_code
101234 , p_component_type_code => l_component_type_code
101235 , p_component_appl_id => l_component_appl_id
101236 , p_amb_context_code => l_amb_context_code
101237 , p_side => 'NA'
101238 );
101239
101240
101241 --
101242 --
101243 END IF;
101244
101245 --
101246 -- Update the line information that should be overwritten
101247 --
101248 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101249 p_header_num => 1);
101250 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101251
101252 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101253
101254 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101255 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101256 END IF;
101257
101258 --
101259 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101260 --
101261 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101262 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101263 ELSE
101264 ---------------------------------------------------------------------------------------------------
101265 -- 4262811a Switch Sign
101266 ---------------------------------------------------------------------------------------------------
101267 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101268 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101269 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101270 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101271 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101272 -- 5132302
101273 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
101274 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101275
101276 END IF;
101277
101278 -- 4955764
101279 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101280 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
101281
101282
101283 XLA_AE_LINES_PKG.ValidateCurrentLine;
101284 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101285
101286 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101287 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
101288 ,p_balance_type_code => l_balance_type_code);
101289
101293 -- 4262811 Multiperiod Accounting
101290 END IF;
101291
101292 -----------------------------------------------------------------------------------------
101294 -----------------------------------------------------------------------------------------
101295 -- No MPA option is assigned.
101296
101297
101298 END IF;
101299 END IF;
101300 --
101301
101302 --
101303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101304 trace
101305 (p_msg => 'END of AcctLineType_169'
101306 ,p_level => C_LEVEL_PROCEDURE
101307 ,p_module => l_log_module);
101308 END IF;
101309 --
101310 EXCEPTION
101311 WHEN xla_exceptions_pkg.application_exception THEN
101312 RAISE;
101313 WHEN OTHERS THEN
101314 xla_exceptions_pkg.raise_message
101315 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_169');
101316 END AcctLineType_169;
101317 --
101318
101319 ---------------------------------------
101320 --
101321 -- PRIVATE FUNCTION
101322 -- AcctLineType_170
101323 --
101324 ---------------------------------------
101325 PROCEDURE AcctLineType_170 (
101326 p_application_id IN NUMBER
101327 ,p_event_id IN NUMBER
101328 ,p_calculate_acctd_flag IN VARCHAR2
101329 ,p_calculate_g_l_flag IN VARCHAR2
101330 ,p_actual_flag IN OUT VARCHAR2
101331 ,p_balance_type_code OUT VARCHAR2
101332 ,p_gain_or_loss_ref OUT VARCHAR2
101333
101334 --Invoice Distribution Description
101335 , p_source_1 IN VARCHAR2
101336 --Invoice Distribution Ledger Amount
101337 , p_source_21 IN NUMBER
101338 --Invoice Distribution Account
101339 , p_source_30 IN NUMBER
101340 --Invoice Distribution Type
101341 , p_source_33 IN VARCHAR2
101342 , p_source_33_meaning IN VARCHAR2
101343 --Accounting Reversal Indicator
101344 , p_source_52 IN VARCHAR2
101345 --Distribution Link Type
101346 , p_source_54 IN VARCHAR2
101347 --Allocation to Main Distribution Identifier
101348 , p_source_56 IN NUMBER
101349 --Invoice Identifier
101350 , p_source_57 IN NUMBER
101351 --Invoice Distribution Identifier
101352 , p_source_63 IN NUMBER
101353 --Payables Encumbrance Upgrade Credit Account
101354 , p_source_64 IN NUMBER
101355 --Payables Encumbrance Upgrade Credit Amount
101356 , p_source_65 IN NUMBER
101357 --Invoice Currency Code
101358 , p_source_66 IN VARCHAR2
101359 --Payables Encumbrance Upgrade Credit Base Amount
101360 , p_source_67 IN NUMBER
101361 --Payables Encumbrance Upgrade Debit Account
101362 , p_source_68 IN NUMBER
101363 --Payables Encumbrance Upgrade Debit Amount
101364 , p_source_69 IN NUMBER
101365 --Payables Encumbrance Upgrade Debit Base Amount
101366 , p_source_70 IN NUMBER
101367 --Payables Encumbrance Upgrade Option
101368 , p_source_71 IN VARCHAR2
101369 --Invoice Distribution Amount
101370 , p_source_72 IN NUMBER
101371 --Deferred Accounting End Date
101372 , p_source_76 IN DATE
101373 --Deferred Accounting Option
101374 , p_source_77 IN VARCHAR2
101375 --Deferred Accounting Start Date
101376 , p_source_78 IN DATE
101377 --Override Accounted Amount Indicator
101378 , p_source_79 IN VARCHAR2
101379 , p_source_79_meaning IN VARCHAR2
101380 --Invoice Supplier Identifier
101381 , p_source_80 IN NUMBER
101382 --Invoice Supplier Site Identifier
101383 , p_source_81 IN NUMBER
101384 --Third Party Type
101385 , p_source_82 IN VARCHAR2
101386 --Parent Reversal Identifier
101387 , p_source_83 IN NUMBER
101388 --Invoice Distribution Statistical Amount
101389 , p_source_84 IN NUMBER
101390 --Invoice Distribution Tax Line Identifier
101391 , p_source_85 IN NUMBER
101392 --Invoice Distribution Tax Distribution Identifier from Tax
101393 , p_source_86 IN NUMBER
101394 --Invoice Distribution Summary Tax Line Identifier
101395 , p_source_87 IN NUMBER
101396 --Payables Upgrade Credit Encumbrance Type Identifier
101397 , p_source_88 IN NUMBER
101398 --Payables Upgrade Debit Encumbrance Type Identifier
101399 , p_source_89 IN NUMBER
101400 --Business Flow Accounts Payable Application Identifier
101401 , p_source_90 IN NUMBER
101402 --Business Flow Invoice Distribution Type
101403 , p_source_91 IN VARCHAR2
101404 --Business Flow Invoice Entity Code
101405 , p_source_92 IN VARCHAR2
101406 --Business Flow Invoice Distribution Identifier
101407 , p_source_93 IN NUMBER
101408 --Business Flow Invoice Identifier
101409 , p_source_94 IN NUMBER
101410 --Invoice Exchange Date
101411 , p_source_136 IN DATE
101412 --Invoice Exchange Rate
101413 , p_source_137 IN NUMBER
101414 --Invoice Exchange Rate Type
101415 , p_source_138 IN VARCHAR2
101416 --Project Identifier
101417 , p_source_146 IN NUMBER
101418 )
101419 IS
101420
101421 l_component_type VARCHAR2(80);
101422 l_component_code VARCHAR2(30);
101423 l_component_type_code VARCHAR2(1);
101424 l_component_appl_id INTEGER;
101425 l_amb_context_code VARCHAR2(30);
101426 l_entity_code VARCHAR2(30);
101427 l_event_class_code VARCHAR2(30);
101428 l_ae_header_id NUMBER;
101432 --
101429 l_event_type_code VARCHAR2(30);
101430 l_line_definition_code VARCHAR2(30);
101431 l_line_definition_owner_code VARCHAR2(1);
101433 -- adr variables
101434 l_segment VARCHAR2(30);
101435 l_ccid NUMBER;
101436 l_adr_transaction_coa_id NUMBER;
101437 l_adr_accounting_coa_id NUMBER;
101438 l_adr_flexfield_segment_code VARCHAR2(30);
101439 l_adr_flex_value_set_id NUMBER;
101440 l_adr_value_type_code VARCHAR2(30);
101441 l_adr_value_combination_id NUMBER;
101442 l_adr_value_segment_code VARCHAR2(30);
101443
101444 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
101445 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
101446 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
101447 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
101448
101449 -- 4262811 Variables ------------------------------------------------------------------------------------------
101450 l_entered_amt_idx NUMBER;
101451 l_accted_amt_idx NUMBER;
101452 l_acc_rev_flag VARCHAR2(1);
101453 l_accrual_line_num NUMBER;
101454 l_tmp_amt NUMBER;
101455 l_acc_rev_natural_side_code VARCHAR2(1);
101456
101457 l_num_entries NUMBER;
101458 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
101459 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
101460 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
101461 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
101462 l_recog_line_1 NUMBER;
101463 l_recog_line_2 NUMBER;
101464
101465 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
101466 l_bflow_applied_to_amt NUMBER; -- 5132302
101467 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
101468
101469 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
101470
101471 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
101472 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
101473
101474 ---------------------------------------------------------------------------------------------------------------
101475
101476
101477 --
101478 -- bulk performance
101479 --
101480 l_balance_type_code VARCHAR2(1);
101481 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
101482 l_log_module VARCHAR2(240);
101483
101484 --
101485 -- Upgrade strategy
101486 --
101487 l_actual_upg_option VARCHAR2(1);
101488 l_enc_upg_option VARCHAR2(1);
101489
101490 --
101491 BEGIN
101492 --
101493 IF g_log_enabled THEN
101494 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_170';
101495 END IF;
101496 --
101497 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101498
101499 trace
101500 (p_msg => 'BEGIN of AcctLineType_170'
101501 ,p_level => C_LEVEL_PROCEDURE
101502 ,p_module => l_log_module);
101503
101504 END IF;
101505 --
101506 l_component_type := 'AMB_JLT';
101507 l_component_code := 'AP_MISC_EXPENSE_INV';
101508 l_component_type_code := 'S';
101509 l_component_appl_id := 200;
101510 l_amb_context_code := 'DEFAULT';
101511 l_entity_code := 'AP_INVOICES';
101512 l_event_class_code := 'INVOICES';
101513 l_event_type_code := 'INVOICES_ALL';
101514 l_line_definition_owner_code := 'S';
101515 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
101516 --
101517 l_balance_type_code := 'A';
101518 l_segment := NULL;
101519 l_ccid := NULL;
101520 l_adr_transaction_coa_id := NULL;
101521 l_adr_accounting_coa_id := NULL;
101522 l_adr_flexfield_segment_code := NULL;
101523 l_adr_flex_value_set_id := NULL;
101524 l_adr_value_type_code := NULL;
101525 l_adr_value_combination_id := NULL;
101526 l_adr_value_segment_code := NULL;
101527
101528 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
101529 l_bflow_class_code := ''; -- 4219869 Business Flow
101530 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
101531 l_budgetary_control_flag := 'N';
101532
101533 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101534 l_bflow_applied_to_amt := NULL; -- 5132302
101535 l_entered_amt_idx := NULL; -- 4262811
101536 l_accted_amt_idx := NULL; -- 4262811
101537 l_acc_rev_flag := NULL; -- 4262811
101538 l_accrual_line_num := NULL; -- 4262811
101539 l_tmp_amt := NULL; -- 4262811
101540 --
101541
101542 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
101543 l_balance_type_code <> 'B' THEN
101544 IF NVL(p_source_33,'
101545 ') = 'MISCELLANEOUS'
101546 THEN
101547
101548 --
101549 XLA_AE_LINES_PKG.SetNewLine;
101550
101551 p_balance_type_code := l_balance_type_code;
101552 -- set the flag so later we will know whether the gain loss line needs to be created
101553
101554 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
101555 p_actual_flag :='A';
101556 END IF;
101560 --
101557
101558 --
101559 -- bulk performance
101561 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
101562 p_header_num => 0); -- 4262811
101563 --
101564 -- set accounting line options
101565 --
101566 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
101567 p_natural_side_code => 'D'
101568 , p_gain_or_loss_flag => 'N'
101569 , p_gl_transfer_mode_code => 'S'
101570 , p_acct_entry_type_code => 'A'
101571 , p_switch_side_flag => 'Y'
101572 , p_merge_duplicate_code => 'A'
101573 );
101574 --
101575 l_acc_rev_natural_side_code := 'C'; -- 4262811
101576 --
101577 --
101578 -- set accounting line type info
101579 --
101580 xla_ae_lines_pkg.SetAcctLineType
101581 (p_component_type => l_component_type
101582 ,p_event_type_code => l_event_type_code
101583 ,p_line_definition_owner_code => l_line_definition_owner_code
101584 ,p_line_definition_code => l_line_definition_code
101585 ,p_accounting_line_code => l_component_code
101586 ,p_accounting_line_type_code => l_component_type_code
101587 ,p_accounting_line_appl_id => l_component_appl_id
101588 ,p_amb_context_code => l_amb_context_code
101589 ,p_entity_code => l_entity_code
101590 ,p_event_class_code => l_event_class_code);
101591 --
101592 -- set accounting class
101593 --
101594 xla_ae_lines_pkg.SetAcctClass(
101595 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
101596 , p_ae_header_id => l_ae_header_id
101597 );
101598
101599 --
101600 -- set rounding class
101601 --
101602 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
101603 'MISCELLANEOUS EXPENSE';
101604
101605 --
101606 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
101607 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
101608 --
101609 -- bulk performance
101610 --
101611 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
101612
101613 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
101614 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
101615
101616 -- 4955764
101617 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101618 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
101619
101620 -- 4458381 Public Sector Enh
101621
101622 --
101623 -- set accounting attributes for the line type
101624 --
101625 l_entered_amt_idx := 24;
101626 l_accted_amt_idx := 29;
101627 l_bflow_applied_to_amt_idx := 7; -- 5132302
101628 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
101629 l_rec_acct_attrs.array_char_value(1) := p_source_52;
101630 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
101631 l_rec_acct_attrs.array_num_value(2) :=
101632 xla_ae_sources_pkg.GetSystemSourceNum(
101633 p_source_code => 'XLA_EVENT_APPL_ID'
101634 , p_source_type_code => 'Y'
101635 , p_source_application_id => 602
101636 );
101637 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
101638 l_rec_acct_attrs.array_char_value(3) := p_source_54;
101639 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
101640 l_rec_acct_attrs.array_char_value(4) :=
101641 xla_ae_sources_pkg.GetSystemSourceChar(
101642 p_source_code => 'XLA_ENTITY_CODE'
101643 , p_source_type_code => 'Y'
101644 , p_source_application_id => 602
101645 );
101646 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
101647 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
101648 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
101649 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
101650 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
101651 l_rec_acct_attrs.array_num_value(7) := p_source_72;
101652 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
101653 l_rec_acct_attrs.array_num_value(8) := p_source_90;
101654 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
101655 l_rec_acct_attrs.array_char_value(9) := p_source_91;
101656 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
101657 l_rec_acct_attrs.array_char_value(10) := p_source_92;
101658 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
101659 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
101660 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
101661 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
101662 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
101663 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
101664 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
101665 l_rec_acct_attrs.array_char_value(14) := p_source_54;
101666 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
101667 l_rec_acct_attrs.array_num_value(15) := p_source_64;
101668 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
101669 l_rec_acct_attrs.array_num_value(16) := p_source_65;
101673 l_rec_acct_attrs.array_num_value(18) := p_source_67;
101670 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
101671 l_rec_acct_attrs.array_char_value(17) := p_source_66;
101672 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
101674 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
101675 l_rec_acct_attrs.array_num_value(19) := p_source_68;
101676 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
101677 l_rec_acct_attrs.array_num_value(20) := p_source_69;
101678 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
101679 l_rec_acct_attrs.array_char_value(21) := p_source_66;
101680 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
101681 l_rec_acct_attrs.array_num_value(22) := p_source_70;
101682 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
101683 l_rec_acct_attrs.array_char_value(23) := p_source_71;
101684 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
101685 l_rec_acct_attrs.array_num_value(24) := p_source_72;
101686 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
101687 l_rec_acct_attrs.array_char_value(25) := p_source_66;
101688 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
101689 l_rec_acct_attrs.array_date_value(26) := p_source_136;
101690 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
101691 l_rec_acct_attrs.array_num_value(27) := p_source_137;
101692 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
101693 l_rec_acct_attrs.array_char_value(28) := p_source_138;
101694 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
101695 l_rec_acct_attrs.array_num_value(29) := p_source_21;
101696 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
101697 l_rec_acct_attrs.array_date_value(30) := p_source_76;
101698 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
101699 l_rec_acct_attrs.array_char_value(31) := p_source_77;
101700 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
101701 l_rec_acct_attrs.array_date_value(32) := p_source_78;
101702 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
101703 l_rec_acct_attrs.array_char_value(33) := p_source_79;
101704 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
101705 l_rec_acct_attrs.array_num_value(34) := p_source_80;
101706 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
101707 l_rec_acct_attrs.array_num_value(35) := p_source_81;
101708 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
101709 l_rec_acct_attrs.array_char_value(36) := p_source_82;
101710 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
101711 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
101712 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
101713 l_rec_acct_attrs.array_char_value(38) := p_source_54;
101714 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
101715 l_rec_acct_attrs.array_num_value(39) := p_source_84;
101716 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
101717 l_rec_acct_attrs.array_num_value(40) := p_source_85;
101718 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
101719 l_rec_acct_attrs.array_num_value(41) := p_source_86;
101720 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
101721 l_rec_acct_attrs.array_num_value(42) := p_source_87;
101722 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
101723 l_rec_acct_attrs.array_num_value(43) := p_source_88;
101724 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
101725 l_rec_acct_attrs.array_num_value(44) := p_source_89;
101726
101727 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
101728 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101729
101730 ---------------------------------------------------------------------------------------------------------------
101731 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101732 ---------------------------------------------------------------------------------------------------------------
101733 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101734
101735 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101736 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101737
101738 IF xla_accounting_cache_pkg.GetValueChar
101739 (p_source_code => 'LEDGER_CATEGORY_CODE'
101740 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101741 AND l_bflow_method_code = 'PRIOR_ENTRY'
101742 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101743 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101744 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101745 )
101746 THEN
101747 xla_ae_lines_pkg.BflowUpgEntry
101748 (p_business_method_code => l_bflow_method_code
101749 ,p_business_class_code => l_bflow_class_code
101750 ,p_balance_type => l_balance_type_code);
101751 ELSE
101752 NULL;
101753 -- No business flow processing for business flow method of NONE.
101754 END IF;
101755
101756 --
101757 -- call analytical criteria
101758 --
101759
101760
101764 , p_analytical_criterion_owner => 'S'
101761 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
101762 xla_ae_lines_pkg.SetAnalyticalCriteria(
101763 p_analytical_criterion_name => 'Project Number'
101765 , p_analytical_criterion_code => 'PROJECT_NUMBER'
101766 , p_amb_context_code => 'DEFAULT'
101767 , p_balancing_flag => 'N'
101768
101769 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
101770 p_source_146))
101771 , p_analytical_detail_num_1 => NULL
101772 , p_analytical_detail_date_1 => NULL
101773
101774 , p_ae_header_id => l_ae_header_id
101775 )
101776 ;
101777 --
101778
101779 --
101780 -- call description
101781 --
101782
101783 xla_ae_lines_pkg.SetLineDescription(
101784 p_ae_header_id => l_ae_header_id
101785 ,p_description => Description_1 (
101786 p_application_id => p_application_id
101787 , p_ae_header_id => l_ae_header_id
101788 , p_source_1 => p_source_1
101789 )
101790 );
101791
101792
101793 --
101794 -- call ADRs
101795 -- Bug 4922099
101796 --
101797 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101798 (NVL(l_actual_upg_option, 'N') = 'O') OR
101799 (NVL(l_enc_upg_option, 'N') = 'O')
101800 )
101801 THEN
101802 NULL;
101803 --
101804 --
101805
101806 l_ccid := AcctDerRule_33(
101807 p_application_id => p_application_id
101808 , p_ae_header_id => l_ae_header_id
101809 , p_source_30 => p_source_30
101810 , x_transaction_coa_id => l_adr_transaction_coa_id
101811 , x_accounting_coa_id => l_adr_accounting_coa_id
101812 , x_value_type_code => l_adr_value_type_code
101813 , p_side => 'NA'
101814 );
101815
101816 xla_ae_lines_pkg.set_ccid(
101817 p_code_combination_id => l_ccid
101818 , p_value_type_code => l_adr_value_type_code
101819 , p_transaction_coa_id => l_adr_transaction_coa_id
101820 , p_accounting_coa_id => l_adr_accounting_coa_id
101821 , p_adr_code => 'AP_INVOICE_DIST'
101822 , p_adr_type_code => 'S'
101823 , p_component_type => l_component_type
101824 , p_component_code => l_component_code
101825 , p_component_type_code => l_component_type_code
101826 , p_component_appl_id => l_component_appl_id
101827 , p_amb_context_code => l_amb_context_code
101828 , p_side => 'NA'
101829 );
101830
101831
101832 --
101833 --
101834 END IF;
101835 --
101836 -- Bug 4922099
101837 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101838 (NVL(l_enc_upg_option, 'N') = 'O')
101839 ) AND
101840 (l_bflow_method_code = 'PRIOR_ENTRY')
101841 )
101842 THEN
101843 IF
101844 --
101845 1 = 2
101846 --
101847 THEN
101848 xla_accounting_err_pkg.build_message
101849 (p_appli_s_name => 'XLA'
101850 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101851 ,p_token_1 => 'LINE_NUMBER'
101852 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101853 ,p_token_2 => 'LINE_TYPE_NAME'
101854 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101855 l_component_type
101856 ,l_component_code
101857 ,l_component_type_code
101858 ,l_component_appl_id
101859 ,l_amb_context_code
101860 ,l_entity_code
101861 ,l_event_class_code
101862 )
101863 ,p_token_3 => 'OWNER'
101864 ,p_value_3 => xla_lookups_pkg.get_meaning(
101865 p_lookup_type => 'XLA_OWNER_TYPE'
101866 ,p_lookup_code => l_component_type_code
101867 )
101868 ,p_token_4 => 'PRODUCT_NAME'
101869 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101870 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101871 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101872 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101873 ,p_ae_header_id => NULL
101877 trace
101874 );
101875
101876 IF (C_LEVEL_ERROR>= g_log_level) THEN
101878 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101879 ,p_level => C_LEVEL_ERROR
101880 ,p_module => l_log_module);
101881 END IF;
101882 END IF;
101883 END IF;
101884 --
101885 --
101886 ------------------------------------------------------------------------------------------------
101887 -- 4219869 Business Flow
101888 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101889 -- Prior Entry. Currently, the following code is always generated.
101890 ------------------------------------------------------------------------------------------------
101891 XLA_AE_LINES_PKG.ValidateCurrentLine;
101892
101893 ------------------------------------------------------------------------------------
101894 -- 4219869 Business Flow
101895 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101896 ------------------------------------------------------------------------------------
101897 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101898
101899 ----------------------------------------------------------------------------------
101900 -- 4219869 Business Flow
101901 -- Update journal entry status -- Need to generate this within IF <condition>
101902 ----------------------------------------------------------------------------------
101903 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101904 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101905 ,p_balance_type_code => l_balance_type_code
101906 );
101907
101908 -------------------------------------------------------------------------------------------
101909 -- 4262811 - Generate the Accrual Reversal lines
101910 -------------------------------------------------------------------------------------------
101911 BEGIN
101912 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101913 (g_array_event(p_event_id).array_value_num('header_index'));
101914 IF l_acc_rev_flag IS NULL THEN
101915 l_acc_rev_flag := 'N';
101916 END IF;
101917 EXCEPTION
101918 WHEN OTHERS THEN
101919 l_acc_rev_flag := 'N';
101920 END;
101921 --
101922 IF (l_acc_rev_flag = 'Y') THEN
101923
101924 -- 4645092 ------------------------------------------------------------------------------
101925 -- To allow MPA report to determine if it should generate report process
101926 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101927 ------------------------------------------------------------------------------------------
101928
101929 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101930 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101931 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101932 -- call ADRs
101933 -- Bug 4922099
101934 --
101935 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101936 (NVL(l_actual_upg_option, 'N') = 'O') OR
101937 (NVL(l_enc_upg_option, 'N') = 'O')
101938 )
101939 THEN
101940 NULL;
101941 --
101942 --
101943
101944 l_ccid := AcctDerRule_33(
101945 p_application_id => p_application_id
101946 , p_ae_header_id => l_ae_header_id
101947 , p_source_30 => p_source_30
101948 , x_transaction_coa_id => l_adr_transaction_coa_id
101949 , x_accounting_coa_id => l_adr_accounting_coa_id
101950 , x_value_type_code => l_adr_value_type_code
101951 , p_side => 'NA'
101952 );
101953
101954 xla_ae_lines_pkg.set_ccid(
101955 p_code_combination_id => l_ccid
101956 , p_value_type_code => l_adr_value_type_code
101957 , p_transaction_coa_id => l_adr_transaction_coa_id
101958 , p_accounting_coa_id => l_adr_accounting_coa_id
101959 , p_adr_code => 'AP_INVOICE_DIST'
101960 , p_adr_type_code => 'S'
101961 , p_component_type => l_component_type
101962 , p_component_code => l_component_code
101963 , p_component_type_code => l_component_type_code
101964 , p_component_appl_id => l_component_appl_id
101965 , p_amb_context_code => l_amb_context_code
101966 , p_side => 'NA'
101967 );
101968
101969
101970 --
101971 --
101972 END IF;
101973
101974 --
101975 -- Update the line information that should be overwritten
101976 --
101977 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101978 p_header_num => 1);
101979 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101980
101981 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101982
101983 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101984 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101985 END IF;
101986
101987 --
101988 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101989 --
101993 ---------------------------------------------------------------------------------------------------
101990 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101991 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101992 ELSE
101994 -- 4262811a Switch Sign
101995 ---------------------------------------------------------------------------------------------------
101996 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101997 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101998 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101999 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102000 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102001 -- 5132302
102002 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102003 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102004
102005 END IF;
102006
102007 -- 4955764
102008 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102009 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102010
102011
102012 XLA_AE_LINES_PKG.ValidateCurrentLine;
102013 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102014
102015 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102016 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102017 ,p_balance_type_code => l_balance_type_code);
102018
102019 END IF;
102020
102021 -----------------------------------------------------------------------------------------
102022 -- 4262811 Multiperiod Accounting
102023 -----------------------------------------------------------------------------------------
102024 -- No MPA option is assigned.
102025
102026
102027 END IF;
102028 END IF;
102029 --
102030
102031 --
102032 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102033 trace
102034 (p_msg => 'END of AcctLineType_170'
102035 ,p_level => C_LEVEL_PROCEDURE
102036 ,p_module => l_log_module);
102037 END IF;
102038 --
102039 EXCEPTION
102040 WHEN xla_exceptions_pkg.application_exception THEN
102041 RAISE;
102042 WHEN OTHERS THEN
102043 xla_exceptions_pkg.raise_message
102044 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_170');
102045 END AcctLineType_170;
102046 --
102047
102048 ---------------------------------------
102049 --
102050 -- PRIVATE FUNCTION
102051 -- AcctLineType_171
102052 --
102053 ---------------------------------------
102054 PROCEDURE AcctLineType_171 (
102055 p_application_id IN NUMBER
102056 ,p_event_id IN NUMBER
102057 ,p_calculate_acctd_flag IN VARCHAR2
102058 ,p_calculate_g_l_flag IN VARCHAR2
102059 ,p_actual_flag IN OUT VARCHAR2
102060 ,p_balance_type_code OUT VARCHAR2
102061 ,p_gain_or_loss_ref OUT VARCHAR2
102062
102063 --Invoice Distribution Description
102064 , p_source_1 IN VARCHAR2
102065 --Invoice Distribution Ledger Amount
102066 , p_source_21 IN NUMBER
102067 --Invoice Distribution Account
102068 , p_source_30 IN NUMBER
102069 --Invoice Distribution Type
102070 , p_source_33 IN VARCHAR2
102071 , p_source_33_meaning IN VARCHAR2
102072 --Accounting Reversal Indicator
102073 , p_source_52 IN VARCHAR2
102074 --Distribution Link Type
102075 , p_source_54 IN VARCHAR2
102076 --Allocation to Main Distribution Identifier
102077 , p_source_56 IN NUMBER
102078 --Invoice Identifier
102079 , p_source_57 IN NUMBER
102080 --Invoice Distribution Identifier
102081 , p_source_63 IN NUMBER
102082 --Payables Encumbrance Upgrade Credit Account
102083 , p_source_64 IN NUMBER
102084 --Payables Encumbrance Upgrade Credit Amount
102085 , p_source_65 IN NUMBER
102086 --Invoice Currency Code
102087 , p_source_66 IN VARCHAR2
102088 --Payables Encumbrance Upgrade Credit Base Amount
102089 , p_source_67 IN NUMBER
102090 --Payables Encumbrance Upgrade Debit Account
102091 , p_source_68 IN NUMBER
102092 --Payables Encumbrance Upgrade Debit Amount
102093 , p_source_69 IN NUMBER
102094 --Payables Encumbrance Upgrade Debit Base Amount
102095 , p_source_70 IN NUMBER
102096 --Payables Encumbrance Upgrade Option
102097 , p_source_71 IN VARCHAR2
102098 --Invoice Distribution Amount
102099 , p_source_72 IN NUMBER
102100 --Deferred Accounting End Date
102101 , p_source_76 IN DATE
102102 --Deferred Accounting Option
102103 , p_source_77 IN VARCHAR2
102104 --Deferred Accounting Start Date
102105 , p_source_78 IN DATE
102106 --Override Accounted Amount Indicator
102107 , p_source_79 IN VARCHAR2
102108 , p_source_79_meaning IN VARCHAR2
102109 --Invoice Supplier Identifier
102110 , p_source_80 IN NUMBER
102111 --Invoice Supplier Site Identifier
102112 , p_source_81 IN NUMBER
102113 --Third Party Type
102114 , p_source_82 IN VARCHAR2
102115 --Parent Reversal Identifier
102119 --Invoice Distribution Tax Line Identifier
102116 , p_source_83 IN NUMBER
102117 --Invoice Distribution Statistical Amount
102118 , p_source_84 IN NUMBER
102120 , p_source_85 IN NUMBER
102121 --Invoice Distribution Tax Distribution Identifier from Tax
102122 , p_source_86 IN NUMBER
102123 --Invoice Distribution Summary Tax Line Identifier
102124 , p_source_87 IN NUMBER
102125 --Payables Upgrade Credit Encumbrance Type Identifier
102126 , p_source_88 IN NUMBER
102127 --Payables Upgrade Debit Encumbrance Type Identifier
102128 , p_source_89 IN NUMBER
102129 --Business Flow Accounts Payable Application Identifier
102130 , p_source_90 IN NUMBER
102131 --Business Flow Invoice Distribution Type
102132 , p_source_91 IN VARCHAR2
102133 --Business Flow Invoice Entity Code
102134 , p_source_92 IN VARCHAR2
102135 --Business Flow Invoice Distribution Identifier
102136 , p_source_93 IN NUMBER
102137 --Business Flow Invoice Identifier
102138 , p_source_94 IN NUMBER
102139 --Invoice Exchange Date
102140 , p_source_136 IN DATE
102141 --Invoice Exchange Rate
102142 , p_source_137 IN NUMBER
102143 --Invoice Exchange Rate Type
102144 , p_source_138 IN VARCHAR2
102145 --Project Identifier
102146 , p_source_146 IN NUMBER
102147 )
102148 IS
102149
102150 l_component_type VARCHAR2(80);
102151 l_component_code VARCHAR2(30);
102152 l_component_type_code VARCHAR2(1);
102153 l_component_appl_id INTEGER;
102154 l_amb_context_code VARCHAR2(30);
102155 l_entity_code VARCHAR2(30);
102156 l_event_class_code VARCHAR2(30);
102157 l_ae_header_id NUMBER;
102158 l_event_type_code VARCHAR2(30);
102159 l_line_definition_code VARCHAR2(30);
102160 l_line_definition_owner_code VARCHAR2(1);
102161 --
102162 -- adr variables
102163 l_segment VARCHAR2(30);
102164 l_ccid NUMBER;
102165 l_adr_transaction_coa_id NUMBER;
102166 l_adr_accounting_coa_id NUMBER;
102167 l_adr_flexfield_segment_code VARCHAR2(30);
102168 l_adr_flex_value_set_id NUMBER;
102169 l_adr_value_type_code VARCHAR2(30);
102170 l_adr_value_combination_id NUMBER;
102171 l_adr_value_segment_code VARCHAR2(30);
102172
102173 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102174 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102175 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102176 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102177
102178 -- 4262811 Variables ------------------------------------------------------------------------------------------
102179 l_entered_amt_idx NUMBER;
102180 l_accted_amt_idx NUMBER;
102181 l_acc_rev_flag VARCHAR2(1);
102182 l_accrual_line_num NUMBER;
102183 l_tmp_amt NUMBER;
102184 l_acc_rev_natural_side_code VARCHAR2(1);
102185
102186 l_num_entries NUMBER;
102187 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102188 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102189 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102190 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102191 l_recog_line_1 NUMBER;
102192 l_recog_line_2 NUMBER;
102193
102194 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102195 l_bflow_applied_to_amt NUMBER; -- 5132302
102196 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102197
102198 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102199
102200 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102201 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102202
102203 ---------------------------------------------------------------------------------------------------------------
102204
102205
102206 --
102207 -- bulk performance
102208 --
102209 l_balance_type_code VARCHAR2(1);
102210 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102211 l_log_module VARCHAR2(240);
102212
102213 --
102214 -- Upgrade strategy
102215 --
102216 l_actual_upg_option VARCHAR2(1);
102217 l_enc_upg_option VARCHAR2(1);
102218
102219 --
102220 BEGIN
102221 --
102222 IF g_log_enabled THEN
102223 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_171';
102224 END IF;
102225 --
102226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102227
102228 trace
102229 (p_msg => 'BEGIN of AcctLineType_171'
102230 ,p_level => C_LEVEL_PROCEDURE
102231 ,p_module => l_log_module);
102232
102233 END IF;
102234 --
102235 l_component_type := 'AMB_JLT';
102236 l_component_code := 'AP_MISC_EXPENSE_PREPAY';
102237 l_component_type_code := 'S';
102238 l_component_appl_id := 200;
102239 l_amb_context_code := 'DEFAULT';
102240 l_entity_code := 'AP_INVOICES';
102241 l_event_class_code := 'PREPAYMENTS';
102242 l_event_type_code := 'PREPAYMENTS_ALL';
102246 l_balance_type_code := 'A';
102243 l_line_definition_owner_code := 'S';
102244 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
102245 --
102247 l_segment := NULL;
102248 l_ccid := NULL;
102249 l_adr_transaction_coa_id := NULL;
102250 l_adr_accounting_coa_id := NULL;
102251 l_adr_flexfield_segment_code := NULL;
102252 l_adr_flex_value_set_id := NULL;
102253 l_adr_value_type_code := NULL;
102254 l_adr_value_combination_id := NULL;
102255 l_adr_value_segment_code := NULL;
102256
102257 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102258 l_bflow_class_code := ''; -- 4219869 Business Flow
102259 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102260 l_budgetary_control_flag := 'N';
102261
102262 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102263 l_bflow_applied_to_amt := NULL; -- 5132302
102264 l_entered_amt_idx := NULL; -- 4262811
102265 l_accted_amt_idx := NULL; -- 4262811
102266 l_acc_rev_flag := NULL; -- 4262811
102267 l_accrual_line_num := NULL; -- 4262811
102268 l_tmp_amt := NULL; -- 4262811
102269 --
102270
102271 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102272 l_balance_type_code <> 'B' THEN
102273 IF NVL(p_source_33,'
102274 ') = 'MISCELLANEOUS'
102275 THEN
102276
102277 --
102278 XLA_AE_LINES_PKG.SetNewLine;
102279
102280 p_balance_type_code := l_balance_type_code;
102281 -- set the flag so later we will know whether the gain loss line needs to be created
102282
102283 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
102284 p_actual_flag :='A';
102285 END IF;
102286
102287 --
102288 -- bulk performance
102289 --
102290 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
102291 p_header_num => 0); -- 4262811
102292 --
102293 -- set accounting line options
102294 --
102295 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
102296 p_natural_side_code => 'D'
102297 , p_gain_or_loss_flag => 'N'
102298 , p_gl_transfer_mode_code => 'S'
102299 , p_acct_entry_type_code => 'A'
102300 , p_switch_side_flag => 'Y'
102301 , p_merge_duplicate_code => 'A'
102302 );
102303 --
102304 l_acc_rev_natural_side_code := 'C'; -- 4262811
102305 --
102306 --
102307 -- set accounting line type info
102308 --
102309 xla_ae_lines_pkg.SetAcctLineType
102310 (p_component_type => l_component_type
102311 ,p_event_type_code => l_event_type_code
102312 ,p_line_definition_owner_code => l_line_definition_owner_code
102313 ,p_line_definition_code => l_line_definition_code
102314 ,p_accounting_line_code => l_component_code
102315 ,p_accounting_line_type_code => l_component_type_code
102316 ,p_accounting_line_appl_id => l_component_appl_id
102317 ,p_amb_context_code => l_amb_context_code
102318 ,p_entity_code => l_entity_code
102319 ,p_event_class_code => l_event_class_code);
102320 --
102321 -- set accounting class
102322 --
102323 xla_ae_lines_pkg.SetAcctClass(
102324 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
102325 , p_ae_header_id => l_ae_header_id
102326 );
102327
102328 --
102329 -- set rounding class
102330 --
102331 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
102332 'MISCELLANEOUS EXPENSE';
102333
102334 --
102335 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
102336 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
102337 --
102338 -- bulk performance
102339 --
102340 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
102341
102342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
102343 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
102344
102345 -- 4955764
102346 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102347 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
102348
102349 -- 4458381 Public Sector Enh
102350
102351 --
102352 -- set accounting attributes for the line type
102353 --
102354 l_entered_amt_idx := 23;
102355 l_accted_amt_idx := 28;
102356 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102357 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
102358 l_rec_acct_attrs.array_char_value(1) := p_source_52;
102359 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
102360 l_rec_acct_attrs.array_num_value(2) :=
102361 xla_ae_sources_pkg.GetSystemSourceNum(
102362 p_source_code => 'XLA_EVENT_APPL_ID'
102363 , p_source_type_code => 'Y'
102364 , p_source_application_id => 602
102365 );
102366 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
102367 l_rec_acct_attrs.array_char_value(3) := p_source_54;
102368 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
102372 , p_source_type_code => 'Y'
102369 l_rec_acct_attrs.array_char_value(4) :=
102370 xla_ae_sources_pkg.GetSystemSourceChar(
102371 p_source_code => 'XLA_ENTITY_CODE'
102373 , p_source_application_id => 602
102374 );
102375 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
102376 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
102377 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
102378 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
102379 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
102380 l_rec_acct_attrs.array_num_value(7) := p_source_90;
102381 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
102382 l_rec_acct_attrs.array_char_value(8) := p_source_91;
102383 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
102384 l_rec_acct_attrs.array_char_value(9) := p_source_92;
102385 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
102386 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
102387 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
102388 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
102389 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
102390 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
102391 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
102392 l_rec_acct_attrs.array_char_value(13) := p_source_54;
102393 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
102394 l_rec_acct_attrs.array_num_value(14) := p_source_64;
102395 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
102396 l_rec_acct_attrs.array_num_value(15) := p_source_65;
102397 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
102398 l_rec_acct_attrs.array_char_value(16) := p_source_66;
102399 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
102400 l_rec_acct_attrs.array_num_value(17) := p_source_67;
102401 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
102402 l_rec_acct_attrs.array_num_value(18) := p_source_68;
102403 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
102404 l_rec_acct_attrs.array_num_value(19) := p_source_69;
102405 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
102406 l_rec_acct_attrs.array_char_value(20) := p_source_66;
102407 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
102408 l_rec_acct_attrs.array_num_value(21) := p_source_70;
102409 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
102410 l_rec_acct_attrs.array_char_value(22) := p_source_71;
102411 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
102412 l_rec_acct_attrs.array_num_value(23) := p_source_72;
102413 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
102414 l_rec_acct_attrs.array_char_value(24) := p_source_66;
102415 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
102416 l_rec_acct_attrs.array_date_value(25) := p_source_136;
102417 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
102418 l_rec_acct_attrs.array_num_value(26) := p_source_137;
102419 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
102420 l_rec_acct_attrs.array_char_value(27) := p_source_138;
102421 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
102422 l_rec_acct_attrs.array_num_value(28) := p_source_21;
102423 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
102424 l_rec_acct_attrs.array_date_value(29) := p_source_76;
102425 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
102426 l_rec_acct_attrs.array_char_value(30) := p_source_77;
102427 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
102428 l_rec_acct_attrs.array_date_value(31) := p_source_78;
102429 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
102430 l_rec_acct_attrs.array_char_value(32) := p_source_79;
102431 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
102432 l_rec_acct_attrs.array_num_value(33) := p_source_80;
102433 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
102434 l_rec_acct_attrs.array_num_value(34) := p_source_81;
102435 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
102436 l_rec_acct_attrs.array_char_value(35) := p_source_82;
102437 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
102438 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
102439 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
102440 l_rec_acct_attrs.array_char_value(37) := p_source_54;
102441 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
102442 l_rec_acct_attrs.array_num_value(38) := p_source_84;
102443 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
102444 l_rec_acct_attrs.array_num_value(39) := p_source_85;
102445 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
102446 l_rec_acct_attrs.array_num_value(40) := p_source_86;
102447 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
102448 l_rec_acct_attrs.array_num_value(41) := p_source_87;
102449 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
102450 l_rec_acct_attrs.array_num_value(42) := p_source_88;
102451 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
102452 l_rec_acct_attrs.array_num_value(43) := p_source_89;
102453
102454 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
102458 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
102455 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
102456
102457 ---------------------------------------------------------------------------------------------------------------
102459 ---------------------------------------------------------------------------------------------------------------
102460 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
102461
102462 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102463 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102464
102465 IF xla_accounting_cache_pkg.GetValueChar
102466 (p_source_code => 'LEDGER_CATEGORY_CODE'
102467 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
102468 AND l_bflow_method_code = 'PRIOR_ENTRY'
102469 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
102470 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
102471 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
102472 )
102473 THEN
102474 xla_ae_lines_pkg.BflowUpgEntry
102475 (p_business_method_code => l_bflow_method_code
102476 ,p_business_class_code => l_bflow_class_code
102477 ,p_balance_type => l_balance_type_code);
102478 ELSE
102479 NULL;
102480 -- No business flow processing for business flow method of NONE.
102481 END IF;
102482
102483 --
102484 -- call analytical criteria
102485 --
102486
102487
102488 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
102489 xla_ae_lines_pkg.SetAnalyticalCriteria(
102490 p_analytical_criterion_name => 'Project Number'
102491 , p_analytical_criterion_owner => 'S'
102492 , p_analytical_criterion_code => 'PROJECT_NUMBER'
102493 , p_amb_context_code => 'DEFAULT'
102494 , p_balancing_flag => 'N'
102495
102496 , p_analytical_detail_char_1 => TO_CHAR(JA_CN_CUSTOM_SOURCES.GET_PROJECT_NUM(
102497 p_source_146))
102498 , p_analytical_detail_num_1 => NULL
102499 , p_analytical_detail_date_1 => NULL
102500
102501 , p_ae_header_id => l_ae_header_id
102502 )
102503 ;
102504 --
102505
102506 --
102507 -- call description
102508 --
102509
102510 xla_ae_lines_pkg.SetLineDescription(
102511 p_ae_header_id => l_ae_header_id
102512 ,p_description => Description_1 (
102513 p_application_id => p_application_id
102514 , p_ae_header_id => l_ae_header_id
102515 , p_source_1 => p_source_1
102516 )
102517 );
102518
102519
102520 --
102521 -- call ADRs
102522 -- Bug 4922099
102523 --
102524 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102525 (NVL(l_actual_upg_option, 'N') = 'O') OR
102526 (NVL(l_enc_upg_option, 'N') = 'O')
102527 )
102528 THEN
102529 NULL;
102530 --
102531 --
102532
102533 l_ccid := AcctDerRule_33(
102534 p_application_id => p_application_id
102535 , p_ae_header_id => l_ae_header_id
102536 , p_source_30 => p_source_30
102537 , x_transaction_coa_id => l_adr_transaction_coa_id
102538 , x_accounting_coa_id => l_adr_accounting_coa_id
102539 , x_value_type_code => l_adr_value_type_code
102540 , p_side => 'NA'
102541 );
102542
102543 xla_ae_lines_pkg.set_ccid(
102544 p_code_combination_id => l_ccid
102545 , p_value_type_code => l_adr_value_type_code
102546 , p_transaction_coa_id => l_adr_transaction_coa_id
102547 , p_accounting_coa_id => l_adr_accounting_coa_id
102548 , p_adr_code => 'AP_INVOICE_DIST'
102549 , p_adr_type_code => 'S'
102550 , p_component_type => l_component_type
102551 , p_component_code => l_component_code
102552 , p_component_type_code => l_component_type_code
102553 , p_component_appl_id => l_component_appl_id
102554 , p_amb_context_code => l_amb_context_code
102555 , p_side => 'NA'
102556 );
102557
102558
102559 --
102560 --
102561 END IF;
102562 --
102563 -- Bug 4922099
102564 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
102565 (NVL(l_enc_upg_option, 'N') = 'O')
102566 ) AND
102567 (l_bflow_method_code = 'PRIOR_ENTRY')
102568 )
102569 THEN
102570 IF
102571 --
102572 1 = 2
102573 --
102574 THEN
102575 xla_accounting_err_pkg.build_message
102576 (p_appli_s_name => 'XLA'
102577 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102578 ,p_token_1 => 'LINE_NUMBER'
102579 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
102580 ,p_token_2 => 'LINE_TYPE_NAME'
102581 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
102585 ,l_component_appl_id
102582 l_component_type
102583 ,l_component_code
102584 ,l_component_type_code
102586 ,l_amb_context_code
102587 ,l_entity_code
102588 ,l_event_class_code
102589 )
102590 ,p_token_3 => 'OWNER'
102591 ,p_value_3 => xla_lookups_pkg.get_meaning(
102592 p_lookup_type => 'XLA_OWNER_TYPE'
102593 ,p_lookup_code => l_component_type_code
102594 )
102595 ,p_token_4 => 'PRODUCT_NAME'
102596 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
102597 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
102598 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
102599 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
102600 ,p_ae_header_id => NULL
102601 );
102602
102603 IF (C_LEVEL_ERROR>= g_log_level) THEN
102604 trace
102605 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102606 ,p_level => C_LEVEL_ERROR
102607 ,p_module => l_log_module);
102608 END IF;
102609 END IF;
102610 END IF;
102611 --
102612 --
102613 ------------------------------------------------------------------------------------------------
102614 -- 4219869 Business Flow
102615 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
102616 -- Prior Entry. Currently, the following code is always generated.
102617 ------------------------------------------------------------------------------------------------
102618 XLA_AE_LINES_PKG.ValidateCurrentLine;
102619
102620 ------------------------------------------------------------------------------------
102621 -- 4219869 Business Flow
102622 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
102623 ------------------------------------------------------------------------------------
102624 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102625
102626 ----------------------------------------------------------------------------------
102627 -- 4219869 Business Flow
102628 -- Update journal entry status -- Need to generate this within IF <condition>
102629 ----------------------------------------------------------------------------------
102630 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102631 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
102632 ,p_balance_type_code => l_balance_type_code
102633 );
102634
102635 -------------------------------------------------------------------------------------------
102636 -- 4262811 - Generate the Accrual Reversal lines
102637 -------------------------------------------------------------------------------------------
102638 BEGIN
102639 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
102640 (g_array_event(p_event_id).array_value_num('header_index'));
102641 IF l_acc_rev_flag IS NULL THEN
102642 l_acc_rev_flag := 'N';
102643 END IF;
102644 EXCEPTION
102645 WHEN OTHERS THEN
102646 l_acc_rev_flag := 'N';
102647 END;
102648 --
102649 IF (l_acc_rev_flag = 'Y') THEN
102650
102651 -- 4645092 ------------------------------------------------------------------------------
102652 -- To allow MPA report to determine if it should generate report process
102653 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
102654 ------------------------------------------------------------------------------------------
102655
102656 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
102657 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
102658 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
102659 -- call ADRs
102660 -- Bug 4922099
102661 --
102662 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102663 (NVL(l_actual_upg_option, 'N') = 'O') OR
102664 (NVL(l_enc_upg_option, 'N') = 'O')
102665 )
102666 THEN
102667 NULL;
102668 --
102669 --
102670
102671 l_ccid := AcctDerRule_33(
102672 p_application_id => p_application_id
102673 , p_ae_header_id => l_ae_header_id
102674 , p_source_30 => p_source_30
102675 , x_transaction_coa_id => l_adr_transaction_coa_id
102676 , x_accounting_coa_id => l_adr_accounting_coa_id
102680
102677 , x_value_type_code => l_adr_value_type_code
102678 , p_side => 'NA'
102679 );
102681 xla_ae_lines_pkg.set_ccid(
102682 p_code_combination_id => l_ccid
102683 , p_value_type_code => l_adr_value_type_code
102684 , p_transaction_coa_id => l_adr_transaction_coa_id
102685 , p_accounting_coa_id => l_adr_accounting_coa_id
102686 , p_adr_code => 'AP_INVOICE_DIST'
102687 , p_adr_type_code => 'S'
102688 , p_component_type => l_component_type
102689 , p_component_code => l_component_code
102690 , p_component_type_code => l_component_type_code
102691 , p_component_appl_id => l_component_appl_id
102692 , p_amb_context_code => l_amb_context_code
102693 , p_side => 'NA'
102694 );
102695
102696
102697 --
102698 --
102699 END IF;
102700
102701 --
102702 -- Update the line information that should be overwritten
102703 --
102704 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
102705 p_header_num => 1);
102706 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
102707
102708 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
102709
102710 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
102711 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
102712 END IF;
102713
102714 --
102715 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
102716 --
102717 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
102718 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
102719 ELSE
102720 ---------------------------------------------------------------------------------------------------
102721 -- 4262811a Switch Sign
102722 ---------------------------------------------------------------------------------------------------
102723 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
102724 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102725 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102726 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102727 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102728 -- 5132302
102729 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102730 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102731
102732 END IF;
102733
102734 -- 4955764
102735 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102736 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102737
102738
102739 XLA_AE_LINES_PKG.ValidateCurrentLine;
102740 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102741
102742 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102743 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102744 ,p_balance_type_code => l_balance_type_code);
102745
102746 END IF;
102747
102748 -----------------------------------------------------------------------------------------
102749 -- 4262811 Multiperiod Accounting
102750 -----------------------------------------------------------------------------------------
102751 -- No MPA option is assigned.
102752
102753
102754 END IF;
102755 END IF;
102756 --
102757
102758 --
102759 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102760 trace
102761 (p_msg => 'END of AcctLineType_171'
102762 ,p_level => C_LEVEL_PROCEDURE
102763 ,p_module => l_log_module);
102764 END IF;
102765 --
102766 EXCEPTION
102767 WHEN xla_exceptions_pkg.application_exception THEN
102768 RAISE;
102769 WHEN OTHERS THEN
102770 xla_exceptions_pkg.raise_message
102771 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_171');
102772 END AcctLineType_171;
102773 --
102774
102775 ---------------------------------------
102776 --
102777 -- PRIVATE FUNCTION
102778 -- AcctLineType_172
102779 --
102780 ---------------------------------------
102781 PROCEDURE AcctLineType_172 (
102782 p_application_id IN NUMBER
102783 ,p_event_id IN NUMBER
102784 ,p_calculate_acctd_flag IN VARCHAR2
102785 ,p_calculate_g_l_flag IN VARCHAR2
102786 ,p_actual_flag IN OUT VARCHAR2
102787 ,p_balance_type_code OUT VARCHAR2
102788 ,p_gain_or_loss_ref OUT VARCHAR2
102789
102790 --Invoice Distribution Description
102791 , p_source_1 IN VARCHAR2
102792 --Invoice Distribution Ledger Amount
102793 , p_source_21 IN NUMBER
102794 --Invoice Distribution Account
102795 , p_source_30 IN NUMBER
102796 --Invoice Distribution Type
102797 , p_source_33 IN VARCHAR2
102798 , p_source_33_meaning IN VARCHAR2
102799 --Accounting Reversal Indicator
102800 , p_source_52 IN VARCHAR2
102804 , p_source_56 IN NUMBER
102801 --Distribution Link Type
102802 , p_source_54 IN VARCHAR2
102803 --Allocation to Main Distribution Identifier
102805 --Invoice Identifier
102806 , p_source_57 IN NUMBER
102807 --Invoice Distribution Identifier
102808 , p_source_63 IN NUMBER
102809 --Payables Encumbrance Upgrade Credit Account
102810 , p_source_64 IN NUMBER
102811 --Payables Encumbrance Upgrade Credit Amount
102812 , p_source_65 IN NUMBER
102813 --Invoice Currency Code
102814 , p_source_66 IN VARCHAR2
102815 --Payables Encumbrance Upgrade Credit Base Amount
102816 , p_source_67 IN NUMBER
102817 --Payables Encumbrance Upgrade Debit Account
102818 , p_source_68 IN NUMBER
102819 --Payables Encumbrance Upgrade Debit Amount
102820 , p_source_69 IN NUMBER
102821 --Payables Encumbrance Upgrade Debit Base Amount
102822 , p_source_70 IN NUMBER
102823 --Payables Encumbrance Upgrade Option
102824 , p_source_71 IN VARCHAR2
102825 --Invoice Distribution Amount
102826 , p_source_72 IN NUMBER
102827 --Purchase Order Exchange Rate Date
102828 , p_source_73 IN DATE
102829 --Purchase Order Exchange Rate
102830 , p_source_74 IN NUMBER
102831 --Purchase Order Exchange Rate Type
102832 , p_source_75 IN VARCHAR2
102833 --Deferred Accounting End Date
102834 , p_source_76 IN DATE
102835 --Deferred Accounting Option
102836 , p_source_77 IN VARCHAR2
102837 --Deferred Accounting Start Date
102838 , p_source_78 IN DATE
102839 --Override Accounted Amount Indicator
102840 , p_source_79 IN VARCHAR2
102841 , p_source_79_meaning IN VARCHAR2
102842 --Invoice Supplier Identifier
102843 , p_source_80 IN NUMBER
102844 --Invoice Supplier Site Identifier
102845 , p_source_81 IN NUMBER
102846 --Third Party Type
102847 , p_source_82 IN VARCHAR2
102848 --Parent Reversal Identifier
102849 , p_source_83 IN NUMBER
102850 --Invoice Distribution Statistical Amount
102851 , p_source_84 IN NUMBER
102852 --Invoice Distribution Tax Line Identifier
102853 , p_source_85 IN NUMBER
102854 --Invoice Distribution Tax Distribution Identifier from Tax
102855 , p_source_86 IN NUMBER
102856 --Invoice Distribution Summary Tax Line Identifier
102857 , p_source_87 IN NUMBER
102858 --Payables Upgrade Credit Encumbrance Type Identifier
102859 , p_source_88 IN NUMBER
102860 --Payables Upgrade Debit Encumbrance Type Identifier
102861 , p_source_89 IN NUMBER
102862 --Business Flow Accounts Payable Application Identifier
102863 , p_source_90 IN NUMBER
102864 --Business Flow Invoice Distribution Type
102865 , p_source_91 IN VARCHAR2
102866 --Business Flow Invoice Entity Code
102867 , p_source_92 IN VARCHAR2
102868 --Business Flow Invoice Distribution Identifier
102869 , p_source_93 IN NUMBER
102870 --Business Flow Invoice Identifier
102871 , p_source_94 IN NUMBER
102872 --Accrue on Receipt Option
102873 , p_source_95 IN VARCHAR2
102874 , p_source_95_meaning IN VARCHAR2
102875 --Self-Assessed Tax Flag
102876 , p_source_135 IN VARCHAR2
102877 , p_source_135_meaning IN VARCHAR2
102878 )
102879 IS
102880
102881 l_component_type VARCHAR2(80);
102882 l_component_code VARCHAR2(30);
102883 l_component_type_code VARCHAR2(1);
102884 l_component_appl_id INTEGER;
102885 l_amb_context_code VARCHAR2(30);
102886 l_entity_code VARCHAR2(30);
102887 l_event_class_code VARCHAR2(30);
102888 l_ae_header_id NUMBER;
102889 l_event_type_code VARCHAR2(30);
102890 l_line_definition_code VARCHAR2(30);
102891 l_line_definition_owner_code VARCHAR2(1);
102892 --
102893 -- adr variables
102894 l_segment VARCHAR2(30);
102895 l_ccid NUMBER;
102896 l_adr_transaction_coa_id NUMBER;
102897 l_adr_accounting_coa_id NUMBER;
102898 l_adr_flexfield_segment_code VARCHAR2(30);
102899 l_adr_flex_value_set_id NUMBER;
102900 l_adr_value_type_code VARCHAR2(30);
102901 l_adr_value_combination_id NUMBER;
102902 l_adr_value_segment_code VARCHAR2(30);
102903
102904 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102905 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102906 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102907 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102908
102909 -- 4262811 Variables ------------------------------------------------------------------------------------------
102910 l_entered_amt_idx NUMBER;
102911 l_accted_amt_idx NUMBER;
102912 l_acc_rev_flag VARCHAR2(1);
102913 l_accrual_line_num NUMBER;
102914 l_tmp_amt NUMBER;
102915 l_acc_rev_natural_side_code VARCHAR2(1);
102916
102917 l_num_entries NUMBER;
102918 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102919 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102920 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102921 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102922 l_recog_line_1 NUMBER;
102923 l_recog_line_2 NUMBER;
102924
102928
102925 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102926 l_bflow_applied_to_amt NUMBER; -- 5132302
102927 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102929 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102930
102931 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102932 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102933
102934 ---------------------------------------------------------------------------------------------------------------
102935
102936
102937 --
102938 -- bulk performance
102939 --
102940 l_balance_type_code VARCHAR2(1);
102941 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102942 l_log_module VARCHAR2(240);
102943
102944 --
102945 -- Upgrade strategy
102946 --
102947 l_actual_upg_option VARCHAR2(1);
102948 l_enc_upg_option VARCHAR2(1);
102949
102950 --
102951 BEGIN
102952 --
102953 IF g_log_enabled THEN
102954 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_172';
102955 END IF;
102956 --
102957 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102958
102959 trace
102960 (p_msg => 'BEGIN of AcctLineType_172'
102961 ,p_level => C_LEVEL_PROCEDURE
102962 ,p_module => l_log_module);
102963
102964 END IF;
102965 --
102966 l_component_type := 'AMB_JLT';
102967 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_CM';
102968 l_component_type_code := 'S';
102969 l_component_appl_id := 200;
102970 l_amb_context_code := 'DEFAULT';
102971 l_entity_code := 'AP_INVOICES';
102972 l_event_class_code := 'CREDIT MEMOS';
102973 l_event_type_code := 'CREDIT MEMOS_ALL';
102974 l_line_definition_owner_code := 'S';
102975 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
102976 --
102977 l_balance_type_code := 'A';
102978 l_segment := NULL;
102979 l_ccid := NULL;
102980 l_adr_transaction_coa_id := NULL;
102981 l_adr_accounting_coa_id := NULL;
102982 l_adr_flexfield_segment_code := NULL;
102983 l_adr_flex_value_set_id := NULL;
102984 l_adr_value_type_code := NULL;
102985 l_adr_value_combination_id := NULL;
102986 l_adr_value_segment_code := NULL;
102987
102988 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102989 l_bflow_class_code := ''; -- 4219869 Business Flow
102990 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102991 l_budgetary_control_flag := 'N';
102992
102993 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102994 l_bflow_applied_to_amt := NULL; -- 5132302
102995 l_entered_amt_idx := NULL; -- 4262811
102996 l_accted_amt_idx := NULL; -- 4262811
102997 l_acc_rev_flag := NULL; -- 4262811
102998 l_accrual_line_num := NULL; -- 4262811
102999 l_tmp_amt := NULL; -- 4262811
103000 --
103001
103002 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
103003 l_balance_type_code <> 'B' THEN
103004 IF NVL(p_source_33,'
103005 ') = 'NONREC_TAX' AND
103006 NVL(p_source_95,'
103007 ') = 'Y' AND
103008 NVL(p_source_135,'
103009 ') <> 'Y'
103010 THEN
103011
103012 --
103013 XLA_AE_LINES_PKG.SetNewLine;
103014
103015 p_balance_type_code := l_balance_type_code;
103016 -- set the flag so later we will know whether the gain loss line needs to be created
103017
103018 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103019 p_actual_flag :='A';
103020 END IF;
103021
103022 --
103023 -- bulk performance
103024 --
103025 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103026 p_header_num => 0); -- 4262811
103027 --
103028 -- set accounting line options
103029 --
103030 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103031 p_natural_side_code => 'D'
103032 , p_gain_or_loss_flag => 'N'
103033 , p_gl_transfer_mode_code => 'S'
103034 , p_acct_entry_type_code => 'A'
103035 , p_switch_side_flag => 'Y'
103036 , p_merge_duplicate_code => 'A'
103037 );
103038 --
103039 l_acc_rev_natural_side_code := 'C'; -- 4262811
103040 --
103041 --
103042 -- set accounting line type info
103043 --
103044 xla_ae_lines_pkg.SetAcctLineType
103045 (p_component_type => l_component_type
103046 ,p_event_type_code => l_event_type_code
103047 ,p_line_definition_owner_code => l_line_definition_owner_code
103048 ,p_line_definition_code => l_line_definition_code
103049 ,p_accounting_line_code => l_component_code
103050 ,p_accounting_line_type_code => l_component_type_code
103051 ,p_accounting_line_appl_id => l_component_appl_id
103052 ,p_amb_context_code => l_amb_context_code
103053 ,p_entity_code => l_entity_code
103054 ,p_event_class_code => l_event_class_code);
103055 --
103056 -- set accounting class
103057 --
103061 );
103058 xla_ae_lines_pkg.SetAcctClass(
103059 p_accounting_class_code => 'NRTAX'
103060 , p_ae_header_id => l_ae_header_id
103062
103063 --
103064 -- set rounding class
103065 --
103066 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103067 'NRTAX';
103068
103069 --
103070 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103071 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103072 --
103073 -- bulk performance
103074 --
103075 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103076
103077 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103078 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103079
103080 -- 4955764
103081 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103082 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103083
103084 -- 4458381 Public Sector Enh
103085
103086 --
103087 -- set accounting attributes for the line type
103088 --
103089 l_entered_amt_idx := 23;
103090 l_accted_amt_idx := 28;
103091 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103092 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103093 l_rec_acct_attrs.array_char_value(1) := p_source_52;
103094 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103095 l_rec_acct_attrs.array_num_value(2) :=
103096 xla_ae_sources_pkg.GetSystemSourceNum(
103097 p_source_code => 'XLA_EVENT_APPL_ID'
103098 , p_source_type_code => 'Y'
103099 , p_source_application_id => 602
103100 );
103101 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103102 l_rec_acct_attrs.array_char_value(3) := p_source_54;
103103 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103104 l_rec_acct_attrs.array_char_value(4) :=
103105 xla_ae_sources_pkg.GetSystemSourceChar(
103106 p_source_code => 'XLA_ENTITY_CODE'
103107 , p_source_type_code => 'Y'
103108 , p_source_application_id => 602
103109 );
103110 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103111 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
103112 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103113 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
103114 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103115 l_rec_acct_attrs.array_num_value(7) := p_source_90;
103116 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103117 l_rec_acct_attrs.array_char_value(8) := p_source_91;
103118 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103119 l_rec_acct_attrs.array_char_value(9) := p_source_92;
103120 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103121 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
103122 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103123 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
103124 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103125 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
103126 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103127 l_rec_acct_attrs.array_char_value(13) := p_source_54;
103128 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103129 l_rec_acct_attrs.array_num_value(14) := p_source_64;
103130 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103131 l_rec_acct_attrs.array_num_value(15) := p_source_65;
103132 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103133 l_rec_acct_attrs.array_char_value(16) := p_source_66;
103134 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103135 l_rec_acct_attrs.array_num_value(17) := p_source_67;
103136 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103137 l_rec_acct_attrs.array_num_value(18) := p_source_68;
103138 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103139 l_rec_acct_attrs.array_num_value(19) := p_source_69;
103140 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103141 l_rec_acct_attrs.array_char_value(20) := p_source_66;
103142 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103143 l_rec_acct_attrs.array_num_value(21) := p_source_70;
103144 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103145 l_rec_acct_attrs.array_char_value(22) := p_source_71;
103146 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103147 l_rec_acct_attrs.array_num_value(23) := p_source_72;
103148 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103149 l_rec_acct_attrs.array_char_value(24) := p_source_66;
103150 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103151 l_rec_acct_attrs.array_date_value(25) := p_source_73;
103152 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103153 l_rec_acct_attrs.array_num_value(26) := p_source_74;
103154 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103155 l_rec_acct_attrs.array_char_value(27) := p_source_75;
103156 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103160 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103157 l_rec_acct_attrs.array_num_value(28) := p_source_21;
103158 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103159 l_rec_acct_attrs.array_date_value(29) := p_source_76;
103161 l_rec_acct_attrs.array_char_value(30) := p_source_77;
103162 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103163 l_rec_acct_attrs.array_date_value(31) := p_source_78;
103164 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103165 l_rec_acct_attrs.array_char_value(32) := p_source_79;
103166 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103167 l_rec_acct_attrs.array_num_value(33) := p_source_80;
103168 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103169 l_rec_acct_attrs.array_num_value(34) := p_source_81;
103170 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103171 l_rec_acct_attrs.array_char_value(35) := p_source_82;
103172 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103173 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
103174 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103175 l_rec_acct_attrs.array_char_value(37) := p_source_54;
103176 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
103177 l_rec_acct_attrs.array_num_value(38) := p_source_84;
103178 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
103179 l_rec_acct_attrs.array_num_value(39) := p_source_85;
103180 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
103181 l_rec_acct_attrs.array_num_value(40) := p_source_86;
103182 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
103183 l_rec_acct_attrs.array_num_value(41) := p_source_87;
103184 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
103185 l_rec_acct_attrs.array_num_value(42) := p_source_88;
103186 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
103187 l_rec_acct_attrs.array_num_value(43) := p_source_89;
103188
103189 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103190 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103191
103192 ---------------------------------------------------------------------------------------------------------------
103193 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103194 ---------------------------------------------------------------------------------------------------------------
103195 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103196
103197 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103198 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103199
103200 IF xla_accounting_cache_pkg.GetValueChar
103201 (p_source_code => 'LEDGER_CATEGORY_CODE'
103202 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103203 AND l_bflow_method_code = 'PRIOR_ENTRY'
103204 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103205 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103206 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103207 )
103208 THEN
103209 xla_ae_lines_pkg.BflowUpgEntry
103210 (p_business_method_code => l_bflow_method_code
103211 ,p_business_class_code => l_bflow_class_code
103212 ,p_balance_type => l_balance_type_code);
103213 ELSE
103214 NULL;
103215 -- No business flow processing for business flow method of NONE.
103216 END IF;
103217
103218 --
103219 -- call analytical criteria
103220 --
103221
103222 --
103223 -- call description
103224 --
103225
103226 xla_ae_lines_pkg.SetLineDescription(
103227 p_ae_header_id => l_ae_header_id
103228 ,p_description => Description_1 (
103229 p_application_id => p_application_id
103230 , p_ae_header_id => l_ae_header_id
103231 , p_source_1 => p_source_1
103232 )
103233 );
103234
103235
103236 --
103237 -- call ADRs
103238 -- Bug 4922099
103239 --
103240 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103241 (NVL(l_actual_upg_option, 'N') = 'O') OR
103242 (NVL(l_enc_upg_option, 'N') = 'O')
103243 )
103244 THEN
103245 NULL;
103246 --
103247 --
103248
103249 l_ccid := AcctDerRule_33(
103250 p_application_id => p_application_id
103251 , p_ae_header_id => l_ae_header_id
103252 , p_source_30 => p_source_30
103253 , x_transaction_coa_id => l_adr_transaction_coa_id
103254 , x_accounting_coa_id => l_adr_accounting_coa_id
103255 , x_value_type_code => l_adr_value_type_code
103256 , p_side => 'NA'
103257 );
103258
103259 xla_ae_lines_pkg.set_ccid(
103260 p_code_combination_id => l_ccid
103261 , p_value_type_code => l_adr_value_type_code
103262 , p_transaction_coa_id => l_adr_transaction_coa_id
103263 , p_accounting_coa_id => l_adr_accounting_coa_id
103264 , p_adr_code => 'AP_INVOICE_DIST'
103265 , p_adr_type_code => 'S'
103269 , p_component_appl_id => l_component_appl_id
103266 , p_component_type => l_component_type
103267 , p_component_code => l_component_code
103268 , p_component_type_code => l_component_type_code
103270 , p_amb_context_code => l_amb_context_code
103271 , p_side => 'NA'
103272 );
103273
103274
103275 --
103276 --
103277 END IF;
103278 --
103279 -- Bug 4922099
103280 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103281 (NVL(l_enc_upg_option, 'N') = 'O')
103282 ) AND
103283 (l_bflow_method_code = 'PRIOR_ENTRY')
103284 )
103285 THEN
103286 IF
103287 --
103288 1 = 2
103289 --
103290 THEN
103291 xla_accounting_err_pkg.build_message
103292 (p_appli_s_name => 'XLA'
103293 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103294 ,p_token_1 => 'LINE_NUMBER'
103295 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
103296 ,p_token_2 => 'LINE_TYPE_NAME'
103297 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
103298 l_component_type
103299 ,l_component_code
103300 ,l_component_type_code
103301 ,l_component_appl_id
103302 ,l_amb_context_code
103303 ,l_entity_code
103304 ,l_event_class_code
103305 )
103306 ,p_token_3 => 'OWNER'
103307 ,p_value_3 => xla_lookups_pkg.get_meaning(
103308 p_lookup_type => 'XLA_OWNER_TYPE'
103309 ,p_lookup_code => l_component_type_code
103310 )
103311 ,p_token_4 => 'PRODUCT_NAME'
103312 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
103313 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
103314 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
103315 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
103316 ,p_ae_header_id => NULL
103317 );
103318
103319 IF (C_LEVEL_ERROR>= g_log_level) THEN
103320 trace
103321 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103322 ,p_level => C_LEVEL_ERROR
103323 ,p_module => l_log_module);
103324 END IF;
103325 END IF;
103326 END IF;
103327 --
103328 --
103329 ------------------------------------------------------------------------------------------------
103330 -- 4219869 Business Flow
103331 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
103332 -- Prior Entry. Currently, the following code is always generated.
103333 ------------------------------------------------------------------------------------------------
103334 XLA_AE_LINES_PKG.ValidateCurrentLine;
103335
103336 ------------------------------------------------------------------------------------
103337 -- 4219869 Business Flow
103338 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
103339 ------------------------------------------------------------------------------------
103340 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103341
103342 ----------------------------------------------------------------------------------
103343 -- 4219869 Business Flow
103344 -- Update journal entry status -- Need to generate this within IF <condition>
103345 ----------------------------------------------------------------------------------
103346 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103347 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
103348 ,p_balance_type_code => l_balance_type_code
103349 );
103350
103351 -------------------------------------------------------------------------------------------
103352 -- 4262811 - Generate the Accrual Reversal lines
103353 -------------------------------------------------------------------------------------------
103354 BEGIN
103355 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
103356 (g_array_event(p_event_id).array_value_num('header_index'));
103357 IF l_acc_rev_flag IS NULL THEN
103358 l_acc_rev_flag := 'N';
103359 END IF;
103360 EXCEPTION
103361 WHEN OTHERS THEN
103362 l_acc_rev_flag := 'N';
103366
103363 END;
103364 --
103365 IF (l_acc_rev_flag = 'Y') THEN
103367 -- 4645092 ------------------------------------------------------------------------------
103368 -- To allow MPA report to determine if it should generate report process
103369 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
103370 ------------------------------------------------------------------------------------------
103371
103372 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
103373 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
103374 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
103375 -- call ADRs
103376 -- Bug 4922099
103377 --
103378 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103379 (NVL(l_actual_upg_option, 'N') = 'O') OR
103380 (NVL(l_enc_upg_option, 'N') = 'O')
103381 )
103382 THEN
103383 NULL;
103384 --
103385 --
103386
103387 l_ccid := AcctDerRule_33(
103388 p_application_id => p_application_id
103389 , p_ae_header_id => l_ae_header_id
103390 , p_source_30 => p_source_30
103391 , x_transaction_coa_id => l_adr_transaction_coa_id
103392 , x_accounting_coa_id => l_adr_accounting_coa_id
103393 , x_value_type_code => l_adr_value_type_code
103394 , p_side => 'NA'
103395 );
103396
103397 xla_ae_lines_pkg.set_ccid(
103398 p_code_combination_id => l_ccid
103399 , p_value_type_code => l_adr_value_type_code
103400 , p_transaction_coa_id => l_adr_transaction_coa_id
103401 , p_accounting_coa_id => l_adr_accounting_coa_id
103402 , p_adr_code => 'AP_INVOICE_DIST'
103403 , p_adr_type_code => 'S'
103404 , p_component_type => l_component_type
103405 , p_component_code => l_component_code
103406 , p_component_type_code => l_component_type_code
103407 , p_component_appl_id => l_component_appl_id
103408 , p_amb_context_code => l_amb_context_code
103409 , p_side => 'NA'
103410 );
103411
103412
103413 --
103414 --
103415 END IF;
103416
103417 --
103418 -- Update the line information that should be overwritten
103419 --
103420 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
103421 p_header_num => 1);
103422 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
103423
103424 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
103425
103426 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
103427 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
103428 END IF;
103429
103430 --
103431 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
103432 --
103433 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
103434 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
103435 ELSE
103436 ---------------------------------------------------------------------------------------------------
103437 -- 4262811a Switch Sign
103438 ---------------------------------------------------------------------------------------------------
103439 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
103440 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103441 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103442 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103443 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103444 -- 5132302
103445 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
103446 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103447
103448 END IF;
103449
103450 -- 4955764
103451 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103452 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
103453
103454
103455 XLA_AE_LINES_PKG.ValidateCurrentLine;
103456 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103457
103458 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103459 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
103460 ,p_balance_type_code => l_balance_type_code);
103461
103462 END IF;
103463
103464 -----------------------------------------------------------------------------------------
103465 -- 4262811 Multiperiod Accounting
103466 -----------------------------------------------------------------------------------------
103467 -- No MPA option is assigned.
103468
103469
103470 END IF;
103471 END IF;
103472 --
103473
103474 --
103475 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103476 trace
103477 (p_msg => 'END of AcctLineType_172'
103478 ,p_level => C_LEVEL_PROCEDURE
103479 ,p_module => l_log_module);
103480 END IF;
103481 --
103485 WHEN OTHERS THEN
103482 EXCEPTION
103483 WHEN xla_exceptions_pkg.application_exception THEN
103484 RAISE;
103486 xla_exceptions_pkg.raise_message
103487 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_172');
103488 END AcctLineType_172;
103489 --
103490
103491 ---------------------------------------
103492 --
103493 -- PRIVATE FUNCTION
103494 -- AcctLineType_173
103495 --
103496 ---------------------------------------
103497 PROCEDURE AcctLineType_173 (
103498 p_application_id IN NUMBER
103499 ,p_event_id IN NUMBER
103500 ,p_calculate_acctd_flag IN VARCHAR2
103501 ,p_calculate_g_l_flag IN VARCHAR2
103502 ,p_actual_flag IN OUT VARCHAR2
103503 ,p_balance_type_code OUT VARCHAR2
103504 ,p_gain_or_loss_ref OUT VARCHAR2
103505
103506 --Invoice Distribution Description
103507 , p_source_1 IN VARCHAR2
103508 --Invoice Distribution Ledger Amount
103509 , p_source_21 IN NUMBER
103510 --Invoice Distribution Account
103511 , p_source_30 IN NUMBER
103512 --Invoice Distribution Type
103513 , p_source_33 IN VARCHAR2
103514 , p_source_33_meaning IN VARCHAR2
103515 --Accounting Reversal Indicator
103516 , p_source_52 IN VARCHAR2
103517 --Distribution Link Type
103518 , p_source_54 IN VARCHAR2
103519 --Allocation to Main Distribution Identifier
103520 , p_source_56 IN NUMBER
103521 --Invoice Identifier
103522 , p_source_57 IN NUMBER
103523 --Invoice Distribution Identifier
103524 , p_source_63 IN NUMBER
103525 --Payables Encumbrance Upgrade Credit Account
103526 , p_source_64 IN NUMBER
103527 --Payables Encumbrance Upgrade Credit Amount
103528 , p_source_65 IN NUMBER
103529 --Invoice Currency Code
103530 , p_source_66 IN VARCHAR2
103531 --Payables Encumbrance Upgrade Credit Base Amount
103532 , p_source_67 IN NUMBER
103533 --Payables Encumbrance Upgrade Debit Account
103534 , p_source_68 IN NUMBER
103535 --Payables Encumbrance Upgrade Debit Amount
103536 , p_source_69 IN NUMBER
103537 --Payables Encumbrance Upgrade Debit Base Amount
103538 , p_source_70 IN NUMBER
103539 --Payables Encumbrance Upgrade Option
103540 , p_source_71 IN VARCHAR2
103541 --Invoice Distribution Amount
103542 , p_source_72 IN NUMBER
103543 --Purchase Order Exchange Rate Date
103544 , p_source_73 IN DATE
103545 --Purchase Order Exchange Rate
103546 , p_source_74 IN NUMBER
103547 --Purchase Order Exchange Rate Type
103548 , p_source_75 IN VARCHAR2
103549 --Deferred Accounting End Date
103550 , p_source_76 IN DATE
103551 --Deferred Accounting Option
103552 , p_source_77 IN VARCHAR2
103553 --Deferred Accounting Start Date
103554 , p_source_78 IN DATE
103555 --Override Accounted Amount Indicator
103556 , p_source_79 IN VARCHAR2
103557 , p_source_79_meaning IN VARCHAR2
103558 --Invoice Supplier Identifier
103559 , p_source_80 IN NUMBER
103560 --Invoice Supplier Site Identifier
103561 , p_source_81 IN NUMBER
103562 --Third Party Type
103563 , p_source_82 IN VARCHAR2
103564 --Parent Reversal Identifier
103565 , p_source_83 IN NUMBER
103566 --Invoice Distribution Tax Line Identifier
103567 , p_source_85 IN NUMBER
103568 --Invoice Distribution Tax Distribution Identifier from Tax
103569 , p_source_86 IN NUMBER
103570 --Invoice Distribution Summary Tax Line Identifier
103571 , p_source_87 IN NUMBER
103572 --Payables Upgrade Credit Encumbrance Type Identifier
103573 , p_source_88 IN NUMBER
103574 --Payables Upgrade Debit Encumbrance Type Identifier
103575 , p_source_89 IN NUMBER
103576 --Business Flow Accounts Payable Application Identifier
103577 , p_source_90 IN NUMBER
103578 --Business Flow Invoice Distribution Type
103579 , p_source_91 IN VARCHAR2
103580 --Business Flow Invoice Entity Code
103581 , p_source_92 IN VARCHAR2
103582 --Business Flow Invoice Distribution Identifier
103583 , p_source_93 IN NUMBER
103584 --Business Flow Invoice Identifier
103585 , p_source_94 IN NUMBER
103586 --Accrue on Receipt Option
103587 , p_source_95 IN VARCHAR2
103588 , p_source_95_meaning IN VARCHAR2
103589 --Self-Assessed Tax Flag
103590 , p_source_135 IN VARCHAR2
103591 , p_source_135_meaning IN VARCHAR2
103592 )
103593 IS
103594
103595 l_component_type VARCHAR2(80);
103596 l_component_code VARCHAR2(30);
103597 l_component_type_code VARCHAR2(1);
103598 l_component_appl_id INTEGER;
103599 l_amb_context_code VARCHAR2(30);
103600 l_entity_code VARCHAR2(30);
103601 l_event_class_code VARCHAR2(30);
103602 l_ae_header_id NUMBER;
103603 l_event_type_code VARCHAR2(30);
103604 l_line_definition_code VARCHAR2(30);
103605 l_line_definition_owner_code VARCHAR2(1);
103606 --
103607 -- adr variables
103608 l_segment VARCHAR2(30);
103609 l_ccid NUMBER;
103610 l_adr_transaction_coa_id NUMBER;
103611 l_adr_accounting_coa_id NUMBER;
103612 l_adr_flexfield_segment_code VARCHAR2(30);
103613 l_adr_flex_value_set_id NUMBER;
103614 l_adr_value_type_code VARCHAR2(30);
103618 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
103615 l_adr_value_combination_id NUMBER;
103616 l_adr_value_segment_code VARCHAR2(30);
103617
103619 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
103620 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
103621 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
103622
103623 -- 4262811 Variables ------------------------------------------------------------------------------------------
103624 l_entered_amt_idx NUMBER;
103625 l_accted_amt_idx NUMBER;
103626 l_acc_rev_flag VARCHAR2(1);
103627 l_accrual_line_num NUMBER;
103628 l_tmp_amt NUMBER;
103629 l_acc_rev_natural_side_code VARCHAR2(1);
103630
103631 l_num_entries NUMBER;
103632 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
103633 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
103634 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
103635 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
103636 l_recog_line_1 NUMBER;
103637 l_recog_line_2 NUMBER;
103638
103639 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
103640 l_bflow_applied_to_amt NUMBER; -- 5132302
103641 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
103642
103643 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
103644
103645 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
103646 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
103647
103648 ---------------------------------------------------------------------------------------------------------------
103649
103650
103651 --
103652 -- bulk performance
103653 --
103654 l_balance_type_code VARCHAR2(1);
103655 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
103656 l_log_module VARCHAR2(240);
103657
103658 --
103659 -- Upgrade strategy
103660 --
103661 l_actual_upg_option VARCHAR2(1);
103662 l_enc_upg_option VARCHAR2(1);
103663
103664 --
103665 BEGIN
103666 --
103667 IF g_log_enabled THEN
103668 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_173';
103669 END IF;
103670 --
103671 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103672
103673 trace
103674 (p_msg => 'BEGIN of AcctLineType_173'
103675 ,p_level => C_LEVEL_PROCEDURE
103676 ,p_module => l_log_module);
103677
103678 END IF;
103679 --
103680 l_component_type := 'AMB_JLT';
103681 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_DM';
103682 l_component_type_code := 'S';
103683 l_component_appl_id := 200;
103684 l_amb_context_code := 'DEFAULT';
103685 l_entity_code := 'AP_INVOICES';
103686 l_event_class_code := 'DEBIT MEMOS';
103687 l_event_type_code := 'DEBIT MEMOS_ALL';
103688 l_line_definition_owner_code := 'S';
103689 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
103690 --
103691 l_balance_type_code := 'A';
103692 l_segment := NULL;
103693 l_ccid := NULL;
103694 l_adr_transaction_coa_id := NULL;
103695 l_adr_accounting_coa_id := NULL;
103696 l_adr_flexfield_segment_code := NULL;
103697 l_adr_flex_value_set_id := NULL;
103698 l_adr_value_type_code := NULL;
103699 l_adr_value_combination_id := NULL;
103700 l_adr_value_segment_code := NULL;
103701
103702 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
103703 l_bflow_class_code := ''; -- 4219869 Business Flow
103704 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
103705 l_budgetary_control_flag := 'N';
103706
103707 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103708 l_bflow_applied_to_amt := NULL; -- 5132302
103709 l_entered_amt_idx := NULL; -- 4262811
103710 l_accted_amt_idx := NULL; -- 4262811
103711 l_acc_rev_flag := NULL; -- 4262811
103712 l_accrual_line_num := NULL; -- 4262811
103713 l_tmp_amt := NULL; -- 4262811
103714 --
103715
103716 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
103717 l_balance_type_code <> 'B' THEN
103718 IF NVL(p_source_33,'
103719 ') = 'NONREC_TAX' AND
103720 NVL(p_source_95,'
103721 ') = 'Y' AND
103722 NVL(p_source_135,'
103723 ') <> 'Y'
103724 THEN
103725
103726 --
103727 XLA_AE_LINES_PKG.SetNewLine;
103728
103729 p_balance_type_code := l_balance_type_code;
103730 -- set the flag so later we will know whether the gain loss line needs to be created
103731
103732 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103733 p_actual_flag :='A';
103734 END IF;
103735
103736 --
103737 -- bulk performance
103738 --
103739 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103740 p_header_num => 0); -- 4262811
103741 --
103742 -- set accounting line options
103743 --
103744 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103745 p_natural_side_code => 'D'
103749 , p_switch_side_flag => 'Y'
103746 , p_gain_or_loss_flag => 'N'
103747 , p_gl_transfer_mode_code => 'S'
103748 , p_acct_entry_type_code => 'A'
103750 , p_merge_duplicate_code => 'A'
103751 );
103752 --
103753 l_acc_rev_natural_side_code := 'C'; -- 4262811
103754 --
103755 --
103756 -- set accounting line type info
103757 --
103758 xla_ae_lines_pkg.SetAcctLineType
103759 (p_component_type => l_component_type
103760 ,p_event_type_code => l_event_type_code
103761 ,p_line_definition_owner_code => l_line_definition_owner_code
103762 ,p_line_definition_code => l_line_definition_code
103763 ,p_accounting_line_code => l_component_code
103764 ,p_accounting_line_type_code => l_component_type_code
103765 ,p_accounting_line_appl_id => l_component_appl_id
103766 ,p_amb_context_code => l_amb_context_code
103767 ,p_entity_code => l_entity_code
103768 ,p_event_class_code => l_event_class_code);
103769 --
103770 -- set accounting class
103771 --
103772 xla_ae_lines_pkg.SetAcctClass(
103773 p_accounting_class_code => 'NRTAX'
103774 , p_ae_header_id => l_ae_header_id
103775 );
103776
103777 --
103778 -- set rounding class
103779 --
103780 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103781 'NRTAX';
103782
103783 --
103784 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103785 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103786 --
103787 -- bulk performance
103788 --
103789 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103790
103791 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103792 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103793
103794 -- 4955764
103795 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103796 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103797
103798 -- 4458381 Public Sector Enh
103799
103800 --
103801 -- set accounting attributes for the line type
103802 --
103803 l_entered_amt_idx := 23;
103804 l_accted_amt_idx := 28;
103805 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103806 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103807 l_rec_acct_attrs.array_char_value(1) := p_source_52;
103808 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103809 l_rec_acct_attrs.array_num_value(2) :=
103810 xla_ae_sources_pkg.GetSystemSourceNum(
103811 p_source_code => 'XLA_EVENT_APPL_ID'
103812 , p_source_type_code => 'Y'
103813 , p_source_application_id => 602
103814 );
103815 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103816 l_rec_acct_attrs.array_char_value(3) := p_source_54;
103817 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103818 l_rec_acct_attrs.array_char_value(4) :=
103819 xla_ae_sources_pkg.GetSystemSourceChar(
103820 p_source_code => 'XLA_ENTITY_CODE'
103821 , p_source_type_code => 'Y'
103822 , p_source_application_id => 602
103823 );
103824 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103825 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
103826 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103827 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
103828 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103829 l_rec_acct_attrs.array_num_value(7) := p_source_90;
103830 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103831 l_rec_acct_attrs.array_char_value(8) := p_source_91;
103832 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103833 l_rec_acct_attrs.array_char_value(9) := p_source_92;
103834 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103835 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
103836 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103837 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
103838 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103839 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
103840 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103841 l_rec_acct_attrs.array_char_value(13) := p_source_54;
103842 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103843 l_rec_acct_attrs.array_num_value(14) := p_source_64;
103844 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103845 l_rec_acct_attrs.array_num_value(15) := p_source_65;
103846 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103847 l_rec_acct_attrs.array_char_value(16) := p_source_66;
103848 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103849 l_rec_acct_attrs.array_num_value(17) := p_source_67;
103850 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103851 l_rec_acct_attrs.array_num_value(18) := p_source_68;
103852 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103856 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103853 l_rec_acct_attrs.array_num_value(19) := p_source_69;
103854 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103855 l_rec_acct_attrs.array_char_value(20) := p_source_66;
103857 l_rec_acct_attrs.array_num_value(21) := p_source_70;
103858 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103859 l_rec_acct_attrs.array_char_value(22) := p_source_71;
103860 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103861 l_rec_acct_attrs.array_num_value(23) := p_source_72;
103862 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103863 l_rec_acct_attrs.array_char_value(24) := p_source_66;
103864 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103865 l_rec_acct_attrs.array_date_value(25) := p_source_73;
103866 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103867 l_rec_acct_attrs.array_num_value(26) := p_source_74;
103868 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103869 l_rec_acct_attrs.array_char_value(27) := p_source_75;
103870 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103871 l_rec_acct_attrs.array_num_value(28) := p_source_21;
103872 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103873 l_rec_acct_attrs.array_date_value(29) := p_source_76;
103874 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103875 l_rec_acct_attrs.array_char_value(30) := p_source_77;
103876 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103877 l_rec_acct_attrs.array_date_value(31) := p_source_78;
103878 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103879 l_rec_acct_attrs.array_char_value(32) := p_source_79;
103880 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103881 l_rec_acct_attrs.array_num_value(33) := p_source_80;
103882 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103883 l_rec_acct_attrs.array_num_value(34) := p_source_81;
103884 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103885 l_rec_acct_attrs.array_char_value(35) := p_source_82;
103886 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103887 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
103888 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103889 l_rec_acct_attrs.array_char_value(37) := p_source_54;
103890 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
103891 l_rec_acct_attrs.array_num_value(38) := p_source_85;
103892 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
103893 l_rec_acct_attrs.array_num_value(39) := p_source_86;
103894 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
103895 l_rec_acct_attrs.array_num_value(40) := p_source_87;
103896 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
103897 l_rec_acct_attrs.array_num_value(41) := p_source_88;
103898 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
103899 l_rec_acct_attrs.array_num_value(42) := p_source_89;
103900
103901 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103902 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103903
103904 ---------------------------------------------------------------------------------------------------------------
103905 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103906 ---------------------------------------------------------------------------------------------------------------
103907 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103908
103909 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103910 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103911
103912 IF xla_accounting_cache_pkg.GetValueChar
103913 (p_source_code => 'LEDGER_CATEGORY_CODE'
103914 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103915 AND l_bflow_method_code = 'PRIOR_ENTRY'
103916 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103917 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103918 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103919 )
103920 THEN
103921 xla_ae_lines_pkg.BflowUpgEntry
103922 (p_business_method_code => l_bflow_method_code
103923 ,p_business_class_code => l_bflow_class_code
103924 ,p_balance_type => l_balance_type_code);
103925 ELSE
103926 NULL;
103927 -- No business flow processing for business flow method of NONE.
103928 END IF;
103929
103930 --
103931 -- call analytical criteria
103932 --
103933
103934 --
103935 -- call description
103936 --
103937
103938 xla_ae_lines_pkg.SetLineDescription(
103939 p_ae_header_id => l_ae_header_id
103940 ,p_description => Description_1 (
103941 p_application_id => p_application_id
103942 , p_ae_header_id => l_ae_header_id
103943 , p_source_1 => p_source_1
103944 )
103945 );
103946
103947
103948 --
103949 -- call ADRs
103950 -- Bug 4922099
103951 --
103952 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103953 (NVL(l_actual_upg_option, 'N') = 'O') OR
103957 NULL;
103954 (NVL(l_enc_upg_option, 'N') = 'O')
103955 )
103956 THEN
103958 --
103959 --
103960
103961 l_ccid := AcctDerRule_33(
103962 p_application_id => p_application_id
103963 , p_ae_header_id => l_ae_header_id
103964 , p_source_30 => p_source_30
103965 , x_transaction_coa_id => l_adr_transaction_coa_id
103966 , x_accounting_coa_id => l_adr_accounting_coa_id
103967 , x_value_type_code => l_adr_value_type_code
103968 , p_side => 'NA'
103969 );
103970
103971 xla_ae_lines_pkg.set_ccid(
103972 p_code_combination_id => l_ccid
103973 , p_value_type_code => l_adr_value_type_code
103974 , p_transaction_coa_id => l_adr_transaction_coa_id
103975 , p_accounting_coa_id => l_adr_accounting_coa_id
103976 , p_adr_code => 'AP_INVOICE_DIST'
103977 , p_adr_type_code => 'S'
103978 , p_component_type => l_component_type
103979 , p_component_code => l_component_code
103980 , p_component_type_code => l_component_type_code
103981 , p_component_appl_id => l_component_appl_id
103982 , p_amb_context_code => l_amb_context_code
103983 , p_side => 'NA'
103984 );
103985
103986
103987 --
103988 --
103989 END IF;
103990 --
103991 -- Bug 4922099
103992 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103993 (NVL(l_enc_upg_option, 'N') = 'O')
103994 ) AND
103995 (l_bflow_method_code = 'PRIOR_ENTRY')
103996 )
103997 THEN
103998 IF
103999 --
104000 1 = 2
104001 --
104002 THEN
104003 xla_accounting_err_pkg.build_message
104004 (p_appli_s_name => 'XLA'
104005 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104006 ,p_token_1 => 'LINE_NUMBER'
104007 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104008 ,p_token_2 => 'LINE_TYPE_NAME'
104009 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104010 l_component_type
104011 ,l_component_code
104012 ,l_component_type_code
104013 ,l_component_appl_id
104014 ,l_amb_context_code
104015 ,l_entity_code
104016 ,l_event_class_code
104017 )
104018 ,p_token_3 => 'OWNER'
104019 ,p_value_3 => xla_lookups_pkg.get_meaning(
104020 p_lookup_type => 'XLA_OWNER_TYPE'
104021 ,p_lookup_code => l_component_type_code
104022 )
104023 ,p_token_4 => 'PRODUCT_NAME'
104024 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104025 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104026 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104027 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104028 ,p_ae_header_id => NULL
104029 );
104030
104031 IF (C_LEVEL_ERROR>= g_log_level) THEN
104032 trace
104033 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104034 ,p_level => C_LEVEL_ERROR
104035 ,p_module => l_log_module);
104036 END IF;
104037 END IF;
104038 END IF;
104039 --
104040 --
104041 ------------------------------------------------------------------------------------------------
104042 -- 4219869 Business Flow
104043 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104044 -- Prior Entry. Currently, the following code is always generated.
104045 ------------------------------------------------------------------------------------------------
104046 XLA_AE_LINES_PKG.ValidateCurrentLine;
104047
104048 ------------------------------------------------------------------------------------
104049 -- 4219869 Business Flow
104050 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104051 ------------------------------------------------------------------------------------
104052 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104053
104054 ----------------------------------------------------------------------------------
104055 -- 4219869 Business Flow
104059 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104056 -- Update journal entry status -- Need to generate this within IF <condition>
104057 ----------------------------------------------------------------------------------
104058 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104060 ,p_balance_type_code => l_balance_type_code
104061 );
104062
104063 -------------------------------------------------------------------------------------------
104064 -- 4262811 - Generate the Accrual Reversal lines
104065 -------------------------------------------------------------------------------------------
104066 BEGIN
104067 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104068 (g_array_event(p_event_id).array_value_num('header_index'));
104069 IF l_acc_rev_flag IS NULL THEN
104070 l_acc_rev_flag := 'N';
104071 END IF;
104072 EXCEPTION
104073 WHEN OTHERS THEN
104074 l_acc_rev_flag := 'N';
104075 END;
104076 --
104077 IF (l_acc_rev_flag = 'Y') THEN
104078
104079 -- 4645092 ------------------------------------------------------------------------------
104080 -- To allow MPA report to determine if it should generate report process
104081 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104082 ------------------------------------------------------------------------------------------
104083
104084 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104085 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104086 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104087 -- call ADRs
104088 -- Bug 4922099
104089 --
104090 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104091 (NVL(l_actual_upg_option, 'N') = 'O') OR
104092 (NVL(l_enc_upg_option, 'N') = 'O')
104093 )
104094 THEN
104095 NULL;
104096 --
104097 --
104098
104099 l_ccid := AcctDerRule_33(
104100 p_application_id => p_application_id
104101 , p_ae_header_id => l_ae_header_id
104102 , p_source_30 => p_source_30
104103 , x_transaction_coa_id => l_adr_transaction_coa_id
104104 , x_accounting_coa_id => l_adr_accounting_coa_id
104105 , x_value_type_code => l_adr_value_type_code
104106 , p_side => 'NA'
104107 );
104108
104109 xla_ae_lines_pkg.set_ccid(
104110 p_code_combination_id => l_ccid
104111 , p_value_type_code => l_adr_value_type_code
104112 , p_transaction_coa_id => l_adr_transaction_coa_id
104113 , p_accounting_coa_id => l_adr_accounting_coa_id
104114 , p_adr_code => 'AP_INVOICE_DIST'
104115 , p_adr_type_code => 'S'
104116 , p_component_type => l_component_type
104117 , p_component_code => l_component_code
104118 , p_component_type_code => l_component_type_code
104119 , p_component_appl_id => l_component_appl_id
104120 , p_amb_context_code => l_amb_context_code
104121 , p_side => 'NA'
104122 );
104123
104124
104125 --
104126 --
104127 END IF;
104128
104129 --
104130 -- Update the line information that should be overwritten
104131 --
104132 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104133 p_header_num => 1);
104134 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104135
104136 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104137
104138 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104139 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104140 END IF;
104141
104142 --
104143 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104144 --
104145 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104146 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104147 ELSE
104148 ---------------------------------------------------------------------------------------------------
104149 -- 4262811a Switch Sign
104150 ---------------------------------------------------------------------------------------------------
104151 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104152 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104153 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104154 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104155 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104156 -- 5132302
104157 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104158 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104159
104160 END IF;
104161
104162 -- 4955764
104163 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104167 XLA_AE_LINES_PKG.ValidateCurrentLine;
104164 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104165
104166
104168 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104169
104170 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104171 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104172 ,p_balance_type_code => l_balance_type_code);
104173
104174 END IF;
104175
104176 -----------------------------------------------------------------------------------------
104177 -- 4262811 Multiperiod Accounting
104178 -----------------------------------------------------------------------------------------
104179 -- No MPA option is assigned.
104180
104181
104182 END IF;
104183 END IF;
104184 --
104185
104186 --
104187 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104188 trace
104189 (p_msg => 'END of AcctLineType_173'
104190 ,p_level => C_LEVEL_PROCEDURE
104191 ,p_module => l_log_module);
104192 END IF;
104193 --
104194 EXCEPTION
104195 WHEN xla_exceptions_pkg.application_exception THEN
104196 RAISE;
104197 WHEN OTHERS THEN
104198 xla_exceptions_pkg.raise_message
104199 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_173');
104200 END AcctLineType_173;
104201 --
104202
104203 ---------------------------------------
104204 --
104205 -- PRIVATE FUNCTION
104206 -- AcctLineType_174
104207 --
104208 ---------------------------------------
104209 PROCEDURE AcctLineType_174 (
104210 p_application_id IN NUMBER
104211 ,p_event_id IN NUMBER
104212 ,p_calculate_acctd_flag IN VARCHAR2
104213 ,p_calculate_g_l_flag IN VARCHAR2
104214 ,p_actual_flag IN OUT VARCHAR2
104215 ,p_balance_type_code OUT VARCHAR2
104216 ,p_gain_or_loss_ref OUT VARCHAR2
104217
104218 --Invoice Distribution Description
104219 , p_source_1 IN VARCHAR2
104220 --Invoice Distribution Ledger Amount
104221 , p_source_21 IN NUMBER
104222 --Invoice Distribution Account
104223 , p_source_30 IN NUMBER
104224 --Invoice Distribution Type
104225 , p_source_33 IN VARCHAR2
104226 , p_source_33_meaning IN VARCHAR2
104227 --Accounting Reversal Indicator
104228 , p_source_52 IN VARCHAR2
104229 --Distribution Link Type
104230 , p_source_54 IN VARCHAR2
104231 --Allocation to Main Distribution Identifier
104232 , p_source_56 IN NUMBER
104233 --Invoice Identifier
104234 , p_source_57 IN NUMBER
104235 --Invoice Distribution Identifier
104236 , p_source_63 IN NUMBER
104237 --Payables Encumbrance Upgrade Credit Account
104238 , p_source_64 IN NUMBER
104239 --Payables Encumbrance Upgrade Credit Amount
104240 , p_source_65 IN NUMBER
104241 --Invoice Currency Code
104242 , p_source_66 IN VARCHAR2
104243 --Payables Encumbrance Upgrade Credit Base Amount
104244 , p_source_67 IN NUMBER
104245 --Payables Encumbrance Upgrade Debit Account
104246 , p_source_68 IN NUMBER
104247 --Payables Encumbrance Upgrade Debit Amount
104248 , p_source_69 IN NUMBER
104249 --Payables Encumbrance Upgrade Debit Base Amount
104250 , p_source_70 IN NUMBER
104251 --Payables Encumbrance Upgrade Option
104252 , p_source_71 IN VARCHAR2
104253 --Invoice Distribution Amount
104254 , p_source_72 IN NUMBER
104255 --Purchase Order Exchange Rate Date
104256 , p_source_73 IN DATE
104257 --Purchase Order Exchange Rate
104258 , p_source_74 IN NUMBER
104259 --Purchase Order Exchange Rate Type
104260 , p_source_75 IN VARCHAR2
104261 --Deferred Accounting End Date
104262 , p_source_76 IN DATE
104263 --Deferred Accounting Option
104264 , p_source_77 IN VARCHAR2
104265 --Deferred Accounting Start Date
104266 , p_source_78 IN DATE
104267 --Override Accounted Amount Indicator
104268 , p_source_79 IN VARCHAR2
104269 , p_source_79_meaning IN VARCHAR2
104270 --Invoice Supplier Identifier
104271 , p_source_80 IN NUMBER
104272 --Invoice Supplier Site Identifier
104273 , p_source_81 IN NUMBER
104274 --Third Party Type
104275 , p_source_82 IN VARCHAR2
104276 --Parent Reversal Identifier
104277 , p_source_83 IN NUMBER
104278 --Invoice Distribution Statistical Amount
104279 , p_source_84 IN NUMBER
104280 --Invoice Distribution Tax Line Identifier
104281 , p_source_85 IN NUMBER
104282 --Invoice Distribution Tax Distribution Identifier from Tax
104283 , p_source_86 IN NUMBER
104284 --Invoice Distribution Summary Tax Line Identifier
104285 , p_source_87 IN NUMBER
104286 --Payables Upgrade Credit Encumbrance Type Identifier
104287 , p_source_88 IN NUMBER
104288 --Payables Upgrade Debit Encumbrance Type Identifier
104289 , p_source_89 IN NUMBER
104290 --Business Flow Accounts Payable Application Identifier
104291 , p_source_90 IN NUMBER
104292 --Business Flow Invoice Distribution Type
104293 , p_source_91 IN VARCHAR2
104294 --Business Flow Invoice Entity Code
104295 , p_source_92 IN VARCHAR2
104296 --Business Flow Invoice Distribution Identifier
104297 , p_source_93 IN NUMBER
104298 --Business Flow Invoice Identifier
104302 , p_source_95_meaning IN VARCHAR2
104299 , p_source_94 IN NUMBER
104300 --Accrue on Receipt Option
104301 , p_source_95 IN VARCHAR2
104303 --Self-Assessed Tax Flag
104304 , p_source_135 IN VARCHAR2
104305 , p_source_135_meaning IN VARCHAR2
104306 )
104307 IS
104308
104309 l_component_type VARCHAR2(80);
104310 l_component_code VARCHAR2(30);
104311 l_component_type_code VARCHAR2(1);
104312 l_component_appl_id INTEGER;
104313 l_amb_context_code VARCHAR2(30);
104314 l_entity_code VARCHAR2(30);
104315 l_event_class_code VARCHAR2(30);
104316 l_ae_header_id NUMBER;
104317 l_event_type_code VARCHAR2(30);
104318 l_line_definition_code VARCHAR2(30);
104319 l_line_definition_owner_code VARCHAR2(1);
104320 --
104321 -- adr variables
104322 l_segment VARCHAR2(30);
104323 l_ccid NUMBER;
104324 l_adr_transaction_coa_id NUMBER;
104325 l_adr_accounting_coa_id NUMBER;
104326 l_adr_flexfield_segment_code VARCHAR2(30);
104327 l_adr_flex_value_set_id NUMBER;
104328 l_adr_value_type_code VARCHAR2(30);
104329 l_adr_value_combination_id NUMBER;
104330 l_adr_value_segment_code VARCHAR2(30);
104331
104332 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
104333 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
104334 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
104335 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
104336
104337 -- 4262811 Variables ------------------------------------------------------------------------------------------
104338 l_entered_amt_idx NUMBER;
104339 l_accted_amt_idx NUMBER;
104340 l_acc_rev_flag VARCHAR2(1);
104341 l_accrual_line_num NUMBER;
104342 l_tmp_amt NUMBER;
104343 l_acc_rev_natural_side_code VARCHAR2(1);
104344
104345 l_num_entries NUMBER;
104346 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
104347 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
104348 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
104349 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
104350 l_recog_line_1 NUMBER;
104351 l_recog_line_2 NUMBER;
104352
104353 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
104354 l_bflow_applied_to_amt NUMBER; -- 5132302
104355 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
104356
104357 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
104358
104359 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
104360 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
104361
104362 ---------------------------------------------------------------------------------------------------------------
104363
104364
104365 --
104366 -- bulk performance
104367 --
104368 l_balance_type_code VARCHAR2(1);
104369 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
104370 l_log_module VARCHAR2(240);
104371
104372 --
104373 -- Upgrade strategy
104374 --
104375 l_actual_upg_option VARCHAR2(1);
104376 l_enc_upg_option VARCHAR2(1);
104377
104378 --
104379 BEGIN
104380 --
104381 IF g_log_enabled THEN
104382 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_174';
104383 END IF;
104384 --
104385 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104386
104387 trace
104388 (p_msg => 'BEGIN of AcctLineType_174'
104389 ,p_level => C_LEVEL_PROCEDURE
104390 ,p_module => l_log_module);
104391
104392 END IF;
104393 --
104394 l_component_type := 'AMB_JLT';
104395 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_INV';
104396 l_component_type_code := 'S';
104397 l_component_appl_id := 200;
104398 l_amb_context_code := 'DEFAULT';
104399 l_entity_code := 'AP_INVOICES';
104400 l_event_class_code := 'INVOICES';
104401 l_event_type_code := 'INVOICES_ALL';
104402 l_line_definition_owner_code := 'S';
104403 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
104404 --
104405 l_balance_type_code := 'A';
104406 l_segment := NULL;
104407 l_ccid := NULL;
104408 l_adr_transaction_coa_id := NULL;
104409 l_adr_accounting_coa_id := NULL;
104410 l_adr_flexfield_segment_code := NULL;
104411 l_adr_flex_value_set_id := NULL;
104412 l_adr_value_type_code := NULL;
104413 l_adr_value_combination_id := NULL;
104414 l_adr_value_segment_code := NULL;
104415
104416 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
104417 l_bflow_class_code := ''; -- 4219869 Business Flow
104418 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
104419 l_budgetary_control_flag := 'N';
104420
104421 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104422 l_bflow_applied_to_amt := NULL; -- 5132302
104423 l_entered_amt_idx := NULL; -- 4262811
104424 l_accted_amt_idx := NULL; -- 4262811
104425 l_acc_rev_flag := NULL; -- 4262811
104426 l_accrual_line_num := NULL; -- 4262811
104430 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
104427 l_tmp_amt := NULL; -- 4262811
104428 --
104429
104431 l_balance_type_code <> 'B' THEN
104432 IF NVL(p_source_33,'
104433 ') = 'NONREC_TAX' AND
104434 NVL(p_source_95,'
104435 ') = 'Y' AND
104436 NVL(p_source_135,'
104437 ') <> 'Y'
104438 THEN
104439
104440 --
104441 XLA_AE_LINES_PKG.SetNewLine;
104442
104443 p_balance_type_code := l_balance_type_code;
104444 -- set the flag so later we will know whether the gain loss line needs to be created
104445
104446 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
104447 p_actual_flag :='A';
104448 END IF;
104449
104450 --
104451 -- bulk performance
104452 --
104453 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
104454 p_header_num => 0); -- 4262811
104455 --
104456 -- set accounting line options
104457 --
104458 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
104459 p_natural_side_code => 'D'
104460 , p_gain_or_loss_flag => 'N'
104461 , p_gl_transfer_mode_code => 'S'
104462 , p_acct_entry_type_code => 'A'
104463 , p_switch_side_flag => 'Y'
104464 , p_merge_duplicate_code => 'A'
104465 );
104466 --
104467 l_acc_rev_natural_side_code := 'C'; -- 4262811
104468 --
104469 --
104470 -- set accounting line type info
104471 --
104472 xla_ae_lines_pkg.SetAcctLineType
104473 (p_component_type => l_component_type
104474 ,p_event_type_code => l_event_type_code
104475 ,p_line_definition_owner_code => l_line_definition_owner_code
104476 ,p_line_definition_code => l_line_definition_code
104477 ,p_accounting_line_code => l_component_code
104478 ,p_accounting_line_type_code => l_component_type_code
104479 ,p_accounting_line_appl_id => l_component_appl_id
104480 ,p_amb_context_code => l_amb_context_code
104481 ,p_entity_code => l_entity_code
104482 ,p_event_class_code => l_event_class_code);
104483 --
104484 -- set accounting class
104485 --
104486 xla_ae_lines_pkg.SetAcctClass(
104487 p_accounting_class_code => 'NRTAX'
104488 , p_ae_header_id => l_ae_header_id
104489 );
104490
104491 --
104492 -- set rounding class
104493 --
104494 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
104495 'NRTAX';
104496
104497 --
104498 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
104499 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
104500 --
104501 -- bulk performance
104502 --
104503 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
104504
104505 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
104506 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
104507
104508 -- 4955764
104509 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104510 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
104511
104512 -- 4458381 Public Sector Enh
104513
104514 --
104515 -- set accounting attributes for the line type
104516 --
104517 l_entered_amt_idx := 24;
104518 l_accted_amt_idx := 29;
104519 l_bflow_applied_to_amt_idx := 7; -- 5132302
104520 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
104521 l_rec_acct_attrs.array_char_value(1) := p_source_52;
104522 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
104523 l_rec_acct_attrs.array_num_value(2) :=
104524 xla_ae_sources_pkg.GetSystemSourceNum(
104525 p_source_code => 'XLA_EVENT_APPL_ID'
104526 , p_source_type_code => 'Y'
104527 , p_source_application_id => 602
104528 );
104529 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
104530 l_rec_acct_attrs.array_char_value(3) := p_source_54;
104531 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
104532 l_rec_acct_attrs.array_char_value(4) :=
104533 xla_ae_sources_pkg.GetSystemSourceChar(
104534 p_source_code => 'XLA_ENTITY_CODE'
104535 , p_source_type_code => 'Y'
104536 , p_source_application_id => 602
104537 );
104538 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
104539 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
104540 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
104541 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
104542 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
104543 l_rec_acct_attrs.array_num_value(7) := p_source_72;
104544 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
104545 l_rec_acct_attrs.array_num_value(8) := p_source_90;
104546 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
104547 l_rec_acct_attrs.array_char_value(9) := p_source_91;
104551 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
104548 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
104549 l_rec_acct_attrs.array_char_value(10) := p_source_92;
104550 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
104552 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
104553 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
104554 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
104555 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
104556 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
104557 l_rec_acct_attrs.array_char_value(14) := p_source_54;
104558 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
104559 l_rec_acct_attrs.array_num_value(15) := p_source_64;
104560 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
104561 l_rec_acct_attrs.array_num_value(16) := p_source_65;
104562 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
104563 l_rec_acct_attrs.array_char_value(17) := p_source_66;
104564 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
104565 l_rec_acct_attrs.array_num_value(18) := p_source_67;
104566 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
104567 l_rec_acct_attrs.array_num_value(19) := p_source_68;
104568 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
104569 l_rec_acct_attrs.array_num_value(20) := p_source_69;
104570 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
104571 l_rec_acct_attrs.array_char_value(21) := p_source_66;
104572 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
104573 l_rec_acct_attrs.array_num_value(22) := p_source_70;
104574 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
104575 l_rec_acct_attrs.array_char_value(23) := p_source_71;
104576 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
104577 l_rec_acct_attrs.array_num_value(24) := p_source_72;
104578 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
104579 l_rec_acct_attrs.array_char_value(25) := p_source_66;
104580 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
104581 l_rec_acct_attrs.array_date_value(26) := p_source_73;
104582 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
104583 l_rec_acct_attrs.array_num_value(27) := p_source_74;
104584 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
104585 l_rec_acct_attrs.array_char_value(28) := p_source_75;
104586 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
104587 l_rec_acct_attrs.array_num_value(29) := p_source_21;
104588 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
104589 l_rec_acct_attrs.array_date_value(30) := p_source_76;
104590 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
104591 l_rec_acct_attrs.array_char_value(31) := p_source_77;
104592 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
104593 l_rec_acct_attrs.array_date_value(32) := p_source_78;
104594 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
104595 l_rec_acct_attrs.array_char_value(33) := p_source_79;
104596 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
104597 l_rec_acct_attrs.array_num_value(34) := p_source_80;
104598 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
104599 l_rec_acct_attrs.array_num_value(35) := p_source_81;
104600 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
104601 l_rec_acct_attrs.array_char_value(36) := p_source_82;
104602 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
104603 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
104604 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
104605 l_rec_acct_attrs.array_char_value(38) := p_source_54;
104606 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
104607 l_rec_acct_attrs.array_num_value(39) := p_source_84;
104608 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
104609 l_rec_acct_attrs.array_num_value(40) := p_source_85;
104610 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
104611 l_rec_acct_attrs.array_num_value(41) := p_source_86;
104612 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
104613 l_rec_acct_attrs.array_num_value(42) := p_source_87;
104614 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
104615 l_rec_acct_attrs.array_num_value(43) := p_source_88;
104616 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
104617 l_rec_acct_attrs.array_num_value(44) := p_source_89;
104618
104619 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
104620 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
104621
104622 ---------------------------------------------------------------------------------------------------------------
104623 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
104624 ---------------------------------------------------------------------------------------------------------------
104625 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
104626
104627 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104628 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104629
104633 AND l_bflow_method_code = 'PRIOR_ENTRY'
104630 IF xla_accounting_cache_pkg.GetValueChar
104631 (p_source_code => 'LEDGER_CATEGORY_CODE'
104632 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
104634 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
104635 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
104636 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
104637 )
104638 THEN
104639 xla_ae_lines_pkg.BflowUpgEntry
104640 (p_business_method_code => l_bflow_method_code
104641 ,p_business_class_code => l_bflow_class_code
104642 ,p_balance_type => l_balance_type_code);
104643 ELSE
104644 NULL;
104645 -- No business flow processing for business flow method of NONE.
104646 END IF;
104647
104648 --
104649 -- call analytical criteria
104650 --
104651
104652 --
104653 -- call description
104654 --
104655
104656 xla_ae_lines_pkg.SetLineDescription(
104657 p_ae_header_id => l_ae_header_id
104658 ,p_description => Description_1 (
104659 p_application_id => p_application_id
104660 , p_ae_header_id => l_ae_header_id
104661 , p_source_1 => p_source_1
104662 )
104663 );
104664
104665
104666 --
104667 -- call ADRs
104668 -- Bug 4922099
104669 --
104670 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104671 (NVL(l_actual_upg_option, 'N') = 'O') OR
104672 (NVL(l_enc_upg_option, 'N') = 'O')
104673 )
104674 THEN
104675 NULL;
104676 --
104677 --
104678
104679 l_ccid := AcctDerRule_33(
104680 p_application_id => p_application_id
104681 , p_ae_header_id => l_ae_header_id
104682 , p_source_30 => p_source_30
104683 , x_transaction_coa_id => l_adr_transaction_coa_id
104684 , x_accounting_coa_id => l_adr_accounting_coa_id
104685 , x_value_type_code => l_adr_value_type_code
104686 , p_side => 'NA'
104687 );
104688
104689 xla_ae_lines_pkg.set_ccid(
104690 p_code_combination_id => l_ccid
104691 , p_value_type_code => l_adr_value_type_code
104692 , p_transaction_coa_id => l_adr_transaction_coa_id
104693 , p_accounting_coa_id => l_adr_accounting_coa_id
104694 , p_adr_code => 'AP_INVOICE_DIST'
104695 , p_adr_type_code => 'S'
104696 , p_component_type => l_component_type
104697 , p_component_code => l_component_code
104698 , p_component_type_code => l_component_type_code
104699 , p_component_appl_id => l_component_appl_id
104700 , p_amb_context_code => l_amb_context_code
104701 , p_side => 'NA'
104702 );
104703
104704
104705 --
104706 --
104707 END IF;
104708 --
104709 -- Bug 4922099
104710 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
104711 (NVL(l_enc_upg_option, 'N') = 'O')
104712 ) AND
104713 (l_bflow_method_code = 'PRIOR_ENTRY')
104714 )
104715 THEN
104716 IF
104717 --
104718 1 = 2
104719 --
104720 THEN
104721 xla_accounting_err_pkg.build_message
104722 (p_appli_s_name => 'XLA'
104723 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104724 ,p_token_1 => 'LINE_NUMBER'
104725 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104726 ,p_token_2 => 'LINE_TYPE_NAME'
104727 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104728 l_component_type
104729 ,l_component_code
104730 ,l_component_type_code
104731 ,l_component_appl_id
104732 ,l_amb_context_code
104733 ,l_entity_code
104734 ,l_event_class_code
104735 )
104736 ,p_token_3 => 'OWNER'
104737 ,p_value_3 => xla_lookups_pkg.get_meaning(
104738 p_lookup_type => 'XLA_OWNER_TYPE'
104739 ,p_lookup_code => l_component_type_code
104740 )
104741 ,p_token_4 => 'PRODUCT_NAME'
104742 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104743 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104747 );
104744 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104745 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104746 ,p_ae_header_id => NULL
104748
104749 IF (C_LEVEL_ERROR>= g_log_level) THEN
104750 trace
104751 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104752 ,p_level => C_LEVEL_ERROR
104753 ,p_module => l_log_module);
104754 END IF;
104755 END IF;
104756 END IF;
104757 --
104758 --
104759 ------------------------------------------------------------------------------------------------
104760 -- 4219869 Business Flow
104761 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104762 -- Prior Entry. Currently, the following code is always generated.
104763 ------------------------------------------------------------------------------------------------
104764 XLA_AE_LINES_PKG.ValidateCurrentLine;
104765
104766 ------------------------------------------------------------------------------------
104767 -- 4219869 Business Flow
104768 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104769 ------------------------------------------------------------------------------------
104770 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104771
104772 ----------------------------------------------------------------------------------
104773 -- 4219869 Business Flow
104774 -- Update journal entry status -- Need to generate this within IF <condition>
104775 ----------------------------------------------------------------------------------
104776 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104777 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104778 ,p_balance_type_code => l_balance_type_code
104779 );
104780
104781 -------------------------------------------------------------------------------------------
104782 -- 4262811 - Generate the Accrual Reversal lines
104783 -------------------------------------------------------------------------------------------
104784 BEGIN
104785 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104786 (g_array_event(p_event_id).array_value_num('header_index'));
104787 IF l_acc_rev_flag IS NULL THEN
104788 l_acc_rev_flag := 'N';
104789 END IF;
104790 EXCEPTION
104791 WHEN OTHERS THEN
104792 l_acc_rev_flag := 'N';
104793 END;
104794 --
104795 IF (l_acc_rev_flag = 'Y') THEN
104796
104797 -- 4645092 ------------------------------------------------------------------------------
104798 -- To allow MPA report to determine if it should generate report process
104799 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104800 ------------------------------------------------------------------------------------------
104801
104802 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104803 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104804 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104805 -- call ADRs
104806 -- Bug 4922099
104807 --
104808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104809 (NVL(l_actual_upg_option, 'N') = 'O') OR
104810 (NVL(l_enc_upg_option, 'N') = 'O')
104811 )
104812 THEN
104813 NULL;
104814 --
104815 --
104816
104817 l_ccid := AcctDerRule_33(
104818 p_application_id => p_application_id
104819 , p_ae_header_id => l_ae_header_id
104820 , p_source_30 => p_source_30
104821 , x_transaction_coa_id => l_adr_transaction_coa_id
104822 , x_accounting_coa_id => l_adr_accounting_coa_id
104823 , x_value_type_code => l_adr_value_type_code
104824 , p_side => 'NA'
104825 );
104826
104827 xla_ae_lines_pkg.set_ccid(
104828 p_code_combination_id => l_ccid
104829 , p_value_type_code => l_adr_value_type_code
104830 , p_transaction_coa_id => l_adr_transaction_coa_id
104831 , p_accounting_coa_id => l_adr_accounting_coa_id
104832 , p_adr_code => 'AP_INVOICE_DIST'
104833 , p_adr_type_code => 'S'
104834 , p_component_type => l_component_type
104835 , p_component_code => l_component_code
104836 , p_component_type_code => l_component_type_code
104837 , p_component_appl_id => l_component_appl_id
104838 , p_amb_context_code => l_amb_context_code
104839 , p_side => 'NA'
104840 );
104841
104842
104843 --
104844 --
104845 END IF;
104846
104847 --
104848 -- Update the line information that should be overwritten
104849 --
104850 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104851 p_header_num => 1);
104852 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104853
104854 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104855
104856 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104860 --
104857 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104858 END IF;
104859
104861 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104862 --
104863 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104864 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104865 ELSE
104866 ---------------------------------------------------------------------------------------------------
104867 -- 4262811a Switch Sign
104868 ---------------------------------------------------------------------------------------------------
104869 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104870 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104871 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104872 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104873 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104874 -- 5132302
104875 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104876 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104877
104878 END IF;
104879
104880 -- 4955764
104881 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104882 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104883
104884
104885 XLA_AE_LINES_PKG.ValidateCurrentLine;
104886 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104887
104888 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104889 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104890 ,p_balance_type_code => l_balance_type_code);
104891
104892 END IF;
104893
104894 -----------------------------------------------------------------------------------------
104895 -- 4262811 Multiperiod Accounting
104896 -----------------------------------------------------------------------------------------
104897 -- No MPA option is assigned.
104898
104899
104900 END IF;
104901 END IF;
104902 --
104903
104904 --
104905 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104906 trace
104907 (p_msg => 'END of AcctLineType_174'
104908 ,p_level => C_LEVEL_PROCEDURE
104909 ,p_module => l_log_module);
104910 END IF;
104911 --
104912 EXCEPTION
104913 WHEN xla_exceptions_pkg.application_exception THEN
104914 RAISE;
104915 WHEN OTHERS THEN
104916 xla_exceptions_pkg.raise_message
104917 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_174');
104918 END AcctLineType_174;
104919 --
104920
104921 ---------------------------------------
104922 --
104923 -- PRIVATE FUNCTION
104924 -- AcctLineType_175
104925 --
104926 ---------------------------------------
104927 PROCEDURE AcctLineType_175 (
104928 p_application_id IN NUMBER
104929 ,p_event_id IN NUMBER
104930 ,p_calculate_acctd_flag IN VARCHAR2
104931 ,p_calculate_g_l_flag IN VARCHAR2
104932 ,p_actual_flag IN OUT VARCHAR2
104933 ,p_balance_type_code OUT VARCHAR2
104934 ,p_gain_or_loss_ref OUT VARCHAR2
104935
104936 --Invoice Distribution Description
104937 , p_source_1 IN VARCHAR2
104938 --Invoice Distribution Ledger Amount
104939 , p_source_21 IN NUMBER
104940 --Invoice Distribution Account
104941 , p_source_30 IN NUMBER
104942 --Invoice Distribution Type
104943 , p_source_33 IN VARCHAR2
104944 , p_source_33_meaning IN VARCHAR2
104945 --Accounting Reversal Indicator
104946 , p_source_52 IN VARCHAR2
104947 --Distribution Link Type
104948 , p_source_54 IN VARCHAR2
104949 --Allocation to Main Distribution Identifier
104950 , p_source_56 IN NUMBER
104951 --Invoice Identifier
104952 , p_source_57 IN NUMBER
104953 --Invoice Distribution Identifier
104954 , p_source_63 IN NUMBER
104955 --Payables Encumbrance Upgrade Credit Account
104956 , p_source_64 IN NUMBER
104957 --Payables Encumbrance Upgrade Credit Amount
104958 , p_source_65 IN NUMBER
104959 --Invoice Currency Code
104960 , p_source_66 IN VARCHAR2
104961 --Payables Encumbrance Upgrade Credit Base Amount
104962 , p_source_67 IN NUMBER
104963 --Payables Encumbrance Upgrade Debit Account
104964 , p_source_68 IN NUMBER
104965 --Payables Encumbrance Upgrade Debit Amount
104966 , p_source_69 IN NUMBER
104967 --Payables Encumbrance Upgrade Debit Base Amount
104968 , p_source_70 IN NUMBER
104969 --Payables Encumbrance Upgrade Option
104970 , p_source_71 IN VARCHAR2
104971 --Invoice Distribution Amount
104972 , p_source_72 IN NUMBER
104973 --Deferred Accounting End Date
104974 , p_source_76 IN DATE
104975 --Deferred Accounting Option
104976 , p_source_77 IN VARCHAR2
104977 --Deferred Accounting Start Date
104978 , p_source_78 IN DATE
104979 --Override Accounted Amount Indicator
104980 , p_source_79 IN VARCHAR2
104981 , p_source_79_meaning IN VARCHAR2
104985 , p_source_81 IN NUMBER
104982 --Invoice Supplier Identifier
104983 , p_source_80 IN NUMBER
104984 --Invoice Supplier Site Identifier
104986 --Third Party Type
104987 , p_source_82 IN VARCHAR2
104988 --Parent Reversal Identifier
104989 , p_source_83 IN NUMBER
104990 --Invoice Distribution Statistical Amount
104991 , p_source_84 IN NUMBER
104992 --Invoice Distribution Tax Line Identifier
104993 , p_source_85 IN NUMBER
104994 --Invoice Distribution Tax Distribution Identifier from Tax
104995 , p_source_86 IN NUMBER
104996 --Invoice Distribution Summary Tax Line Identifier
104997 , p_source_87 IN NUMBER
104998 --Payables Upgrade Credit Encumbrance Type Identifier
104999 , p_source_88 IN NUMBER
105000 --Payables Upgrade Debit Encumbrance Type Identifier
105001 , p_source_89 IN NUMBER
105002 --Business Flow Accounts Payable Application Identifier
105003 , p_source_90 IN NUMBER
105004 --Business Flow Invoice Distribution Type
105005 , p_source_91 IN VARCHAR2
105006 --Business Flow Invoice Entity Code
105007 , p_source_92 IN VARCHAR2
105008 --Business Flow Invoice Distribution Identifier
105009 , p_source_93 IN NUMBER
105010 --Business Flow Invoice Identifier
105011 , p_source_94 IN NUMBER
105012 --Accrue on Receipt Option
105013 , p_source_95 IN VARCHAR2
105014 , p_source_95_meaning IN VARCHAR2
105015 --Self-Assessed Tax Flag
105016 , p_source_135 IN VARCHAR2
105017 , p_source_135_meaning IN VARCHAR2
105018 --Invoice Exchange Date
105019 , p_source_136 IN DATE
105020 --Invoice Exchange Rate
105021 , p_source_137 IN NUMBER
105022 --Invoice Exchange Rate Type
105023 , p_source_138 IN VARCHAR2
105024 )
105025 IS
105026
105027 l_component_type VARCHAR2(80);
105028 l_component_code VARCHAR2(30);
105029 l_component_type_code VARCHAR2(1);
105030 l_component_appl_id INTEGER;
105031 l_amb_context_code VARCHAR2(30);
105032 l_entity_code VARCHAR2(30);
105033 l_event_class_code VARCHAR2(30);
105034 l_ae_header_id NUMBER;
105035 l_event_type_code VARCHAR2(30);
105036 l_line_definition_code VARCHAR2(30);
105037 l_line_definition_owner_code VARCHAR2(1);
105038 --
105039 -- adr variables
105040 l_segment VARCHAR2(30);
105041 l_ccid NUMBER;
105042 l_adr_transaction_coa_id NUMBER;
105043 l_adr_accounting_coa_id NUMBER;
105044 l_adr_flexfield_segment_code VARCHAR2(30);
105045 l_adr_flex_value_set_id NUMBER;
105046 l_adr_value_type_code VARCHAR2(30);
105047 l_adr_value_combination_id NUMBER;
105048 l_adr_value_segment_code VARCHAR2(30);
105049
105050 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105051 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105052 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105053 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105054
105055 -- 4262811 Variables ------------------------------------------------------------------------------------------
105056 l_entered_amt_idx NUMBER;
105057 l_accted_amt_idx NUMBER;
105058 l_acc_rev_flag VARCHAR2(1);
105059 l_accrual_line_num NUMBER;
105060 l_tmp_amt NUMBER;
105061 l_acc_rev_natural_side_code VARCHAR2(1);
105062
105063 l_num_entries NUMBER;
105064 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105065 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105066 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105067 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105068 l_recog_line_1 NUMBER;
105069 l_recog_line_2 NUMBER;
105070
105071 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105072 l_bflow_applied_to_amt NUMBER; -- 5132302
105073 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105074
105075 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105076
105077 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105078 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105079
105080 ---------------------------------------------------------------------------------------------------------------
105081
105082
105083 --
105084 -- bulk performance
105085 --
105086 l_balance_type_code VARCHAR2(1);
105087 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105088 l_log_module VARCHAR2(240);
105089
105090 --
105091 -- Upgrade strategy
105092 --
105093 l_actual_upg_option VARCHAR2(1);
105094 l_enc_upg_option VARCHAR2(1);
105095
105096 --
105097 BEGIN
105098 --
105099 IF g_log_enabled THEN
105100 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_175';
105101 END IF;
105102 --
105103 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105104
105105 trace
105106 (p_msg => 'BEGIN of AcctLineType_175'
105107 ,p_level => C_LEVEL_PROCEDURE
105108 ,p_module => l_log_module);
105109
105110 END IF;
105111 --
105115 l_component_appl_id := 200;
105112 l_component_type := 'AMB_JLT';
105113 l_component_code := 'AP_NON_RECOV_TAX_CM';
105114 l_component_type_code := 'S';
105116 l_amb_context_code := 'DEFAULT';
105117 l_entity_code := 'AP_INVOICES';
105118 l_event_class_code := 'CREDIT MEMOS';
105119 l_event_type_code := 'CREDIT MEMOS_ALL';
105120 l_line_definition_owner_code := 'S';
105121 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
105122 --
105123 l_balance_type_code := 'A';
105124 l_segment := NULL;
105125 l_ccid := NULL;
105126 l_adr_transaction_coa_id := NULL;
105127 l_adr_accounting_coa_id := NULL;
105128 l_adr_flexfield_segment_code := NULL;
105129 l_adr_flex_value_set_id := NULL;
105130 l_adr_value_type_code := NULL;
105131 l_adr_value_combination_id := NULL;
105132 l_adr_value_segment_code := NULL;
105133
105134 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105135 l_bflow_class_code := ''; -- 4219869 Business Flow
105136 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105137 l_budgetary_control_flag := 'N';
105138
105139 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105140 l_bflow_applied_to_amt := NULL; -- 5132302
105141 l_entered_amt_idx := NULL; -- 4262811
105142 l_accted_amt_idx := NULL; -- 4262811
105143 l_acc_rev_flag := NULL; -- 4262811
105144 l_accrual_line_num := NULL; -- 4262811
105145 l_tmp_amt := NULL; -- 4262811
105146 --
105147
105148 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105149 l_balance_type_code <> 'B' THEN
105150 IF (NVL(p_source_33,'
105151 ') = 'NONREC_TAX' OR
105152 NVL(p_source_33,'
105153 ') = 'TERV' OR
105154 NVL(p_source_33,'
105155 ') = 'TIPV' OR
105156 NVL(p_source_33,'
105157 ') = 'TRV') AND
105158 NVL(p_source_95,'
105159 ') <> 'Y' AND
105160 NVL(p_source_135,'
105161 ') <> 'Y'
105162 THEN
105163
105164 --
105165 XLA_AE_LINES_PKG.SetNewLine;
105166
105167 p_balance_type_code := l_balance_type_code;
105168 -- set the flag so later we will know whether the gain loss line needs to be created
105169
105170 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105171 p_actual_flag :='A';
105172 END IF;
105173
105174 --
105175 -- bulk performance
105176 --
105177 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105178 p_header_num => 0); -- 4262811
105179 --
105180 -- set accounting line options
105181 --
105182 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105183 p_natural_side_code => 'D'
105184 , p_gain_or_loss_flag => 'N'
105185 , p_gl_transfer_mode_code => 'S'
105186 , p_acct_entry_type_code => 'A'
105187 , p_switch_side_flag => 'Y'
105188 , p_merge_duplicate_code => 'A'
105189 );
105190 --
105191 l_acc_rev_natural_side_code := 'C'; -- 4262811
105192 --
105193 --
105194 -- set accounting line type info
105195 --
105196 xla_ae_lines_pkg.SetAcctLineType
105197 (p_component_type => l_component_type
105198 ,p_event_type_code => l_event_type_code
105199 ,p_line_definition_owner_code => l_line_definition_owner_code
105200 ,p_line_definition_code => l_line_definition_code
105201 ,p_accounting_line_code => l_component_code
105202 ,p_accounting_line_type_code => l_component_type_code
105203 ,p_accounting_line_appl_id => l_component_appl_id
105204 ,p_amb_context_code => l_amb_context_code
105205 ,p_entity_code => l_entity_code
105206 ,p_event_class_code => l_event_class_code);
105207 --
105208 -- set accounting class
105209 --
105210 xla_ae_lines_pkg.SetAcctClass(
105211 p_accounting_class_code => 'NRTAX'
105212 , p_ae_header_id => l_ae_header_id
105213 );
105214
105215 --
105216 -- set rounding class
105217 --
105218 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105219 'NRTAX';
105220
105221 --
105222 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105223 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105224 --
105225 -- bulk performance
105226 --
105227 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105228
105229 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105230 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105231
105232 -- 4955764
105233 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105234 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105235
105236 -- 4458381 Public Sector Enh
105237
105238 --
105239 -- set accounting attributes for the line type
105240 --
105241 l_entered_amt_idx := 23;
105245 l_rec_acct_attrs.array_char_value(1) := p_source_52;
105242 l_accted_amt_idx := 28;
105243 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105244 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105246 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
105247 l_rec_acct_attrs.array_num_value(2) :=
105248 xla_ae_sources_pkg.GetSystemSourceNum(
105249 p_source_code => 'XLA_EVENT_APPL_ID'
105250 , p_source_type_code => 'Y'
105251 , p_source_application_id => 602
105252 );
105253 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
105254 l_rec_acct_attrs.array_char_value(3) := p_source_54;
105255 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
105256 l_rec_acct_attrs.array_char_value(4) :=
105257 xla_ae_sources_pkg.GetSystemSourceChar(
105258 p_source_code => 'XLA_ENTITY_CODE'
105259 , p_source_type_code => 'Y'
105260 , p_source_application_id => 602
105261 );
105262 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
105263 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
105264 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
105265 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
105266 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
105267 l_rec_acct_attrs.array_num_value(7) := p_source_90;
105268 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105269 l_rec_acct_attrs.array_char_value(8) := p_source_91;
105270 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
105271 l_rec_acct_attrs.array_char_value(9) := p_source_92;
105272 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
105273 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
105274 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105275 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
105276 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
105277 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
105278 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
105279 l_rec_acct_attrs.array_char_value(13) := p_source_54;
105280 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
105281 l_rec_acct_attrs.array_num_value(14) := p_source_64;
105282 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
105283 l_rec_acct_attrs.array_num_value(15) := p_source_65;
105284 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
105285 l_rec_acct_attrs.array_char_value(16) := p_source_66;
105286 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
105287 l_rec_acct_attrs.array_num_value(17) := p_source_67;
105288 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
105289 l_rec_acct_attrs.array_num_value(18) := p_source_68;
105290 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
105291 l_rec_acct_attrs.array_num_value(19) := p_source_69;
105292 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
105293 l_rec_acct_attrs.array_char_value(20) := p_source_66;
105294 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
105295 l_rec_acct_attrs.array_num_value(21) := p_source_70;
105296 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
105297 l_rec_acct_attrs.array_char_value(22) := p_source_71;
105298 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
105299 l_rec_acct_attrs.array_num_value(23) := p_source_72;
105300 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
105301 l_rec_acct_attrs.array_char_value(24) := p_source_66;
105302 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
105303 l_rec_acct_attrs.array_date_value(25) := p_source_136;
105304 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
105305 l_rec_acct_attrs.array_num_value(26) := p_source_137;
105306 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
105307 l_rec_acct_attrs.array_char_value(27) := p_source_138;
105308 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
105309 l_rec_acct_attrs.array_num_value(28) := p_source_21;
105310 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
105311 l_rec_acct_attrs.array_date_value(29) := p_source_76;
105312 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
105313 l_rec_acct_attrs.array_char_value(30) := p_source_77;
105314 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
105315 l_rec_acct_attrs.array_date_value(31) := p_source_78;
105316 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
105317 l_rec_acct_attrs.array_char_value(32) := p_source_79;
105318 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
105319 l_rec_acct_attrs.array_num_value(33) := p_source_80;
105320 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
105321 l_rec_acct_attrs.array_num_value(34) := p_source_81;
105322 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
105323 l_rec_acct_attrs.array_char_value(35) := p_source_82;
105324 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
105325 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
105326 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
105327 l_rec_acct_attrs.array_char_value(37) := p_source_54;
105328 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
105332 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
105329 l_rec_acct_attrs.array_num_value(38) := p_source_84;
105330 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
105331 l_rec_acct_attrs.array_num_value(39) := p_source_85;
105333 l_rec_acct_attrs.array_num_value(40) := p_source_86;
105334 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
105335 l_rec_acct_attrs.array_num_value(41) := p_source_87;
105336 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
105337 l_rec_acct_attrs.array_num_value(42) := p_source_88;
105338 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
105339 l_rec_acct_attrs.array_num_value(43) := p_source_89;
105340
105341 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
105342 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
105343
105344 ---------------------------------------------------------------------------------------------------------------
105345 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
105346 ---------------------------------------------------------------------------------------------------------------
105347 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
105348
105349 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105350 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105351
105352 IF xla_accounting_cache_pkg.GetValueChar
105353 (p_source_code => 'LEDGER_CATEGORY_CODE'
105354 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
105355 AND l_bflow_method_code = 'PRIOR_ENTRY'
105356 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
105357 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
105358 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
105359 )
105360 THEN
105361 xla_ae_lines_pkg.BflowUpgEntry
105362 (p_business_method_code => l_bflow_method_code
105363 ,p_business_class_code => l_bflow_class_code
105364 ,p_balance_type => l_balance_type_code);
105365 ELSE
105366 NULL;
105367 -- No business flow processing for business flow method of NONE.
105368 END IF;
105369
105370 --
105371 -- call analytical criteria
105372 --
105373
105374 --
105375 -- call description
105376 --
105377
105378 xla_ae_lines_pkg.SetLineDescription(
105379 p_ae_header_id => l_ae_header_id
105380 ,p_description => Description_1 (
105381 p_application_id => p_application_id
105382 , p_ae_header_id => l_ae_header_id
105383 , p_source_1 => p_source_1
105384 )
105385 );
105386
105387
105388 --
105389 -- call ADRs
105390 -- Bug 4922099
105391 --
105392 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105393 (NVL(l_actual_upg_option, 'N') = 'O') OR
105394 (NVL(l_enc_upg_option, 'N') = 'O')
105395 )
105396 THEN
105397 NULL;
105398 --
105399 --
105400
105401 l_ccid := AcctDerRule_33(
105402 p_application_id => p_application_id
105403 , p_ae_header_id => l_ae_header_id
105404 , p_source_30 => p_source_30
105405 , x_transaction_coa_id => l_adr_transaction_coa_id
105406 , x_accounting_coa_id => l_adr_accounting_coa_id
105407 , x_value_type_code => l_adr_value_type_code
105408 , p_side => 'NA'
105409 );
105410
105411 xla_ae_lines_pkg.set_ccid(
105412 p_code_combination_id => l_ccid
105413 , p_value_type_code => l_adr_value_type_code
105414 , p_transaction_coa_id => l_adr_transaction_coa_id
105415 , p_accounting_coa_id => l_adr_accounting_coa_id
105416 , p_adr_code => 'AP_INVOICE_DIST'
105417 , p_adr_type_code => 'S'
105418 , p_component_type => l_component_type
105419 , p_component_code => l_component_code
105420 , p_component_type_code => l_component_type_code
105421 , p_component_appl_id => l_component_appl_id
105422 , p_amb_context_code => l_amb_context_code
105423 , p_side => 'NA'
105424 );
105425
105426
105427 --
105428 --
105429 END IF;
105430 --
105431 -- Bug 4922099
105432 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105433 (NVL(l_enc_upg_option, 'N') = 'O')
105434 ) AND
105435 (l_bflow_method_code = 'PRIOR_ENTRY')
105436 )
105437 THEN
105438 IF
105439 --
105440 1 = 2
105441 --
105442 THEN
105443 xla_accounting_err_pkg.build_message
105444 (p_appli_s_name => 'XLA'
105445 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105446 ,p_token_1 => 'LINE_NUMBER'
105447 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105448 ,p_token_2 => 'LINE_TYPE_NAME'
105449 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105450 l_component_type
105454 ,l_amb_context_code
105451 ,l_component_code
105452 ,l_component_type_code
105453 ,l_component_appl_id
105455 ,l_entity_code
105456 ,l_event_class_code
105457 )
105458 ,p_token_3 => 'OWNER'
105459 ,p_value_3 => xla_lookups_pkg.get_meaning(
105460 p_lookup_type => 'XLA_OWNER_TYPE'
105461 ,p_lookup_code => l_component_type_code
105462 )
105463 ,p_token_4 => 'PRODUCT_NAME'
105464 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105465 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105466 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105467 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105468 ,p_ae_header_id => NULL
105469 );
105470
105471 IF (C_LEVEL_ERROR>= g_log_level) THEN
105472 trace
105473 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105474 ,p_level => C_LEVEL_ERROR
105475 ,p_module => l_log_module);
105476 END IF;
105477 END IF;
105478 END IF;
105479 --
105480 --
105481 ------------------------------------------------------------------------------------------------
105482 -- 4219869 Business Flow
105483 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105484 -- Prior Entry. Currently, the following code is always generated.
105485 ------------------------------------------------------------------------------------------------
105486 XLA_AE_LINES_PKG.ValidateCurrentLine;
105487
105488 ------------------------------------------------------------------------------------
105489 -- 4219869 Business Flow
105490 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105491 ------------------------------------------------------------------------------------
105492 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105493
105494 ----------------------------------------------------------------------------------
105495 -- 4219869 Business Flow
105496 -- Update journal entry status -- Need to generate this within IF <condition>
105497 ----------------------------------------------------------------------------------
105498 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105499 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
105500 ,p_balance_type_code => l_balance_type_code
105501 );
105502
105503 -------------------------------------------------------------------------------------------
105504 -- 4262811 - Generate the Accrual Reversal lines
105505 -------------------------------------------------------------------------------------------
105506 BEGIN
105507 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
105508 (g_array_event(p_event_id).array_value_num('header_index'));
105509 IF l_acc_rev_flag IS NULL THEN
105510 l_acc_rev_flag := 'N';
105511 END IF;
105512 EXCEPTION
105513 WHEN OTHERS THEN
105514 l_acc_rev_flag := 'N';
105515 END;
105516 --
105517 IF (l_acc_rev_flag = 'Y') THEN
105518
105519 -- 4645092 ------------------------------------------------------------------------------
105520 -- To allow MPA report to determine if it should generate report process
105521 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
105522 ------------------------------------------------------------------------------------------
105523
105524 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
105525 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
105526 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
105527 -- call ADRs
105528 -- Bug 4922099
105529 --
105530 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105531 (NVL(l_actual_upg_option, 'N') = 'O') OR
105532 (NVL(l_enc_upg_option, 'N') = 'O')
105533 )
105534 THEN
105535 NULL;
105536 --
105537 --
105538
105539 l_ccid := AcctDerRule_33(
105540 p_application_id => p_application_id
105541 , p_ae_header_id => l_ae_header_id
105542 , p_source_30 => p_source_30
105543 , x_transaction_coa_id => l_adr_transaction_coa_id
105544 , x_accounting_coa_id => l_adr_accounting_coa_id
105545 , x_value_type_code => l_adr_value_type_code
105546 , p_side => 'NA'
105547 );
105548
105552 , p_transaction_coa_id => l_adr_transaction_coa_id
105549 xla_ae_lines_pkg.set_ccid(
105550 p_code_combination_id => l_ccid
105551 , p_value_type_code => l_adr_value_type_code
105553 , p_accounting_coa_id => l_adr_accounting_coa_id
105554 , p_adr_code => 'AP_INVOICE_DIST'
105555 , p_adr_type_code => 'S'
105556 , p_component_type => l_component_type
105557 , p_component_code => l_component_code
105558 , p_component_type_code => l_component_type_code
105559 , p_component_appl_id => l_component_appl_id
105560 , p_amb_context_code => l_amb_context_code
105561 , p_side => 'NA'
105562 );
105563
105564
105565 --
105566 --
105567 END IF;
105568
105569 --
105570 -- Update the line information that should be overwritten
105571 --
105572 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
105573 p_header_num => 1);
105574 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
105575
105576 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
105577
105578 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
105579 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
105580 END IF;
105581
105582 --
105583 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
105584 --
105585 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
105586 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
105587 ELSE
105588 ---------------------------------------------------------------------------------------------------
105589 -- 4262811a Switch Sign
105590 ---------------------------------------------------------------------------------------------------
105591 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
105592 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105594 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105595 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105596 -- 5132302
105597 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
105598 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105599
105600 END IF;
105601
105602 -- 4955764
105603 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105604 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
105605
105606
105607 XLA_AE_LINES_PKG.ValidateCurrentLine;
105608 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105609
105610 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105611 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
105612 ,p_balance_type_code => l_balance_type_code);
105613
105614 END IF;
105615
105616 -----------------------------------------------------------------------------------------
105617 -- 4262811 Multiperiod Accounting
105618 -----------------------------------------------------------------------------------------
105619 -- No MPA option is assigned.
105620
105621
105622 END IF;
105623 END IF;
105624 --
105625
105626 --
105627 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105628 trace
105629 (p_msg => 'END of AcctLineType_175'
105630 ,p_level => C_LEVEL_PROCEDURE
105631 ,p_module => l_log_module);
105632 END IF;
105633 --
105634 EXCEPTION
105635 WHEN xla_exceptions_pkg.application_exception THEN
105636 RAISE;
105637 WHEN OTHERS THEN
105638 xla_exceptions_pkg.raise_message
105639 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_175');
105640 END AcctLineType_175;
105641 --
105642
105643 ---------------------------------------
105644 --
105645 -- PRIVATE FUNCTION
105646 -- AcctLineType_176
105647 --
105648 ---------------------------------------
105649 PROCEDURE AcctLineType_176 (
105650 p_application_id IN NUMBER
105651 ,p_event_id IN NUMBER
105652 ,p_calculate_acctd_flag IN VARCHAR2
105653 ,p_calculate_g_l_flag IN VARCHAR2
105654 ,p_actual_flag IN OUT VARCHAR2
105655 ,p_balance_type_code OUT VARCHAR2
105656 ,p_gain_or_loss_ref OUT VARCHAR2
105657
105658 --Invoice Distribution Description
105659 , p_source_1 IN VARCHAR2
105660 --Invoice Distribution Ledger Amount
105661 , p_source_21 IN NUMBER
105662 --Invoice Distribution Account
105663 , p_source_30 IN NUMBER
105664 --Invoice Distribution Type
105665 , p_source_33 IN VARCHAR2
105666 , p_source_33_meaning IN VARCHAR2
105667 --Accounting Reversal Indicator
105668 , p_source_52 IN VARCHAR2
105669 --Distribution Link Type
105673 --Invoice Identifier
105670 , p_source_54 IN VARCHAR2
105671 --Allocation to Main Distribution Identifier
105672 , p_source_56 IN NUMBER
105674 , p_source_57 IN NUMBER
105675 --Invoice Distribution Identifier
105676 , p_source_63 IN NUMBER
105677 --Payables Encumbrance Upgrade Credit Account
105678 , p_source_64 IN NUMBER
105679 --Payables Encumbrance Upgrade Credit Amount
105680 , p_source_65 IN NUMBER
105681 --Invoice Currency Code
105682 , p_source_66 IN VARCHAR2
105683 --Payables Encumbrance Upgrade Credit Base Amount
105684 , p_source_67 IN NUMBER
105685 --Payables Encumbrance Upgrade Debit Account
105686 , p_source_68 IN NUMBER
105687 --Payables Encumbrance Upgrade Debit Amount
105688 , p_source_69 IN NUMBER
105689 --Payables Encumbrance Upgrade Debit Base Amount
105690 , p_source_70 IN NUMBER
105691 --Payables Encumbrance Upgrade Option
105692 , p_source_71 IN VARCHAR2
105693 --Invoice Distribution Amount
105694 , p_source_72 IN NUMBER
105695 --Deferred Accounting End Date
105696 , p_source_76 IN DATE
105697 --Deferred Accounting Option
105698 , p_source_77 IN VARCHAR2
105699 --Deferred Accounting Start Date
105700 , p_source_78 IN DATE
105701 --Override Accounted Amount Indicator
105702 , p_source_79 IN VARCHAR2
105703 , p_source_79_meaning IN VARCHAR2
105704 --Invoice Supplier Identifier
105705 , p_source_80 IN NUMBER
105706 --Invoice Supplier Site Identifier
105707 , p_source_81 IN NUMBER
105708 --Third Party Type
105709 , p_source_82 IN VARCHAR2
105710 --Parent Reversal Identifier
105711 , p_source_83 IN NUMBER
105712 --Invoice Distribution Tax Line Identifier
105713 , p_source_85 IN NUMBER
105714 --Invoice Distribution Tax Distribution Identifier from Tax
105715 , p_source_86 IN NUMBER
105716 --Invoice Distribution Summary Tax Line Identifier
105717 , p_source_87 IN NUMBER
105718 --Payables Upgrade Credit Encumbrance Type Identifier
105719 , p_source_88 IN NUMBER
105720 --Payables Upgrade Debit Encumbrance Type Identifier
105721 , p_source_89 IN NUMBER
105722 --Business Flow Accounts Payable Application Identifier
105723 , p_source_90 IN NUMBER
105724 --Business Flow Invoice Distribution Type
105725 , p_source_91 IN VARCHAR2
105726 --Business Flow Invoice Entity Code
105727 , p_source_92 IN VARCHAR2
105728 --Business Flow Invoice Distribution Identifier
105729 , p_source_93 IN NUMBER
105730 --Business Flow Invoice Identifier
105731 , p_source_94 IN NUMBER
105732 --Accrue on Receipt Option
105733 , p_source_95 IN VARCHAR2
105734 , p_source_95_meaning IN VARCHAR2
105735 --Self-Assessed Tax Flag
105736 , p_source_135 IN VARCHAR2
105737 , p_source_135_meaning IN VARCHAR2
105738 --Invoice Exchange Date
105739 , p_source_136 IN DATE
105740 --Invoice Exchange Rate
105741 , p_source_137 IN NUMBER
105742 --Invoice Exchange Rate Type
105743 , p_source_138 IN VARCHAR2
105744 )
105745 IS
105746
105747 l_component_type VARCHAR2(80);
105748 l_component_code VARCHAR2(30);
105749 l_component_type_code VARCHAR2(1);
105750 l_component_appl_id INTEGER;
105751 l_amb_context_code VARCHAR2(30);
105752 l_entity_code VARCHAR2(30);
105753 l_event_class_code VARCHAR2(30);
105754 l_ae_header_id NUMBER;
105755 l_event_type_code VARCHAR2(30);
105756 l_line_definition_code VARCHAR2(30);
105757 l_line_definition_owner_code VARCHAR2(1);
105758 --
105759 -- adr variables
105760 l_segment VARCHAR2(30);
105761 l_ccid NUMBER;
105762 l_adr_transaction_coa_id NUMBER;
105763 l_adr_accounting_coa_id NUMBER;
105764 l_adr_flexfield_segment_code VARCHAR2(30);
105765 l_adr_flex_value_set_id NUMBER;
105766 l_adr_value_type_code VARCHAR2(30);
105767 l_adr_value_combination_id NUMBER;
105768 l_adr_value_segment_code VARCHAR2(30);
105769
105770 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105771 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105772 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105773 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105774
105775 -- 4262811 Variables ------------------------------------------------------------------------------------------
105776 l_entered_amt_idx NUMBER;
105777 l_accted_amt_idx NUMBER;
105778 l_acc_rev_flag VARCHAR2(1);
105779 l_accrual_line_num NUMBER;
105780 l_tmp_amt NUMBER;
105781 l_acc_rev_natural_side_code VARCHAR2(1);
105782
105783 l_num_entries NUMBER;
105784 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105785 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105786 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105787 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105788 l_recog_line_1 NUMBER;
105789 l_recog_line_2 NUMBER;
105790
105791 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105795 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105792 l_bflow_applied_to_amt NUMBER; -- 5132302
105793 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105794
105796
105797 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105798 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105799
105800 ---------------------------------------------------------------------------------------------------------------
105801
105802
105803 --
105804 -- bulk performance
105805 --
105806 l_balance_type_code VARCHAR2(1);
105807 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105808 l_log_module VARCHAR2(240);
105809
105810 --
105811 -- Upgrade strategy
105812 --
105813 l_actual_upg_option VARCHAR2(1);
105814 l_enc_upg_option VARCHAR2(1);
105815
105816 --
105817 BEGIN
105818 --
105819 IF g_log_enabled THEN
105820 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_176';
105821 END IF;
105822 --
105823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105824
105825 trace
105826 (p_msg => 'BEGIN of AcctLineType_176'
105827 ,p_level => C_LEVEL_PROCEDURE
105828 ,p_module => l_log_module);
105829
105830 END IF;
105831 --
105832 l_component_type := 'AMB_JLT';
105833 l_component_code := 'AP_NON_RECOV_TAX_DM';
105834 l_component_type_code := 'S';
105835 l_component_appl_id := 200;
105836 l_amb_context_code := 'DEFAULT';
105837 l_entity_code := 'AP_INVOICES';
105838 l_event_class_code := 'DEBIT MEMOS';
105839 l_event_type_code := 'DEBIT MEMOS_ALL';
105840 l_line_definition_owner_code := 'S';
105841 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
105842 --
105843 l_balance_type_code := 'A';
105844 l_segment := NULL;
105845 l_ccid := NULL;
105846 l_adr_transaction_coa_id := NULL;
105847 l_adr_accounting_coa_id := NULL;
105848 l_adr_flexfield_segment_code := NULL;
105849 l_adr_flex_value_set_id := NULL;
105850 l_adr_value_type_code := NULL;
105851 l_adr_value_combination_id := NULL;
105852 l_adr_value_segment_code := NULL;
105853
105854 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105855 l_bflow_class_code := ''; -- 4219869 Business Flow
105856 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105857 l_budgetary_control_flag := 'N';
105858
105859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105860 l_bflow_applied_to_amt := NULL; -- 5132302
105861 l_entered_amt_idx := NULL; -- 4262811
105862 l_accted_amt_idx := NULL; -- 4262811
105863 l_acc_rev_flag := NULL; -- 4262811
105864 l_accrual_line_num := NULL; -- 4262811
105865 l_tmp_amt := NULL; -- 4262811
105866 --
105867
105868 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105869 l_balance_type_code <> 'B' THEN
105870 IF (NVL(p_source_33,'
105871 ') = 'NONREC_TAX' OR
105872 NVL(p_source_33,'
105873 ') = 'TERV' OR
105874 NVL(p_source_33,'
105875 ') = 'TIPV' OR
105876 NVL(p_source_33,'
105877 ') = 'TRV') AND
105878 NVL(p_source_95,'
105879 ') <> 'Y' AND
105880 NVL(p_source_135,'
105881 ') <> 'Y'
105882 THEN
105883
105884 --
105885 XLA_AE_LINES_PKG.SetNewLine;
105886
105887 p_balance_type_code := l_balance_type_code;
105888 -- set the flag so later we will know whether the gain loss line needs to be created
105889
105890 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105891 p_actual_flag :='A';
105892 END IF;
105893
105894 --
105895 -- bulk performance
105896 --
105897 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105898 p_header_num => 0); -- 4262811
105899 --
105900 -- set accounting line options
105901 --
105902 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105903 p_natural_side_code => 'D'
105904 , p_gain_or_loss_flag => 'N'
105905 , p_gl_transfer_mode_code => 'S'
105906 , p_acct_entry_type_code => 'A'
105907 , p_switch_side_flag => 'Y'
105908 , p_merge_duplicate_code => 'A'
105909 );
105910 --
105911 l_acc_rev_natural_side_code := 'C'; -- 4262811
105912 --
105913 --
105914 -- set accounting line type info
105915 --
105916 xla_ae_lines_pkg.SetAcctLineType
105917 (p_component_type => l_component_type
105918 ,p_event_type_code => l_event_type_code
105919 ,p_line_definition_owner_code => l_line_definition_owner_code
105920 ,p_line_definition_code => l_line_definition_code
105921 ,p_accounting_line_code => l_component_code
105922 ,p_accounting_line_type_code => l_component_type_code
105923 ,p_accounting_line_appl_id => l_component_appl_id
105924 ,p_amb_context_code => l_amb_context_code
105925 ,p_entity_code => l_entity_code
105929 --
105926 ,p_event_class_code => l_event_class_code);
105927 --
105928 -- set accounting class
105930 xla_ae_lines_pkg.SetAcctClass(
105931 p_accounting_class_code => 'NRTAX'
105932 , p_ae_header_id => l_ae_header_id
105933 );
105934
105935 --
105936 -- set rounding class
105937 --
105938 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105939 'NRTAX';
105940
105941 --
105942 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105943 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105944 --
105945 -- bulk performance
105946 --
105947 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105948
105949 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105950 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105951
105952 -- 4955764
105953 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105954 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105955
105956 -- 4458381 Public Sector Enh
105957
105958 --
105959 -- set accounting attributes for the line type
105960 --
105961 l_entered_amt_idx := 23;
105962 l_accted_amt_idx := 28;
105963 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105964 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105965 l_rec_acct_attrs.array_char_value(1) := p_source_52;
105966 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
105967 l_rec_acct_attrs.array_num_value(2) :=
105968 xla_ae_sources_pkg.GetSystemSourceNum(
105969 p_source_code => 'XLA_EVENT_APPL_ID'
105970 , p_source_type_code => 'Y'
105971 , p_source_application_id => 602
105972 );
105973 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
105974 l_rec_acct_attrs.array_char_value(3) := p_source_54;
105975 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
105976 l_rec_acct_attrs.array_char_value(4) :=
105977 xla_ae_sources_pkg.GetSystemSourceChar(
105978 p_source_code => 'XLA_ENTITY_CODE'
105979 , p_source_type_code => 'Y'
105980 , p_source_application_id => 602
105981 );
105982 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
105983 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
105984 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
105985 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
105986 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
105987 l_rec_acct_attrs.array_num_value(7) := p_source_90;
105988 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105989 l_rec_acct_attrs.array_char_value(8) := p_source_91;
105990 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
105991 l_rec_acct_attrs.array_char_value(9) := p_source_92;
105992 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
105993 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
105994 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105995 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
105996 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
105997 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
105998 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
105999 l_rec_acct_attrs.array_char_value(13) := p_source_54;
106000 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
106001 l_rec_acct_attrs.array_num_value(14) := p_source_64;
106002 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
106003 l_rec_acct_attrs.array_num_value(15) := p_source_65;
106004 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
106005 l_rec_acct_attrs.array_char_value(16) := p_source_66;
106006 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
106007 l_rec_acct_attrs.array_num_value(17) := p_source_67;
106008 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
106009 l_rec_acct_attrs.array_num_value(18) := p_source_68;
106010 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
106011 l_rec_acct_attrs.array_num_value(19) := p_source_69;
106012 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
106013 l_rec_acct_attrs.array_char_value(20) := p_source_66;
106014 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
106015 l_rec_acct_attrs.array_num_value(21) := p_source_70;
106016 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
106017 l_rec_acct_attrs.array_char_value(22) := p_source_71;
106018 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
106019 l_rec_acct_attrs.array_num_value(23) := p_source_72;
106020 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
106021 l_rec_acct_attrs.array_char_value(24) := p_source_66;
106022 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
106023 l_rec_acct_attrs.array_date_value(25) := p_source_136;
106024 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
106025 l_rec_acct_attrs.array_num_value(26) := p_source_137;
106026 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
106027 l_rec_acct_attrs.array_char_value(27) := p_source_138;
106031 l_rec_acct_attrs.array_date_value(29) := p_source_76;
106028 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
106029 l_rec_acct_attrs.array_num_value(28) := p_source_21;
106030 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
106032 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
106033 l_rec_acct_attrs.array_char_value(30) := p_source_77;
106034 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
106035 l_rec_acct_attrs.array_date_value(31) := p_source_78;
106036 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
106037 l_rec_acct_attrs.array_char_value(32) := p_source_79;
106038 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
106039 l_rec_acct_attrs.array_num_value(33) := p_source_80;
106040 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
106041 l_rec_acct_attrs.array_num_value(34) := p_source_81;
106042 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
106043 l_rec_acct_attrs.array_char_value(35) := p_source_82;
106044 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
106045 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
106046 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
106047 l_rec_acct_attrs.array_char_value(37) := p_source_54;
106048 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
106049 l_rec_acct_attrs.array_num_value(38) := p_source_85;
106050 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
106051 l_rec_acct_attrs.array_num_value(39) := p_source_86;
106052 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
106053 l_rec_acct_attrs.array_num_value(40) := p_source_87;
106054 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
106055 l_rec_acct_attrs.array_num_value(41) := p_source_88;
106056 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
106057 l_rec_acct_attrs.array_num_value(42) := p_source_89;
106058
106059 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106060 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106061
106062 ---------------------------------------------------------------------------------------------------------------
106063 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106064 ---------------------------------------------------------------------------------------------------------------
106065 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106066
106067 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106068 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106069
106070 IF xla_accounting_cache_pkg.GetValueChar
106071 (p_source_code => 'LEDGER_CATEGORY_CODE'
106072 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106073 AND l_bflow_method_code = 'PRIOR_ENTRY'
106074 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106075 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106076 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106077 )
106078 THEN
106079 xla_ae_lines_pkg.BflowUpgEntry
106080 (p_business_method_code => l_bflow_method_code
106081 ,p_business_class_code => l_bflow_class_code
106082 ,p_balance_type => l_balance_type_code);
106083 ELSE
106084 NULL;
106085 -- No business flow processing for business flow method of NONE.
106086 END IF;
106087
106088 --
106089 -- call analytical criteria
106090 --
106091
106092 --
106093 -- call description
106094 --
106095
106096 xla_ae_lines_pkg.SetLineDescription(
106097 p_ae_header_id => l_ae_header_id
106098 ,p_description => Description_1 (
106099 p_application_id => p_application_id
106100 , p_ae_header_id => l_ae_header_id
106101 , p_source_1 => p_source_1
106102 )
106103 );
106104
106105
106106 --
106107 -- call ADRs
106108 -- Bug 4922099
106109 --
106110 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106111 (NVL(l_actual_upg_option, 'N') = 'O') OR
106112 (NVL(l_enc_upg_option, 'N') = 'O')
106113 )
106114 THEN
106115 NULL;
106116 --
106117 --
106118
106119 l_ccid := AcctDerRule_33(
106120 p_application_id => p_application_id
106121 , p_ae_header_id => l_ae_header_id
106122 , p_source_30 => p_source_30
106123 , x_transaction_coa_id => l_adr_transaction_coa_id
106124 , x_accounting_coa_id => l_adr_accounting_coa_id
106125 , x_value_type_code => l_adr_value_type_code
106126 , p_side => 'NA'
106127 );
106128
106129 xla_ae_lines_pkg.set_ccid(
106130 p_code_combination_id => l_ccid
106131 , p_value_type_code => l_adr_value_type_code
106132 , p_transaction_coa_id => l_adr_transaction_coa_id
106133 , p_accounting_coa_id => l_adr_accounting_coa_id
106134 , p_adr_code => 'AP_INVOICE_DIST'
106135 , p_adr_type_code => 'S'
106136 , p_component_type => l_component_type
106137 , p_component_code => l_component_code
106141 , p_side => 'NA'
106138 , p_component_type_code => l_component_type_code
106139 , p_component_appl_id => l_component_appl_id
106140 , p_amb_context_code => l_amb_context_code
106142 );
106143
106144
106145 --
106146 --
106147 END IF;
106148 --
106149 -- Bug 4922099
106150 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106151 (NVL(l_enc_upg_option, 'N') = 'O')
106152 ) AND
106153 (l_bflow_method_code = 'PRIOR_ENTRY')
106154 )
106155 THEN
106156 IF
106157 --
106158 1 = 2
106159 --
106160 THEN
106161 xla_accounting_err_pkg.build_message
106162 (p_appli_s_name => 'XLA'
106163 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106164 ,p_token_1 => 'LINE_NUMBER'
106165 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106166 ,p_token_2 => 'LINE_TYPE_NAME'
106167 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106168 l_component_type
106169 ,l_component_code
106170 ,l_component_type_code
106171 ,l_component_appl_id
106172 ,l_amb_context_code
106173 ,l_entity_code
106174 ,l_event_class_code
106175 )
106176 ,p_token_3 => 'OWNER'
106177 ,p_value_3 => xla_lookups_pkg.get_meaning(
106178 p_lookup_type => 'XLA_OWNER_TYPE'
106179 ,p_lookup_code => l_component_type_code
106180 )
106181 ,p_token_4 => 'PRODUCT_NAME'
106182 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106183 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106184 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106185 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106186 ,p_ae_header_id => NULL
106187 );
106188
106189 IF (C_LEVEL_ERROR>= g_log_level) THEN
106190 trace
106191 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106192 ,p_level => C_LEVEL_ERROR
106193 ,p_module => l_log_module);
106194 END IF;
106195 END IF;
106196 END IF;
106197 --
106198 --
106199 ------------------------------------------------------------------------------------------------
106200 -- 4219869 Business Flow
106201 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106202 -- Prior Entry. Currently, the following code is always generated.
106203 ------------------------------------------------------------------------------------------------
106204 XLA_AE_LINES_PKG.ValidateCurrentLine;
106205
106206 ------------------------------------------------------------------------------------
106207 -- 4219869 Business Flow
106208 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106209 ------------------------------------------------------------------------------------
106210 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106211
106212 ----------------------------------------------------------------------------------
106213 -- 4219869 Business Flow
106214 -- Update journal entry status -- Need to generate this within IF <condition>
106215 ----------------------------------------------------------------------------------
106216 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106217 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106218 ,p_balance_type_code => l_balance_type_code
106219 );
106220
106221 -------------------------------------------------------------------------------------------
106222 -- 4262811 - Generate the Accrual Reversal lines
106223 -------------------------------------------------------------------------------------------
106224 BEGIN
106225 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106226 (g_array_event(p_event_id).array_value_num('header_index'));
106227 IF l_acc_rev_flag IS NULL THEN
106228 l_acc_rev_flag := 'N';
106229 END IF;
106230 EXCEPTION
106231 WHEN OTHERS THEN
106232 l_acc_rev_flag := 'N';
106233 END;
106234 --
106235 IF (l_acc_rev_flag = 'Y') THEN
106236
106240 ------------------------------------------------------------------------------------------
106237 -- 4645092 ------------------------------------------------------------------------------
106238 -- To allow MPA report to determine if it should generate report process
106239 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106241
106242 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106243 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106244 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106245 -- call ADRs
106246 -- Bug 4922099
106247 --
106248 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106249 (NVL(l_actual_upg_option, 'N') = 'O') OR
106250 (NVL(l_enc_upg_option, 'N') = 'O')
106251 )
106252 THEN
106253 NULL;
106254 --
106255 --
106256
106257 l_ccid := AcctDerRule_33(
106258 p_application_id => p_application_id
106259 , p_ae_header_id => l_ae_header_id
106260 , p_source_30 => p_source_30
106261 , x_transaction_coa_id => l_adr_transaction_coa_id
106262 , x_accounting_coa_id => l_adr_accounting_coa_id
106263 , x_value_type_code => l_adr_value_type_code
106264 , p_side => 'NA'
106265 );
106266
106267 xla_ae_lines_pkg.set_ccid(
106268 p_code_combination_id => l_ccid
106269 , p_value_type_code => l_adr_value_type_code
106270 , p_transaction_coa_id => l_adr_transaction_coa_id
106271 , p_accounting_coa_id => l_adr_accounting_coa_id
106272 , p_adr_code => 'AP_INVOICE_DIST'
106273 , p_adr_type_code => 'S'
106274 , p_component_type => l_component_type
106275 , p_component_code => l_component_code
106276 , p_component_type_code => l_component_type_code
106277 , p_component_appl_id => l_component_appl_id
106278 , p_amb_context_code => l_amb_context_code
106279 , p_side => 'NA'
106280 );
106281
106282
106283 --
106284 --
106285 END IF;
106286
106287 --
106288 -- Update the line information that should be overwritten
106289 --
106290 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106291 p_header_num => 1);
106292 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106293
106294 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106295
106296 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
106297 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
106298 END IF;
106299
106300 --
106301 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
106302 --
106303 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
106304 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
106305 ELSE
106306 ---------------------------------------------------------------------------------------------------
106307 -- 4262811a Switch Sign
106308 ---------------------------------------------------------------------------------------------------
106309 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
106310 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106311 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106312 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106313 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106314 -- 5132302
106315 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
106316 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106317
106318 END IF;
106319
106320 -- 4955764
106321 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106322 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
106323
106324
106325 XLA_AE_LINES_PKG.ValidateCurrentLine;
106326 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106327
106328 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106329 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
106330 ,p_balance_type_code => l_balance_type_code);
106331
106332 END IF;
106333
106334 -----------------------------------------------------------------------------------------
106335 -- 4262811 Multiperiod Accounting
106336 -----------------------------------------------------------------------------------------
106337 -- No MPA option is assigned.
106338
106339
106340 END IF;
106341 END IF;
106342 --
106343
106344 --
106345 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106346 trace
106347 (p_msg => 'END of AcctLineType_176'
106348 ,p_level => C_LEVEL_PROCEDURE
106349 ,p_module => l_log_module);
106353 WHEN xla_exceptions_pkg.application_exception THEN
106350 END IF;
106351 --
106352 EXCEPTION
106354 RAISE;
106355 WHEN OTHERS THEN
106356 xla_exceptions_pkg.raise_message
106357 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_176');
106358 END AcctLineType_176;
106359 --
106360
106361 ---------------------------------------
106362 --
106363 -- PRIVATE FUNCTION
106364 -- AcctLineType_177
106365 --
106366 ---------------------------------------
106367 PROCEDURE AcctLineType_177 (
106368 p_application_id IN NUMBER
106369 ,p_event_id IN NUMBER
106370 ,p_calculate_acctd_flag IN VARCHAR2
106371 ,p_calculate_g_l_flag IN VARCHAR2
106372 ,p_actual_flag IN OUT VARCHAR2
106373 ,p_balance_type_code OUT VARCHAR2
106374 ,p_gain_or_loss_ref OUT VARCHAR2
106375
106376 --Invoice Distribution Description
106377 , p_source_1 IN VARCHAR2
106378 --Invoice Distribution Ledger Amount
106379 , p_source_21 IN NUMBER
106380 --Invoice Distribution Account
106381 , p_source_30 IN NUMBER
106382 --Invoice Distribution Type
106383 , p_source_33 IN VARCHAR2
106384 , p_source_33_meaning IN VARCHAR2
106385 --Accounting Reversal Indicator
106386 , p_source_52 IN VARCHAR2
106387 --Distribution Link Type
106388 , p_source_54 IN VARCHAR2
106389 --Allocation to Main Distribution Identifier
106390 , p_source_56 IN NUMBER
106391 --Invoice Identifier
106392 , p_source_57 IN NUMBER
106393 --Invoice Distribution Identifier
106394 , p_source_63 IN NUMBER
106395 --Payables Encumbrance Upgrade Credit Account
106396 , p_source_64 IN NUMBER
106397 --Payables Encumbrance Upgrade Credit Amount
106398 , p_source_65 IN NUMBER
106399 --Invoice Currency Code
106400 , p_source_66 IN VARCHAR2
106401 --Payables Encumbrance Upgrade Credit Base Amount
106402 , p_source_67 IN NUMBER
106403 --Payables Encumbrance Upgrade Debit Account
106404 , p_source_68 IN NUMBER
106405 --Payables Encumbrance Upgrade Debit Amount
106406 , p_source_69 IN NUMBER
106407 --Payables Encumbrance Upgrade Debit Base Amount
106408 , p_source_70 IN NUMBER
106409 --Payables Encumbrance Upgrade Option
106410 , p_source_71 IN VARCHAR2
106411 --Invoice Distribution Amount
106412 , p_source_72 IN NUMBER
106413 --Deferred Accounting End Date
106414 , p_source_76 IN DATE
106415 --Deferred Accounting Option
106416 , p_source_77 IN VARCHAR2
106417 --Deferred Accounting Start Date
106418 , p_source_78 IN DATE
106419 --Override Accounted Amount Indicator
106420 , p_source_79 IN VARCHAR2
106421 , p_source_79_meaning IN VARCHAR2
106422 --Invoice Supplier Identifier
106423 , p_source_80 IN NUMBER
106424 --Invoice Supplier Site Identifier
106425 , p_source_81 IN NUMBER
106426 --Third Party Type
106427 , p_source_82 IN VARCHAR2
106428 --Parent Reversal Identifier
106429 , p_source_83 IN NUMBER
106430 --Invoice Distribution Statistical Amount
106431 , p_source_84 IN NUMBER
106432 --Invoice Distribution Tax Line Identifier
106433 , p_source_85 IN NUMBER
106434 --Invoice Distribution Tax Distribution Identifier from Tax
106435 , p_source_86 IN NUMBER
106436 --Invoice Distribution Summary Tax Line Identifier
106437 , p_source_87 IN NUMBER
106438 --Payables Upgrade Credit Encumbrance Type Identifier
106439 , p_source_88 IN NUMBER
106440 --Payables Upgrade Debit Encumbrance Type Identifier
106441 , p_source_89 IN NUMBER
106442 --Business Flow Accounts Payable Application Identifier
106443 , p_source_90 IN NUMBER
106444 --Business Flow Invoice Distribution Type
106445 , p_source_91 IN VARCHAR2
106446 --Business Flow Invoice Entity Code
106447 , p_source_92 IN VARCHAR2
106448 --Business Flow Invoice Distribution Identifier
106449 , p_source_93 IN NUMBER
106450 --Business Flow Invoice Identifier
106451 , p_source_94 IN NUMBER
106452 --Accrue on Receipt Option
106453 , p_source_95 IN VARCHAR2
106454 , p_source_95_meaning IN VARCHAR2
106455 --Self-Assessed Tax Flag
106456 , p_source_135 IN VARCHAR2
106457 , p_source_135_meaning IN VARCHAR2
106458 --Invoice Exchange Date
106459 , p_source_136 IN DATE
106460 --Invoice Exchange Rate
106461 , p_source_137 IN NUMBER
106462 --Invoice Exchange Rate Type
106463 , p_source_138 IN VARCHAR2
106464 )
106465 IS
106466
106467 l_component_type VARCHAR2(80);
106468 l_component_code VARCHAR2(30);
106469 l_component_type_code VARCHAR2(1);
106470 l_component_appl_id INTEGER;
106471 l_amb_context_code VARCHAR2(30);
106472 l_entity_code VARCHAR2(30);
106473 l_event_class_code VARCHAR2(30);
106474 l_ae_header_id NUMBER;
106475 l_event_type_code VARCHAR2(30);
106476 l_line_definition_code VARCHAR2(30);
106477 l_line_definition_owner_code VARCHAR2(1);
106478 --
106479 -- adr variables
106480 l_segment VARCHAR2(30);
106481 l_ccid NUMBER;
106482 l_adr_transaction_coa_id NUMBER;
106483 l_adr_accounting_coa_id NUMBER;
106484 l_adr_flexfield_segment_code VARCHAR2(30);
106488 l_adr_value_segment_code VARCHAR2(30);
106485 l_adr_flex_value_set_id NUMBER;
106486 l_adr_value_type_code VARCHAR2(30);
106487 l_adr_value_combination_id NUMBER;
106489
106490 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
106491 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
106492 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
106493 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
106494
106495 -- 4262811 Variables ------------------------------------------------------------------------------------------
106496 l_entered_amt_idx NUMBER;
106497 l_accted_amt_idx NUMBER;
106498 l_acc_rev_flag VARCHAR2(1);
106499 l_accrual_line_num NUMBER;
106500 l_tmp_amt NUMBER;
106501 l_acc_rev_natural_side_code VARCHAR2(1);
106502
106503 l_num_entries NUMBER;
106504 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
106505 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
106506 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
106507 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
106508 l_recog_line_1 NUMBER;
106509 l_recog_line_2 NUMBER;
106510
106511 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
106512 l_bflow_applied_to_amt NUMBER; -- 5132302
106513 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
106514
106515 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
106516
106517 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
106518 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
106519
106520 ---------------------------------------------------------------------------------------------------------------
106521
106522
106523 --
106524 -- bulk performance
106525 --
106526 l_balance_type_code VARCHAR2(1);
106527 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
106528 l_log_module VARCHAR2(240);
106529
106530 --
106531 -- Upgrade strategy
106532 --
106533 l_actual_upg_option VARCHAR2(1);
106534 l_enc_upg_option VARCHAR2(1);
106535
106536 --
106537 BEGIN
106538 --
106539 IF g_log_enabled THEN
106540 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_177';
106541 END IF;
106542 --
106543 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106544
106545 trace
106546 (p_msg => 'BEGIN of AcctLineType_177'
106547 ,p_level => C_LEVEL_PROCEDURE
106548 ,p_module => l_log_module);
106549
106550 END IF;
106551 --
106552 l_component_type := 'AMB_JLT';
106553 l_component_code := 'AP_NON_RECOV_TAX_INV';
106554 l_component_type_code := 'S';
106555 l_component_appl_id := 200;
106556 l_amb_context_code := 'DEFAULT';
106557 l_entity_code := 'AP_INVOICES';
106558 l_event_class_code := 'INVOICES';
106559 l_event_type_code := 'INVOICES_ALL';
106560 l_line_definition_owner_code := 'S';
106561 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
106562 --
106563 l_balance_type_code := 'A';
106564 l_segment := NULL;
106565 l_ccid := NULL;
106566 l_adr_transaction_coa_id := NULL;
106567 l_adr_accounting_coa_id := NULL;
106568 l_adr_flexfield_segment_code := NULL;
106569 l_adr_flex_value_set_id := NULL;
106570 l_adr_value_type_code := NULL;
106571 l_adr_value_combination_id := NULL;
106572 l_adr_value_segment_code := NULL;
106573
106574 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
106575 l_bflow_class_code := ''; -- 4219869 Business Flow
106576 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
106577 l_budgetary_control_flag := 'N';
106578
106579 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106580 l_bflow_applied_to_amt := NULL; -- 5132302
106581 l_entered_amt_idx := NULL; -- 4262811
106582 l_accted_amt_idx := NULL; -- 4262811
106583 l_acc_rev_flag := NULL; -- 4262811
106584 l_accrual_line_num := NULL; -- 4262811
106585 l_tmp_amt := NULL; -- 4262811
106586 --
106587
106588 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
106589 l_balance_type_code <> 'B' THEN
106590 IF (NVL(p_source_33,'
106591 ') = 'NONREC_TAX' OR
106592 NVL(p_source_33,'
106593 ') = 'TERV' OR
106594 NVL(p_source_33,'
106595 ') = 'TIPV' OR
106596 NVL(p_source_33,'
106597 ') = 'TRV') AND
106598 NVL(p_source_95,'
106599 ') <> 'Y' AND
106600 NVL(p_source_135,'
106601 ') <> 'Y'
106602 THEN
106603
106604 --
106605 XLA_AE_LINES_PKG.SetNewLine;
106606
106607 p_balance_type_code := l_balance_type_code;
106608 -- set the flag so later we will know whether the gain loss line needs to be created
106609
106610 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
106611 p_actual_flag :='A';
106612 END IF;
106613
106614 --
106615 -- bulk performance
106616 --
106617 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
106621 --
106618 p_header_num => 0); -- 4262811
106619 --
106620 -- set accounting line options
106622 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
106623 p_natural_side_code => 'D'
106624 , p_gain_or_loss_flag => 'N'
106625 , p_gl_transfer_mode_code => 'S'
106626 , p_acct_entry_type_code => 'A'
106627 , p_switch_side_flag => 'Y'
106628 , p_merge_duplicate_code => 'W'
106629 );
106630 --
106631 l_acc_rev_natural_side_code := 'C'; -- 4262811
106632 --
106633 --
106634 -- set accounting line type info
106635 --
106636 xla_ae_lines_pkg.SetAcctLineType
106637 (p_component_type => l_component_type
106638 ,p_event_type_code => l_event_type_code
106639 ,p_line_definition_owner_code => l_line_definition_owner_code
106640 ,p_line_definition_code => l_line_definition_code
106641 ,p_accounting_line_code => l_component_code
106642 ,p_accounting_line_type_code => l_component_type_code
106643 ,p_accounting_line_appl_id => l_component_appl_id
106644 ,p_amb_context_code => l_amb_context_code
106645 ,p_entity_code => l_entity_code
106646 ,p_event_class_code => l_event_class_code);
106647 --
106648 -- set accounting class
106649 --
106650 xla_ae_lines_pkg.SetAcctClass(
106651 p_accounting_class_code => 'NRTAX'
106652 , p_ae_header_id => l_ae_header_id
106653 );
106654
106655 --
106656 -- set rounding class
106657 --
106658 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
106659 'NRTAX';
106660
106661 --
106662 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
106663 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
106664 --
106665 -- bulk performance
106666 --
106667 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
106668
106669 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
106670 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
106671
106672 -- 4955764
106673 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106674 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
106675
106676 -- 4458381 Public Sector Enh
106677
106678 --
106679 -- set accounting attributes for the line type
106680 --
106681 l_entered_amt_idx := 24;
106682 l_accted_amt_idx := 29;
106683 l_bflow_applied_to_amt_idx := 7; -- 5132302
106684 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
106685 l_rec_acct_attrs.array_char_value(1) := p_source_52;
106686 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
106687 l_rec_acct_attrs.array_num_value(2) :=
106688 xla_ae_sources_pkg.GetSystemSourceNum(
106689 p_source_code => 'XLA_EVENT_APPL_ID'
106690 , p_source_type_code => 'Y'
106691 , p_source_application_id => 602
106692 );
106693 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
106694 l_rec_acct_attrs.array_char_value(3) := p_source_54;
106695 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
106696 l_rec_acct_attrs.array_char_value(4) :=
106697 xla_ae_sources_pkg.GetSystemSourceChar(
106698 p_source_code => 'XLA_ENTITY_CODE'
106699 , p_source_type_code => 'Y'
106700 , p_source_application_id => 602
106701 );
106702 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
106703 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
106704 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
106705 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
106706 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
106707 l_rec_acct_attrs.array_num_value(7) := p_source_72;
106708 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
106709 l_rec_acct_attrs.array_num_value(8) := p_source_90;
106710 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
106711 l_rec_acct_attrs.array_char_value(9) := p_source_91;
106712 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
106713 l_rec_acct_attrs.array_char_value(10) := p_source_92;
106714 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
106715 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
106716 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
106717 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
106718 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
106719 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
106720 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
106721 l_rec_acct_attrs.array_char_value(14) := p_source_54;
106722 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
106723 l_rec_acct_attrs.array_num_value(15) := p_source_64;
106724 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
106725 l_rec_acct_attrs.array_num_value(16) := p_source_65;
106726 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
106727 l_rec_acct_attrs.array_char_value(17) := p_source_66;
106731 l_rec_acct_attrs.array_num_value(19) := p_source_68;
106728 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
106729 l_rec_acct_attrs.array_num_value(18) := p_source_67;
106730 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
106732 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
106733 l_rec_acct_attrs.array_num_value(20) := p_source_69;
106734 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
106735 l_rec_acct_attrs.array_char_value(21) := p_source_66;
106736 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
106737 l_rec_acct_attrs.array_num_value(22) := p_source_70;
106738 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
106739 l_rec_acct_attrs.array_char_value(23) := p_source_71;
106740 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
106741 l_rec_acct_attrs.array_num_value(24) := p_source_72;
106742 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
106743 l_rec_acct_attrs.array_char_value(25) := p_source_66;
106744 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
106745 l_rec_acct_attrs.array_date_value(26) := p_source_136;
106746 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
106747 l_rec_acct_attrs.array_num_value(27) := p_source_137;
106748 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
106749 l_rec_acct_attrs.array_char_value(28) := p_source_138;
106750 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
106751 l_rec_acct_attrs.array_num_value(29) := p_source_21;
106752 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
106753 l_rec_acct_attrs.array_date_value(30) := p_source_76;
106754 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
106755 l_rec_acct_attrs.array_char_value(31) := p_source_77;
106756 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
106757 l_rec_acct_attrs.array_date_value(32) := p_source_78;
106758 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
106759 l_rec_acct_attrs.array_char_value(33) := p_source_79;
106760 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
106761 l_rec_acct_attrs.array_num_value(34) := p_source_80;
106762 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
106763 l_rec_acct_attrs.array_num_value(35) := p_source_81;
106764 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
106765 l_rec_acct_attrs.array_char_value(36) := p_source_82;
106766 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
106767 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
106768 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
106769 l_rec_acct_attrs.array_char_value(38) := p_source_54;
106770 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
106771 l_rec_acct_attrs.array_num_value(39) := p_source_84;
106772 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
106773 l_rec_acct_attrs.array_num_value(40) := p_source_85;
106774 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
106775 l_rec_acct_attrs.array_num_value(41) := p_source_86;
106776 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
106777 l_rec_acct_attrs.array_num_value(42) := p_source_87;
106778 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
106779 l_rec_acct_attrs.array_num_value(43) := p_source_88;
106780 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
106781 l_rec_acct_attrs.array_num_value(44) := p_source_89;
106782
106783 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106784 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106785
106786 ---------------------------------------------------------------------------------------------------------------
106787 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106788 ---------------------------------------------------------------------------------------------------------------
106789 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106790
106791 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106792 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106793
106794 IF xla_accounting_cache_pkg.GetValueChar
106795 (p_source_code => 'LEDGER_CATEGORY_CODE'
106796 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106797 AND l_bflow_method_code = 'PRIOR_ENTRY'
106798 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106799 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106800 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106801 )
106802 THEN
106803 xla_ae_lines_pkg.BflowUpgEntry
106804 (p_business_method_code => l_bflow_method_code
106805 ,p_business_class_code => l_bflow_class_code
106806 ,p_balance_type => l_balance_type_code);
106807 ELSE
106808 NULL;
106809 -- No business flow processing for business flow method of NONE.
106810 END IF;
106811
106812 --
106813 -- call analytical criteria
106814 --
106815
106816 --
106817 -- call description
106818 --
106819
106820 xla_ae_lines_pkg.SetLineDescription(
106821 p_ae_header_id => l_ae_header_id
106822 ,p_description => Description_1 (
106826 )
106823 p_application_id => p_application_id
106824 , p_ae_header_id => l_ae_header_id
106825 , p_source_1 => p_source_1
106827 );
106828
106829
106830 --
106831 -- call ADRs
106832 -- Bug 4922099
106833 --
106834 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106835 (NVL(l_actual_upg_option, 'N') = 'O') OR
106836 (NVL(l_enc_upg_option, 'N') = 'O')
106837 )
106838 THEN
106839 NULL;
106840 --
106841 --
106842
106843 l_ccid := AcctDerRule_33(
106844 p_application_id => p_application_id
106845 , p_ae_header_id => l_ae_header_id
106846 , p_source_30 => p_source_30
106847 , x_transaction_coa_id => l_adr_transaction_coa_id
106848 , x_accounting_coa_id => l_adr_accounting_coa_id
106849 , x_value_type_code => l_adr_value_type_code
106850 , p_side => 'NA'
106851 );
106852
106853 xla_ae_lines_pkg.set_ccid(
106854 p_code_combination_id => l_ccid
106855 , p_value_type_code => l_adr_value_type_code
106856 , p_transaction_coa_id => l_adr_transaction_coa_id
106857 , p_accounting_coa_id => l_adr_accounting_coa_id
106858 , p_adr_code => 'AP_INVOICE_DIST'
106859 , p_adr_type_code => 'S'
106860 , p_component_type => l_component_type
106861 , p_component_code => l_component_code
106862 , p_component_type_code => l_component_type_code
106863 , p_component_appl_id => l_component_appl_id
106864 , p_amb_context_code => l_amb_context_code
106865 , p_side => 'NA'
106866 );
106867
106868
106869 --
106870 --
106871 END IF;
106872 --
106873 -- Bug 4922099
106874 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106875 (NVL(l_enc_upg_option, 'N') = 'O')
106876 ) AND
106877 (l_bflow_method_code = 'PRIOR_ENTRY')
106878 )
106879 THEN
106880 IF
106881 --
106882 1 = 2
106883 --
106884 THEN
106885 xla_accounting_err_pkg.build_message
106886 (p_appli_s_name => 'XLA'
106887 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106888 ,p_token_1 => 'LINE_NUMBER'
106889 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106890 ,p_token_2 => 'LINE_TYPE_NAME'
106891 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106892 l_component_type
106893 ,l_component_code
106894 ,l_component_type_code
106895 ,l_component_appl_id
106896 ,l_amb_context_code
106897 ,l_entity_code
106898 ,l_event_class_code
106899 )
106900 ,p_token_3 => 'OWNER'
106901 ,p_value_3 => xla_lookups_pkg.get_meaning(
106902 p_lookup_type => 'XLA_OWNER_TYPE'
106903 ,p_lookup_code => l_component_type_code
106904 )
106905 ,p_token_4 => 'PRODUCT_NAME'
106906 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106907 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106908 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106909 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106910 ,p_ae_header_id => NULL
106911 );
106912
106913 IF (C_LEVEL_ERROR>= g_log_level) THEN
106914 trace
106915 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106916 ,p_level => C_LEVEL_ERROR
106917 ,p_module => l_log_module);
106918 END IF;
106919 END IF;
106920 END IF;
106921 --
106922 --
106923 ------------------------------------------------------------------------------------------------
106924 -- 4219869 Business Flow
106925 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106926 -- Prior Entry. Currently, the following code is always generated.
106927 ------------------------------------------------------------------------------------------------
106928 XLA_AE_LINES_PKG.ValidateCurrentLine;
106929
106933 ------------------------------------------------------------------------------------
106930 ------------------------------------------------------------------------------------
106931 -- 4219869 Business Flow
106932 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106934 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106935
106936 ----------------------------------------------------------------------------------
106937 -- 4219869 Business Flow
106938 -- Update journal entry status -- Need to generate this within IF <condition>
106939 ----------------------------------------------------------------------------------
106940 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106941 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106942 ,p_balance_type_code => l_balance_type_code
106943 );
106944
106945 -------------------------------------------------------------------------------------------
106946 -- 4262811 - Generate the Accrual Reversal lines
106947 -------------------------------------------------------------------------------------------
106948 BEGIN
106949 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106950 (g_array_event(p_event_id).array_value_num('header_index'));
106951 IF l_acc_rev_flag IS NULL THEN
106952 l_acc_rev_flag := 'N';
106953 END IF;
106954 EXCEPTION
106955 WHEN OTHERS THEN
106956 l_acc_rev_flag := 'N';
106957 END;
106958 --
106959 IF (l_acc_rev_flag = 'Y') THEN
106960
106961 -- 4645092 ------------------------------------------------------------------------------
106962 -- To allow MPA report to determine if it should generate report process
106963 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106964 ------------------------------------------------------------------------------------------
106965
106966 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106967 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106968 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106969 -- call ADRs
106970 -- Bug 4922099
106971 --
106972 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106973 (NVL(l_actual_upg_option, 'N') = 'O') OR
106974 (NVL(l_enc_upg_option, 'N') = 'O')
106975 )
106976 THEN
106977 NULL;
106978 --
106979 --
106980
106981 l_ccid := AcctDerRule_33(
106982 p_application_id => p_application_id
106983 , p_ae_header_id => l_ae_header_id
106984 , p_source_30 => p_source_30
106985 , x_transaction_coa_id => l_adr_transaction_coa_id
106986 , x_accounting_coa_id => l_adr_accounting_coa_id
106987 , x_value_type_code => l_adr_value_type_code
106988 , p_side => 'NA'
106989 );
106990
106991 xla_ae_lines_pkg.set_ccid(
106992 p_code_combination_id => l_ccid
106993 , p_value_type_code => l_adr_value_type_code
106994 , p_transaction_coa_id => l_adr_transaction_coa_id
106995 , p_accounting_coa_id => l_adr_accounting_coa_id
106996 , p_adr_code => 'AP_INVOICE_DIST'
106997 , p_adr_type_code => 'S'
106998 , p_component_type => l_component_type
106999 , p_component_code => l_component_code
107000 , p_component_type_code => l_component_type_code
107001 , p_component_appl_id => l_component_appl_id
107002 , p_amb_context_code => l_amb_context_code
107003 , p_side => 'NA'
107004 );
107005
107006
107007 --
107008 --
107009 END IF;
107010
107011 --
107012 -- Update the line information that should be overwritten
107013 --
107014 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
107015 p_header_num => 1);
107016 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
107017
107018 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
107019
107020 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107021 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107022 END IF;
107023
107024 --
107025 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107026 --
107027 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107028 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107029 ELSE
107030 ---------------------------------------------------------------------------------------------------
107031 -- 4262811a Switch Sign
107032 ---------------------------------------------------------------------------------------------------
107033 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107034 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107035 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107036 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107040 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107037 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107038 -- 5132302
107039 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107041
107042 END IF;
107043
107044 -- 4955764
107045 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107046 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107047
107048
107049 XLA_AE_LINES_PKG.ValidateCurrentLine;
107050 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107051
107052 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107053 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107054 ,p_balance_type_code => l_balance_type_code);
107055
107056 END IF;
107057
107058 -----------------------------------------------------------------------------------------
107059 -- 4262811 Multiperiod Accounting
107060 -----------------------------------------------------------------------------------------
107061 -- No MPA option is assigned.
107062
107063
107064 END IF;
107065 END IF;
107066 --
107067
107068 --
107069 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107070 trace
107071 (p_msg => 'END of AcctLineType_177'
107072 ,p_level => C_LEVEL_PROCEDURE
107073 ,p_module => l_log_module);
107074 END IF;
107075 --
107076 EXCEPTION
107077 WHEN xla_exceptions_pkg.application_exception THEN
107078 RAISE;
107079 WHEN OTHERS THEN
107080 xla_exceptions_pkg.raise_message
107081 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_177');
107082 END AcctLineType_177;
107083 --
107084
107085 ---------------------------------------
107086 --
107087 -- PRIVATE FUNCTION
107088 -- AcctLineType_178
107089 --
107090 ---------------------------------------
107091 PROCEDURE AcctLineType_178 (
107092 p_application_id IN NUMBER
107093 ,p_event_id IN NUMBER
107094 ,p_calculate_acctd_flag IN VARCHAR2
107095 ,p_calculate_g_l_flag IN VARCHAR2
107096 ,p_actual_flag IN OUT VARCHAR2
107097 ,p_balance_type_code OUT VARCHAR2
107098 ,p_gain_or_loss_ref OUT VARCHAR2
107099
107100 --Invoice Distribution Description
107101 , p_source_1 IN VARCHAR2
107102 --Invoice Distribution Ledger Amount
107103 , p_source_21 IN NUMBER
107104 --Invoice Distribution Account
107105 , p_source_30 IN NUMBER
107106 --Invoice Distribution Type
107107 , p_source_33 IN VARCHAR2
107108 , p_source_33_meaning IN VARCHAR2
107109 --Accounting Reversal Indicator
107110 , p_source_52 IN VARCHAR2
107111 --Distribution Link Type
107112 , p_source_54 IN VARCHAR2
107113 --Allocation to Main Distribution Identifier
107114 , p_source_56 IN NUMBER
107115 --Invoice Identifier
107116 , p_source_57 IN NUMBER
107117 --Invoice Distribution Identifier
107118 , p_source_63 IN NUMBER
107119 --Payables Encumbrance Upgrade Credit Account
107120 , p_source_64 IN NUMBER
107121 --Payables Encumbrance Upgrade Credit Amount
107122 , p_source_65 IN NUMBER
107123 --Invoice Currency Code
107124 , p_source_66 IN VARCHAR2
107125 --Payables Encumbrance Upgrade Credit Base Amount
107126 , p_source_67 IN NUMBER
107127 --Payables Encumbrance Upgrade Debit Account
107128 , p_source_68 IN NUMBER
107129 --Payables Encumbrance Upgrade Debit Amount
107130 , p_source_69 IN NUMBER
107131 --Payables Encumbrance Upgrade Debit Base Amount
107132 , p_source_70 IN NUMBER
107133 --Payables Encumbrance Upgrade Option
107134 , p_source_71 IN VARCHAR2
107135 --Invoice Distribution Amount
107136 , p_source_72 IN NUMBER
107137 --Deferred Accounting End Date
107138 , p_source_76 IN DATE
107139 --Deferred Accounting Option
107140 , p_source_77 IN VARCHAR2
107141 --Deferred Accounting Start Date
107142 , p_source_78 IN DATE
107143 --Override Accounted Amount Indicator
107144 , p_source_79 IN VARCHAR2
107145 , p_source_79_meaning IN VARCHAR2
107146 --Invoice Supplier Identifier
107147 , p_source_80 IN NUMBER
107148 --Invoice Supplier Site Identifier
107149 , p_source_81 IN NUMBER
107150 --Third Party Type
107151 , p_source_82 IN VARCHAR2
107152 --Parent Reversal Identifier
107153 , p_source_83 IN NUMBER
107154 --Invoice Distribution Statistical Amount
107155 , p_source_84 IN NUMBER
107156 --Invoice Distribution Tax Line Identifier
107157 , p_source_85 IN NUMBER
107158 --Invoice Distribution Tax Distribution Identifier from Tax
107159 , p_source_86 IN NUMBER
107160 --Invoice Distribution Summary Tax Line Identifier
107161 , p_source_87 IN NUMBER
107162 --Payables Upgrade Credit Encumbrance Type Identifier
107163 , p_source_88 IN NUMBER
107164 --Payables Upgrade Debit Encumbrance Type Identifier
107165 , p_source_89 IN NUMBER
107166 --Business Flow Accounts Payable Application Identifier
107167 , p_source_90 IN NUMBER
107168 --Business Flow Invoice Distribution Type
107169 , p_source_91 IN VARCHAR2
107170 --Business Flow Invoice Entity Code
107174 --Business Flow Invoice Identifier
107171 , p_source_92 IN VARCHAR2
107172 --Business Flow Invoice Distribution Identifier
107173 , p_source_93 IN NUMBER
107175 , p_source_94 IN NUMBER
107176 --Accrue on Receipt Option
107177 , p_source_95 IN VARCHAR2
107178 , p_source_95_meaning IN VARCHAR2
107179 --Self-Assessed Tax Flag
107180 , p_source_135 IN VARCHAR2
107181 , p_source_135_meaning IN VARCHAR2
107182 --Invoice Exchange Date
107183 , p_source_136 IN DATE
107184 --Invoice Exchange Rate
107185 , p_source_137 IN NUMBER
107186 --Invoice Exchange Rate Type
107187 , p_source_138 IN VARCHAR2
107188 )
107189 IS
107190
107191 l_component_type VARCHAR2(80);
107192 l_component_code VARCHAR2(30);
107193 l_component_type_code VARCHAR2(1);
107194 l_component_appl_id INTEGER;
107195 l_amb_context_code VARCHAR2(30);
107196 l_entity_code VARCHAR2(30);
107197 l_event_class_code VARCHAR2(30);
107198 l_ae_header_id NUMBER;
107199 l_event_type_code VARCHAR2(30);
107200 l_line_definition_code VARCHAR2(30);
107201 l_line_definition_owner_code VARCHAR2(1);
107202 --
107203 -- adr variables
107204 l_segment VARCHAR2(30);
107205 l_ccid NUMBER;
107206 l_adr_transaction_coa_id NUMBER;
107207 l_adr_accounting_coa_id NUMBER;
107208 l_adr_flexfield_segment_code VARCHAR2(30);
107209 l_adr_flex_value_set_id NUMBER;
107210 l_adr_value_type_code VARCHAR2(30);
107211 l_adr_value_combination_id NUMBER;
107212 l_adr_value_segment_code VARCHAR2(30);
107213
107214 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107215 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107216 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107217 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107218
107219 -- 4262811 Variables ------------------------------------------------------------------------------------------
107220 l_entered_amt_idx NUMBER;
107221 l_accted_amt_idx NUMBER;
107222 l_acc_rev_flag VARCHAR2(1);
107223 l_accrual_line_num NUMBER;
107224 l_tmp_amt NUMBER;
107225 l_acc_rev_natural_side_code VARCHAR2(1);
107226
107227 l_num_entries NUMBER;
107228 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107229 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107230 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107231 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107232 l_recog_line_1 NUMBER;
107233 l_recog_line_2 NUMBER;
107234
107235 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107236 l_bflow_applied_to_amt NUMBER; -- 5132302
107237 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107238
107239 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107240
107241 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107242 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107243
107244 ---------------------------------------------------------------------------------------------------------------
107245
107246
107247 --
107248 -- bulk performance
107249 --
107250 l_balance_type_code VARCHAR2(1);
107251 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107252 l_log_module VARCHAR2(240);
107253
107254 --
107255 -- Upgrade strategy
107256 --
107257 l_actual_upg_option VARCHAR2(1);
107258 l_enc_upg_option VARCHAR2(1);
107259
107260 --
107261 BEGIN
107262 --
107263 IF g_log_enabled THEN
107264 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_178';
107265 END IF;
107266 --
107267 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107268
107269 trace
107270 (p_msg => 'BEGIN of AcctLineType_178'
107271 ,p_level => C_LEVEL_PROCEDURE
107272 ,p_module => l_log_module);
107273
107274 END IF;
107275 --
107276 l_component_type := 'AMB_JLT';
107277 l_component_code := 'AP_NON_RECOV_TAX_PREPAY';
107278 l_component_type_code := 'S';
107279 l_component_appl_id := 200;
107280 l_amb_context_code := 'DEFAULT';
107281 l_entity_code := 'AP_INVOICES';
107282 l_event_class_code := 'PREPAYMENTS';
107283 l_event_type_code := 'PREPAYMENTS_ALL';
107284 l_line_definition_owner_code := 'S';
107285 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
107286 --
107287 l_balance_type_code := 'A';
107288 l_segment := NULL;
107289 l_ccid := NULL;
107290 l_adr_transaction_coa_id := NULL;
107291 l_adr_accounting_coa_id := NULL;
107292 l_adr_flexfield_segment_code := NULL;
107293 l_adr_flex_value_set_id := NULL;
107294 l_adr_value_type_code := NULL;
107295 l_adr_value_combination_id := NULL;
107296 l_adr_value_segment_code := NULL;
107297
107298 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
107299 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
107300 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
107304 l_bflow_applied_to_amt := NULL; -- 5132302
107301 l_budgetary_control_flag := 'N';
107302
107303 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107305 l_entered_amt_idx := NULL; -- 4262811
107306 l_accted_amt_idx := NULL; -- 4262811
107307 l_acc_rev_flag := NULL; -- 4262811
107308 l_accrual_line_num := NULL; -- 4262811
107309 l_tmp_amt := NULL; -- 4262811
107310 --
107311
107312 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
107313 l_balance_type_code <> 'B' THEN
107314 IF (NVL(p_source_33,'
107315 ') = 'NONREC_TAX' OR
107316 NVL(p_source_33,'
107317 ') = 'TERV' OR
107318 NVL(p_source_33,'
107319 ') = 'TIPV' OR
107320 NVL(p_source_33,'
107321 ') = 'TRV') AND
107322 NVL(p_source_95,'
107323 ') <> 'Y' AND
107324 NVL(p_source_135,'
107325 ') <> 'Y'
107326 THEN
107327
107328 --
107329 XLA_AE_LINES_PKG.SetNewLine;
107330
107331 p_balance_type_code := l_balance_type_code;
107332 -- set the flag so later we will know whether the gain loss line needs to be created
107333
107334 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
107335 p_actual_flag :='A';
107336 END IF;
107337
107338 --
107339 -- bulk performance
107340 --
107341 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
107342 p_header_num => 0); -- 4262811
107343 --
107344 -- set accounting line options
107345 --
107346 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
107347 p_natural_side_code => 'D'
107348 , p_gain_or_loss_flag => 'N'
107349 , p_gl_transfer_mode_code => 'S'
107350 , p_acct_entry_type_code => 'A'
107351 , p_switch_side_flag => 'Y'
107352 , p_merge_duplicate_code => 'A'
107353 );
107354 --
107355 l_acc_rev_natural_side_code := 'C'; -- 4262811
107356 --
107357 --
107358 -- set accounting line type info
107359 --
107360 xla_ae_lines_pkg.SetAcctLineType
107361 (p_component_type => l_component_type
107362 ,p_event_type_code => l_event_type_code
107363 ,p_line_definition_owner_code => l_line_definition_owner_code
107364 ,p_line_definition_code => l_line_definition_code
107365 ,p_accounting_line_code => l_component_code
107366 ,p_accounting_line_type_code => l_component_type_code
107367 ,p_accounting_line_appl_id => l_component_appl_id
107368 ,p_amb_context_code => l_amb_context_code
107369 ,p_entity_code => l_entity_code
107370 ,p_event_class_code => l_event_class_code);
107371 --
107372 -- set accounting class
107373 --
107374 xla_ae_lines_pkg.SetAcctClass(
107375 p_accounting_class_code => 'NRTAX'
107376 , p_ae_header_id => l_ae_header_id
107377 );
107378
107379 --
107380 -- set rounding class
107381 --
107382 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
107383 'NRTAX';
107384
107385 --
107386 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
107387 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
107388 --
107389 -- bulk performance
107390 --
107391 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
107392
107393 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
107394 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
107395
107396 -- 4955764
107397 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107398 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
107399
107400 -- 4458381 Public Sector Enh
107401
107402 --
107403 -- set accounting attributes for the line type
107404 --
107405 l_entered_amt_idx := 23;
107406 l_accted_amt_idx := 28;
107407 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107408 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
107409 l_rec_acct_attrs.array_char_value(1) := p_source_52;
107410 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
107411 l_rec_acct_attrs.array_num_value(2) :=
107412 xla_ae_sources_pkg.GetSystemSourceNum(
107413 p_source_code => 'XLA_EVENT_APPL_ID'
107414 , p_source_type_code => 'Y'
107415 , p_source_application_id => 602
107416 );
107417 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
107418 l_rec_acct_attrs.array_char_value(3) := p_source_54;
107419 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
107420 l_rec_acct_attrs.array_char_value(4) :=
107421 xla_ae_sources_pkg.GetSystemSourceChar(
107422 p_source_code => 'XLA_ENTITY_CODE'
107423 , p_source_type_code => 'Y'
107424 , p_source_application_id => 602
107425 );
107426 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
107427 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
107428 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
107429 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
107433 l_rec_acct_attrs.array_char_value(8) := p_source_91;
107430 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
107431 l_rec_acct_attrs.array_num_value(7) := p_source_90;
107432 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
107434 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
107435 l_rec_acct_attrs.array_char_value(9) := p_source_92;
107436 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
107437 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
107438 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
107439 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
107440 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
107441 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
107442 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
107443 l_rec_acct_attrs.array_char_value(13) := p_source_54;
107444 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
107445 l_rec_acct_attrs.array_num_value(14) := p_source_64;
107446 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
107447 l_rec_acct_attrs.array_num_value(15) := p_source_65;
107448 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
107449 l_rec_acct_attrs.array_char_value(16) := p_source_66;
107450 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
107451 l_rec_acct_attrs.array_num_value(17) := p_source_67;
107452 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
107453 l_rec_acct_attrs.array_num_value(18) := p_source_68;
107454 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
107455 l_rec_acct_attrs.array_num_value(19) := p_source_69;
107456 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
107457 l_rec_acct_attrs.array_char_value(20) := p_source_66;
107458 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
107459 l_rec_acct_attrs.array_num_value(21) := p_source_70;
107460 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
107461 l_rec_acct_attrs.array_char_value(22) := p_source_71;
107462 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
107463 l_rec_acct_attrs.array_num_value(23) := p_source_72;
107464 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
107465 l_rec_acct_attrs.array_char_value(24) := p_source_66;
107466 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
107467 l_rec_acct_attrs.array_date_value(25) := p_source_136;
107468 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
107469 l_rec_acct_attrs.array_num_value(26) := p_source_137;
107470 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
107471 l_rec_acct_attrs.array_char_value(27) := p_source_138;
107472 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
107473 l_rec_acct_attrs.array_num_value(28) := p_source_21;
107474 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
107475 l_rec_acct_attrs.array_date_value(29) := p_source_76;
107476 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
107477 l_rec_acct_attrs.array_char_value(30) := p_source_77;
107478 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
107479 l_rec_acct_attrs.array_date_value(31) := p_source_78;
107480 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
107481 l_rec_acct_attrs.array_char_value(32) := p_source_79;
107482 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
107483 l_rec_acct_attrs.array_num_value(33) := p_source_80;
107484 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
107485 l_rec_acct_attrs.array_num_value(34) := p_source_81;
107486 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
107487 l_rec_acct_attrs.array_char_value(35) := p_source_82;
107488 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
107489 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
107490 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
107491 l_rec_acct_attrs.array_char_value(37) := p_source_54;
107492 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
107493 l_rec_acct_attrs.array_num_value(38) := p_source_84;
107494 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
107495 l_rec_acct_attrs.array_num_value(39) := p_source_85;
107496 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
107497 l_rec_acct_attrs.array_num_value(40) := p_source_86;
107498 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
107499 l_rec_acct_attrs.array_num_value(41) := p_source_87;
107500 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
107501 l_rec_acct_attrs.array_num_value(42) := p_source_88;
107502 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
107503 l_rec_acct_attrs.array_num_value(43) := p_source_89;
107504
107505 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
107506 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
107507
107508 ---------------------------------------------------------------------------------------------------------------
107509 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
107510 ---------------------------------------------------------------------------------------------------------------
107514 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107511 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
107512
107513 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107515
107516 IF xla_accounting_cache_pkg.GetValueChar
107517 (p_source_code => 'LEDGER_CATEGORY_CODE'
107518 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
107519 AND l_bflow_method_code = 'PRIOR_ENTRY'
107520 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
107521 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
107522 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
107523 )
107524 THEN
107525 xla_ae_lines_pkg.BflowUpgEntry
107526 (p_business_method_code => l_bflow_method_code
107527 ,p_business_class_code => l_bflow_class_code
107528 ,p_balance_type => l_balance_type_code);
107529 ELSE
107530 NULL;
107531 -- No business flow processing for business flow method of NONE.
107532 END IF;
107533
107534 --
107535 -- call analytical criteria
107536 --
107537
107538 --
107539 -- call description
107540 --
107541
107542 xla_ae_lines_pkg.SetLineDescription(
107543 p_ae_header_id => l_ae_header_id
107544 ,p_description => Description_1 (
107545 p_application_id => p_application_id
107546 , p_ae_header_id => l_ae_header_id
107547 , p_source_1 => p_source_1
107548 )
107549 );
107550
107551
107552 --
107553 -- call ADRs
107554 -- Bug 4922099
107555 --
107556 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107557 (NVL(l_actual_upg_option, 'N') = 'O') OR
107558 (NVL(l_enc_upg_option, 'N') = 'O')
107559 )
107560 THEN
107561 NULL;
107562 --
107563 --
107564
107565 l_ccid := AcctDerRule_33(
107566 p_application_id => p_application_id
107567 , p_ae_header_id => l_ae_header_id
107568 , p_source_30 => p_source_30
107569 , x_transaction_coa_id => l_adr_transaction_coa_id
107570 , x_accounting_coa_id => l_adr_accounting_coa_id
107571 , x_value_type_code => l_adr_value_type_code
107572 , p_side => 'NA'
107573 );
107574
107575 xla_ae_lines_pkg.set_ccid(
107576 p_code_combination_id => l_ccid
107577 , p_value_type_code => l_adr_value_type_code
107578 , p_transaction_coa_id => l_adr_transaction_coa_id
107579 , p_accounting_coa_id => l_adr_accounting_coa_id
107580 , p_adr_code => 'AP_INVOICE_DIST'
107581 , p_adr_type_code => 'S'
107582 , p_component_type => l_component_type
107583 , p_component_code => l_component_code
107584 , p_component_type_code => l_component_type_code
107585 , p_component_appl_id => l_component_appl_id
107586 , p_amb_context_code => l_amb_context_code
107587 , p_side => 'NA'
107588 );
107589
107590
107591 --
107592 --
107593 END IF;
107594 --
107595 -- Bug 4922099
107596 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
107597 (NVL(l_enc_upg_option, 'N') = 'O')
107598 ) AND
107599 (l_bflow_method_code = 'PRIOR_ENTRY')
107600 )
107601 THEN
107602 IF
107603 --
107604 1 = 2
107605 --
107606 THEN
107607 xla_accounting_err_pkg.build_message
107608 (p_appli_s_name => 'XLA'
107609 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107610 ,p_token_1 => 'LINE_NUMBER'
107611 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
107612 ,p_token_2 => 'LINE_TYPE_NAME'
107613 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
107614 l_component_type
107615 ,l_component_code
107616 ,l_component_type_code
107617 ,l_component_appl_id
107618 ,l_amb_context_code
107619 ,l_entity_code
107620 ,l_event_class_code
107621 )
107622 ,p_token_3 => 'OWNER'
107623 ,p_value_3 => xla_lookups_pkg.get_meaning(
107624 p_lookup_type => 'XLA_OWNER_TYPE'
107625 ,p_lookup_code => l_component_type_code
107626 )
107630 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
107627 ,p_token_4 => 'PRODUCT_NAME'
107628 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
107629 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
107631 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
107632 ,p_ae_header_id => NULL
107633 );
107634
107635 IF (C_LEVEL_ERROR>= g_log_level) THEN
107636 trace
107637 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107638 ,p_level => C_LEVEL_ERROR
107639 ,p_module => l_log_module);
107640 END IF;
107641 END IF;
107642 END IF;
107643 --
107644 --
107645 ------------------------------------------------------------------------------------------------
107646 -- 4219869 Business Flow
107647 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
107648 -- Prior Entry. Currently, the following code is always generated.
107649 ------------------------------------------------------------------------------------------------
107650 XLA_AE_LINES_PKG.ValidateCurrentLine;
107651
107652 ------------------------------------------------------------------------------------
107653 -- 4219869 Business Flow
107654 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
107655 ------------------------------------------------------------------------------------
107656 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107657
107658 ----------------------------------------------------------------------------------
107659 -- 4219869 Business Flow
107660 -- Update journal entry status -- Need to generate this within IF <condition>
107661 ----------------------------------------------------------------------------------
107662 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107663 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
107664 ,p_balance_type_code => l_balance_type_code
107665 );
107666
107667 -------------------------------------------------------------------------------------------
107668 -- 4262811 - Generate the Accrual Reversal lines
107669 -------------------------------------------------------------------------------------------
107670 BEGIN
107671 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
107672 (g_array_event(p_event_id).array_value_num('header_index'));
107673 IF l_acc_rev_flag IS NULL THEN
107674 l_acc_rev_flag := 'N';
107675 END IF;
107676 EXCEPTION
107677 WHEN OTHERS THEN
107678 l_acc_rev_flag := 'N';
107679 END;
107680 --
107681 IF (l_acc_rev_flag = 'Y') THEN
107682
107683 -- 4645092 ------------------------------------------------------------------------------
107684 -- To allow MPA report to determine if it should generate report process
107685 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
107686 ------------------------------------------------------------------------------------------
107687
107688 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
107689 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
107690 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
107691 -- call ADRs
107692 -- Bug 4922099
107693 --
107694 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107695 (NVL(l_actual_upg_option, 'N') = 'O') OR
107696 (NVL(l_enc_upg_option, 'N') = 'O')
107697 )
107698 THEN
107699 NULL;
107700 --
107701 --
107702
107703 l_ccid := AcctDerRule_33(
107704 p_application_id => p_application_id
107705 , p_ae_header_id => l_ae_header_id
107706 , p_source_30 => p_source_30
107707 , x_transaction_coa_id => l_adr_transaction_coa_id
107708 , x_accounting_coa_id => l_adr_accounting_coa_id
107709 , x_value_type_code => l_adr_value_type_code
107710 , p_side => 'NA'
107711 );
107712
107713 xla_ae_lines_pkg.set_ccid(
107714 p_code_combination_id => l_ccid
107715 , p_value_type_code => l_adr_value_type_code
107716 , p_transaction_coa_id => l_adr_transaction_coa_id
107717 , p_accounting_coa_id => l_adr_accounting_coa_id
107718 , p_adr_code => 'AP_INVOICE_DIST'
107719 , p_adr_type_code => 'S'
107720 , p_component_type => l_component_type
107721 , p_component_code => l_component_code
107722 , p_component_type_code => l_component_type_code
107723 , p_component_appl_id => l_component_appl_id
107724 , p_amb_context_code => l_amb_context_code
107725 , p_side => 'NA'
107726 );
107727
107728
107729 --
107730 --
107731 END IF;
107732
107733 --
107734 -- Update the line information that should be overwritten
107735 --
107736 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
107737 p_header_num => 1);
107741
107738 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
107739
107740 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
107742 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107743 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107744 END IF;
107745
107746 --
107747 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107748 --
107749 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107750 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107751 ELSE
107752 ---------------------------------------------------------------------------------------------------
107753 -- 4262811a Switch Sign
107754 ---------------------------------------------------------------------------------------------------
107755 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107756 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107757 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107758 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107759 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107760 -- 5132302
107761 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107762 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107763
107764 END IF;
107765
107766 -- 4955764
107767 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107768 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107769
107770
107771 XLA_AE_LINES_PKG.ValidateCurrentLine;
107772 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107773
107774 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107775 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107776 ,p_balance_type_code => l_balance_type_code);
107777
107778 END IF;
107779
107780 -----------------------------------------------------------------------------------------
107781 -- 4262811 Multiperiod Accounting
107782 -----------------------------------------------------------------------------------------
107783 -- No MPA option is assigned.
107784
107785
107786 END IF;
107787 END IF;
107788 --
107789
107790 --
107791 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107792 trace
107793 (p_msg => 'END of AcctLineType_178'
107794 ,p_level => C_LEVEL_PROCEDURE
107795 ,p_module => l_log_module);
107796 END IF;
107797 --
107798 EXCEPTION
107799 WHEN xla_exceptions_pkg.application_exception THEN
107800 RAISE;
107801 WHEN OTHERS THEN
107802 xla_exceptions_pkg.raise_message
107803 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_178');
107804 END AcctLineType_178;
107805 --
107806
107807 ---------------------------------------
107808 --
107809 -- PRIVATE FUNCTION
107810 -- AcctLineType_179
107811 --
107812 ---------------------------------------
107813 PROCEDURE AcctLineType_179 (
107814 p_application_id IN NUMBER
107815 ,p_event_id IN NUMBER
107816 ,p_calculate_acctd_flag IN VARCHAR2
107817 ,p_calculate_g_l_flag IN VARCHAR2
107818 ,p_actual_flag IN OUT VARCHAR2
107819 ,p_balance_type_code OUT VARCHAR2
107820 ,p_gain_or_loss_ref OUT VARCHAR2
107821
107822 --Invoice Distribution Description
107823 , p_source_1 IN VARCHAR2
107824 --Invoice Distribution Ledger Amount
107825 , p_source_21 IN NUMBER
107826 --Invoice Distribution Account
107827 , p_source_30 IN NUMBER
107828 --Invoice Distribution Type
107829 , p_source_33 IN VARCHAR2
107830 , p_source_33_meaning IN VARCHAR2
107831 --Accounting Reversal Indicator
107832 , p_source_52 IN VARCHAR2
107833 --Distribution Link Type
107834 , p_source_54 IN VARCHAR2
107835 --Allocation to Main Distribution Identifier
107836 , p_source_56 IN NUMBER
107837 --Invoice Identifier
107838 , p_source_57 IN NUMBER
107839 --Invoice Distribution Identifier
107840 , p_source_63 IN NUMBER
107841 --Payables Encumbrance Upgrade Credit Account
107842 , p_source_64 IN NUMBER
107843 --Payables Encumbrance Upgrade Credit Amount
107844 , p_source_65 IN NUMBER
107845 --Invoice Currency Code
107846 , p_source_66 IN VARCHAR2
107847 --Payables Encumbrance Upgrade Credit Base Amount
107848 , p_source_67 IN NUMBER
107849 --Payables Encumbrance Upgrade Debit Account
107850 , p_source_68 IN NUMBER
107851 --Payables Encumbrance Upgrade Debit Amount
107852 , p_source_69 IN NUMBER
107853 --Payables Encumbrance Upgrade Debit Base Amount
107854 , p_source_70 IN NUMBER
107855 --Payables Encumbrance Upgrade Option
107856 , p_source_71 IN VARCHAR2
107857 --Invoice Distribution Amount
107858 , p_source_72 IN NUMBER
107859 --Purchase Order Exchange Rate Date
107860 , p_source_73 IN DATE
107864 , p_source_75 IN VARCHAR2
107861 --Purchase Order Exchange Rate
107862 , p_source_74 IN NUMBER
107863 --Purchase Order Exchange Rate Type
107865 --Deferred Accounting End Date
107866 , p_source_76 IN DATE
107867 --Deferred Accounting Option
107868 , p_source_77 IN VARCHAR2
107869 --Deferred Accounting Start Date
107870 , p_source_78 IN DATE
107871 --Override Accounted Amount Indicator
107872 , p_source_79 IN VARCHAR2
107873 , p_source_79_meaning IN VARCHAR2
107874 --Invoice Supplier Identifier
107875 , p_source_80 IN NUMBER
107876 --Invoice Supplier Site Identifier
107877 , p_source_81 IN NUMBER
107878 --Third Party Type
107879 , p_source_82 IN VARCHAR2
107880 --Parent Reversal Identifier
107881 , p_source_83 IN NUMBER
107882 --Invoice Distribution Statistical Amount
107883 , p_source_84 IN NUMBER
107884 --Invoice Distribution Tax Line Identifier
107885 , p_source_85 IN NUMBER
107886 --Invoice Distribution Tax Distribution Identifier from Tax
107887 , p_source_86 IN NUMBER
107888 --Invoice Distribution Summary Tax Line Identifier
107889 , p_source_87 IN NUMBER
107890 --Payables Upgrade Credit Encumbrance Type Identifier
107891 , p_source_88 IN NUMBER
107892 --Payables Upgrade Debit Encumbrance Type Identifier
107893 , p_source_89 IN NUMBER
107894 --Business Flow Accounts Payable Application Identifier
107895 , p_source_90 IN NUMBER
107896 --Business Flow Invoice Distribution Type
107897 , p_source_91 IN VARCHAR2
107898 --Business Flow Invoice Entity Code
107899 , p_source_92 IN VARCHAR2
107900 --Business Flow Invoice Distribution Identifier
107901 , p_source_93 IN NUMBER
107902 --Business Flow Invoice Identifier
107903 , p_source_94 IN NUMBER
107904 --Accrue on Receipt Option
107905 , p_source_95 IN VARCHAR2
107906 , p_source_95_meaning IN VARCHAR2
107907 --Self-Assessed Tax Flag
107908 , p_source_135 IN VARCHAR2
107909 , p_source_135_meaning IN VARCHAR2
107910 )
107911 IS
107912
107913 l_component_type VARCHAR2(80);
107914 l_component_code VARCHAR2(30);
107915 l_component_type_code VARCHAR2(1);
107916 l_component_appl_id INTEGER;
107917 l_amb_context_code VARCHAR2(30);
107918 l_entity_code VARCHAR2(30);
107919 l_event_class_code VARCHAR2(30);
107920 l_ae_header_id NUMBER;
107921 l_event_type_code VARCHAR2(30);
107922 l_line_definition_code VARCHAR2(30);
107923 l_line_definition_owner_code VARCHAR2(1);
107924 --
107925 -- adr variables
107926 l_segment VARCHAR2(30);
107927 l_ccid NUMBER;
107928 l_adr_transaction_coa_id NUMBER;
107929 l_adr_accounting_coa_id NUMBER;
107930 l_adr_flexfield_segment_code VARCHAR2(30);
107931 l_adr_flex_value_set_id NUMBER;
107932 l_adr_value_type_code VARCHAR2(30);
107933 l_adr_value_combination_id NUMBER;
107934 l_adr_value_segment_code VARCHAR2(30);
107935
107936 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107937 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107938 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107939 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107940
107941 -- 4262811 Variables ------------------------------------------------------------------------------------------
107942 l_entered_amt_idx NUMBER;
107943 l_accted_amt_idx NUMBER;
107944 l_acc_rev_flag VARCHAR2(1);
107945 l_accrual_line_num NUMBER;
107946 l_tmp_amt NUMBER;
107947 l_acc_rev_natural_side_code VARCHAR2(1);
107948
107949 l_num_entries NUMBER;
107950 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107951 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107952 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107953 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107954 l_recog_line_1 NUMBER;
107955 l_recog_line_2 NUMBER;
107956
107957 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107958 l_bflow_applied_to_amt NUMBER; -- 5132302
107959 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107960
107961 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107962
107963 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107964 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107965
107966 ---------------------------------------------------------------------------------------------------------------
107967
107968
107969 --
107970 -- bulk performance
107971 --
107972 l_balance_type_code VARCHAR2(1);
107973 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107974 l_log_module VARCHAR2(240);
107975
107976 --
107977 -- Upgrade strategy
107978 --
107979 l_actual_upg_option VARCHAR2(1);
107980 l_enc_upg_option VARCHAR2(1);
107981
107982 --
107983 BEGIN
107984 --
107985 IF g_log_enabled THEN
107986 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_179';
107990
107987 END IF;
107988 --
107989 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107991 trace
107992 (p_msg => 'BEGIN of AcctLineType_179'
107993 ,p_level => C_LEVEL_PROCEDURE
107994 ,p_module => l_log_module);
107995
107996 END IF;
107997 --
107998 l_component_type := 'AMB_JLT';
107999 l_component_code := 'AP_NRTAX_ACCRUAL_PREPAY';
108000 l_component_type_code := 'S';
108001 l_component_appl_id := 200;
108002 l_amb_context_code := 'DEFAULT';
108003 l_entity_code := 'AP_INVOICES';
108004 l_event_class_code := 'PREPAYMENTS';
108005 l_event_type_code := 'PREPAYMENTS_ALL';
108006 l_line_definition_owner_code := 'S';
108007 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
108008 --
108009 l_balance_type_code := 'A';
108010 l_segment := NULL;
108011 l_ccid := NULL;
108012 l_adr_transaction_coa_id := NULL;
108013 l_adr_accounting_coa_id := NULL;
108014 l_adr_flexfield_segment_code := NULL;
108015 l_adr_flex_value_set_id := NULL;
108016 l_adr_value_type_code := NULL;
108017 l_adr_value_combination_id := NULL;
108018 l_adr_value_segment_code := NULL;
108019
108020 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108021 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
108022 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108023 l_budgetary_control_flag := 'N';
108024
108025 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108026 l_bflow_applied_to_amt := NULL; -- 5132302
108027 l_entered_amt_idx := NULL; -- 4262811
108028 l_accted_amt_idx := NULL; -- 4262811
108029 l_acc_rev_flag := NULL; -- 4262811
108030 l_accrual_line_num := NULL; -- 4262811
108031 l_tmp_amt := NULL; -- 4262811
108032 --
108033
108034 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108035 l_balance_type_code <> 'B' THEN
108036 IF NVL(p_source_33,'
108037 ') = 'NONREC_TAX' AND
108038 NVL(p_source_95,'
108039 ') = 'Y' AND
108040 NVL(p_source_135,'
108041 ') <> 'Y'
108042 THEN
108043
108044 --
108045 XLA_AE_LINES_PKG.SetNewLine;
108046
108047 p_balance_type_code := l_balance_type_code;
108048 -- set the flag so later we will know whether the gain loss line needs to be created
108049
108050 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108051 p_actual_flag :='A';
108052 END IF;
108053
108054 --
108055 -- bulk performance
108056 --
108057 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108058 p_header_num => 0); -- 4262811
108059 --
108060 -- set accounting line options
108061 --
108062 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108063 p_natural_side_code => 'D'
108064 , p_gain_or_loss_flag => 'N'
108065 , p_gl_transfer_mode_code => 'S'
108066 , p_acct_entry_type_code => 'A'
108067 , p_switch_side_flag => 'Y'
108068 , p_merge_duplicate_code => 'A'
108069 );
108070 --
108071 l_acc_rev_natural_side_code := 'C'; -- 4262811
108072 --
108073 --
108074 -- set accounting line type info
108075 --
108076 xla_ae_lines_pkg.SetAcctLineType
108077 (p_component_type => l_component_type
108078 ,p_event_type_code => l_event_type_code
108079 ,p_line_definition_owner_code => l_line_definition_owner_code
108080 ,p_line_definition_code => l_line_definition_code
108081 ,p_accounting_line_code => l_component_code
108082 ,p_accounting_line_type_code => l_component_type_code
108083 ,p_accounting_line_appl_id => l_component_appl_id
108084 ,p_amb_context_code => l_amb_context_code
108085 ,p_entity_code => l_entity_code
108086 ,p_event_class_code => l_event_class_code);
108087 --
108088 -- set accounting class
108089 --
108090 xla_ae_lines_pkg.SetAcctClass(
108091 p_accounting_class_code => 'NRTAX'
108092 , p_ae_header_id => l_ae_header_id
108093 );
108094
108095 --
108096 -- set rounding class
108097 --
108098 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108099 'NRTAX';
108100
108101 --
108102 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108103 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108104 --
108105 -- bulk performance
108106 --
108107 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108108
108109 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108110 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108111
108112 -- 4955764
108113 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108114 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108115
108119 -- set accounting attributes for the line type
108116 -- 4458381 Public Sector Enh
108117
108118 --
108120 --
108121 l_entered_amt_idx := 23;
108122 l_accted_amt_idx := 28;
108123 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108124 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108125 l_rec_acct_attrs.array_char_value(1) := p_source_52;
108126 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
108127 l_rec_acct_attrs.array_num_value(2) :=
108128 xla_ae_sources_pkg.GetSystemSourceNum(
108129 p_source_code => 'XLA_EVENT_APPL_ID'
108130 , p_source_type_code => 'Y'
108131 , p_source_application_id => 602
108132 );
108133 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
108134 l_rec_acct_attrs.array_char_value(3) := p_source_54;
108135 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
108136 l_rec_acct_attrs.array_char_value(4) :=
108137 xla_ae_sources_pkg.GetSystemSourceChar(
108138 p_source_code => 'XLA_ENTITY_CODE'
108139 , p_source_type_code => 'Y'
108140 , p_source_application_id => 602
108141 );
108142 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
108143 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
108144 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
108145 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
108146 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
108147 l_rec_acct_attrs.array_num_value(7) := p_source_90;
108148 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108149 l_rec_acct_attrs.array_char_value(8) := p_source_91;
108150 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
108151 l_rec_acct_attrs.array_char_value(9) := p_source_92;
108152 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
108153 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
108154 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108155 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
108156 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
108157 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
108158 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
108159 l_rec_acct_attrs.array_char_value(13) := p_source_54;
108160 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
108161 l_rec_acct_attrs.array_num_value(14) := p_source_64;
108162 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
108163 l_rec_acct_attrs.array_num_value(15) := p_source_65;
108164 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
108165 l_rec_acct_attrs.array_char_value(16) := p_source_66;
108166 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
108167 l_rec_acct_attrs.array_num_value(17) := p_source_67;
108168 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
108169 l_rec_acct_attrs.array_num_value(18) := p_source_68;
108170 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
108171 l_rec_acct_attrs.array_num_value(19) := p_source_69;
108172 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
108173 l_rec_acct_attrs.array_char_value(20) := p_source_66;
108174 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
108175 l_rec_acct_attrs.array_num_value(21) := p_source_70;
108176 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
108177 l_rec_acct_attrs.array_char_value(22) := p_source_71;
108178 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
108179 l_rec_acct_attrs.array_num_value(23) := p_source_72;
108180 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
108181 l_rec_acct_attrs.array_char_value(24) := p_source_66;
108182 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
108183 l_rec_acct_attrs.array_date_value(25) := p_source_73;
108184 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
108185 l_rec_acct_attrs.array_num_value(26) := p_source_74;
108186 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
108187 l_rec_acct_attrs.array_char_value(27) := p_source_75;
108188 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
108189 l_rec_acct_attrs.array_num_value(28) := p_source_21;
108190 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
108191 l_rec_acct_attrs.array_date_value(29) := p_source_76;
108192 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
108193 l_rec_acct_attrs.array_char_value(30) := p_source_77;
108194 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
108195 l_rec_acct_attrs.array_date_value(31) := p_source_78;
108196 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
108197 l_rec_acct_attrs.array_char_value(32) := p_source_79;
108198 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
108199 l_rec_acct_attrs.array_num_value(33) := p_source_80;
108200 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
108201 l_rec_acct_attrs.array_num_value(34) := p_source_81;
108202 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
108203 l_rec_acct_attrs.array_char_value(35) := p_source_82;
108204 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
108205 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
108206 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
108210 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
108207 l_rec_acct_attrs.array_char_value(37) := p_source_54;
108208 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
108209 l_rec_acct_attrs.array_num_value(38) := p_source_84;
108211 l_rec_acct_attrs.array_num_value(39) := p_source_85;
108212 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
108213 l_rec_acct_attrs.array_num_value(40) := p_source_86;
108214 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
108215 l_rec_acct_attrs.array_num_value(41) := p_source_87;
108216 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
108217 l_rec_acct_attrs.array_num_value(42) := p_source_88;
108218 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
108219 l_rec_acct_attrs.array_num_value(43) := p_source_89;
108220
108221 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108222 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108223
108224 ---------------------------------------------------------------------------------------------------------------
108225 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108226 ---------------------------------------------------------------------------------------------------------------
108227 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108228
108229 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108230 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108231
108232 IF xla_accounting_cache_pkg.GetValueChar
108233 (p_source_code => 'LEDGER_CATEGORY_CODE'
108234 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108235 AND l_bflow_method_code = 'PRIOR_ENTRY'
108236 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108237 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108238 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108239 )
108240 THEN
108241 xla_ae_lines_pkg.BflowUpgEntry
108242 (p_business_method_code => l_bflow_method_code
108243 ,p_business_class_code => l_bflow_class_code
108244 ,p_balance_type => l_balance_type_code);
108245 ELSE
108246 NULL;
108247 -- No business flow processing for business flow method of NONE.
108248 END IF;
108249
108250 --
108251 -- call analytical criteria
108252 --
108253
108254 --
108255 -- call description
108256 --
108257
108258 xla_ae_lines_pkg.SetLineDescription(
108259 p_ae_header_id => l_ae_header_id
108260 ,p_description => Description_1 (
108261 p_application_id => p_application_id
108262 , p_ae_header_id => l_ae_header_id
108263 , p_source_1 => p_source_1
108264 )
108265 );
108266
108267
108268 --
108269 -- call ADRs
108270 -- Bug 4922099
108271 --
108272 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108273 (NVL(l_actual_upg_option, 'N') = 'O') OR
108274 (NVL(l_enc_upg_option, 'N') = 'O')
108275 )
108276 THEN
108277 NULL;
108278 --
108279 --
108280
108281 l_ccid := AcctDerRule_33(
108282 p_application_id => p_application_id
108283 , p_ae_header_id => l_ae_header_id
108284 , p_source_30 => p_source_30
108285 , x_transaction_coa_id => l_adr_transaction_coa_id
108286 , x_accounting_coa_id => l_adr_accounting_coa_id
108287 , x_value_type_code => l_adr_value_type_code
108288 , p_side => 'NA'
108289 );
108290
108291 xla_ae_lines_pkg.set_ccid(
108292 p_code_combination_id => l_ccid
108293 , p_value_type_code => l_adr_value_type_code
108294 , p_transaction_coa_id => l_adr_transaction_coa_id
108295 , p_accounting_coa_id => l_adr_accounting_coa_id
108296 , p_adr_code => 'AP_INVOICE_DIST'
108297 , p_adr_type_code => 'S'
108298 , p_component_type => l_component_type
108299 , p_component_code => l_component_code
108300 , p_component_type_code => l_component_type_code
108301 , p_component_appl_id => l_component_appl_id
108302 , p_amb_context_code => l_amb_context_code
108303 , p_side => 'NA'
108304 );
108305
108306
108307 --
108308 --
108309 END IF;
108310 --
108311 -- Bug 4922099
108312 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
108313 (NVL(l_enc_upg_option, 'N') = 'O')
108314 ) AND
108315 (l_bflow_method_code = 'PRIOR_ENTRY')
108316 )
108317 THEN
108318 IF
108319 --
108320 1 = 2
108321 --
108322 THEN
108323 xla_accounting_err_pkg.build_message
108324 (p_appli_s_name => 'XLA'
108325 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108326 ,p_token_1 => 'LINE_NUMBER'
108327 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
108328 ,p_token_2 => 'LINE_TYPE_NAME'
108332 ,l_component_type_code
108329 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
108330 l_component_type
108331 ,l_component_code
108333 ,l_component_appl_id
108334 ,l_amb_context_code
108335 ,l_entity_code
108336 ,l_event_class_code
108337 )
108338 ,p_token_3 => 'OWNER'
108339 ,p_value_3 => xla_lookups_pkg.get_meaning(
108340 p_lookup_type => 'XLA_OWNER_TYPE'
108341 ,p_lookup_code => l_component_type_code
108342 )
108343 ,p_token_4 => 'PRODUCT_NAME'
108344 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
108345 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
108346 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
108347 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
108348 ,p_ae_header_id => NULL
108349 );
108350
108351 IF (C_LEVEL_ERROR>= g_log_level) THEN
108352 trace
108353 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108354 ,p_level => C_LEVEL_ERROR
108355 ,p_module => l_log_module);
108356 END IF;
108357 END IF;
108358 END IF;
108359 --
108360 --
108361 ------------------------------------------------------------------------------------------------
108362 -- 4219869 Business Flow
108363 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
108364 -- Prior Entry. Currently, the following code is always generated.
108365 ------------------------------------------------------------------------------------------------
108366 XLA_AE_LINES_PKG.ValidateCurrentLine;
108367
108368 ------------------------------------------------------------------------------------
108369 -- 4219869 Business Flow
108370 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
108371 ------------------------------------------------------------------------------------
108372 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108373
108374 ----------------------------------------------------------------------------------
108375 -- 4219869 Business Flow
108376 -- Update journal entry status -- Need to generate this within IF <condition>
108377 ----------------------------------------------------------------------------------
108378 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108379 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
108380 ,p_balance_type_code => l_balance_type_code
108381 );
108382
108383 -------------------------------------------------------------------------------------------
108384 -- 4262811 - Generate the Accrual Reversal lines
108385 -------------------------------------------------------------------------------------------
108386 BEGIN
108387 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
108388 (g_array_event(p_event_id).array_value_num('header_index'));
108389 IF l_acc_rev_flag IS NULL THEN
108390 l_acc_rev_flag := 'N';
108391 END IF;
108392 EXCEPTION
108393 WHEN OTHERS THEN
108394 l_acc_rev_flag := 'N';
108395 END;
108396 --
108397 IF (l_acc_rev_flag = 'Y') THEN
108398
108399 -- 4645092 ------------------------------------------------------------------------------
108400 -- To allow MPA report to determine if it should generate report process
108401 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
108402 ------------------------------------------------------------------------------------------
108403
108404 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
108405 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
108406 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
108407 -- call ADRs
108408 -- Bug 4922099
108409 --
108410 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108411 (NVL(l_actual_upg_option, 'N') = 'O') OR
108412 (NVL(l_enc_upg_option, 'N') = 'O')
108413 )
108414 THEN
108415 NULL;
108416 --
108417 --
108418
108419 l_ccid := AcctDerRule_33(
108420 p_application_id => p_application_id
108421 , p_ae_header_id => l_ae_header_id
108422 , p_source_30 => p_source_30
108423 , x_transaction_coa_id => l_adr_transaction_coa_id
108424 , x_accounting_coa_id => l_adr_accounting_coa_id
108428
108425 , x_value_type_code => l_adr_value_type_code
108426 , p_side => 'NA'
108427 );
108429 xla_ae_lines_pkg.set_ccid(
108430 p_code_combination_id => l_ccid
108431 , p_value_type_code => l_adr_value_type_code
108432 , p_transaction_coa_id => l_adr_transaction_coa_id
108433 , p_accounting_coa_id => l_adr_accounting_coa_id
108434 , p_adr_code => 'AP_INVOICE_DIST'
108435 , p_adr_type_code => 'S'
108436 , p_component_type => l_component_type
108437 , p_component_code => l_component_code
108438 , p_component_type_code => l_component_type_code
108439 , p_component_appl_id => l_component_appl_id
108440 , p_amb_context_code => l_amb_context_code
108441 , p_side => 'NA'
108442 );
108443
108444
108445 --
108446 --
108447 END IF;
108448
108449 --
108450 -- Update the line information that should be overwritten
108451 --
108452 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
108453 p_header_num => 1);
108454 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
108455
108456 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
108457
108458 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
108459 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
108460 END IF;
108461
108462 --
108463 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
108464 --
108465 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
108466 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
108467 ELSE
108468 ---------------------------------------------------------------------------------------------------
108469 -- 4262811a Switch Sign
108470 ---------------------------------------------------------------------------------------------------
108471 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
108472 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108473 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108474 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108475 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108476 -- 5132302
108477 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
108478 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108479
108480 END IF;
108481
108482 -- 4955764
108483 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108484 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
108485
108486
108487 XLA_AE_LINES_PKG.ValidateCurrentLine;
108488 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108489
108490 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108491 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
108492 ,p_balance_type_code => l_balance_type_code);
108493
108494 END IF;
108495
108496 -----------------------------------------------------------------------------------------
108497 -- 4262811 Multiperiod Accounting
108498 -----------------------------------------------------------------------------------------
108499 -- No MPA option is assigned.
108500
108501
108502 END IF;
108503 END IF;
108504 --
108505
108506 --
108507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108508 trace
108509 (p_msg => 'END of AcctLineType_179'
108510 ,p_level => C_LEVEL_PROCEDURE
108511 ,p_module => l_log_module);
108512 END IF;
108513 --
108514 EXCEPTION
108515 WHEN xla_exceptions_pkg.application_exception THEN
108516 RAISE;
108517 WHEN OTHERS THEN
108518 xla_exceptions_pkg.raise_message
108519 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_179');
108520 END AcctLineType_179;
108521 --
108522
108523 ---------------------------------------
108524 --
108525 -- PRIVATE FUNCTION
108526 -- AcctLineType_180
108527 --
108528 ---------------------------------------
108529 PROCEDURE AcctLineType_180 (
108530 p_application_id IN NUMBER
108531 ,p_event_id IN NUMBER
108532 ,p_calculate_acctd_flag IN VARCHAR2
108533 ,p_calculate_g_l_flag IN VARCHAR2
108534 ,p_actual_flag IN OUT VARCHAR2
108535 ,p_balance_type_code OUT VARCHAR2
108536 ,p_gain_or_loss_ref OUT VARCHAR2
108537
108538 --Payment Currency Code
108539 , p_source_13 IN VARCHAR2
108540 --Automatic Offsets Value
108541 , p_source_15 IN VARCHAR2
108542 , p_source_15_meaning IN VARCHAR2
108543 --Invoice Distribution Account
108544 , p_source_30 IN NUMBER
108545 --Payables Options Rounding Account
108549 --Distribution Link Type
108546 , p_source_48 IN NUMBER
108547 --Accounting Reversal Indicator
108548 , p_source_52 IN VARCHAR2
108550 , p_source_54 IN VARCHAR2
108551 --Override Accounted Amount Indicator
108552 , p_source_79 IN VARCHAR2
108553 , p_source_79_meaning IN VARCHAR2
108554 --Third Party Type
108555 , p_source_82 IN VARCHAR2
108556 --Invoice Distribution Tax Line Identifier
108557 , p_source_85 IN NUMBER
108558 --Invoice Distribution Summary Tax Line Identifier
108559 , p_source_87 IN NUMBER
108560 --Business Flow Accounts Payable Application Identifier
108561 , p_source_90 IN NUMBER
108562 --When to Account for Payment Option
108563 , p_source_96 IN VARCHAR2
108564 --Payment Distribution Type
108565 , p_source_97 IN VARCHAR2
108566 , p_source_97_meaning IN VARCHAR2
108567 --Payment Distribution Amount
108568 , p_source_98 IN NUMBER
108569 --Business Flow Payment Distribution Type
108570 , p_source_99 IN VARCHAR2
108571 --Business Flow Payment Entity Code
108572 , p_source_100 IN VARCHAR2
108573 --Business Flow Payment Distribution Identifier
108574 , p_source_101 IN NUMBER
108575 --Business Flow Payment Identifier
108576 , p_source_102 IN NUMBER
108577 --Payment Distribution Identifier
108578 , p_source_103 IN NUMBER
108579 --Payment Supplier Identifier
108580 , p_source_109 IN NUMBER
108581 --Payment Supplier Site Identifier
108582 , p_source_110 IN NUMBER
108583 --Payment Distribution Reversed Identifier
108584 , p_source_111 IN NUMBER
108585 --Payment Identifier
108586 , p_source_112 IN NUMBER
108587 --Payment Maturity Date
108588 , p_source_114 IN DATE
108589 --Payment Distribution (Payment Rate) Ledger Amount
108590 , p_source_115 IN NUMBER
108591 --Payment Exchange Date
108592 , p_source_117 IN DATE
108593 --Payment Exchange Rate
108594 , p_source_118 IN NUMBER
108595 --Payment Exchange Rate Type
108596 , p_source_119 IN VARCHAR2
108597 )
108598 IS
108599
108600 l_component_type VARCHAR2(80);
108601 l_component_code VARCHAR2(30);
108602 l_component_type_code VARCHAR2(1);
108603 l_component_appl_id INTEGER;
108604 l_amb_context_code VARCHAR2(30);
108605 l_entity_code VARCHAR2(30);
108606 l_event_class_code VARCHAR2(30);
108607 l_ae_header_id NUMBER;
108608 l_event_type_code VARCHAR2(30);
108609 l_line_definition_code VARCHAR2(30);
108610 l_line_definition_owner_code VARCHAR2(1);
108611 --
108612 -- adr variables
108613 l_segment VARCHAR2(30);
108614 l_ccid NUMBER;
108615 l_adr_transaction_coa_id NUMBER;
108616 l_adr_accounting_coa_id NUMBER;
108617 l_adr_flexfield_segment_code VARCHAR2(30);
108618 l_adr_flex_value_set_id NUMBER;
108619 l_adr_value_type_code VARCHAR2(30);
108620 l_adr_value_combination_id NUMBER;
108621 l_adr_value_segment_code VARCHAR2(30);
108622
108623 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108624 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108625 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108626 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108627
108628 -- 4262811 Variables ------------------------------------------------------------------------------------------
108629 l_entered_amt_idx NUMBER;
108630 l_accted_amt_idx NUMBER;
108631 l_acc_rev_flag VARCHAR2(1);
108632 l_accrual_line_num NUMBER;
108633 l_tmp_amt NUMBER;
108634 l_acc_rev_natural_side_code VARCHAR2(1);
108635
108636 l_num_entries NUMBER;
108637 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108638 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108639 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108640 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108641 l_recog_line_1 NUMBER;
108642 l_recog_line_2 NUMBER;
108643
108644 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108645 l_bflow_applied_to_amt NUMBER; -- 5132302
108646 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108647
108648 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108649
108650 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108651 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108652
108653 ---------------------------------------------------------------------------------------------------------------
108654
108655
108656 --
108657 -- bulk performance
108658 --
108659 l_balance_type_code VARCHAR2(1);
108660 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108661 l_log_module VARCHAR2(240);
108662
108663 --
108664 -- Upgrade strategy
108665 --
108666 l_actual_upg_option VARCHAR2(1);
108667 l_enc_upg_option VARCHAR2(1);
108668
108669 --
108670 BEGIN
108671 --
108672 IF g_log_enabled THEN
108676 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108673 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_180';
108674 END IF;
108675 --
108677
108678 trace
108679 (p_msg => 'BEGIN of AcctLineType_180'
108680 ,p_level => C_LEVEL_PROCEDURE
108681 ,p_module => l_log_module);
108682
108683 END IF;
108684 --
108685 l_component_type := 'AMB_JLT';
108686 l_component_code := 'AP_PMT_CLR_ROUNDING_CLEAR';
108687 l_component_type_code := 'S';
108688 l_component_appl_id := 200;
108689 l_amb_context_code := 'DEFAULT';
108690 l_entity_code := 'AP_PAYMENTS';
108691 l_event_class_code := 'RECONCILED PAYMENTS';
108692 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
108693 l_line_definition_owner_code := 'S';
108694 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
108695 --
108696 l_balance_type_code := 'A';
108697 l_segment := NULL;
108698 l_ccid := NULL;
108699 l_adr_transaction_coa_id := NULL;
108700 l_adr_accounting_coa_id := NULL;
108701 l_adr_flexfield_segment_code := NULL;
108702 l_adr_flex_value_set_id := NULL;
108703 l_adr_value_type_code := NULL;
108704 l_adr_value_combination_id := NULL;
108705 l_adr_value_segment_code := NULL;
108706
108707 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108708 l_bflow_class_code := ''; -- 4219869 Business Flow
108709 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108710 l_budgetary_control_flag := 'N';
108711
108712 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108713 l_bflow_applied_to_amt := NULL; -- 5132302
108714 l_entered_amt_idx := NULL; -- 4262811
108715 l_accted_amt_idx := NULL; -- 4262811
108716 l_acc_rev_flag := NULL; -- 4262811
108717 l_accrual_line_num := NULL; -- 4262811
108718 l_tmp_amt := NULL; -- 4262811
108719 --
108720
108721 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108722 l_balance_type_code <> 'B' THEN
108723 IF (NVL(p_source_96,'
108724 ') = 'ALWAYS_ALWAYS' OR
108725 NVL(p_source_96,'
108726 ') = 'ALWAYS_CLEAR') AND
108727 NVL(p_source_97,'
108728 ') = 'PAYMENT TO CLEARING ROUNDING' AND
108729 p_source_114 IS NULL
108730 THEN
108731
108732 --
108733 XLA_AE_LINES_PKG.SetNewLine;
108734
108735 p_balance_type_code := l_balance_type_code;
108736 -- set the flag so later we will know whether the gain loss line needs to be created
108737
108738 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108739 p_actual_flag :='A';
108740 END IF;
108741
108742 --
108743 -- bulk performance
108744 --
108745 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108746 p_header_num => 0); -- 4262811
108747 --
108748 -- set accounting line options
108749 --
108750 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108751 p_natural_side_code => 'D'
108752 , p_gain_or_loss_flag => 'N'
108753 , p_gl_transfer_mode_code => 'S'
108754 , p_acct_entry_type_code => 'A'
108755 , p_switch_side_flag => 'Y'
108756 , p_merge_duplicate_code => 'A'
108757 );
108758 --
108759 l_acc_rev_natural_side_code := 'C'; -- 4262811
108760 --
108761 --
108762 -- set accounting line type info
108763 --
108764 xla_ae_lines_pkg.SetAcctLineType
108765 (p_component_type => l_component_type
108766 ,p_event_type_code => l_event_type_code
108767 ,p_line_definition_owner_code => l_line_definition_owner_code
108768 ,p_line_definition_code => l_line_definition_code
108769 ,p_accounting_line_code => l_component_code
108770 ,p_accounting_line_type_code => l_component_type_code
108771 ,p_accounting_line_appl_id => l_component_appl_id
108772 ,p_amb_context_code => l_amb_context_code
108773 ,p_entity_code => l_entity_code
108774 ,p_event_class_code => l_event_class_code);
108775 --
108776 -- set accounting class
108777 --
108778 xla_ae_lines_pkg.SetAcctClass(
108779 p_accounting_class_code => 'ROUNDING'
108780 , p_ae_header_id => l_ae_header_id
108781 );
108782
108783 --
108784 -- set rounding class
108785 --
108786 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108787 'ROUNDING';
108788
108789 --
108790 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108791 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108792 --
108793 -- bulk performance
108794 --
108795 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108796
108797 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108798 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108799
108800 -- 4955764
108801 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108802 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108803
108807 -- set accounting attributes for the line type
108804 -- 4458381 Public Sector Enh
108805
108806 --
108808 --
108809 l_entered_amt_idx := 10;
108810 l_accted_amt_idx := 15;
108811 l_bflow_applied_to_amt_idx := 2; -- 5132302
108812 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108813 l_rec_acct_attrs.array_char_value(1) := p_source_52;
108814 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
108815 l_rec_acct_attrs.array_num_value(2) := p_source_98;
108816 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
108817 l_rec_acct_attrs.array_num_value(3) := p_source_90;
108818 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108819 l_rec_acct_attrs.array_char_value(4) := p_source_99;
108820 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
108821 l_rec_acct_attrs.array_char_value(5) := p_source_100;
108822 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
108823 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
108824 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108825 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
108826 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
108827 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
108828 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
108829 l_rec_acct_attrs.array_char_value(9) := p_source_54;
108830 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
108831 l_rec_acct_attrs.array_num_value(10) := p_source_98;
108832 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
108833 l_rec_acct_attrs.array_char_value(11) := p_source_13;
108834 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
108835 l_rec_acct_attrs.array_date_value(12) := p_source_117;
108836 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
108837 l_rec_acct_attrs.array_num_value(13) := p_source_118;
108838 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
108839 l_rec_acct_attrs.array_char_value(14) := p_source_119;
108840 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
108841 l_rec_acct_attrs.array_num_value(15) := p_source_115;
108842 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
108843 l_rec_acct_attrs.array_char_value(16) := p_source_79;
108844 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
108845 l_rec_acct_attrs.array_num_value(17) := p_source_109;
108846 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
108847 l_rec_acct_attrs.array_num_value(18) := p_source_110;
108848 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
108849 l_rec_acct_attrs.array_char_value(19) := p_source_82;
108850 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
108851 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
108852 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
108853 l_rec_acct_attrs.array_char_value(21) := p_source_54;
108854 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
108855 l_rec_acct_attrs.array_num_value(22) := p_source_85;
108856 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
108857 l_rec_acct_attrs.array_num_value(23) := p_source_85;
108858 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
108859 l_rec_acct_attrs.array_num_value(24) := p_source_87;
108860
108861 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108862 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108863
108864 ---------------------------------------------------------------------------------------------------------------
108865 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108866 ---------------------------------------------------------------------------------------------------------------
108867 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108868
108869 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108870 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108871
108872 IF xla_accounting_cache_pkg.GetValueChar
108873 (p_source_code => 'LEDGER_CATEGORY_CODE'
108874 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108875 AND l_bflow_method_code = 'PRIOR_ENTRY'
108876 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108877 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108878 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108879 )
108880 THEN
108881 xla_ae_lines_pkg.BflowUpgEntry
108882 (p_business_method_code => l_bflow_method_code
108883 ,p_business_class_code => l_bflow_class_code
108884 ,p_balance_type => l_balance_type_code);
108885 ELSE
108886 NULL;
108887 -- No business flow processing for business flow method of NONE.
108888 END IF;
108889
108890 --
108891 -- call analytical criteria
108892 --
108893
108894
108895 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
108896 xla_ae_lines_pkg.SetAnalyticalCriteria(
108897 p_analytical_criterion_name => 'Check Id'
108898 , p_analytical_criterion_owner => 'S'
108899 , p_analytical_criterion_code => 'CHECK_ID'
108903 , p_analytical_detail_char_1 => NULL
108900 , p_amb_context_code => 'DEFAULT'
108901 , p_balancing_flag => 'N'
108902
108904 , p_analytical_detail_num_1 => p_source_112
108905 , p_analytical_detail_date_1 => NULL
108906
108907 , p_ae_header_id => l_ae_header_id
108908 )
108909 ;
108910 --
108911
108912 --
108913 -- call description
108914 --
108915 -- No description or it is inherited.
108916 --
108917 -- call ADRs
108918 -- Bug 4922099
108919 --
108920 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108921 (NVL(l_actual_upg_option, 'N') = 'O') OR
108922 (NVL(l_enc_upg_option, 'N') = 'O')
108923 )
108924 THEN
108925 NULL;
108926 --
108927 --
108928
108929 l_ccid := AcctDerRule_40(
108930 p_application_id => p_application_id
108931 , p_ae_header_id => l_ae_header_id
108932 , p_source_15 => p_source_15
108933 , p_source_15_meaning => p_source_15_meaning
108934 , p_source_30 => p_source_30
108935 , p_source_48 => p_source_48
108936 , x_transaction_coa_id => l_adr_transaction_coa_id
108937 , x_accounting_coa_id => l_adr_accounting_coa_id
108938 , x_value_type_code => l_adr_value_type_code
108939 , p_side => 'NA'
108940 );
108941
108942 xla_ae_lines_pkg.set_ccid(
108943 p_code_combination_id => l_ccid
108944 , p_value_type_code => l_adr_value_type_code
108945 , p_transaction_coa_id => l_adr_transaction_coa_id
108946 , p_accounting_coa_id => l_adr_accounting_coa_id
108947 , p_adr_code => 'AP_ROUNDING'
108948 , p_adr_type_code => 'S'
108949 , p_component_type => l_component_type
108950 , p_component_code => l_component_code
108951 , p_component_type_code => l_component_type_code
108952 , p_component_appl_id => l_component_appl_id
108953 , p_amb_context_code => l_amb_context_code
108954 , p_side => 'NA'
108955 );
108956
108957
108958 --
108959 --
108960 END IF;
108961 --
108962 -- Bug 4922099
108963 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
108964 (NVL(l_enc_upg_option, 'N') = 'O')
108965 ) AND
108966 (l_bflow_method_code = 'PRIOR_ENTRY')
108967 )
108968 THEN
108969 IF
108970 --
108971 1 = 2
108972 --
108973 THEN
108974 xla_accounting_err_pkg.build_message
108975 (p_appli_s_name => 'XLA'
108976 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108977 ,p_token_1 => 'LINE_NUMBER'
108978 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
108979 ,p_token_2 => 'LINE_TYPE_NAME'
108980 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
108981 l_component_type
108982 ,l_component_code
108983 ,l_component_type_code
108984 ,l_component_appl_id
108985 ,l_amb_context_code
108986 ,l_entity_code
108987 ,l_event_class_code
108988 )
108989 ,p_token_3 => 'OWNER'
108990 ,p_value_3 => xla_lookups_pkg.get_meaning(
108991 p_lookup_type => 'XLA_OWNER_TYPE'
108992 ,p_lookup_code => l_component_type_code
108993 )
108994 ,p_token_4 => 'PRODUCT_NAME'
108995 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
108996 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
108997 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
108998 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
108999 ,p_ae_header_id => NULL
109000 );
109001
109002 IF (C_LEVEL_ERROR>= g_log_level) THEN
109003 trace
109004 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109005 ,p_level => C_LEVEL_ERROR
109006 ,p_module => l_log_module);
109007 END IF;
109008 END IF;
109009 END IF;
109010 --
109011 --
109012 ------------------------------------------------------------------------------------------------
109016 ------------------------------------------------------------------------------------------------
109013 -- 4219869 Business Flow
109014 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109015 -- Prior Entry. Currently, the following code is always generated.
109017 XLA_AE_LINES_PKG.ValidateCurrentLine;
109018
109019 ------------------------------------------------------------------------------------
109020 -- 4219869 Business Flow
109021 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109022 ------------------------------------------------------------------------------------
109023 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109024
109025 ----------------------------------------------------------------------------------
109026 -- 4219869 Business Flow
109027 -- Update journal entry status -- Need to generate this within IF <condition>
109028 ----------------------------------------------------------------------------------
109029 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109030 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109031 ,p_balance_type_code => l_balance_type_code
109032 );
109033
109034 -------------------------------------------------------------------------------------------
109035 -- 4262811 - Generate the Accrual Reversal lines
109036 -------------------------------------------------------------------------------------------
109037 BEGIN
109038 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109039 (g_array_event(p_event_id).array_value_num('header_index'));
109040 IF l_acc_rev_flag IS NULL THEN
109041 l_acc_rev_flag := 'N';
109042 END IF;
109043 EXCEPTION
109044 WHEN OTHERS THEN
109045 l_acc_rev_flag := 'N';
109046 END;
109047 --
109048 IF (l_acc_rev_flag = 'Y') THEN
109049
109050 -- 4645092 ------------------------------------------------------------------------------
109051 -- To allow MPA report to determine if it should generate report process
109052 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109053 ------------------------------------------------------------------------------------------
109054
109055 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109056 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109057 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109058 -- call ADRs
109059 -- Bug 4922099
109060 --
109061 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109062 (NVL(l_actual_upg_option, 'N') = 'O') OR
109063 (NVL(l_enc_upg_option, 'N') = 'O')
109064 )
109065 THEN
109066 NULL;
109067 --
109068 --
109069
109070 l_ccid := AcctDerRule_40(
109071 p_application_id => p_application_id
109072 , p_ae_header_id => l_ae_header_id
109073 , p_source_15 => p_source_15
109074 , p_source_15_meaning => p_source_15_meaning
109075 , p_source_30 => p_source_30
109076 , p_source_48 => p_source_48
109077 , x_transaction_coa_id => l_adr_transaction_coa_id
109078 , x_accounting_coa_id => l_adr_accounting_coa_id
109079 , x_value_type_code => l_adr_value_type_code
109080 , p_side => 'NA'
109081 );
109082
109083 xla_ae_lines_pkg.set_ccid(
109084 p_code_combination_id => l_ccid
109085 , p_value_type_code => l_adr_value_type_code
109086 , p_transaction_coa_id => l_adr_transaction_coa_id
109087 , p_accounting_coa_id => l_adr_accounting_coa_id
109088 , p_adr_code => 'AP_ROUNDING'
109089 , p_adr_type_code => 'S'
109090 , p_component_type => l_component_type
109091 , p_component_code => l_component_code
109092 , p_component_type_code => l_component_type_code
109093 , p_component_appl_id => l_component_appl_id
109094 , p_amb_context_code => l_amb_context_code
109095 , p_side => 'NA'
109096 );
109097
109098
109099 --
109100 --
109101 END IF;
109102
109103 --
109104 -- Update the line information that should be overwritten
109105 --
109106 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109107 p_header_num => 1);
109108 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109109
109110 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109111
109112 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109113 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109114 END IF;
109115
109116 --
109117 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109118 --
109119 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109120 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109121 ELSE
109122 ---------------------------------------------------------------------------------------------------
109123 -- 4262811a Switch Sign
109127 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109124 ---------------------------------------------------------------------------------------------------
109125 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109126 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109128 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109129 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109130 -- 5132302
109131 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109132 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109133
109134 END IF;
109135
109136 -- 4955764
109137 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109138 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109139
109140
109141 XLA_AE_LINES_PKG.ValidateCurrentLine;
109142 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109143
109144 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109145 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109146 ,p_balance_type_code => l_balance_type_code);
109147
109148 END IF;
109149
109150 -----------------------------------------------------------------------------------------
109151 -- 4262811 Multiperiod Accounting
109152 -----------------------------------------------------------------------------------------
109153 -- No MPA option is assigned.
109154
109155
109156 END IF;
109157 END IF;
109158 --
109159
109160 --
109161 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109162 trace
109163 (p_msg => 'END of AcctLineType_180'
109164 ,p_level => C_LEVEL_PROCEDURE
109165 ,p_module => l_log_module);
109166 END IF;
109167 --
109168 EXCEPTION
109169 WHEN xla_exceptions_pkg.application_exception THEN
109170 RAISE;
109171 WHEN OTHERS THEN
109172 xla_exceptions_pkg.raise_message
109173 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_180');
109174 END AcctLineType_180;
109175 --
109176
109177 ---------------------------------------
109178 --
109179 -- PRIVATE FUNCTION
109180 -- AcctLineType_181
109181 --
109182 ---------------------------------------
109183 PROCEDURE AcctLineType_181 (
109184 p_application_id IN NUMBER
109185 ,p_event_id IN NUMBER
109186 ,p_calculate_acctd_flag IN VARCHAR2
109187 ,p_calculate_g_l_flag IN VARCHAR2
109188 ,p_actual_flag IN OUT VARCHAR2
109189 ,p_balance_type_code OUT VARCHAR2
109190 ,p_gain_or_loss_ref OUT VARCHAR2
109191
109192 --Invoice Distribution Description
109193 , p_source_1 IN VARCHAR2
109194 --Invoice Distribution Ledger Amount
109195 , p_source_21 IN NUMBER
109196 --Invoice Distribution Account
109197 , p_source_30 IN NUMBER
109198 --Prepaid Expense Account Source Option
109199 , p_source_31 IN VARCHAR2
109200 , p_source_31_meaning IN VARCHAR2
109201 --Purchase Order Number
109202 , p_source_32 IN VARCHAR2
109203 --Invoice Distribution Type
109204 , p_source_33 IN VARCHAR2
109205 , p_source_33_meaning IN VARCHAR2
109206 --Purchase Order Charge Account
109207 , p_source_45 IN NUMBER
109208 --Accounting Reversal Indicator
109209 , p_source_52 IN VARCHAR2
109210 --Distribution Link Type
109211 , p_source_54 IN VARCHAR2
109212 --Allocation to Main Distribution Identifier
109213 , p_source_56 IN NUMBER
109214 --Invoice Identifier
109215 , p_source_57 IN NUMBER
109216 --Invoice Distribution Identifier
109217 , p_source_63 IN NUMBER
109218 --Payables Encumbrance Upgrade Credit Account
109219 , p_source_64 IN NUMBER
109220 --Payables Encumbrance Upgrade Credit Amount
109221 , p_source_65 IN NUMBER
109222 --Invoice Currency Code
109223 , p_source_66 IN VARCHAR2
109224 --Payables Encumbrance Upgrade Credit Base Amount
109225 , p_source_67 IN NUMBER
109226 --Payables Encumbrance Upgrade Debit Account
109227 , p_source_68 IN NUMBER
109228 --Payables Encumbrance Upgrade Debit Amount
109229 , p_source_69 IN NUMBER
109230 --Payables Encumbrance Upgrade Debit Base Amount
109231 , p_source_70 IN NUMBER
109232 --Payables Encumbrance Upgrade Option
109233 , p_source_71 IN VARCHAR2
109234 --Invoice Distribution Amount
109235 , p_source_72 IN NUMBER
109236 --Deferred Accounting End Date
109237 , p_source_76 IN DATE
109238 --Deferred Accounting Option
109239 , p_source_77 IN VARCHAR2
109240 --Deferred Accounting Start Date
109241 , p_source_78 IN DATE
109242 --Override Accounted Amount Indicator
109243 , p_source_79 IN VARCHAR2
109244 , p_source_79_meaning IN VARCHAR2
109245 --Invoice Supplier Identifier
109246 , p_source_80 IN NUMBER
109247 --Invoice Supplier Site Identifier
109248 , p_source_81 IN NUMBER
109249 --Third Party Type
109250 , p_source_82 IN VARCHAR2
109251 --Parent Reversal Identifier
109255 --Invoice Distribution Tax Line Identifier
109252 , p_source_83 IN NUMBER
109253 --Invoice Distribution Statistical Amount
109254 , p_source_84 IN NUMBER
109256 , p_source_85 IN NUMBER
109257 --Invoice Distribution Tax Distribution Identifier from Tax
109258 , p_source_86 IN NUMBER
109259 --Invoice Distribution Summary Tax Line Identifier
109260 , p_source_87 IN NUMBER
109261 --Payables Upgrade Credit Encumbrance Type Identifier
109262 , p_source_88 IN NUMBER
109263 --Payables Upgrade Debit Encumbrance Type Identifier
109264 , p_source_89 IN NUMBER
109265 --Business Flow Accounts Payable Application Identifier
109266 , p_source_90 IN NUMBER
109267 --Business Flow Invoice Distribution Type
109268 , p_source_91 IN VARCHAR2
109269 --Business Flow Invoice Entity Code
109270 , p_source_92 IN VARCHAR2
109271 --Business Flow Invoice Distribution Identifier
109272 , p_source_93 IN NUMBER
109273 --Business Flow Invoice Identifier
109274 , p_source_94 IN NUMBER
109275 --Accrue on Receipt Option
109276 , p_source_95 IN VARCHAR2
109277 , p_source_95_meaning IN VARCHAR2
109278 --Invoice Exchange Date
109279 , p_source_136 IN DATE
109280 --Invoice Exchange Rate
109281 , p_source_137 IN NUMBER
109282 --Invoice Exchange Rate Type
109283 , p_source_138 IN VARCHAR2
109284 )
109285 IS
109286
109287 l_component_type VARCHAR2(80);
109288 l_component_code VARCHAR2(30);
109289 l_component_type_code VARCHAR2(1);
109290 l_component_appl_id INTEGER;
109291 l_amb_context_code VARCHAR2(30);
109292 l_entity_code VARCHAR2(30);
109293 l_event_class_code VARCHAR2(30);
109294 l_ae_header_id NUMBER;
109295 l_event_type_code VARCHAR2(30);
109296 l_line_definition_code VARCHAR2(30);
109297 l_line_definition_owner_code VARCHAR2(1);
109298 --
109299 -- adr variables
109300 l_segment VARCHAR2(30);
109301 l_ccid NUMBER;
109302 l_adr_transaction_coa_id NUMBER;
109303 l_adr_accounting_coa_id NUMBER;
109304 l_adr_flexfield_segment_code VARCHAR2(30);
109305 l_adr_flex_value_set_id NUMBER;
109306 l_adr_value_type_code VARCHAR2(30);
109307 l_adr_value_combination_id NUMBER;
109308 l_adr_value_segment_code VARCHAR2(30);
109309
109310 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
109311 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
109312 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
109313 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
109314
109315 -- 4262811 Variables ------------------------------------------------------------------------------------------
109316 l_entered_amt_idx NUMBER;
109317 l_accted_amt_idx NUMBER;
109318 l_acc_rev_flag VARCHAR2(1);
109319 l_accrual_line_num NUMBER;
109320 l_tmp_amt NUMBER;
109321 l_acc_rev_natural_side_code VARCHAR2(1);
109322
109323 l_num_entries NUMBER;
109324 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
109325 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
109326 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
109327 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
109328 l_recog_line_1 NUMBER;
109329 l_recog_line_2 NUMBER;
109330
109331 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
109332 l_bflow_applied_to_amt NUMBER; -- 5132302
109333 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
109334
109335 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
109336
109337 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
109338 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
109339
109340 ---------------------------------------------------------------------------------------------------------------
109341
109342
109343 --
109344 -- bulk performance
109345 --
109346 l_balance_type_code VARCHAR2(1);
109347 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
109348 l_log_module VARCHAR2(240);
109349
109350 --
109351 -- Upgrade strategy
109352 --
109353 l_actual_upg_option VARCHAR2(1);
109354 l_enc_upg_option VARCHAR2(1);
109355
109356 --
109357 BEGIN
109358 --
109359 IF g_log_enabled THEN
109360 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_181';
109361 END IF;
109362 --
109363 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109364
109365 trace
109366 (p_msg => 'BEGIN of AcctLineType_181'
109367 ,p_level => C_LEVEL_PROCEDURE
109368 ,p_module => l_log_module);
109369
109370 END IF;
109371 --
109372 l_component_type := 'AMB_JLT';
109373 l_component_code := 'AP_PREPAID_EXPENSE_PREPAY';
109374 l_component_type_code := 'S';
109375 l_component_appl_id := 200;
109376 l_amb_context_code := 'DEFAULT';
109377 l_entity_code := 'AP_INVOICES';
109378 l_event_class_code := 'PREPAYMENTS';
109379 l_event_type_code := 'PREPAYMENTS_ALL';
109383 l_balance_type_code := 'A';
109380 l_line_definition_owner_code := 'S';
109381 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
109382 --
109384 l_segment := NULL;
109385 l_ccid := NULL;
109386 l_adr_transaction_coa_id := NULL;
109387 l_adr_accounting_coa_id := NULL;
109388 l_adr_flexfield_segment_code := NULL;
109389 l_adr_flex_value_set_id := NULL;
109390 l_adr_value_type_code := NULL;
109391 l_adr_value_combination_id := NULL;
109392 l_adr_value_segment_code := NULL;
109393
109394 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
109395 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
109396 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
109397 l_budgetary_control_flag := 'N';
109398
109399 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109400 l_bflow_applied_to_amt := NULL; -- 5132302
109401 l_entered_amt_idx := NULL; -- 4262811
109402 l_accted_amt_idx := NULL; -- 4262811
109403 l_acc_rev_flag := NULL; -- 4262811
109404 l_accrual_line_num := NULL; -- 4262811
109405 l_tmp_amt := NULL; -- 4262811
109406 --
109407
109408 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
109409 l_balance_type_code <> 'B' THEN
109410 IF NVL(p_source_33,'
109411 ') = 'RETROEXPENSE' OR
109412 NVL(p_source_33,'
109413 ') = 'ITEM' OR
109414 (NVL(p_source_33,'
109415 ') = 'ERV' AND
109416 NVL(p_source_95,'
109417 ') <> 'Y') OR
109418 (NVL(p_source_33,'
109419 ') = 'IPV' AND
109420 NVL(p_source_95,'
109421 ') <> 'Y')
109422 THEN
109423
109424 --
109425 XLA_AE_LINES_PKG.SetNewLine;
109426
109427 p_balance_type_code := l_balance_type_code;
109428 -- set the flag so later we will know whether the gain loss line needs to be created
109429
109430 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
109431 p_actual_flag :='A';
109432 END IF;
109433
109434 --
109435 -- bulk performance
109436 --
109437 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
109438 p_header_num => 0); -- 4262811
109439 --
109440 -- set accounting line options
109441 --
109442 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
109443 p_natural_side_code => 'D'
109444 , p_gain_or_loss_flag => 'N'
109445 , p_gl_transfer_mode_code => 'S'
109446 , p_acct_entry_type_code => 'A'
109447 , p_switch_side_flag => 'Y'
109448 , p_merge_duplicate_code => 'A'
109449 );
109450 --
109451 l_acc_rev_natural_side_code := 'C'; -- 4262811
109452 --
109453 --
109454 -- set accounting line type info
109455 --
109456 xla_ae_lines_pkg.SetAcctLineType
109457 (p_component_type => l_component_type
109458 ,p_event_type_code => l_event_type_code
109459 ,p_line_definition_owner_code => l_line_definition_owner_code
109460 ,p_line_definition_code => l_line_definition_code
109461 ,p_accounting_line_code => l_component_code
109462 ,p_accounting_line_type_code => l_component_type_code
109463 ,p_accounting_line_appl_id => l_component_appl_id
109464 ,p_amb_context_code => l_amb_context_code
109465 ,p_entity_code => l_entity_code
109466 ,p_event_class_code => l_event_class_code);
109467 --
109468 -- set accounting class
109469 --
109470 xla_ae_lines_pkg.SetAcctClass(
109471 p_accounting_class_code => 'PREPAID_EXPENSE'
109472 , p_ae_header_id => l_ae_header_id
109473 );
109474
109475 --
109476 -- set rounding class
109477 --
109478 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
109479 'PREPAID_EXPENSE';
109480
109481 --
109482 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
109483 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
109484 --
109485 -- bulk performance
109486 --
109487 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
109488
109489 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
109490 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
109491
109492 -- 4955764
109493 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109494 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
109495
109496 -- 4458381 Public Sector Enh
109497
109498 --
109499 -- set accounting attributes for the line type
109500 --
109501 l_entered_amt_idx := 23;
109502 l_accted_amt_idx := 28;
109503 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109504 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109505 l_rec_acct_attrs.array_char_value(1) := p_source_52;
109506 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
109507 l_rec_acct_attrs.array_num_value(2) :=
109508 xla_ae_sources_pkg.GetSystemSourceNum(
109509 p_source_code => 'XLA_EVENT_APPL_ID'
109513 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
109510 , p_source_type_code => 'Y'
109511 , p_source_application_id => 602
109512 );
109514 l_rec_acct_attrs.array_char_value(3) := p_source_54;
109515 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
109516 l_rec_acct_attrs.array_char_value(4) :=
109517 xla_ae_sources_pkg.GetSystemSourceChar(
109518 p_source_code => 'XLA_ENTITY_CODE'
109519 , p_source_type_code => 'Y'
109520 , p_source_application_id => 602
109521 );
109522 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
109523 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
109524 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
109525 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
109526 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
109527 l_rec_acct_attrs.array_num_value(7) := p_source_90;
109528 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109529 l_rec_acct_attrs.array_char_value(8) := p_source_91;
109530 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
109531 l_rec_acct_attrs.array_char_value(9) := p_source_92;
109532 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
109533 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
109534 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109535 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
109536 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
109537 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
109538 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
109539 l_rec_acct_attrs.array_char_value(13) := p_source_54;
109540 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
109541 l_rec_acct_attrs.array_num_value(14) := p_source_64;
109542 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
109543 l_rec_acct_attrs.array_num_value(15) := p_source_65;
109544 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
109545 l_rec_acct_attrs.array_char_value(16) := p_source_66;
109546 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
109547 l_rec_acct_attrs.array_num_value(17) := p_source_67;
109548 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
109549 l_rec_acct_attrs.array_num_value(18) := p_source_68;
109550 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
109551 l_rec_acct_attrs.array_num_value(19) := p_source_69;
109552 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
109553 l_rec_acct_attrs.array_char_value(20) := p_source_66;
109554 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
109555 l_rec_acct_attrs.array_num_value(21) := p_source_70;
109556 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
109557 l_rec_acct_attrs.array_char_value(22) := p_source_71;
109558 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
109559 l_rec_acct_attrs.array_num_value(23) := p_source_72;
109560 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
109561 l_rec_acct_attrs.array_char_value(24) := p_source_66;
109562 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
109563 l_rec_acct_attrs.array_date_value(25) := p_source_136;
109564 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
109565 l_rec_acct_attrs.array_num_value(26) := p_source_137;
109566 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
109567 l_rec_acct_attrs.array_char_value(27) := p_source_138;
109568 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
109569 l_rec_acct_attrs.array_num_value(28) := p_source_21;
109570 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
109571 l_rec_acct_attrs.array_date_value(29) := p_source_76;
109572 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
109573 l_rec_acct_attrs.array_char_value(30) := p_source_77;
109574 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
109575 l_rec_acct_attrs.array_date_value(31) := p_source_78;
109576 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
109577 l_rec_acct_attrs.array_char_value(32) := p_source_79;
109578 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
109579 l_rec_acct_attrs.array_num_value(33) := p_source_80;
109580 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
109581 l_rec_acct_attrs.array_num_value(34) := p_source_81;
109582 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
109583 l_rec_acct_attrs.array_char_value(35) := p_source_82;
109584 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
109585 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
109586 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
109587 l_rec_acct_attrs.array_char_value(37) := p_source_54;
109588 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
109589 l_rec_acct_attrs.array_num_value(38) := p_source_84;
109590 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
109591 l_rec_acct_attrs.array_num_value(39) := p_source_85;
109592 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
109593 l_rec_acct_attrs.array_num_value(40) := p_source_86;
109594 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
109595 l_rec_acct_attrs.array_num_value(41) := p_source_87;
109599 l_rec_acct_attrs.array_num_value(43) := p_source_89;
109596 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
109597 l_rec_acct_attrs.array_num_value(42) := p_source_88;
109598 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
109600
109601 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109602 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109603
109604 ---------------------------------------------------------------------------------------------------------------
109605 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109606 ---------------------------------------------------------------------------------------------------------------
109607 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109608
109609 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109610 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109611
109612 IF xla_accounting_cache_pkg.GetValueChar
109613 (p_source_code => 'LEDGER_CATEGORY_CODE'
109614 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109615 AND l_bflow_method_code = 'PRIOR_ENTRY'
109616 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109617 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109618 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109619 )
109620 THEN
109621 xla_ae_lines_pkg.BflowUpgEntry
109622 (p_business_method_code => l_bflow_method_code
109623 ,p_business_class_code => l_bflow_class_code
109624 ,p_balance_type => l_balance_type_code);
109625 ELSE
109626 NULL;
109627 -- No business flow processing for business flow method of NONE.
109628 END IF;
109629
109630 --
109631 -- call analytical criteria
109632 --
109633
109634 --
109635 -- call description
109636 --
109637
109638 xla_ae_lines_pkg.SetLineDescription(
109639 p_ae_header_id => l_ae_header_id
109640 ,p_description => Description_1 (
109641 p_application_id => p_application_id
109642 , p_ae_header_id => l_ae_header_id
109643 , p_source_1 => p_source_1
109644 )
109645 );
109646
109647
109648 --
109649 -- call ADRs
109650 -- Bug 4922099
109651 --
109652 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109653 (NVL(l_actual_upg_option, 'N') = 'O') OR
109654 (NVL(l_enc_upg_option, 'N') = 'O')
109655 )
109656 THEN
109657 NULL;
109658 --
109659 --
109660
109661 l_ccid := AcctDerRule_36(
109662 p_application_id => p_application_id
109663 , p_ae_header_id => l_ae_header_id
109664 , p_source_30 => p_source_30
109665 , p_source_31 => p_source_31
109666 , p_source_31_meaning => p_source_31_meaning
109667 , p_source_32 => p_source_32
109668 , p_source_33 => p_source_33
109669 , p_source_33_meaning => p_source_33_meaning
109670 , p_source_45 => p_source_45
109671 , x_transaction_coa_id => l_adr_transaction_coa_id
109672 , x_accounting_coa_id => l_adr_accounting_coa_id
109673 , x_value_type_code => l_adr_value_type_code
109674 , p_side => 'NA'
109675 );
109676
109677 xla_ae_lines_pkg.set_ccid(
109678 p_code_combination_id => l_ccid
109679 , p_value_type_code => l_adr_value_type_code
109680 , p_transaction_coa_id => l_adr_transaction_coa_id
109681 , p_accounting_coa_id => l_adr_accounting_coa_id
109682 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
109683 , p_adr_type_code => 'S'
109684 , p_component_type => l_component_type
109685 , p_component_code => l_component_code
109686 , p_component_type_code => l_component_type_code
109687 , p_component_appl_id => l_component_appl_id
109688 , p_amb_context_code => l_amb_context_code
109689 , p_side => 'NA'
109690 );
109691
109692
109693 l_segment := AcctDerRule_13(
109694 p_application_id => p_application_id
109695 , p_ae_header_id => l_ae_header_id
109696 , p_source_30 => p_source_30
109697 , p_source_31 => p_source_31
109698 , p_source_31_meaning => p_source_31_meaning
109699 , p_source_32 => p_source_32
109700 , p_source_33 => p_source_33
109701 , p_source_33_meaning => p_source_33_meaning
109702 , x_transaction_coa_id => l_adr_transaction_coa_id
109703 , x_accounting_coa_id => l_adr_accounting_coa_id
109704 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109705 , x_flex_value_set_id => l_adr_flex_value_set_id
109706 , x_value_type_code => l_adr_value_type_code
109707 , x_value_combination_id => l_adr_value_combination_id
109708 , x_value_segment_code => l_adr_value_segment_code
109709 , p_side => 'NA'
109710 , p_override_seg_flag => 'Y'
109711 );
109712
109713 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109714
109715 xla_ae_lines_pkg.set_segment(
109719 , p_from_combination_id => l_adr_value_combination_id
109716 p_to_segment_code => 'GL_ACCOUNT'
109717 , p_segment_value => l_segment
109718 , p_from_segment_code => l_adr_value_segment_code
109720 , p_value_type_code => l_adr_value_type_code
109721 , p_transaction_coa_id => l_adr_transaction_coa_id
109722 , p_accounting_coa_id => l_adr_accounting_coa_id
109723 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109724 , p_flex_value_set_id => l_adr_flex_value_set_id
109725 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
109726 , p_adr_type_code => 'S'
109727 , p_component_type => l_component_type
109728 , p_component_code => l_component_code
109729 , p_component_type_code => l_component_type_code
109730 , p_component_appl_id => l_component_appl_id
109731 , p_amb_context_code => l_amb_context_code
109732 , p_entity_code => 'AP_INVOICES'
109733 , p_event_class_code => 'PREPAYMENTS'
109734 , p_side => 'NA'
109735 );
109736
109737 END IF;
109738
109739 --
109740 --
109741 END IF;
109742 --
109743 -- Bug 4922099
109744 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109745 (NVL(l_enc_upg_option, 'N') = 'O')
109746 ) AND
109747 (l_bflow_method_code = 'PRIOR_ENTRY')
109748 )
109749 THEN
109750 IF
109751 --
109752 1 = 2
109753 --
109754 THEN
109755 xla_accounting_err_pkg.build_message
109756 (p_appli_s_name => 'XLA'
109757 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109758 ,p_token_1 => 'LINE_NUMBER'
109759 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109760 ,p_token_2 => 'LINE_TYPE_NAME'
109761 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109762 l_component_type
109763 ,l_component_code
109764 ,l_component_type_code
109765 ,l_component_appl_id
109766 ,l_amb_context_code
109767 ,l_entity_code
109768 ,l_event_class_code
109769 )
109770 ,p_token_3 => 'OWNER'
109771 ,p_value_3 => xla_lookups_pkg.get_meaning(
109772 p_lookup_type => 'XLA_OWNER_TYPE'
109773 ,p_lookup_code => l_component_type_code
109774 )
109775 ,p_token_4 => 'PRODUCT_NAME'
109776 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109777 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109778 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109779 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109780 ,p_ae_header_id => NULL
109781 );
109782
109783 IF (C_LEVEL_ERROR>= g_log_level) THEN
109784 trace
109785 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109786 ,p_level => C_LEVEL_ERROR
109787 ,p_module => l_log_module);
109788 END IF;
109789 END IF;
109790 END IF;
109791 --
109792 --
109793 ------------------------------------------------------------------------------------------------
109794 -- 4219869 Business Flow
109795 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109796 -- Prior Entry. Currently, the following code is always generated.
109797 ------------------------------------------------------------------------------------------------
109798 XLA_AE_LINES_PKG.ValidateCurrentLine;
109799
109800 ------------------------------------------------------------------------------------
109801 -- 4219869 Business Flow
109802 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109803 ------------------------------------------------------------------------------------
109804 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109805
109806 ----------------------------------------------------------------------------------
109807 -- 4219869 Business Flow
109808 -- Update journal entry status -- Need to generate this within IF <condition>
109809 ----------------------------------------------------------------------------------
109810 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109814
109811 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109812 ,p_balance_type_code => l_balance_type_code
109813 );
109815 -------------------------------------------------------------------------------------------
109816 -- 4262811 - Generate the Accrual Reversal lines
109817 -------------------------------------------------------------------------------------------
109818 BEGIN
109819 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109820 (g_array_event(p_event_id).array_value_num('header_index'));
109821 IF l_acc_rev_flag IS NULL THEN
109822 l_acc_rev_flag := 'N';
109823 END IF;
109824 EXCEPTION
109825 WHEN OTHERS THEN
109826 l_acc_rev_flag := 'N';
109827 END;
109828 --
109829 IF (l_acc_rev_flag = 'Y') THEN
109830
109831 -- 4645092 ------------------------------------------------------------------------------
109832 -- To allow MPA report to determine if it should generate report process
109833 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109834 ------------------------------------------------------------------------------------------
109835
109836 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109837 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109838 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109839 -- call ADRs
109840 -- Bug 4922099
109841 --
109842 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109843 (NVL(l_actual_upg_option, 'N') = 'O') OR
109844 (NVL(l_enc_upg_option, 'N') = 'O')
109845 )
109846 THEN
109847 NULL;
109848 --
109849 --
109850
109851 l_ccid := AcctDerRule_36(
109852 p_application_id => p_application_id
109853 , p_ae_header_id => l_ae_header_id
109854 , p_source_30 => p_source_30
109855 , p_source_31 => p_source_31
109856 , p_source_31_meaning => p_source_31_meaning
109857 , p_source_32 => p_source_32
109858 , p_source_33 => p_source_33
109859 , p_source_33_meaning => p_source_33_meaning
109860 , p_source_45 => p_source_45
109861 , x_transaction_coa_id => l_adr_transaction_coa_id
109862 , x_accounting_coa_id => l_adr_accounting_coa_id
109863 , x_value_type_code => l_adr_value_type_code
109864 , p_side => 'NA'
109865 );
109866
109867 xla_ae_lines_pkg.set_ccid(
109868 p_code_combination_id => l_ccid
109869 , p_value_type_code => l_adr_value_type_code
109870 , p_transaction_coa_id => l_adr_transaction_coa_id
109871 , p_accounting_coa_id => l_adr_accounting_coa_id
109872 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
109873 , p_adr_type_code => 'S'
109874 , p_component_type => l_component_type
109875 , p_component_code => l_component_code
109876 , p_component_type_code => l_component_type_code
109877 , p_component_appl_id => l_component_appl_id
109878 , p_amb_context_code => l_amb_context_code
109879 , p_side => 'NA'
109880 );
109881
109882
109883 l_segment := AcctDerRule_13(
109884 p_application_id => p_application_id
109885 , p_ae_header_id => l_ae_header_id
109886 , p_source_30 => p_source_30
109887 , p_source_31 => p_source_31
109888 , p_source_31_meaning => p_source_31_meaning
109889 , p_source_32 => p_source_32
109890 , p_source_33 => p_source_33
109891 , p_source_33_meaning => p_source_33_meaning
109892 , x_transaction_coa_id => l_adr_transaction_coa_id
109893 , x_accounting_coa_id => l_adr_accounting_coa_id
109894 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109895 , x_flex_value_set_id => l_adr_flex_value_set_id
109896 , x_value_type_code => l_adr_value_type_code
109897 , x_value_combination_id => l_adr_value_combination_id
109898 , x_value_segment_code => l_adr_value_segment_code
109899 , p_side => 'NA'
109900 , p_override_seg_flag => 'Y'
109901 );
109902
109903 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109904
109905 xla_ae_lines_pkg.set_segment(
109906 p_to_segment_code => 'GL_ACCOUNT'
109907 , p_segment_value => l_segment
109908 , p_from_segment_code => l_adr_value_segment_code
109909 , p_from_combination_id => l_adr_value_combination_id
109910 , p_value_type_code => l_adr_value_type_code
109911 , p_transaction_coa_id => l_adr_transaction_coa_id
109912 , p_accounting_coa_id => l_adr_accounting_coa_id
109913 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109914 , p_flex_value_set_id => l_adr_flex_value_set_id
109915 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
109916 , p_adr_type_code => 'S'
109917 , p_component_type => l_component_type
109918 , p_component_code => l_component_code
109919 , p_component_type_code => l_component_type_code
109920 , p_component_appl_id => l_component_appl_id
109921 , p_amb_context_code => l_amb_context_code
109922 , p_entity_code => 'AP_INVOICES'
109923 , p_event_class_code => 'PREPAYMENTS'
109924 , p_side => 'NA'
109925 );
109929 --
109926
109927 END IF;
109928
109930 --
109931 END IF;
109932
109933 --
109934 -- Update the line information that should be overwritten
109935 --
109936 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109937 p_header_num => 1);
109938 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109939
109940 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109941
109942 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109943 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109944 END IF;
109945
109946 --
109947 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109948 --
109949 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109950 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109951 ELSE
109952 ---------------------------------------------------------------------------------------------------
109953 -- 4262811a Switch Sign
109954 ---------------------------------------------------------------------------------------------------
109955 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109956 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109957 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109958 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109959 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109960 -- 5132302
109961 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109962 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109963
109964 END IF;
109965
109966 -- 4955764
109967 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109968 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109969
109970
109971 XLA_AE_LINES_PKG.ValidateCurrentLine;
109972 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109973
109974 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109975 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109976 ,p_balance_type_code => l_balance_type_code);
109977
109978 END IF;
109979
109980 -----------------------------------------------------------------------------------------
109981 -- 4262811 Multiperiod Accounting
109982 -----------------------------------------------------------------------------------------
109983 -- No MPA option is assigned.
109984
109985
109986 END IF;
109987 END IF;
109988 --
109989
109990 --
109991 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109992 trace
109993 (p_msg => 'END of AcctLineType_181'
109994 ,p_level => C_LEVEL_PROCEDURE
109995 ,p_module => l_log_module);
109996 END IF;
109997 --
109998 EXCEPTION
109999 WHEN xla_exceptions_pkg.application_exception THEN
110000 RAISE;
110001 WHEN OTHERS THEN
110002 xla_exceptions_pkg.raise_message
110003 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_181');
110004 END AcctLineType_181;
110005 --
110006
110007 ---------------------------------------
110008 --
110009 -- PRIVATE FUNCTION
110010 -- AcctLineType_182
110011 --
110012 ---------------------------------------
110013 PROCEDURE AcctLineType_182 (
110014 p_application_id IN NUMBER
110015 ,p_event_id IN NUMBER
110016 ,p_calculate_acctd_flag IN VARCHAR2
110017 ,p_calculate_g_l_flag IN VARCHAR2
110018 ,p_actual_flag IN OUT VARCHAR2
110019 ,p_balance_type_code OUT VARCHAR2
110020 ,p_gain_or_loss_ref OUT VARCHAR2
110021
110022 --Accounting Reversal Indicator
110023 , p_source_52 IN VARCHAR2
110024 --Distribution Link Type
110025 , p_source_54 IN VARCHAR2
110026 --Invoice Identifier
110027 , p_source_57 IN NUMBER
110028 --Payables Encumbrance Upgrade Credit Account
110029 , p_source_64 IN NUMBER
110030 --Payables Encumbrance Upgrade Credit Amount
110031 , p_source_65 IN NUMBER
110032 --Invoice Currency Code
110033 , p_source_66 IN VARCHAR2
110034 --Payables Encumbrance Upgrade Credit Base Amount
110035 , p_source_67 IN NUMBER
110036 --Payables Encumbrance Upgrade Debit Account
110037 , p_source_68 IN NUMBER
110038 --Payables Encumbrance Upgrade Debit Amount
110039 , p_source_69 IN NUMBER
110040 --Payables Encumbrance Upgrade Debit Base Amount
110041 , p_source_70 IN NUMBER
110042 --Payables Encumbrance Upgrade Option
110043 , p_source_71 IN VARCHAR2
110044 --Deferred Accounting End Date
110045 , p_source_76 IN DATE
110046 --Deferred Accounting Option
110047 , p_source_77 IN VARCHAR2
110048 --Deferred Accounting Start Date
110049 , p_source_78 IN DATE
110050 --Override Accounted Amount Indicator
110051 , p_source_79 IN VARCHAR2
110055 --Invoice Distribution Tax Line Identifier
110052 , p_source_79_meaning IN VARCHAR2
110053 --Third Party Type
110054 , p_source_82 IN VARCHAR2
110056 , p_source_85 IN NUMBER
110057 --Invoice Distribution Tax Distribution Identifier from Tax
110058 , p_source_86 IN NUMBER
110059 --Invoice Distribution Summary Tax Line Identifier
110060 , p_source_87 IN NUMBER
110061 --Payables Upgrade Credit Encumbrance Type Identifier
110062 , p_source_88 IN NUMBER
110063 --Payables Upgrade Debit Encumbrance Type Identifier
110064 , p_source_89 IN NUMBER
110065 --Business Flow Accounts Payable Application Identifier
110066 , p_source_90 IN NUMBER
110067 --Prepayment Application Distribution Identifier
110068 , p_source_127 IN NUMBER
110069 --Upgrade Encumbrance Credit Account Class
110070 , p_source_130 IN VARCHAR2
110071 --Upgrade Encumbrance Debit Account Class
110072 , p_source_131 IN VARCHAR2
110073 --Prepayment Distribution Amount
110074 , p_source_132 IN NUMBER
110075 --Identifier of the Prepayment Application Reversed
110076 , p_source_134 IN NUMBER
110077 --Business Flow Prepayment Invoice Distribution Type
110078 , p_source_139 IN VARCHAR2
110079 --Business Flow Prepayment Invoice Entity Code
110080 , p_source_140 IN VARCHAR2
110081 --Business Flow Prepayment Invoice Distribution Identifier
110082 , p_source_141 IN NUMBER
110083 --Business Flow Prepayment Invoice Identifier
110084 , p_source_142 IN NUMBER
110085 --Prepayment Distribution Type
110086 , p_source_143 IN VARCHAR2
110087 --Prepayment Distribution (Prepayment Rate) Ledger Amount
110088 , p_source_144 IN NUMBER
110089 --Deferred Prepayment Settlement Option Code
110090 , p_source_165 IN VARCHAR2
110091 , p_source_165_meaning IN VARCHAR2
110092 )
110093 IS
110094
110095 l_component_type VARCHAR2(80);
110096 l_component_code VARCHAR2(30);
110097 l_component_type_code VARCHAR2(1);
110098 l_component_appl_id INTEGER;
110099 l_amb_context_code VARCHAR2(30);
110100 l_entity_code VARCHAR2(30);
110101 l_event_class_code VARCHAR2(30);
110102 l_ae_header_id NUMBER;
110103 l_event_type_code VARCHAR2(30);
110104 l_line_definition_code VARCHAR2(30);
110105 l_line_definition_owner_code VARCHAR2(1);
110106 --
110107 -- adr variables
110108 l_segment VARCHAR2(30);
110109 l_ccid NUMBER;
110110 l_adr_transaction_coa_id NUMBER;
110111 l_adr_accounting_coa_id NUMBER;
110112 l_adr_flexfield_segment_code VARCHAR2(30);
110113 l_adr_flex_value_set_id NUMBER;
110114 l_adr_value_type_code VARCHAR2(30);
110115 l_adr_value_combination_id NUMBER;
110116 l_adr_value_segment_code VARCHAR2(30);
110117
110118 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110119 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110120 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110121 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110122
110123 -- 4262811 Variables ------------------------------------------------------------------------------------------
110124 l_entered_amt_idx NUMBER;
110125 l_accted_amt_idx NUMBER;
110126 l_acc_rev_flag VARCHAR2(1);
110127 l_accrual_line_num NUMBER;
110128 l_tmp_amt NUMBER;
110129 l_acc_rev_natural_side_code VARCHAR2(1);
110130
110131 l_num_entries NUMBER;
110132 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110133 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110134 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110135 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110136 l_recog_line_1 NUMBER;
110137 l_recog_line_2 NUMBER;
110138
110139 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110140 l_bflow_applied_to_amt NUMBER; -- 5132302
110141 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110142
110143 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110144
110145 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110146 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110147
110148 ---------------------------------------------------------------------------------------------------------------
110149
110150
110151 --
110152 -- bulk performance
110153 --
110154 l_balance_type_code VARCHAR2(1);
110155 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110156 l_log_module VARCHAR2(240);
110157
110158 --
110159 -- Upgrade strategy
110160 --
110161 l_actual_upg_option VARCHAR2(1);
110162 l_enc_upg_option VARCHAR2(1);
110163
110164 --
110165 BEGIN
110166 --
110167 IF g_log_enabled THEN
110168 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_182';
110169 END IF;
110170 --
110171 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110172
110173 trace
110174 (p_msg => 'BEGIN of AcctLineType_182'
110175 ,p_level => C_LEVEL_PROCEDURE
110179 --
110176 ,p_module => l_log_module);
110177
110178 END IF;
110180 l_component_type := 'AMB_JLT';
110181 l_component_code := 'AP_PREPAID_EXP_ACCR_PREPAY_APP';
110182 l_component_type_code := 'S';
110183 l_component_appl_id := 200;
110184 l_amb_context_code := 'DEFAULT';
110185 l_entity_code := 'AP_INVOICES';
110186 l_event_class_code := 'PREPAYMENT APPLICATIONS';
110187 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
110188 l_line_definition_owner_code := 'S';
110189 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
110190 --
110191 l_balance_type_code := 'A';
110192 l_segment := NULL;
110193 l_ccid := NULL;
110194 l_adr_transaction_coa_id := NULL;
110195 l_adr_accounting_coa_id := NULL;
110196 l_adr_flexfield_segment_code := NULL;
110197 l_adr_flex_value_set_id := NULL;
110198 l_adr_value_type_code := NULL;
110199 l_adr_value_combination_id := NULL;
110200 l_adr_value_segment_code := NULL;
110201
110202 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
110203 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
110204 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110205 l_budgetary_control_flag := 'N';
110206
110207 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110208 l_bflow_applied_to_amt := NULL; -- 5132302
110209 l_entered_amt_idx := NULL; -- 4262811
110210 l_accted_amt_idx := NULL; -- 4262811
110211 l_acc_rev_flag := NULL; -- 4262811
110212 l_accrual_line_num := NULL; -- 4262811
110213 l_tmp_amt := NULL; -- 4262811
110214 --
110215
110216 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110217 l_balance_type_code <> 'B' THEN
110218 IF NVL(p_source_143,'
110219 ') = 'PREPAY APPL' OR
110220 NVL(p_source_143,'
110221 ') = 'TAX DIFF' OR
110222 NVL(p_source_143,'
110223 ') = 'FINAL APPLICATION ROUNDING' OR
110224 (NVL(p_source_143,'
110225 ') = 'PREPAY APPL REC TAX' AND
110226 NVL(p_source_165,'
110227 ') <> 'DEFERRED') OR
110228 NVL(p_source_143,'
110229 ') = 'PREPAY APPL NONREC TAX'
110230 THEN
110231
110232 --
110233 XLA_AE_LINES_PKG.SetNewLine;
110234
110235 p_balance_type_code := l_balance_type_code;
110236 -- set the flag so later we will know whether the gain loss line needs to be created
110237
110238 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
110239 p_actual_flag :='A';
110240 END IF;
110241
110242 --
110243 -- bulk performance
110244 --
110245 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110246 p_header_num => 0); -- 4262811
110247 --
110248 -- set accounting line options
110249 --
110250 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110251 p_natural_side_code => 'D'
110252 , p_gain_or_loss_flag => 'N'
110253 , p_gl_transfer_mode_code => 'S'
110254 , p_acct_entry_type_code => 'A'
110255 , p_switch_side_flag => 'Y'
110256 , p_merge_duplicate_code => 'A'
110257 );
110258 --
110259 l_acc_rev_natural_side_code := 'C'; -- 4262811
110260 --
110261 --
110262 -- set accounting line type info
110263 --
110264 xla_ae_lines_pkg.SetAcctLineType
110265 (p_component_type => l_component_type
110266 ,p_event_type_code => l_event_type_code
110267 ,p_line_definition_owner_code => l_line_definition_owner_code
110268 ,p_line_definition_code => l_line_definition_code
110269 ,p_accounting_line_code => l_component_code
110270 ,p_accounting_line_type_code => l_component_type_code
110271 ,p_accounting_line_appl_id => l_component_appl_id
110272 ,p_amb_context_code => l_amb_context_code
110273 ,p_entity_code => l_entity_code
110274 ,p_event_class_code => l_event_class_code);
110275 --
110276 -- set accounting class
110277 --
110278 xla_ae_lines_pkg.SetAcctClass(
110279 p_accounting_class_code => 'PREPAID_EXPENSE'
110280 , p_ae_header_id => l_ae_header_id
110281 );
110282
110283 --
110284 -- set rounding class
110285 --
110286 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110287 'PREPAID_EXPENSE';
110288
110289 --
110290 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110291 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110292 --
110293 -- bulk performance
110294 --
110295 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110296
110297 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110298 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110299
110300 -- 4955764
110301 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110305
110302 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110303
110304 -- 4458381 Public Sector Enh
110306 --
110307 -- set accounting attributes for the line type
110308 --
110309 l_entered_amt_idx := 25;
110310 l_accted_amt_idx := 27;
110311 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110312 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110313 l_rec_acct_attrs.array_char_value(1) := p_source_52;
110314 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
110315 l_rec_acct_attrs.array_num_value(2) :=
110316 xla_ae_sources_pkg.GetSystemSourceNum(
110317 p_source_code => 'XLA_EVENT_APPL_ID'
110318 , p_source_type_code => 'Y'
110319 , p_source_application_id => 602
110320 );
110321 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
110322 l_rec_acct_attrs.array_char_value(3) := p_source_54;
110323 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
110324 l_rec_acct_attrs.array_char_value(4) :=
110325 xla_ae_sources_pkg.GetSystemSourceChar(
110326 p_source_code => 'XLA_ENTITY_CODE'
110327 , p_source_type_code => 'Y'
110328 , p_source_application_id => 602
110329 );
110330 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
110331 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
110332 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
110333 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
110334 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
110335 l_rec_acct_attrs.array_num_value(7) := p_source_90;
110336 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110337 l_rec_acct_attrs.array_char_value(8) := p_source_139;
110338 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
110339 l_rec_acct_attrs.array_char_value(9) := p_source_140;
110340 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
110341 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
110342 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110343 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
110344 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
110345 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
110346 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
110347 l_rec_acct_attrs.array_char_value(13) := p_source_54;
110348 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
110349 l_rec_acct_attrs.array_char_value(14) := p_source_130;
110350 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
110351 l_rec_acct_attrs.array_num_value(15) := p_source_64;
110352 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
110353 l_rec_acct_attrs.array_num_value(16) := p_source_65;
110354 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
110355 l_rec_acct_attrs.array_char_value(17) := p_source_66;
110356 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
110357 l_rec_acct_attrs.array_num_value(18) := p_source_67;
110358 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
110359 l_rec_acct_attrs.array_char_value(19) := p_source_131;
110360 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
110361 l_rec_acct_attrs.array_num_value(20) := p_source_68;
110362 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
110363 l_rec_acct_attrs.array_num_value(21) := p_source_69;
110364 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
110365 l_rec_acct_attrs.array_char_value(22) := p_source_66;
110366 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
110367 l_rec_acct_attrs.array_num_value(23) := p_source_70;
110368 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
110369 l_rec_acct_attrs.array_char_value(24) := p_source_71;
110370 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
110371 l_rec_acct_attrs.array_num_value(25) := p_source_132;
110372 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
110373 l_rec_acct_attrs.array_char_value(26) := p_source_66;
110374 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
110375 l_rec_acct_attrs.array_num_value(27) := p_source_144;
110376 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
110377 l_rec_acct_attrs.array_date_value(28) := p_source_76;
110378 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
110379 l_rec_acct_attrs.array_char_value(29) := p_source_77;
110380 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
110381 l_rec_acct_attrs.array_date_value(30) := p_source_78;
110382 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
110383 l_rec_acct_attrs.array_char_value(31) := p_source_79;
110384 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
110385 l_rec_acct_attrs.array_char_value(32) := p_source_82;
110386 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
110387 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_134);
110388 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
110389 l_rec_acct_attrs.array_char_value(34) := p_source_54;
110390 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
110391 l_rec_acct_attrs.array_num_value(35) := p_source_85;
110392 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
110396 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
110393 l_rec_acct_attrs.array_num_value(36) := p_source_86;
110394 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
110395 l_rec_acct_attrs.array_num_value(37) := p_source_87;
110397 l_rec_acct_attrs.array_num_value(38) := p_source_88;
110398 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
110399 l_rec_acct_attrs.array_num_value(39) := p_source_89;
110400
110401 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
110402 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
110403
110404 ---------------------------------------------------------------------------------------------------------------
110405 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
110406 ---------------------------------------------------------------------------------------------------------------
110407 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
110408
110409 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110410 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110411
110412 IF xla_accounting_cache_pkg.GetValueChar
110413 (p_source_code => 'LEDGER_CATEGORY_CODE'
110414 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
110415 AND l_bflow_method_code = 'PRIOR_ENTRY'
110416 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
110417 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
110418 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
110419 )
110420 THEN
110421 xla_ae_lines_pkg.BflowUpgEntry
110422 (p_business_method_code => l_bflow_method_code
110423 ,p_business_class_code => l_bflow_class_code
110424 ,p_balance_type => l_balance_type_code);
110425 ELSE
110426 NULL;
110427 XLA_AE_LINES_PKG.business_flow_validation(
110428 p_business_method_code => l_bflow_method_code
110429 ,p_business_class_code => l_bflow_class_code
110430 ,p_inherit_description_flag => l_inherit_desc_flag);
110431 END IF;
110432
110433 --
110434 -- call analytical criteria
110435 --
110436 -- Inherited Analytical Criteria for business flow method of Prior Entry.
110437 --
110438 -- call description
110439 --
110440 -- No description or it is inherited.
110441 --
110442 -- call ADRs
110443 -- Bug 4922099
110444 --
110445 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110446 (NVL(l_actual_upg_option, 'N') = 'O') OR
110447 (NVL(l_enc_upg_option, 'N') = 'O')
110448 )
110449 THEN
110450 NULL;
110451 --
110452 --
110453
110454 --
110455 --
110456 END IF;
110457 --
110458 -- Bug 4922099
110459 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
110460 (NVL(l_enc_upg_option, 'N') = 'O')
110461 ) AND
110462 (l_bflow_method_code = 'PRIOR_ENTRY')
110463 )
110464 THEN
110465 IF
110466 --
110467 1 = 1
110468 --
110469 THEN
110470 xla_accounting_err_pkg.build_message
110471 (p_appli_s_name => 'XLA'
110472 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110473 ,p_token_1 => 'LINE_NUMBER'
110474 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
110475 ,p_token_2 => 'LINE_TYPE_NAME'
110476 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
110477 l_component_type
110478 ,l_component_code
110479 ,l_component_type_code
110480 ,l_component_appl_id
110481 ,l_amb_context_code
110482 ,l_entity_code
110483 ,l_event_class_code
110484 )
110485 ,p_token_3 => 'OWNER'
110486 ,p_value_3 => xla_lookups_pkg.get_meaning(
110487 p_lookup_type => 'XLA_OWNER_TYPE'
110488 ,p_lookup_code => l_component_type_code
110489 )
110490 ,p_token_4 => 'PRODUCT_NAME'
110491 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
110492 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
110493 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
110497
110494 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
110495 ,p_ae_header_id => NULL
110496 );
110498 IF (C_LEVEL_ERROR>= g_log_level) THEN
110499 trace
110500 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110501 ,p_level => C_LEVEL_ERROR
110502 ,p_module => l_log_module);
110503 END IF;
110504 END IF;
110505 END IF;
110506 --
110507 --
110508 ------------------------------------------------------------------------------------------------
110509 -- 4219869 Business Flow
110510 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
110511 -- Prior Entry. Currently, the following code is always generated.
110512 ------------------------------------------------------------------------------------------------
110513 -- No ValidateCurrentLine for business flow method of Prior Entry
110514
110515 ------------------------------------------------------------------------------------
110516 -- 4219869 Business Flow
110517 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
110518 ------------------------------------------------------------------------------------
110519 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110520
110521 ----------------------------------------------------------------------------------
110522 -- 4219869 Business Flow
110523 -- Update journal entry status -- Need to generate this within IF <condition>
110524 ----------------------------------------------------------------------------------
110525 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110526 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
110527 ,p_balance_type_code => l_balance_type_code
110528 );
110529
110530 -------------------------------------------------------------------------------------------
110531 -- 4262811 - Generate the Accrual Reversal lines
110532 -------------------------------------------------------------------------------------------
110533 BEGIN
110534 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
110535 (g_array_event(p_event_id).array_value_num('header_index'));
110536 IF l_acc_rev_flag IS NULL THEN
110537 l_acc_rev_flag := 'N';
110538 END IF;
110539 EXCEPTION
110540 WHEN OTHERS THEN
110541 l_acc_rev_flag := 'N';
110542 END;
110543 --
110544 IF (l_acc_rev_flag = 'Y') THEN
110545
110546 -- 4645092 ------------------------------------------------------------------------------
110547 -- To allow MPA report to determine if it should generate report process
110548 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
110549 ------------------------------------------------------------------------------------------
110550
110551 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
110552 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
110553 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
110554 -- call ADRs
110555 -- Bug 4922099
110556 --
110557 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110558 (NVL(l_actual_upg_option, 'N') = 'O') OR
110559 (NVL(l_enc_upg_option, 'N') = 'O')
110560 )
110561 THEN
110562 NULL;
110563 --
110564 --
110565
110566 --
110567 --
110568 END IF;
110569
110570 --
110571 -- Update the line information that should be overwritten
110572 --
110573 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
110574 p_header_num => 1);
110575 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
110576
110577 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
110578
110579 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
110580 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
110581 END IF;
110582
110583 --
110584 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
110585 --
110586 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
110587 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
110588 ELSE
110589 ---------------------------------------------------------------------------------------------------
110590 -- 4262811a Switch Sign
110591 ---------------------------------------------------------------------------------------------------
110592 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
110593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110594 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110595 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110596 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110597 -- 5132302
110598 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
110602
110599 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110600
110601 END IF;
110603 -- 4955764
110604 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110605 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
110606
110607
110608 XLA_AE_LINES_PKG.ValidateCurrentLine;
110609 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110610
110611 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110612 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
110613 ,p_balance_type_code => l_balance_type_code);
110614
110615 END IF;
110616
110617 -----------------------------------------------------------------------------------------
110618 -- 4262811 Multiperiod Accounting
110619 -----------------------------------------------------------------------------------------
110620 -- No MPA option is assigned.
110621
110622
110623 END IF;
110624 END IF;
110625 --
110626
110627 --
110628 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110629 trace
110630 (p_msg => 'END of AcctLineType_182'
110631 ,p_level => C_LEVEL_PROCEDURE
110632 ,p_module => l_log_module);
110633 END IF;
110634 --
110635 EXCEPTION
110636 WHEN xla_exceptions_pkg.application_exception THEN
110637 RAISE;
110638 WHEN OTHERS THEN
110639 xla_exceptions_pkg.raise_message
110640 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_182');
110641 END AcctLineType_182;
110642 --
110643
110644 ---------------------------------------
110645 --
110646 -- PRIVATE FUNCTION
110647 -- AcctLineType_183
110648 --
110649 ---------------------------------------
110650 PROCEDURE AcctLineType_183 (
110651 p_application_id IN NUMBER
110652 ,p_event_id IN NUMBER
110653 ,p_calculate_acctd_flag IN VARCHAR2
110654 ,p_calculate_g_l_flag IN VARCHAR2
110655 ,p_actual_flag IN OUT VARCHAR2
110656 ,p_balance_type_code OUT VARCHAR2
110657 ,p_gain_or_loss_ref OUT VARCHAR2
110658
110659 --Invoice Distribution Description
110660 , p_source_1 IN VARCHAR2
110661 --Invoice Distribution Ledger Amount
110662 , p_source_21 IN NUMBER
110663 --Invoice Distribution Account
110664 , p_source_30 IN NUMBER
110665 --Invoice Distribution Type
110666 , p_source_33 IN VARCHAR2
110667 , p_source_33_meaning IN VARCHAR2
110668 --Accounting Reversal Indicator
110669 , p_source_52 IN VARCHAR2
110670 --Distribution Link Type
110671 , p_source_54 IN VARCHAR2
110672 --Allocation to Main Distribution Identifier
110673 , p_source_56 IN NUMBER
110674 --Invoice Identifier
110675 , p_source_57 IN NUMBER
110676 --Invoice Distribution Identifier
110677 , p_source_63 IN NUMBER
110678 --Payables Encumbrance Upgrade Credit Account
110679 , p_source_64 IN NUMBER
110680 --Payables Encumbrance Upgrade Credit Amount
110681 , p_source_65 IN NUMBER
110682 --Invoice Currency Code
110683 , p_source_66 IN VARCHAR2
110684 --Payables Encumbrance Upgrade Credit Base Amount
110685 , p_source_67 IN NUMBER
110686 --Payables Encumbrance Upgrade Debit Account
110687 , p_source_68 IN NUMBER
110688 --Payables Encumbrance Upgrade Debit Amount
110689 , p_source_69 IN NUMBER
110690 --Payables Encumbrance Upgrade Debit Base Amount
110691 , p_source_70 IN NUMBER
110692 --Payables Encumbrance Upgrade Option
110693 , p_source_71 IN VARCHAR2
110694 --Invoice Distribution Amount
110695 , p_source_72 IN NUMBER
110696 --Deferred Accounting End Date
110697 , p_source_76 IN DATE
110698 --Deferred Accounting Option
110699 , p_source_77 IN VARCHAR2
110700 --Deferred Accounting Start Date
110701 , p_source_78 IN DATE
110702 --Override Accounted Amount Indicator
110703 , p_source_79 IN VARCHAR2
110704 , p_source_79_meaning IN VARCHAR2
110705 --Invoice Supplier Identifier
110706 , p_source_80 IN NUMBER
110707 --Invoice Supplier Site Identifier
110708 , p_source_81 IN NUMBER
110709 --Third Party Type
110710 , p_source_82 IN VARCHAR2
110711 --Parent Reversal Identifier
110712 , p_source_83 IN NUMBER
110713 --Invoice Distribution Statistical Amount
110714 , p_source_84 IN NUMBER
110715 --Invoice Distribution Tax Line Identifier
110716 , p_source_85 IN NUMBER
110717 --Invoice Distribution Tax Distribution Identifier from Tax
110718 , p_source_86 IN NUMBER
110719 --Invoice Distribution Summary Tax Line Identifier
110720 , p_source_87 IN NUMBER
110721 --Payables Upgrade Credit Encumbrance Type Identifier
110722 , p_source_88 IN NUMBER
110723 --Payables Upgrade Debit Encumbrance Type Identifier
110724 , p_source_89 IN NUMBER
110725 --Business Flow Accounts Payable Application Identifier
110726 , p_source_90 IN NUMBER
110727 --Business Flow Invoice Distribution Type
110728 , p_source_91 IN VARCHAR2
110729 --Business Flow Invoice Entity Code
110730 , p_source_92 IN VARCHAR2
110731 --Business Flow Invoice Distribution Identifier
110732 , p_source_93 IN NUMBER
110733 --Business Flow Invoice Identifier
110734 , p_source_94 IN NUMBER
110738 --Invoice Exchange Date
110735 --Self-Assessed Tax Flag
110736 , p_source_135 IN VARCHAR2
110737 , p_source_135_meaning IN VARCHAR2
110739 , p_source_136 IN DATE
110740 --Invoice Exchange Rate
110741 , p_source_137 IN NUMBER
110742 --Invoice Exchange Rate Type
110743 , p_source_138 IN VARCHAR2
110744 )
110745 IS
110746
110747 l_component_type VARCHAR2(80);
110748 l_component_code VARCHAR2(30);
110749 l_component_type_code VARCHAR2(1);
110750 l_component_appl_id INTEGER;
110751 l_amb_context_code VARCHAR2(30);
110752 l_entity_code VARCHAR2(30);
110753 l_event_class_code VARCHAR2(30);
110754 l_ae_header_id NUMBER;
110755 l_event_type_code VARCHAR2(30);
110756 l_line_definition_code VARCHAR2(30);
110757 l_line_definition_owner_code VARCHAR2(1);
110758 --
110759 -- adr variables
110760 l_segment VARCHAR2(30);
110761 l_ccid NUMBER;
110762 l_adr_transaction_coa_id NUMBER;
110763 l_adr_accounting_coa_id NUMBER;
110764 l_adr_flexfield_segment_code VARCHAR2(30);
110765 l_adr_flex_value_set_id NUMBER;
110766 l_adr_value_type_code VARCHAR2(30);
110767 l_adr_value_combination_id NUMBER;
110768 l_adr_value_segment_code VARCHAR2(30);
110769
110770 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110771 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110772 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110773 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110774
110775 -- 4262811 Variables ------------------------------------------------------------------------------------------
110776 l_entered_amt_idx NUMBER;
110777 l_accted_amt_idx NUMBER;
110778 l_acc_rev_flag VARCHAR2(1);
110779 l_accrual_line_num NUMBER;
110780 l_tmp_amt NUMBER;
110781 l_acc_rev_natural_side_code VARCHAR2(1);
110782
110783 l_num_entries NUMBER;
110784 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110785 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110786 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110787 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110788 l_recog_line_1 NUMBER;
110789 l_recog_line_2 NUMBER;
110790
110791 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110792 l_bflow_applied_to_amt NUMBER; -- 5132302
110793 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110794
110795 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110796
110797 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110798 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110799
110800 ---------------------------------------------------------------------------------------------------------------
110801
110802
110803 --
110804 -- bulk performance
110805 --
110806 l_balance_type_code VARCHAR2(1);
110807 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110808 l_log_module VARCHAR2(240);
110809
110810 --
110811 -- Upgrade strategy
110812 --
110813 l_actual_upg_option VARCHAR2(1);
110814 l_enc_upg_option VARCHAR2(1);
110815
110816 --
110817 BEGIN
110818 --
110819 IF g_log_enabled THEN
110820 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_183';
110821 END IF;
110822 --
110823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110824
110825 trace
110826 (p_msg => 'BEGIN of AcctLineType_183'
110827 ,p_level => C_LEVEL_PROCEDURE
110828 ,p_module => l_log_module);
110829
110830 END IF;
110831 --
110832 l_component_type := 'AMB_JLT';
110833 l_component_code := 'AP_RECOV_TAX_CM';
110834 l_component_type_code := 'S';
110835 l_component_appl_id := 200;
110836 l_amb_context_code := 'DEFAULT';
110837 l_entity_code := 'AP_INVOICES';
110838 l_event_class_code := 'CREDIT MEMOS';
110839 l_event_type_code := 'CREDIT MEMOS_ALL';
110840 l_line_definition_owner_code := 'S';
110841 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
110842 --
110843 l_balance_type_code := 'A';
110844 l_segment := NULL;
110845 l_ccid := NULL;
110846 l_adr_transaction_coa_id := NULL;
110847 l_adr_accounting_coa_id := NULL;
110848 l_adr_flexfield_segment_code := NULL;
110849 l_adr_flex_value_set_id := NULL;
110850 l_adr_value_type_code := NULL;
110851 l_adr_value_combination_id := NULL;
110852 l_adr_value_segment_code := NULL;
110853
110854 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
110855 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
110856 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110857 l_budgetary_control_flag := 'N';
110858
110859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110860 l_bflow_applied_to_amt := NULL; -- 5132302
110861 l_entered_amt_idx := NULL; -- 4262811
110865 l_tmp_amt := NULL; -- 4262811
110862 l_accted_amt_idx := NULL; -- 4262811
110863 l_acc_rev_flag := NULL; -- 4262811
110864 l_accrual_line_num := NULL; -- 4262811
110866 --
110867
110868 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110869 l_balance_type_code <> 'B' THEN
110870 IF NVL(p_source_33,'
110871 ') = 'REC_TAX' AND
110872 NVL(p_source_135,'
110873 ') <> 'Y'
110874 THEN
110875
110876 --
110877 XLA_AE_LINES_PKG.SetNewLine;
110878
110879 p_balance_type_code := l_balance_type_code;
110880 -- set the flag so later we will know whether the gain loss line needs to be created
110881
110882 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
110883 p_actual_flag :='A';
110884 END IF;
110885
110886 --
110887 -- bulk performance
110888 --
110889 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110890 p_header_num => 0); -- 4262811
110891 --
110892 -- set accounting line options
110893 --
110894 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110895 p_natural_side_code => 'D'
110896 , p_gain_or_loss_flag => 'N'
110897 , p_gl_transfer_mode_code => 'S'
110898 , p_acct_entry_type_code => 'A'
110899 , p_switch_side_flag => 'Y'
110900 , p_merge_duplicate_code => 'A'
110901 );
110902 --
110903 l_acc_rev_natural_side_code := 'C'; -- 4262811
110904 --
110905 --
110906 -- set accounting line type info
110907 --
110908 xla_ae_lines_pkg.SetAcctLineType
110909 (p_component_type => l_component_type
110910 ,p_event_type_code => l_event_type_code
110911 ,p_line_definition_owner_code => l_line_definition_owner_code
110912 ,p_line_definition_code => l_line_definition_code
110913 ,p_accounting_line_code => l_component_code
110914 ,p_accounting_line_type_code => l_component_type_code
110915 ,p_accounting_line_appl_id => l_component_appl_id
110916 ,p_amb_context_code => l_amb_context_code
110917 ,p_entity_code => l_entity_code
110918 ,p_event_class_code => l_event_class_code);
110919 --
110920 -- set accounting class
110921 --
110922 xla_ae_lines_pkg.SetAcctClass(
110923 p_accounting_class_code => 'RTAX'
110924 , p_ae_header_id => l_ae_header_id
110925 );
110926
110927 --
110928 -- set rounding class
110929 --
110930 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110931 'RTAX';
110932
110933 --
110934 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110935 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110936 --
110937 -- bulk performance
110938 --
110939 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110940
110941 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110942 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110943
110944 -- 4955764
110945 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110946 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110947
110948 -- 4458381 Public Sector Enh
110949
110950 --
110951 -- set accounting attributes for the line type
110952 --
110953 l_entered_amt_idx := 23;
110954 l_accted_amt_idx := 28;
110955 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110956 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110957 l_rec_acct_attrs.array_char_value(1) := p_source_52;
110958 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
110959 l_rec_acct_attrs.array_num_value(2) :=
110960 xla_ae_sources_pkg.GetSystemSourceNum(
110961 p_source_code => 'XLA_EVENT_APPL_ID'
110962 , p_source_type_code => 'Y'
110963 , p_source_application_id => 602
110964 );
110965 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
110966 l_rec_acct_attrs.array_char_value(3) := p_source_54;
110967 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
110968 l_rec_acct_attrs.array_char_value(4) :=
110969 xla_ae_sources_pkg.GetSystemSourceChar(
110970 p_source_code => 'XLA_ENTITY_CODE'
110971 , p_source_type_code => 'Y'
110972 , p_source_application_id => 602
110973 );
110974 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
110975 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
110976 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
110977 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
110978 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
110979 l_rec_acct_attrs.array_num_value(7) := p_source_90;
110980 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110981 l_rec_acct_attrs.array_char_value(8) := p_source_91;
110985 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
110982 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
110983 l_rec_acct_attrs.array_char_value(9) := p_source_92;
110984 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
110986 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110987 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
110988 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
110989 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
110990 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
110991 l_rec_acct_attrs.array_char_value(13) := p_source_54;
110992 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
110993 l_rec_acct_attrs.array_num_value(14) := p_source_64;
110994 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
110995 l_rec_acct_attrs.array_num_value(15) := p_source_65;
110996 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
110997 l_rec_acct_attrs.array_char_value(16) := p_source_66;
110998 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
110999 l_rec_acct_attrs.array_num_value(17) := p_source_67;
111000 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
111001 l_rec_acct_attrs.array_num_value(18) := p_source_68;
111002 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
111003 l_rec_acct_attrs.array_num_value(19) := p_source_69;
111004 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
111005 l_rec_acct_attrs.array_char_value(20) := p_source_66;
111006 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
111007 l_rec_acct_attrs.array_num_value(21) := p_source_70;
111008 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
111009 l_rec_acct_attrs.array_char_value(22) := p_source_71;
111010 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
111011 l_rec_acct_attrs.array_num_value(23) := p_source_72;
111012 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
111013 l_rec_acct_attrs.array_char_value(24) := p_source_66;
111014 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
111015 l_rec_acct_attrs.array_date_value(25) := p_source_136;
111016 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
111017 l_rec_acct_attrs.array_num_value(26) := p_source_137;
111018 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
111019 l_rec_acct_attrs.array_char_value(27) := p_source_138;
111020 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
111021 l_rec_acct_attrs.array_num_value(28) := p_source_21;
111022 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
111023 l_rec_acct_attrs.array_date_value(29) := p_source_76;
111024 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
111025 l_rec_acct_attrs.array_char_value(30) := p_source_77;
111026 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
111027 l_rec_acct_attrs.array_date_value(31) := p_source_78;
111028 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
111029 l_rec_acct_attrs.array_char_value(32) := p_source_79;
111030 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
111031 l_rec_acct_attrs.array_num_value(33) := p_source_80;
111032 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
111033 l_rec_acct_attrs.array_num_value(34) := p_source_81;
111034 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
111035 l_rec_acct_attrs.array_char_value(35) := p_source_82;
111036 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
111037 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
111038 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
111039 l_rec_acct_attrs.array_char_value(37) := p_source_54;
111040 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
111041 l_rec_acct_attrs.array_num_value(38) := p_source_84;
111042 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
111043 l_rec_acct_attrs.array_num_value(39) := p_source_85;
111044 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
111045 l_rec_acct_attrs.array_num_value(40) := p_source_86;
111046 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
111047 l_rec_acct_attrs.array_num_value(41) := p_source_87;
111048 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
111049 l_rec_acct_attrs.array_num_value(42) := p_source_88;
111050 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
111051 l_rec_acct_attrs.array_num_value(43) := p_source_89;
111052
111053 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111054 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111055
111056 ---------------------------------------------------------------------------------------------------------------
111057 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111058 ---------------------------------------------------------------------------------------------------------------
111059 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111060
111061 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111062 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111063
111064 IF xla_accounting_cache_pkg.GetValueChar
111065 (p_source_code => 'LEDGER_CATEGORY_CODE'
111069 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111066 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111067 AND l_bflow_method_code = 'PRIOR_ENTRY'
111068 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111070 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111071 )
111072 THEN
111073 xla_ae_lines_pkg.BflowUpgEntry
111074 (p_business_method_code => l_bflow_method_code
111075 ,p_business_class_code => l_bflow_class_code
111076 ,p_balance_type => l_balance_type_code);
111077 ELSE
111078 NULL;
111079 -- No business flow processing for business flow method of NONE.
111080 END IF;
111081
111082 --
111083 -- call analytical criteria
111084 --
111085
111086 --
111087 -- call description
111088 --
111089
111090 xla_ae_lines_pkg.SetLineDescription(
111091 p_ae_header_id => l_ae_header_id
111092 ,p_description => Description_1 (
111093 p_application_id => p_application_id
111094 , p_ae_header_id => l_ae_header_id
111095 , p_source_1 => p_source_1
111096 )
111097 );
111098
111099
111100 --
111101 -- call ADRs
111102 -- Bug 4922099
111103 --
111104 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111105 (NVL(l_actual_upg_option, 'N') = 'O') OR
111106 (NVL(l_enc_upg_option, 'N') = 'O')
111107 )
111108 THEN
111109 NULL;
111110 --
111111 --
111112
111113 l_ccid := AcctDerRule_33(
111114 p_application_id => p_application_id
111115 , p_ae_header_id => l_ae_header_id
111116 , p_source_30 => p_source_30
111117 , x_transaction_coa_id => l_adr_transaction_coa_id
111118 , x_accounting_coa_id => l_adr_accounting_coa_id
111119 , x_value_type_code => l_adr_value_type_code
111120 , p_side => 'NA'
111121 );
111122
111123 xla_ae_lines_pkg.set_ccid(
111124 p_code_combination_id => l_ccid
111125 , p_value_type_code => l_adr_value_type_code
111126 , p_transaction_coa_id => l_adr_transaction_coa_id
111127 , p_accounting_coa_id => l_adr_accounting_coa_id
111128 , p_adr_code => 'AP_INVOICE_DIST'
111129 , p_adr_type_code => 'S'
111130 , p_component_type => l_component_type
111131 , p_component_code => l_component_code
111132 , p_component_type_code => l_component_type_code
111133 , p_component_appl_id => l_component_appl_id
111134 , p_amb_context_code => l_amb_context_code
111135 , p_side => 'NA'
111136 );
111137
111138
111139 --
111140 --
111141 END IF;
111142 --
111143 -- Bug 4922099
111144 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111145 (NVL(l_enc_upg_option, 'N') = 'O')
111146 ) AND
111147 (l_bflow_method_code = 'PRIOR_ENTRY')
111148 )
111149 THEN
111150 IF
111151 --
111152 1 = 2
111153 --
111154 THEN
111155 xla_accounting_err_pkg.build_message
111156 (p_appli_s_name => 'XLA'
111157 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111158 ,p_token_1 => 'LINE_NUMBER'
111159 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111160 ,p_token_2 => 'LINE_TYPE_NAME'
111161 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111162 l_component_type
111163 ,l_component_code
111164 ,l_component_type_code
111165 ,l_component_appl_id
111166 ,l_amb_context_code
111167 ,l_entity_code
111168 ,l_event_class_code
111169 )
111170 ,p_token_3 => 'OWNER'
111171 ,p_value_3 => xla_lookups_pkg.get_meaning(
111172 p_lookup_type => 'XLA_OWNER_TYPE'
111173 ,p_lookup_code => l_component_type_code
111174 )
111175 ,p_token_4 => 'PRODUCT_NAME'
111176 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111177 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111178 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111179 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111183 IF (C_LEVEL_ERROR>= g_log_level) THEN
111180 ,p_ae_header_id => NULL
111181 );
111182
111184 trace
111185 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111186 ,p_level => C_LEVEL_ERROR
111187 ,p_module => l_log_module);
111188 END IF;
111189 END IF;
111190 END IF;
111191 --
111192 --
111193 ------------------------------------------------------------------------------------------------
111194 -- 4219869 Business Flow
111195 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111196 -- Prior Entry. Currently, the following code is always generated.
111197 ------------------------------------------------------------------------------------------------
111198 XLA_AE_LINES_PKG.ValidateCurrentLine;
111199
111200 ------------------------------------------------------------------------------------
111201 -- 4219869 Business Flow
111202 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111203 ------------------------------------------------------------------------------------
111204 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111205
111206 ----------------------------------------------------------------------------------
111207 -- 4219869 Business Flow
111208 -- Update journal entry status -- Need to generate this within IF <condition>
111209 ----------------------------------------------------------------------------------
111210 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111211 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111212 ,p_balance_type_code => l_balance_type_code
111213 );
111214
111215 -------------------------------------------------------------------------------------------
111216 -- 4262811 - Generate the Accrual Reversal lines
111217 -------------------------------------------------------------------------------------------
111218 BEGIN
111219 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111220 (g_array_event(p_event_id).array_value_num('header_index'));
111221 IF l_acc_rev_flag IS NULL THEN
111222 l_acc_rev_flag := 'N';
111223 END IF;
111224 EXCEPTION
111225 WHEN OTHERS THEN
111226 l_acc_rev_flag := 'N';
111227 END;
111228 --
111229 IF (l_acc_rev_flag = 'Y') THEN
111230
111231 -- 4645092 ------------------------------------------------------------------------------
111232 -- To allow MPA report to determine if it should generate report process
111233 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111234 ------------------------------------------------------------------------------------------
111235
111236 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111237 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111238 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111239 -- call ADRs
111240 -- Bug 4922099
111241 --
111242 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111243 (NVL(l_actual_upg_option, 'N') = 'O') OR
111244 (NVL(l_enc_upg_option, 'N') = 'O')
111245 )
111246 THEN
111247 NULL;
111248 --
111249 --
111250
111251 l_ccid := AcctDerRule_33(
111252 p_application_id => p_application_id
111253 , p_ae_header_id => l_ae_header_id
111254 , p_source_30 => p_source_30
111255 , x_transaction_coa_id => l_adr_transaction_coa_id
111256 , x_accounting_coa_id => l_adr_accounting_coa_id
111257 , x_value_type_code => l_adr_value_type_code
111258 , p_side => 'NA'
111259 );
111260
111261 xla_ae_lines_pkg.set_ccid(
111262 p_code_combination_id => l_ccid
111263 , p_value_type_code => l_adr_value_type_code
111264 , p_transaction_coa_id => l_adr_transaction_coa_id
111265 , p_accounting_coa_id => l_adr_accounting_coa_id
111266 , p_adr_code => 'AP_INVOICE_DIST'
111267 , p_adr_type_code => 'S'
111268 , p_component_type => l_component_type
111269 , p_component_code => l_component_code
111270 , p_component_type_code => l_component_type_code
111271 , p_component_appl_id => l_component_appl_id
111272 , p_amb_context_code => l_amb_context_code
111273 , p_side => 'NA'
111274 );
111275
111276
111277 --
111278 --
111279 END IF;
111280
111281 --
111282 -- Update the line information that should be overwritten
111283 --
111284 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111285 p_header_num => 1);
111286 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111287
111288 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111289
111290 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111291 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111292 END IF;
111293
111294 --
111295 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111296 --
111300 ---------------------------------------------------------------------------------------------------
111297 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111298 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111299 ELSE
111301 -- 4262811a Switch Sign
111302 ---------------------------------------------------------------------------------------------------
111303 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111304 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111306 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111307 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111308 -- 5132302
111309 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111310 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111311
111312 END IF;
111313
111314 -- 4955764
111315 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111316 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111317
111318
111319 XLA_AE_LINES_PKG.ValidateCurrentLine;
111320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111321
111322 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111323 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111324 ,p_balance_type_code => l_balance_type_code);
111325
111326 END IF;
111327
111328 -----------------------------------------------------------------------------------------
111329 -- 4262811 Multiperiod Accounting
111330 -----------------------------------------------------------------------------------------
111331 -- No MPA option is assigned.
111332
111333
111334 END IF;
111335 END IF;
111336 --
111337
111338 --
111339 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111340 trace
111341 (p_msg => 'END of AcctLineType_183'
111342 ,p_level => C_LEVEL_PROCEDURE
111343 ,p_module => l_log_module);
111344 END IF;
111345 --
111346 EXCEPTION
111347 WHEN xla_exceptions_pkg.application_exception THEN
111348 RAISE;
111349 WHEN OTHERS THEN
111350 xla_exceptions_pkg.raise_message
111351 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_183');
111352 END AcctLineType_183;
111353 --
111354
111355 ---------------------------------------
111356 --
111357 -- PRIVATE FUNCTION
111358 -- AcctLineType_184
111359 --
111360 ---------------------------------------
111361 PROCEDURE AcctLineType_184 (
111362 p_application_id IN NUMBER
111363 ,p_event_id IN NUMBER
111364 ,p_calculate_acctd_flag IN VARCHAR2
111365 ,p_calculate_g_l_flag IN VARCHAR2
111366 ,p_actual_flag IN OUT VARCHAR2
111367 ,p_balance_type_code OUT VARCHAR2
111368 ,p_gain_or_loss_ref OUT VARCHAR2
111369
111370 --Invoice Distribution Description
111371 , p_source_1 IN VARCHAR2
111372 --Invoice Distribution Ledger Amount
111373 , p_source_21 IN NUMBER
111374 --Invoice Distribution Account
111375 , p_source_30 IN NUMBER
111376 --Invoice Distribution Type
111377 , p_source_33 IN VARCHAR2
111378 , p_source_33_meaning IN VARCHAR2
111379 --Accounting Reversal Indicator
111380 , p_source_52 IN VARCHAR2
111381 --Distribution Link Type
111382 , p_source_54 IN VARCHAR2
111383 --Allocation to Main Distribution Identifier
111384 , p_source_56 IN NUMBER
111385 --Invoice Identifier
111386 , p_source_57 IN NUMBER
111387 --Invoice Distribution Identifier
111388 , p_source_63 IN NUMBER
111389 --Payables Encumbrance Upgrade Credit Account
111390 , p_source_64 IN NUMBER
111391 --Payables Encumbrance Upgrade Credit Amount
111392 , p_source_65 IN NUMBER
111393 --Invoice Currency Code
111394 , p_source_66 IN VARCHAR2
111395 --Payables Encumbrance Upgrade Credit Base Amount
111396 , p_source_67 IN NUMBER
111397 --Payables Encumbrance Upgrade Debit Account
111398 , p_source_68 IN NUMBER
111399 --Payables Encumbrance Upgrade Debit Amount
111400 , p_source_69 IN NUMBER
111401 --Payables Encumbrance Upgrade Debit Base Amount
111402 , p_source_70 IN NUMBER
111403 --Payables Encumbrance Upgrade Option
111404 , p_source_71 IN VARCHAR2
111405 --Invoice Distribution Amount
111406 , p_source_72 IN NUMBER
111407 --Deferred Accounting End Date
111408 , p_source_76 IN DATE
111409 --Deferred Accounting Option
111410 , p_source_77 IN VARCHAR2
111411 --Deferred Accounting Start Date
111412 , p_source_78 IN DATE
111413 --Override Accounted Amount Indicator
111414 , p_source_79 IN VARCHAR2
111415 , p_source_79_meaning IN VARCHAR2
111416 --Invoice Supplier Identifier
111417 , p_source_80 IN NUMBER
111418 --Invoice Supplier Site Identifier
111419 , p_source_81 IN NUMBER
111423 , p_source_83 IN NUMBER
111420 --Third Party Type
111421 , p_source_82 IN VARCHAR2
111422 --Parent Reversal Identifier
111424 --Invoice Distribution Tax Line Identifier
111425 , p_source_85 IN NUMBER
111426 --Invoice Distribution Tax Distribution Identifier from Tax
111427 , p_source_86 IN NUMBER
111428 --Invoice Distribution Summary Tax Line Identifier
111429 , p_source_87 IN NUMBER
111430 --Payables Upgrade Credit Encumbrance Type Identifier
111431 , p_source_88 IN NUMBER
111432 --Payables Upgrade Debit Encumbrance Type Identifier
111433 , p_source_89 IN NUMBER
111434 --Business Flow Accounts Payable Application Identifier
111435 , p_source_90 IN NUMBER
111436 --Business Flow Invoice Distribution Type
111437 , p_source_91 IN VARCHAR2
111438 --Business Flow Invoice Entity Code
111439 , p_source_92 IN VARCHAR2
111440 --Business Flow Invoice Distribution Identifier
111441 , p_source_93 IN NUMBER
111442 --Business Flow Invoice Identifier
111443 , p_source_94 IN NUMBER
111444 --Self-Assessed Tax Flag
111445 , p_source_135 IN VARCHAR2
111446 , p_source_135_meaning IN VARCHAR2
111447 --Invoice Exchange Date
111448 , p_source_136 IN DATE
111449 --Invoice Exchange Rate
111450 , p_source_137 IN NUMBER
111451 --Invoice Exchange Rate Type
111452 , p_source_138 IN VARCHAR2
111453 )
111454 IS
111455
111456 l_component_type VARCHAR2(80);
111457 l_component_code VARCHAR2(30);
111458 l_component_type_code VARCHAR2(1);
111459 l_component_appl_id INTEGER;
111460 l_amb_context_code VARCHAR2(30);
111461 l_entity_code VARCHAR2(30);
111462 l_event_class_code VARCHAR2(30);
111463 l_ae_header_id NUMBER;
111464 l_event_type_code VARCHAR2(30);
111465 l_line_definition_code VARCHAR2(30);
111466 l_line_definition_owner_code VARCHAR2(1);
111467 --
111468 -- adr variables
111469 l_segment VARCHAR2(30);
111470 l_ccid NUMBER;
111471 l_adr_transaction_coa_id NUMBER;
111472 l_adr_accounting_coa_id NUMBER;
111473 l_adr_flexfield_segment_code VARCHAR2(30);
111474 l_adr_flex_value_set_id NUMBER;
111475 l_adr_value_type_code VARCHAR2(30);
111476 l_adr_value_combination_id NUMBER;
111477 l_adr_value_segment_code VARCHAR2(30);
111478
111479 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
111480 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
111481 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
111482 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
111483
111484 -- 4262811 Variables ------------------------------------------------------------------------------------------
111485 l_entered_amt_idx NUMBER;
111486 l_accted_amt_idx NUMBER;
111487 l_acc_rev_flag VARCHAR2(1);
111488 l_accrual_line_num NUMBER;
111489 l_tmp_amt NUMBER;
111490 l_acc_rev_natural_side_code VARCHAR2(1);
111491
111492 l_num_entries NUMBER;
111493 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
111494 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
111495 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
111496 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
111497 l_recog_line_1 NUMBER;
111498 l_recog_line_2 NUMBER;
111499
111500 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
111501 l_bflow_applied_to_amt NUMBER; -- 5132302
111502 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
111503
111504 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
111505
111506 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
111507 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
111508
111509 ---------------------------------------------------------------------------------------------------------------
111510
111511
111512 --
111513 -- bulk performance
111514 --
111515 l_balance_type_code VARCHAR2(1);
111516 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
111517 l_log_module VARCHAR2(240);
111518
111519 --
111520 -- Upgrade strategy
111521 --
111522 l_actual_upg_option VARCHAR2(1);
111523 l_enc_upg_option VARCHAR2(1);
111524
111525 --
111526 BEGIN
111527 --
111528 IF g_log_enabled THEN
111529 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_184';
111530 END IF;
111531 --
111532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111533
111534 trace
111535 (p_msg => 'BEGIN of AcctLineType_184'
111536 ,p_level => C_LEVEL_PROCEDURE
111537 ,p_module => l_log_module);
111538
111539 END IF;
111540 --
111541 l_component_type := 'AMB_JLT';
111542 l_component_code := 'AP_RECOV_TAX_DM';
111543 l_component_type_code := 'S';
111544 l_component_appl_id := 200;
111545 l_amb_context_code := 'DEFAULT';
111546 l_entity_code := 'AP_INVOICES';
111550 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
111547 l_event_class_code := 'DEBIT MEMOS';
111548 l_event_type_code := 'DEBIT MEMOS_ALL';
111549 l_line_definition_owner_code := 'S';
111551 --
111552 l_balance_type_code := 'A';
111553 l_segment := NULL;
111554 l_ccid := NULL;
111555 l_adr_transaction_coa_id := NULL;
111556 l_adr_accounting_coa_id := NULL;
111557 l_adr_flexfield_segment_code := NULL;
111558 l_adr_flex_value_set_id := NULL;
111559 l_adr_value_type_code := NULL;
111560 l_adr_value_combination_id := NULL;
111561 l_adr_value_segment_code := NULL;
111562
111563 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
111564 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
111565 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
111566 l_budgetary_control_flag := 'N';
111567
111568 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111569 l_bflow_applied_to_amt := NULL; -- 5132302
111570 l_entered_amt_idx := NULL; -- 4262811
111571 l_accted_amt_idx := NULL; -- 4262811
111572 l_acc_rev_flag := NULL; -- 4262811
111573 l_accrual_line_num := NULL; -- 4262811
111574 l_tmp_amt := NULL; -- 4262811
111575 --
111576
111577 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
111578 l_balance_type_code <> 'B' THEN
111579 IF NVL(p_source_33,'
111580 ') = 'REC_TAX' AND
111581 NVL(p_source_135,'
111582 ') <> 'Y'
111583 THEN
111584
111585 --
111586 XLA_AE_LINES_PKG.SetNewLine;
111587
111588 p_balance_type_code := l_balance_type_code;
111589 -- set the flag so later we will know whether the gain loss line needs to be created
111590
111591 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
111592 p_actual_flag :='A';
111593 END IF;
111594
111595 --
111596 -- bulk performance
111597 --
111598 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
111599 p_header_num => 0); -- 4262811
111600 --
111601 -- set accounting line options
111602 --
111603 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
111604 p_natural_side_code => 'D'
111605 , p_gain_or_loss_flag => 'N'
111606 , p_gl_transfer_mode_code => 'S'
111607 , p_acct_entry_type_code => 'A'
111608 , p_switch_side_flag => 'Y'
111609 , p_merge_duplicate_code => 'A'
111610 );
111611 --
111612 l_acc_rev_natural_side_code := 'C'; -- 4262811
111613 --
111614 --
111615 -- set accounting line type info
111616 --
111617 xla_ae_lines_pkg.SetAcctLineType
111618 (p_component_type => l_component_type
111619 ,p_event_type_code => l_event_type_code
111620 ,p_line_definition_owner_code => l_line_definition_owner_code
111621 ,p_line_definition_code => l_line_definition_code
111622 ,p_accounting_line_code => l_component_code
111623 ,p_accounting_line_type_code => l_component_type_code
111624 ,p_accounting_line_appl_id => l_component_appl_id
111625 ,p_amb_context_code => l_amb_context_code
111626 ,p_entity_code => l_entity_code
111627 ,p_event_class_code => l_event_class_code);
111628 --
111629 -- set accounting class
111630 --
111631 xla_ae_lines_pkg.SetAcctClass(
111632 p_accounting_class_code => 'RTAX'
111633 , p_ae_header_id => l_ae_header_id
111634 );
111635
111636 --
111637 -- set rounding class
111638 --
111639 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
111640 'RTAX';
111641
111642 --
111643 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
111644 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
111645 --
111646 -- bulk performance
111647 --
111648 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
111649
111650 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
111651 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
111652
111653 -- 4955764
111654 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111655 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
111656
111657 -- 4458381 Public Sector Enh
111658
111659 --
111660 -- set accounting attributes for the line type
111661 --
111662 l_entered_amt_idx := 23;
111663 l_accted_amt_idx := 28;
111664 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111665 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
111666 l_rec_acct_attrs.array_char_value(1) := p_source_52;
111667 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
111668 l_rec_acct_attrs.array_num_value(2) :=
111669 xla_ae_sources_pkg.GetSystemSourceNum(
111670 p_source_code => 'XLA_EVENT_APPL_ID'
111671 , p_source_type_code => 'Y'
111672 , p_source_application_id => 602
111673 );
111674 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
111678 xla_ae_sources_pkg.GetSystemSourceChar(
111675 l_rec_acct_attrs.array_char_value(3) := p_source_54;
111676 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
111677 l_rec_acct_attrs.array_char_value(4) :=
111679 p_source_code => 'XLA_ENTITY_CODE'
111680 , p_source_type_code => 'Y'
111681 , p_source_application_id => 602
111682 );
111683 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
111684 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
111685 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
111686 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
111687 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
111688 l_rec_acct_attrs.array_num_value(7) := p_source_90;
111689 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
111690 l_rec_acct_attrs.array_char_value(8) := p_source_91;
111691 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
111692 l_rec_acct_attrs.array_char_value(9) := p_source_92;
111693 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
111694 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
111695 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
111696 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
111697 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
111698 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
111699 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
111700 l_rec_acct_attrs.array_char_value(13) := p_source_54;
111701 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
111702 l_rec_acct_attrs.array_num_value(14) := p_source_64;
111703 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
111704 l_rec_acct_attrs.array_num_value(15) := p_source_65;
111705 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
111706 l_rec_acct_attrs.array_char_value(16) := p_source_66;
111707 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
111708 l_rec_acct_attrs.array_num_value(17) := p_source_67;
111709 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
111710 l_rec_acct_attrs.array_num_value(18) := p_source_68;
111711 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
111712 l_rec_acct_attrs.array_num_value(19) := p_source_69;
111713 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
111714 l_rec_acct_attrs.array_char_value(20) := p_source_66;
111715 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
111716 l_rec_acct_attrs.array_num_value(21) := p_source_70;
111717 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
111718 l_rec_acct_attrs.array_char_value(22) := p_source_71;
111719 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
111720 l_rec_acct_attrs.array_num_value(23) := p_source_72;
111721 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
111722 l_rec_acct_attrs.array_char_value(24) := p_source_66;
111723 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
111724 l_rec_acct_attrs.array_date_value(25) := p_source_136;
111725 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
111726 l_rec_acct_attrs.array_num_value(26) := p_source_137;
111727 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
111728 l_rec_acct_attrs.array_char_value(27) := p_source_138;
111729 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
111730 l_rec_acct_attrs.array_num_value(28) := p_source_21;
111731 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
111732 l_rec_acct_attrs.array_date_value(29) := p_source_76;
111733 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
111734 l_rec_acct_attrs.array_char_value(30) := p_source_77;
111735 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
111736 l_rec_acct_attrs.array_date_value(31) := p_source_78;
111737 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
111738 l_rec_acct_attrs.array_char_value(32) := p_source_79;
111739 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
111740 l_rec_acct_attrs.array_num_value(33) := p_source_80;
111741 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
111742 l_rec_acct_attrs.array_num_value(34) := p_source_81;
111743 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
111744 l_rec_acct_attrs.array_char_value(35) := p_source_82;
111745 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
111746 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
111747 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
111748 l_rec_acct_attrs.array_char_value(37) := p_source_54;
111749 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
111750 l_rec_acct_attrs.array_num_value(38) := p_source_85;
111751 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
111752 l_rec_acct_attrs.array_num_value(39) := p_source_86;
111753 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
111754 l_rec_acct_attrs.array_num_value(40) := p_source_87;
111755 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
111756 l_rec_acct_attrs.array_num_value(41) := p_source_88;
111757 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
111758 l_rec_acct_attrs.array_num_value(42) := p_source_89;
111759
111760 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111764 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111761 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111762
111763 ---------------------------------------------------------------------------------------------------------------
111765 ---------------------------------------------------------------------------------------------------------------
111766 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111767
111768 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111769 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111770
111771 IF xla_accounting_cache_pkg.GetValueChar
111772 (p_source_code => 'LEDGER_CATEGORY_CODE'
111773 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111774 AND l_bflow_method_code = 'PRIOR_ENTRY'
111775 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111776 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111777 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111778 )
111779 THEN
111780 xla_ae_lines_pkg.BflowUpgEntry
111781 (p_business_method_code => l_bflow_method_code
111782 ,p_business_class_code => l_bflow_class_code
111783 ,p_balance_type => l_balance_type_code);
111784 ELSE
111785 NULL;
111786 -- No business flow processing for business flow method of NONE.
111787 END IF;
111788
111789 --
111790 -- call analytical criteria
111791 --
111792
111793 --
111794 -- call description
111795 --
111796
111797 xla_ae_lines_pkg.SetLineDescription(
111798 p_ae_header_id => l_ae_header_id
111799 ,p_description => Description_1 (
111800 p_application_id => p_application_id
111801 , p_ae_header_id => l_ae_header_id
111802 , p_source_1 => p_source_1
111803 )
111804 );
111805
111806
111807 --
111808 -- call ADRs
111809 -- Bug 4922099
111810 --
111811 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111812 (NVL(l_actual_upg_option, 'N') = 'O') OR
111813 (NVL(l_enc_upg_option, 'N') = 'O')
111814 )
111815 THEN
111816 NULL;
111817 --
111818 --
111819
111820 l_ccid := AcctDerRule_33(
111821 p_application_id => p_application_id
111822 , p_ae_header_id => l_ae_header_id
111823 , p_source_30 => p_source_30
111824 , x_transaction_coa_id => l_adr_transaction_coa_id
111825 , x_accounting_coa_id => l_adr_accounting_coa_id
111826 , x_value_type_code => l_adr_value_type_code
111827 , p_side => 'NA'
111828 );
111829
111830 xla_ae_lines_pkg.set_ccid(
111831 p_code_combination_id => l_ccid
111832 , p_value_type_code => l_adr_value_type_code
111833 , p_transaction_coa_id => l_adr_transaction_coa_id
111834 , p_accounting_coa_id => l_adr_accounting_coa_id
111835 , p_adr_code => 'AP_INVOICE_DIST'
111836 , p_adr_type_code => 'S'
111837 , p_component_type => l_component_type
111838 , p_component_code => l_component_code
111839 , p_component_type_code => l_component_type_code
111840 , p_component_appl_id => l_component_appl_id
111841 , p_amb_context_code => l_amb_context_code
111842 , p_side => 'NA'
111843 );
111844
111845
111846 --
111847 --
111848 END IF;
111849 --
111850 -- Bug 4922099
111851 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111852 (NVL(l_enc_upg_option, 'N') = 'O')
111853 ) AND
111854 (l_bflow_method_code = 'PRIOR_ENTRY')
111855 )
111856 THEN
111857 IF
111858 --
111859 1 = 2
111860 --
111861 THEN
111862 xla_accounting_err_pkg.build_message
111863 (p_appli_s_name => 'XLA'
111864 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111865 ,p_token_1 => 'LINE_NUMBER'
111866 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111867 ,p_token_2 => 'LINE_TYPE_NAME'
111868 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111869 l_component_type
111870 ,l_component_code
111871 ,l_component_type_code
111872 ,l_component_appl_id
111873 ,l_amb_context_code
111874 ,l_entity_code
111875 ,l_event_class_code
111876 )
111877 ,p_token_3 => 'OWNER'
111881 )
111878 ,p_value_3 => xla_lookups_pkg.get_meaning(
111879 p_lookup_type => 'XLA_OWNER_TYPE'
111880 ,p_lookup_code => l_component_type_code
111882 ,p_token_4 => 'PRODUCT_NAME'
111883 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111884 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111885 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111886 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111887 ,p_ae_header_id => NULL
111888 );
111889
111890 IF (C_LEVEL_ERROR>= g_log_level) THEN
111891 trace
111892 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111893 ,p_level => C_LEVEL_ERROR
111894 ,p_module => l_log_module);
111895 END IF;
111896 END IF;
111897 END IF;
111898 --
111899 --
111900 ------------------------------------------------------------------------------------------------
111901 -- 4219869 Business Flow
111902 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111903 -- Prior Entry. Currently, the following code is always generated.
111904 ------------------------------------------------------------------------------------------------
111905 XLA_AE_LINES_PKG.ValidateCurrentLine;
111906
111907 ------------------------------------------------------------------------------------
111908 -- 4219869 Business Flow
111909 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111910 ------------------------------------------------------------------------------------
111911 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111912
111913 ----------------------------------------------------------------------------------
111914 -- 4219869 Business Flow
111915 -- Update journal entry status -- Need to generate this within IF <condition>
111916 ----------------------------------------------------------------------------------
111917 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111918 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111919 ,p_balance_type_code => l_balance_type_code
111920 );
111921
111922 -------------------------------------------------------------------------------------------
111923 -- 4262811 - Generate the Accrual Reversal lines
111924 -------------------------------------------------------------------------------------------
111925 BEGIN
111926 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111927 (g_array_event(p_event_id).array_value_num('header_index'));
111928 IF l_acc_rev_flag IS NULL THEN
111929 l_acc_rev_flag := 'N';
111930 END IF;
111931 EXCEPTION
111932 WHEN OTHERS THEN
111933 l_acc_rev_flag := 'N';
111934 END;
111935 --
111936 IF (l_acc_rev_flag = 'Y') THEN
111937
111938 -- 4645092 ------------------------------------------------------------------------------
111939 -- To allow MPA report to determine if it should generate report process
111940 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111941 ------------------------------------------------------------------------------------------
111942
111943 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111944 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111945 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111946 -- call ADRs
111947 -- Bug 4922099
111948 --
111949 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111950 (NVL(l_actual_upg_option, 'N') = 'O') OR
111951 (NVL(l_enc_upg_option, 'N') = 'O')
111952 )
111953 THEN
111954 NULL;
111955 --
111956 --
111957
111958 l_ccid := AcctDerRule_33(
111959 p_application_id => p_application_id
111960 , p_ae_header_id => l_ae_header_id
111961 , p_source_30 => p_source_30
111962 , x_transaction_coa_id => l_adr_transaction_coa_id
111963 , x_accounting_coa_id => l_adr_accounting_coa_id
111964 , x_value_type_code => l_adr_value_type_code
111965 , p_side => 'NA'
111966 );
111967
111968 xla_ae_lines_pkg.set_ccid(
111969 p_code_combination_id => l_ccid
111970 , p_value_type_code => l_adr_value_type_code
111971 , p_transaction_coa_id => l_adr_transaction_coa_id
111972 , p_accounting_coa_id => l_adr_accounting_coa_id
111973 , p_adr_code => 'AP_INVOICE_DIST'
111974 , p_adr_type_code => 'S'
111975 , p_component_type => l_component_type
111976 , p_component_code => l_component_code
111977 , p_component_type_code => l_component_type_code
111978 , p_component_appl_id => l_component_appl_id
111979 , p_amb_context_code => l_amb_context_code
111983
111980 , p_side => 'NA'
111981 );
111982
111984 --
111985 --
111986 END IF;
111987
111988 --
111989 -- Update the line information that should be overwritten
111990 --
111991 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111992 p_header_num => 1);
111993 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111994
111995 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111996
111997 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111998 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111999 END IF;
112000
112001 --
112002 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112003 --
112004 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112005 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112006 ELSE
112007 ---------------------------------------------------------------------------------------------------
112008 -- 4262811a Switch Sign
112009 ---------------------------------------------------------------------------------------------------
112010 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112011 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112012 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112013 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112014 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112015 -- 5132302
112016 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112017 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112018
112019 END IF;
112020
112021 -- 4955764
112022 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112023 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112024
112025
112026 XLA_AE_LINES_PKG.ValidateCurrentLine;
112027 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112028
112029 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112030 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112031 ,p_balance_type_code => l_balance_type_code);
112032
112033 END IF;
112034
112035 -----------------------------------------------------------------------------------------
112036 -- 4262811 Multiperiod Accounting
112037 -----------------------------------------------------------------------------------------
112038 -- No MPA option is assigned.
112039
112040
112041 END IF;
112042 END IF;
112043 --
112044
112045 --
112046 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112047 trace
112048 (p_msg => 'END of AcctLineType_184'
112049 ,p_level => C_LEVEL_PROCEDURE
112050 ,p_module => l_log_module);
112051 END IF;
112052 --
112053 EXCEPTION
112054 WHEN xla_exceptions_pkg.application_exception THEN
112055 RAISE;
112056 WHEN OTHERS THEN
112057 xla_exceptions_pkg.raise_message
112058 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_184');
112059 END AcctLineType_184;
112060 --
112061
112062 ---------------------------------------
112063 --
112064 -- PRIVATE FUNCTION
112065 -- AcctLineType_185
112066 --
112067 ---------------------------------------
112068 PROCEDURE AcctLineType_185 (
112069 p_application_id IN NUMBER
112070 ,p_event_id IN NUMBER
112071 ,p_calculate_acctd_flag IN VARCHAR2
112072 ,p_calculate_g_l_flag IN VARCHAR2
112073 ,p_actual_flag IN OUT VARCHAR2
112074 ,p_balance_type_code OUT VARCHAR2
112075 ,p_gain_or_loss_ref OUT VARCHAR2
112076
112077 --Invoice Distribution Description
112078 , p_source_1 IN VARCHAR2
112079 --Invoice Distribution Ledger Amount
112080 , p_source_21 IN NUMBER
112081 --Invoice Distribution Account
112082 , p_source_30 IN NUMBER
112083 --Invoice Distribution Type
112084 , p_source_33 IN VARCHAR2
112085 , p_source_33_meaning IN VARCHAR2
112086 --Accounting Reversal Indicator
112087 , p_source_52 IN VARCHAR2
112088 --Distribution Link Type
112089 , p_source_54 IN VARCHAR2
112090 --Allocation to Main Distribution Identifier
112091 , p_source_56 IN NUMBER
112092 --Invoice Identifier
112093 , p_source_57 IN NUMBER
112094 --Invoice Distribution Identifier
112095 , p_source_63 IN NUMBER
112096 --Payables Encumbrance Upgrade Credit Account
112097 , p_source_64 IN NUMBER
112098 --Payables Encumbrance Upgrade Credit Amount
112099 , p_source_65 IN NUMBER
112100 --Invoice Currency Code
112101 , p_source_66 IN VARCHAR2
112102 --Payables Encumbrance Upgrade Credit Base Amount
112103 , p_source_67 IN NUMBER
112107 , p_source_69 IN NUMBER
112104 --Payables Encumbrance Upgrade Debit Account
112105 , p_source_68 IN NUMBER
112106 --Payables Encumbrance Upgrade Debit Amount
112108 --Payables Encumbrance Upgrade Debit Base Amount
112109 , p_source_70 IN NUMBER
112110 --Payables Encumbrance Upgrade Option
112111 , p_source_71 IN VARCHAR2
112112 --Invoice Distribution Amount
112113 , p_source_72 IN NUMBER
112114 --Deferred Accounting End Date
112115 , p_source_76 IN DATE
112116 --Deferred Accounting Option
112117 , p_source_77 IN VARCHAR2
112118 --Deferred Accounting Start Date
112119 , p_source_78 IN DATE
112120 --Override Accounted Amount Indicator
112121 , p_source_79 IN VARCHAR2
112122 , p_source_79_meaning IN VARCHAR2
112123 --Invoice Supplier Identifier
112124 , p_source_80 IN NUMBER
112125 --Invoice Supplier Site Identifier
112126 , p_source_81 IN NUMBER
112127 --Third Party Type
112128 , p_source_82 IN VARCHAR2
112129 --Parent Reversal Identifier
112130 , p_source_83 IN NUMBER
112131 --Invoice Distribution Statistical Amount
112132 , p_source_84 IN NUMBER
112133 --Invoice Distribution Tax Line Identifier
112134 , p_source_85 IN NUMBER
112135 --Invoice Distribution Tax Distribution Identifier from Tax
112136 , p_source_86 IN NUMBER
112137 --Invoice Distribution Summary Tax Line Identifier
112138 , p_source_87 IN NUMBER
112139 --Payables Upgrade Credit Encumbrance Type Identifier
112140 , p_source_88 IN NUMBER
112141 --Payables Upgrade Debit Encumbrance Type Identifier
112142 , p_source_89 IN NUMBER
112143 --Business Flow Accounts Payable Application Identifier
112144 , p_source_90 IN NUMBER
112145 --Business Flow Invoice Distribution Type
112146 , p_source_91 IN VARCHAR2
112147 --Business Flow Invoice Entity Code
112148 , p_source_92 IN VARCHAR2
112149 --Business Flow Invoice Distribution Identifier
112150 , p_source_93 IN NUMBER
112151 --Business Flow Invoice Identifier
112152 , p_source_94 IN NUMBER
112153 --Self-Assessed Tax Flag
112154 , p_source_135 IN VARCHAR2
112155 , p_source_135_meaning IN VARCHAR2
112156 --Invoice Exchange Date
112157 , p_source_136 IN DATE
112158 --Invoice Exchange Rate
112159 , p_source_137 IN NUMBER
112160 --Invoice Exchange Rate Type
112161 , p_source_138 IN VARCHAR2
112162 )
112163 IS
112164
112165 l_component_type VARCHAR2(80);
112166 l_component_code VARCHAR2(30);
112167 l_component_type_code VARCHAR2(1);
112168 l_component_appl_id INTEGER;
112169 l_amb_context_code VARCHAR2(30);
112170 l_entity_code VARCHAR2(30);
112171 l_event_class_code VARCHAR2(30);
112172 l_ae_header_id NUMBER;
112173 l_event_type_code VARCHAR2(30);
112174 l_line_definition_code VARCHAR2(30);
112175 l_line_definition_owner_code VARCHAR2(1);
112176 --
112177 -- adr variables
112178 l_segment VARCHAR2(30);
112179 l_ccid NUMBER;
112180 l_adr_transaction_coa_id NUMBER;
112181 l_adr_accounting_coa_id NUMBER;
112182 l_adr_flexfield_segment_code VARCHAR2(30);
112183 l_adr_flex_value_set_id NUMBER;
112184 l_adr_value_type_code VARCHAR2(30);
112185 l_adr_value_combination_id NUMBER;
112186 l_adr_value_segment_code VARCHAR2(30);
112187
112188 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112189 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112190 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112191 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112192
112193 -- 4262811 Variables ------------------------------------------------------------------------------------------
112194 l_entered_amt_idx NUMBER;
112195 l_accted_amt_idx NUMBER;
112196 l_acc_rev_flag VARCHAR2(1);
112197 l_accrual_line_num NUMBER;
112198 l_tmp_amt NUMBER;
112199 l_acc_rev_natural_side_code VARCHAR2(1);
112200
112201 l_num_entries NUMBER;
112202 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112203 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112204 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112205 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112206 l_recog_line_1 NUMBER;
112207 l_recog_line_2 NUMBER;
112208
112209 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112210 l_bflow_applied_to_amt NUMBER; -- 5132302
112211 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112212
112213 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112214
112215 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112216 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112217
112218 ---------------------------------------------------------------------------------------------------------------
112219
112220
112221 --
112222 -- bulk performance
112223 --
112224 l_balance_type_code VARCHAR2(1);
112225 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112226 l_log_module VARCHAR2(240);
112227
112228 --
112232 l_enc_upg_option VARCHAR2(1);
112229 -- Upgrade strategy
112230 --
112231 l_actual_upg_option VARCHAR2(1);
112233
112234 --
112235 BEGIN
112236 --
112237 IF g_log_enabled THEN
112238 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_185';
112239 END IF;
112240 --
112241 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112242
112243 trace
112244 (p_msg => 'BEGIN of AcctLineType_185'
112245 ,p_level => C_LEVEL_PROCEDURE
112246 ,p_module => l_log_module);
112247
112248 END IF;
112249 --
112250 l_component_type := 'AMB_JLT';
112251 l_component_code := 'AP_RECOV_TAX_INV';
112252 l_component_type_code := 'S';
112253 l_component_appl_id := 200;
112254 l_amb_context_code := 'DEFAULT';
112255 l_entity_code := 'AP_INVOICES';
112256 l_event_class_code := 'INVOICES';
112257 l_event_type_code := 'INVOICES_ALL';
112258 l_line_definition_owner_code := 'S';
112259 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
112260 --
112261 l_balance_type_code := 'A';
112262 l_segment := NULL;
112263 l_ccid := NULL;
112264 l_adr_transaction_coa_id := NULL;
112265 l_adr_accounting_coa_id := NULL;
112266 l_adr_flexfield_segment_code := NULL;
112267 l_adr_flex_value_set_id := NULL;
112268 l_adr_value_type_code := NULL;
112269 l_adr_value_combination_id := NULL;
112270 l_adr_value_segment_code := NULL;
112271
112272 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112273 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
112274 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112275 l_budgetary_control_flag := 'N';
112276
112277 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112278 l_bflow_applied_to_amt := NULL; -- 5132302
112279 l_entered_amt_idx := NULL; -- 4262811
112280 l_accted_amt_idx := NULL; -- 4262811
112281 l_acc_rev_flag := NULL; -- 4262811
112282 l_accrual_line_num := NULL; -- 4262811
112283 l_tmp_amt := NULL; -- 4262811
112284 --
112285
112286 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112287 l_balance_type_code <> 'B' THEN
112288 IF NVL(p_source_33,'
112289 ') = 'REC_TAX' AND
112290 NVL(p_source_135,'
112291 ') <> 'Y'
112292 THEN
112293
112294 --
112295 XLA_AE_LINES_PKG.SetNewLine;
112296
112297 p_balance_type_code := l_balance_type_code;
112298 -- set the flag so later we will know whether the gain loss line needs to be created
112299
112300 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112301 p_actual_flag :='A';
112302 END IF;
112303
112304 --
112305 -- bulk performance
112306 --
112307 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112308 p_header_num => 0); -- 4262811
112309 --
112310 -- set accounting line options
112311 --
112312 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112313 p_natural_side_code => 'D'
112314 , p_gain_or_loss_flag => 'N'
112315 , p_gl_transfer_mode_code => 'S'
112316 , p_acct_entry_type_code => 'A'
112317 , p_switch_side_flag => 'Y'
112318 , p_merge_duplicate_code => 'A'
112319 );
112320 --
112321 l_acc_rev_natural_side_code := 'C'; -- 4262811
112322 --
112323 --
112324 -- set accounting line type info
112325 --
112326 xla_ae_lines_pkg.SetAcctLineType
112327 (p_component_type => l_component_type
112328 ,p_event_type_code => l_event_type_code
112329 ,p_line_definition_owner_code => l_line_definition_owner_code
112330 ,p_line_definition_code => l_line_definition_code
112331 ,p_accounting_line_code => l_component_code
112332 ,p_accounting_line_type_code => l_component_type_code
112333 ,p_accounting_line_appl_id => l_component_appl_id
112334 ,p_amb_context_code => l_amb_context_code
112335 ,p_entity_code => l_entity_code
112336 ,p_event_class_code => l_event_class_code);
112337 --
112338 -- set accounting class
112339 --
112340 xla_ae_lines_pkg.SetAcctClass(
112341 p_accounting_class_code => 'RTAX'
112342 , p_ae_header_id => l_ae_header_id
112343 );
112344
112345 --
112346 -- set rounding class
112347 --
112348 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112349 'RTAX';
112350
112351 --
112352 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112353 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112354 --
112355 -- bulk performance
112356 --
112357 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112358
112359 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112360 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112361
112362 -- 4955764
112363 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112367
112364 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112365
112366 -- 4458381 Public Sector Enh
112368 --
112369 -- set accounting attributes for the line type
112370 --
112371 l_entered_amt_idx := 24;
112372 l_accted_amt_idx := 29;
112373 l_bflow_applied_to_amt_idx := 7; -- 5132302
112374 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112375 l_rec_acct_attrs.array_char_value(1) := p_source_52;
112376 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112377 l_rec_acct_attrs.array_num_value(2) :=
112378 xla_ae_sources_pkg.GetSystemSourceNum(
112379 p_source_code => 'XLA_EVENT_APPL_ID'
112380 , p_source_type_code => 'Y'
112381 , p_source_application_id => 602
112382 );
112383 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112384 l_rec_acct_attrs.array_char_value(3) := p_source_54;
112385 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112386 l_rec_acct_attrs.array_char_value(4) :=
112387 xla_ae_sources_pkg.GetSystemSourceChar(
112388 p_source_code => 'XLA_ENTITY_CODE'
112389 , p_source_type_code => 'Y'
112390 , p_source_application_id => 602
112391 );
112392 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112393 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
112394 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112395 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
112396 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
112397 l_rec_acct_attrs.array_num_value(7) := p_source_72;
112398 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
112399 l_rec_acct_attrs.array_num_value(8) := p_source_90;
112400 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112401 l_rec_acct_attrs.array_char_value(9) := p_source_91;
112402 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
112403 l_rec_acct_attrs.array_char_value(10) := p_source_92;
112404 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
112405 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
112406 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112407 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
112408 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
112409 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
112410 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
112411 l_rec_acct_attrs.array_char_value(14) := p_source_54;
112412 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
112413 l_rec_acct_attrs.array_num_value(15) := p_source_64;
112414 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
112415 l_rec_acct_attrs.array_num_value(16) := p_source_65;
112416 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
112417 l_rec_acct_attrs.array_char_value(17) := p_source_66;
112418 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
112419 l_rec_acct_attrs.array_num_value(18) := p_source_67;
112420 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
112421 l_rec_acct_attrs.array_num_value(19) := p_source_68;
112422 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
112423 l_rec_acct_attrs.array_num_value(20) := p_source_69;
112424 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
112425 l_rec_acct_attrs.array_char_value(21) := p_source_66;
112426 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
112427 l_rec_acct_attrs.array_num_value(22) := p_source_70;
112428 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
112429 l_rec_acct_attrs.array_char_value(23) := p_source_71;
112430 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
112431 l_rec_acct_attrs.array_num_value(24) := p_source_72;
112432 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
112433 l_rec_acct_attrs.array_char_value(25) := p_source_66;
112434 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
112435 l_rec_acct_attrs.array_date_value(26) := p_source_136;
112436 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
112437 l_rec_acct_attrs.array_num_value(27) := p_source_137;
112438 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
112439 l_rec_acct_attrs.array_char_value(28) := p_source_138;
112440 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
112441 l_rec_acct_attrs.array_num_value(29) := p_source_21;
112442 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
112443 l_rec_acct_attrs.array_date_value(30) := p_source_76;
112444 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
112445 l_rec_acct_attrs.array_char_value(31) := p_source_77;
112446 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
112447 l_rec_acct_attrs.array_date_value(32) := p_source_78;
112448 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
112449 l_rec_acct_attrs.array_char_value(33) := p_source_79;
112450 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
112451 l_rec_acct_attrs.array_num_value(34) := p_source_80;
112452 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
112453 l_rec_acct_attrs.array_num_value(35) := p_source_81;
112454 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
112455 l_rec_acct_attrs.array_char_value(36) := p_source_82;
112459 l_rec_acct_attrs.array_char_value(38) := p_source_54;
112456 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
112457 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
112458 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
112460 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
112461 l_rec_acct_attrs.array_num_value(39) := p_source_84;
112462 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
112463 l_rec_acct_attrs.array_num_value(40) := p_source_85;
112464 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
112465 l_rec_acct_attrs.array_num_value(41) := p_source_86;
112466 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
112467 l_rec_acct_attrs.array_num_value(42) := p_source_87;
112468 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
112469 l_rec_acct_attrs.array_num_value(43) := p_source_88;
112470 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
112471 l_rec_acct_attrs.array_num_value(44) := p_source_89;
112472
112473 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
112474 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
112475
112476 ---------------------------------------------------------------------------------------------------------------
112477 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
112478 ---------------------------------------------------------------------------------------------------------------
112479 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
112480
112481 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112482 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112483
112484 IF xla_accounting_cache_pkg.GetValueChar
112485 (p_source_code => 'LEDGER_CATEGORY_CODE'
112486 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
112487 AND l_bflow_method_code = 'PRIOR_ENTRY'
112488 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
112489 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
112490 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
112491 )
112492 THEN
112493 xla_ae_lines_pkg.BflowUpgEntry
112494 (p_business_method_code => l_bflow_method_code
112495 ,p_business_class_code => l_bflow_class_code
112496 ,p_balance_type => l_balance_type_code);
112497 ELSE
112498 NULL;
112499 -- No business flow processing for business flow method of NONE.
112500 END IF;
112501
112502 --
112503 -- call analytical criteria
112504 --
112505
112506 --
112507 -- call description
112508 --
112509
112510 xla_ae_lines_pkg.SetLineDescription(
112511 p_ae_header_id => l_ae_header_id
112512 ,p_description => Description_1 (
112513 p_application_id => p_application_id
112514 , p_ae_header_id => l_ae_header_id
112515 , p_source_1 => p_source_1
112516 )
112517 );
112518
112519
112520 --
112521 -- call ADRs
112522 -- Bug 4922099
112523 --
112524 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112525 (NVL(l_actual_upg_option, 'N') = 'O') OR
112526 (NVL(l_enc_upg_option, 'N') = 'O')
112527 )
112528 THEN
112529 NULL;
112530 --
112531 --
112532
112533 l_ccid := AcctDerRule_33(
112534 p_application_id => p_application_id
112535 , p_ae_header_id => l_ae_header_id
112536 , p_source_30 => p_source_30
112537 , x_transaction_coa_id => l_adr_transaction_coa_id
112538 , x_accounting_coa_id => l_adr_accounting_coa_id
112539 , x_value_type_code => l_adr_value_type_code
112540 , p_side => 'NA'
112541 );
112542
112543 xla_ae_lines_pkg.set_ccid(
112544 p_code_combination_id => l_ccid
112545 , p_value_type_code => l_adr_value_type_code
112546 , p_transaction_coa_id => l_adr_transaction_coa_id
112547 , p_accounting_coa_id => l_adr_accounting_coa_id
112548 , p_adr_code => 'AP_INVOICE_DIST'
112549 , p_adr_type_code => 'S'
112550 , p_component_type => l_component_type
112551 , p_component_code => l_component_code
112552 , p_component_type_code => l_component_type_code
112553 , p_component_appl_id => l_component_appl_id
112554 , p_amb_context_code => l_amb_context_code
112555 , p_side => 'NA'
112556 );
112557
112558
112559 --
112560 --
112561 END IF;
112562 --
112563 -- Bug 4922099
112564 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
112565 (NVL(l_enc_upg_option, 'N') = 'O')
112566 ) AND
112567 (l_bflow_method_code = 'PRIOR_ENTRY')
112568 )
112569 THEN
112570 IF
112571 --
112572 1 = 2
112573 --
112574 THEN
112575 xla_accounting_err_pkg.build_message
112576 (p_appli_s_name => 'XLA'
112577 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112581 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
112578 ,p_token_1 => 'LINE_NUMBER'
112579 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
112580 ,p_token_2 => 'LINE_TYPE_NAME'
112582 l_component_type
112583 ,l_component_code
112584 ,l_component_type_code
112585 ,l_component_appl_id
112586 ,l_amb_context_code
112587 ,l_entity_code
112588 ,l_event_class_code
112589 )
112590 ,p_token_3 => 'OWNER'
112591 ,p_value_3 => xla_lookups_pkg.get_meaning(
112592 p_lookup_type => 'XLA_OWNER_TYPE'
112593 ,p_lookup_code => l_component_type_code
112594 )
112595 ,p_token_4 => 'PRODUCT_NAME'
112596 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
112597 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
112598 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
112599 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
112600 ,p_ae_header_id => NULL
112601 );
112602
112603 IF (C_LEVEL_ERROR>= g_log_level) THEN
112604 trace
112605 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112606 ,p_level => C_LEVEL_ERROR
112607 ,p_module => l_log_module);
112608 END IF;
112609 END IF;
112610 END IF;
112611 --
112612 --
112613 ------------------------------------------------------------------------------------------------
112614 -- 4219869 Business Flow
112615 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
112616 -- Prior Entry. Currently, the following code is always generated.
112617 ------------------------------------------------------------------------------------------------
112618 XLA_AE_LINES_PKG.ValidateCurrentLine;
112619
112620 ------------------------------------------------------------------------------------
112621 -- 4219869 Business Flow
112622 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
112623 ------------------------------------------------------------------------------------
112624 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112625
112626 ----------------------------------------------------------------------------------
112627 -- 4219869 Business Flow
112628 -- Update journal entry status -- Need to generate this within IF <condition>
112629 ----------------------------------------------------------------------------------
112630 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112631 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
112632 ,p_balance_type_code => l_balance_type_code
112633 );
112634
112635 -------------------------------------------------------------------------------------------
112636 -- 4262811 - Generate the Accrual Reversal lines
112637 -------------------------------------------------------------------------------------------
112638 BEGIN
112639 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
112640 (g_array_event(p_event_id).array_value_num('header_index'));
112641 IF l_acc_rev_flag IS NULL THEN
112642 l_acc_rev_flag := 'N';
112643 END IF;
112644 EXCEPTION
112645 WHEN OTHERS THEN
112646 l_acc_rev_flag := 'N';
112647 END;
112648 --
112649 IF (l_acc_rev_flag = 'Y') THEN
112650
112651 -- 4645092 ------------------------------------------------------------------------------
112652 -- To allow MPA report to determine if it should generate report process
112653 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
112654 ------------------------------------------------------------------------------------------
112655
112656 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
112657 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
112658 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
112659 -- call ADRs
112660 -- Bug 4922099
112661 --
112662 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112663 (NVL(l_actual_upg_option, 'N') = 'O') OR
112664 (NVL(l_enc_upg_option, 'N') = 'O')
112665 )
112666 THEN
112667 NULL;
112668 --
112669 --
112670
112674 , p_source_30 => p_source_30
112671 l_ccid := AcctDerRule_33(
112672 p_application_id => p_application_id
112673 , p_ae_header_id => l_ae_header_id
112675 , x_transaction_coa_id => l_adr_transaction_coa_id
112676 , x_accounting_coa_id => l_adr_accounting_coa_id
112677 , x_value_type_code => l_adr_value_type_code
112678 , p_side => 'NA'
112679 );
112680
112681 xla_ae_lines_pkg.set_ccid(
112682 p_code_combination_id => l_ccid
112683 , p_value_type_code => l_adr_value_type_code
112684 , p_transaction_coa_id => l_adr_transaction_coa_id
112685 , p_accounting_coa_id => l_adr_accounting_coa_id
112686 , p_adr_code => 'AP_INVOICE_DIST'
112687 , p_adr_type_code => 'S'
112688 , p_component_type => l_component_type
112689 , p_component_code => l_component_code
112690 , p_component_type_code => l_component_type_code
112691 , p_component_appl_id => l_component_appl_id
112692 , p_amb_context_code => l_amb_context_code
112693 , p_side => 'NA'
112694 );
112695
112696
112697 --
112698 --
112699 END IF;
112700
112701 --
112702 -- Update the line information that should be overwritten
112703 --
112704 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
112705 p_header_num => 1);
112706 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
112707
112708 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
112709
112710 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
112711 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
112712 END IF;
112713
112714 --
112715 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112716 --
112717 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112718 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112719 ELSE
112720 ---------------------------------------------------------------------------------------------------
112721 -- 4262811a Switch Sign
112722 ---------------------------------------------------------------------------------------------------
112723 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112724 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112725 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112726 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112727 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112728 -- 5132302
112729 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112730 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112731
112732 END IF;
112733
112734 -- 4955764
112735 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112736 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112737
112738
112739 XLA_AE_LINES_PKG.ValidateCurrentLine;
112740 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112741
112742 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112743 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112744 ,p_balance_type_code => l_balance_type_code);
112745
112746 END IF;
112747
112748 -----------------------------------------------------------------------------------------
112749 -- 4262811 Multiperiod Accounting
112750 -----------------------------------------------------------------------------------------
112751 -- No MPA option is assigned.
112752
112753
112754 END IF;
112755 END IF;
112756 --
112757
112758 --
112759 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112760 trace
112761 (p_msg => 'END of AcctLineType_185'
112762 ,p_level => C_LEVEL_PROCEDURE
112763 ,p_module => l_log_module);
112764 END IF;
112765 --
112766 EXCEPTION
112767 WHEN xla_exceptions_pkg.application_exception THEN
112768 RAISE;
112769 WHEN OTHERS THEN
112770 xla_exceptions_pkg.raise_message
112771 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_185');
112772 END AcctLineType_185;
112773 --
112774
112775 ---------------------------------------
112776 --
112777 -- PRIVATE FUNCTION
112778 -- AcctLineType_186
112779 --
112780 ---------------------------------------
112781 PROCEDURE AcctLineType_186 (
112782 p_application_id IN NUMBER
112783 ,p_event_id IN NUMBER
112784 ,p_calculate_acctd_flag IN VARCHAR2
112785 ,p_calculate_g_l_flag IN VARCHAR2
112786 ,p_actual_flag IN OUT VARCHAR2
112787 ,p_balance_type_code OUT VARCHAR2
112788 ,p_gain_or_loss_ref OUT VARCHAR2
112789
112793 , p_source_21 IN NUMBER
112790 --Invoice Distribution Description
112791 , p_source_1 IN VARCHAR2
112792 --Invoice Distribution Ledger Amount
112794 --Invoice Distribution Account
112795 , p_source_30 IN NUMBER
112796 --Invoice Distribution Type
112797 , p_source_33 IN VARCHAR2
112798 , p_source_33_meaning IN VARCHAR2
112799 --Accounting Reversal Indicator
112800 , p_source_52 IN VARCHAR2
112801 --Distribution Link Type
112802 , p_source_54 IN VARCHAR2
112803 --Allocation to Main Distribution Identifier
112804 , p_source_56 IN NUMBER
112805 --Invoice Identifier
112806 , p_source_57 IN NUMBER
112807 --Invoice Distribution Identifier
112808 , p_source_63 IN NUMBER
112809 --Payables Encumbrance Upgrade Credit Account
112810 , p_source_64 IN NUMBER
112811 --Payables Encumbrance Upgrade Credit Amount
112812 , p_source_65 IN NUMBER
112813 --Invoice Currency Code
112814 , p_source_66 IN VARCHAR2
112815 --Payables Encumbrance Upgrade Credit Base Amount
112816 , p_source_67 IN NUMBER
112817 --Payables Encumbrance Upgrade Debit Account
112818 , p_source_68 IN NUMBER
112819 --Payables Encumbrance Upgrade Debit Amount
112820 , p_source_69 IN NUMBER
112821 --Payables Encumbrance Upgrade Debit Base Amount
112822 , p_source_70 IN NUMBER
112823 --Payables Encumbrance Upgrade Option
112824 , p_source_71 IN VARCHAR2
112825 --Invoice Distribution Amount
112826 , p_source_72 IN NUMBER
112827 --Deferred Accounting End Date
112828 , p_source_76 IN DATE
112829 --Deferred Accounting Option
112830 , p_source_77 IN VARCHAR2
112831 --Deferred Accounting Start Date
112832 , p_source_78 IN DATE
112833 --Override Accounted Amount Indicator
112834 , p_source_79 IN VARCHAR2
112835 , p_source_79_meaning IN VARCHAR2
112836 --Invoice Supplier Identifier
112837 , p_source_80 IN NUMBER
112838 --Invoice Supplier Site Identifier
112839 , p_source_81 IN NUMBER
112840 --Third Party Type
112841 , p_source_82 IN VARCHAR2
112842 --Parent Reversal Identifier
112843 , p_source_83 IN NUMBER
112844 --Invoice Distribution Statistical Amount
112845 , p_source_84 IN NUMBER
112846 --Invoice Distribution Tax Line Identifier
112847 , p_source_85 IN NUMBER
112848 --Invoice Distribution Tax Distribution Identifier from Tax
112849 , p_source_86 IN NUMBER
112850 --Invoice Distribution Summary Tax Line Identifier
112851 , p_source_87 IN NUMBER
112852 --Payables Upgrade Credit Encumbrance Type Identifier
112853 , p_source_88 IN NUMBER
112854 --Payables Upgrade Debit Encumbrance Type Identifier
112855 , p_source_89 IN NUMBER
112856 --Business Flow Accounts Payable Application Identifier
112857 , p_source_90 IN NUMBER
112858 --Business Flow Invoice Distribution Type
112859 , p_source_91 IN VARCHAR2
112860 --Business Flow Invoice Entity Code
112861 , p_source_92 IN VARCHAR2
112862 --Business Flow Invoice Distribution Identifier
112863 , p_source_93 IN NUMBER
112864 --Business Flow Invoice Identifier
112865 , p_source_94 IN NUMBER
112866 --Deferred Recoverable Tax Option
112867 , p_source_125 IN VARCHAR2
112868 , p_source_125_meaning IN VARCHAR2
112869 --Self-Assessed Tax Flag
112870 , p_source_135 IN VARCHAR2
112871 , p_source_135_meaning IN VARCHAR2
112872 --Invoice Exchange Date
112873 , p_source_136 IN DATE
112874 --Invoice Exchange Rate
112875 , p_source_137 IN NUMBER
112876 --Invoice Exchange Rate Type
112877 , p_source_138 IN VARCHAR2
112878 )
112879 IS
112880
112881 l_component_type VARCHAR2(80);
112882 l_component_code VARCHAR2(30);
112883 l_component_type_code VARCHAR2(1);
112884 l_component_appl_id INTEGER;
112885 l_amb_context_code VARCHAR2(30);
112886 l_entity_code VARCHAR2(30);
112887 l_event_class_code VARCHAR2(30);
112888 l_ae_header_id NUMBER;
112889 l_event_type_code VARCHAR2(30);
112890 l_line_definition_code VARCHAR2(30);
112891 l_line_definition_owner_code VARCHAR2(1);
112892 --
112893 -- adr variables
112894 l_segment VARCHAR2(30);
112895 l_ccid NUMBER;
112896 l_adr_transaction_coa_id NUMBER;
112897 l_adr_accounting_coa_id NUMBER;
112898 l_adr_flexfield_segment_code VARCHAR2(30);
112899 l_adr_flex_value_set_id NUMBER;
112900 l_adr_value_type_code VARCHAR2(30);
112901 l_adr_value_combination_id NUMBER;
112902 l_adr_value_segment_code VARCHAR2(30);
112903
112904 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112905 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112906 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112907 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112908
112909 -- 4262811 Variables ------------------------------------------------------------------------------------------
112910 l_entered_amt_idx NUMBER;
112911 l_accted_amt_idx NUMBER;
112912 l_acc_rev_flag VARCHAR2(1);
112913 l_accrual_line_num NUMBER;
112914 l_tmp_amt NUMBER;
112915 l_acc_rev_natural_side_code VARCHAR2(1);
112916
112917 l_num_entries NUMBER;
112921 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112918 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112919 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112920 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112922 l_recog_line_1 NUMBER;
112923 l_recog_line_2 NUMBER;
112924
112925 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112926 l_bflow_applied_to_amt NUMBER; -- 5132302
112927 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112928
112929 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112930
112931 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112932 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112933
112934 ---------------------------------------------------------------------------------------------------------------
112935
112936
112937 --
112938 -- bulk performance
112939 --
112940 l_balance_type_code VARCHAR2(1);
112941 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112942 l_log_module VARCHAR2(240);
112943
112944 --
112945 -- Upgrade strategy
112946 --
112947 l_actual_upg_option VARCHAR2(1);
112948 l_enc_upg_option VARCHAR2(1);
112949
112950 --
112951 BEGIN
112952 --
112953 IF g_log_enabled THEN
112954 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_186';
112955 END IF;
112956 --
112957 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112958
112959 trace
112960 (p_msg => 'BEGIN of AcctLineType_186'
112961 ,p_level => C_LEVEL_PROCEDURE
112962 ,p_module => l_log_module);
112963
112964 END IF;
112965 --
112966 l_component_type := 'AMB_JLT';
112967 l_component_code := 'AP_RECOV_TAX_PREPAY';
112968 l_component_type_code := 'S';
112969 l_component_appl_id := 200;
112970 l_amb_context_code := 'DEFAULT';
112971 l_entity_code := 'AP_INVOICES';
112972 l_event_class_code := 'PREPAYMENTS';
112973 l_event_type_code := 'PREPAYMENTS_ALL';
112974 l_line_definition_owner_code := 'S';
112975 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
112976 --
112977 l_balance_type_code := 'A';
112978 l_segment := NULL;
112979 l_ccid := NULL;
112980 l_adr_transaction_coa_id := NULL;
112981 l_adr_accounting_coa_id := NULL;
112982 l_adr_flexfield_segment_code := NULL;
112983 l_adr_flex_value_set_id := NULL;
112984 l_adr_value_type_code := NULL;
112985 l_adr_value_combination_id := NULL;
112986 l_adr_value_segment_code := NULL;
112987
112988 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112989 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
112990 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112991 l_budgetary_control_flag := 'N';
112992
112993 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112994 l_bflow_applied_to_amt := NULL; -- 5132302
112995 l_entered_amt_idx := NULL; -- 4262811
112996 l_accted_amt_idx := NULL; -- 4262811
112997 l_acc_rev_flag := NULL; -- 4262811
112998 l_accrual_line_num := NULL; -- 4262811
112999 l_tmp_amt := NULL; -- 4262811
113000 --
113001
113002 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113003 l_balance_type_code <> 'B' THEN
113004 IF NVL(p_source_33,'
113005 ') = 'REC_TAX' AND
113006 NVL(p_source_125,'
113007 ') = 'IMMEDIATE' AND
113008 NVL(p_source_135,'
113009 ') <> 'Y'
113010 THEN
113011
113012 --
113013 XLA_AE_LINES_PKG.SetNewLine;
113014
113015 p_balance_type_code := l_balance_type_code;
113016 -- set the flag so later we will know whether the gain loss line needs to be created
113017
113018 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113019 p_actual_flag :='A';
113020 END IF;
113021
113022 --
113023 -- bulk performance
113024 --
113025 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113026 p_header_num => 0); -- 4262811
113027 --
113028 -- set accounting line options
113029 --
113030 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113031 p_natural_side_code => 'D'
113032 , p_gain_or_loss_flag => 'N'
113033 , p_gl_transfer_mode_code => 'S'
113034 , p_acct_entry_type_code => 'A'
113035 , p_switch_side_flag => 'Y'
113036 , p_merge_duplicate_code => 'A'
113037 );
113038 --
113039 l_acc_rev_natural_side_code := 'C'; -- 4262811
113040 --
113041 --
113042 -- set accounting line type info
113043 --
113044 xla_ae_lines_pkg.SetAcctLineType
113045 (p_component_type => l_component_type
113046 ,p_event_type_code => l_event_type_code
113047 ,p_line_definition_owner_code => l_line_definition_owner_code
113048 ,p_line_definition_code => l_line_definition_code
113049 ,p_accounting_line_code => l_component_code
113050 ,p_accounting_line_type_code => l_component_type_code
113054 ,p_event_class_code => l_event_class_code);
113051 ,p_accounting_line_appl_id => l_component_appl_id
113052 ,p_amb_context_code => l_amb_context_code
113053 ,p_entity_code => l_entity_code
113055 --
113056 -- set accounting class
113057 --
113058 xla_ae_lines_pkg.SetAcctClass(
113059 p_accounting_class_code => 'RTAX'
113060 , p_ae_header_id => l_ae_header_id
113061 );
113062
113063 --
113064 -- set rounding class
113065 --
113066 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113067 'RTAX';
113068
113069 --
113070 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113071 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113072 --
113073 -- bulk performance
113074 --
113075 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113076
113077 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113078 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113079
113080 -- 4955764
113081 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113082 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113083
113084 -- 4458381 Public Sector Enh
113085
113086 --
113087 -- set accounting attributes for the line type
113088 --
113089 l_entered_amt_idx := 23;
113090 l_accted_amt_idx := 28;
113091 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113092 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113093 l_rec_acct_attrs.array_char_value(1) := p_source_52;
113094 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113095 l_rec_acct_attrs.array_num_value(2) :=
113096 xla_ae_sources_pkg.GetSystemSourceNum(
113097 p_source_code => 'XLA_EVENT_APPL_ID'
113098 , p_source_type_code => 'Y'
113099 , p_source_application_id => 602
113100 );
113101 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113102 l_rec_acct_attrs.array_char_value(3) := p_source_54;
113103 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113104 l_rec_acct_attrs.array_char_value(4) :=
113105 xla_ae_sources_pkg.GetSystemSourceChar(
113106 p_source_code => 'XLA_ENTITY_CODE'
113107 , p_source_type_code => 'Y'
113108 , p_source_application_id => 602
113109 );
113110 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
113111 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
113112 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
113113 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
113114 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
113115 l_rec_acct_attrs.array_num_value(7) := p_source_90;
113116 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
113117 l_rec_acct_attrs.array_char_value(8) := p_source_91;
113118 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
113119 l_rec_acct_attrs.array_char_value(9) := p_source_92;
113120 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
113121 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
113122 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
113123 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
113124 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
113125 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
113126 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
113127 l_rec_acct_attrs.array_char_value(13) := p_source_54;
113128 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
113129 l_rec_acct_attrs.array_num_value(14) := p_source_64;
113130 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
113131 l_rec_acct_attrs.array_num_value(15) := p_source_65;
113132 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
113133 l_rec_acct_attrs.array_char_value(16) := p_source_66;
113134 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
113135 l_rec_acct_attrs.array_num_value(17) := p_source_67;
113136 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
113137 l_rec_acct_attrs.array_num_value(18) := p_source_68;
113138 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
113139 l_rec_acct_attrs.array_num_value(19) := p_source_69;
113140 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
113141 l_rec_acct_attrs.array_char_value(20) := p_source_66;
113142 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
113143 l_rec_acct_attrs.array_num_value(21) := p_source_70;
113144 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
113145 l_rec_acct_attrs.array_char_value(22) := p_source_71;
113146 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
113147 l_rec_acct_attrs.array_num_value(23) := p_source_72;
113148 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
113149 l_rec_acct_attrs.array_char_value(24) := p_source_66;
113150 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
113154 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
113151 l_rec_acct_attrs.array_date_value(25) := p_source_136;
113152 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
113153 l_rec_acct_attrs.array_num_value(26) := p_source_137;
113155 l_rec_acct_attrs.array_char_value(27) := p_source_138;
113156 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
113157 l_rec_acct_attrs.array_num_value(28) := p_source_21;
113158 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
113159 l_rec_acct_attrs.array_date_value(29) := p_source_76;
113160 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
113161 l_rec_acct_attrs.array_char_value(30) := p_source_77;
113162 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
113163 l_rec_acct_attrs.array_date_value(31) := p_source_78;
113164 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
113165 l_rec_acct_attrs.array_char_value(32) := p_source_79;
113166 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
113167 l_rec_acct_attrs.array_num_value(33) := p_source_80;
113168 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
113169 l_rec_acct_attrs.array_num_value(34) := p_source_81;
113170 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
113171 l_rec_acct_attrs.array_char_value(35) := p_source_82;
113172 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
113173 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
113174 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
113175 l_rec_acct_attrs.array_char_value(37) := p_source_54;
113176 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
113177 l_rec_acct_attrs.array_num_value(38) := p_source_84;
113178 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
113179 l_rec_acct_attrs.array_num_value(39) := p_source_85;
113180 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
113181 l_rec_acct_attrs.array_num_value(40) := p_source_86;
113182 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
113183 l_rec_acct_attrs.array_num_value(41) := p_source_87;
113184 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
113185 l_rec_acct_attrs.array_num_value(42) := p_source_88;
113186 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
113187 l_rec_acct_attrs.array_num_value(43) := p_source_89;
113188
113189 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113190 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113191
113192 ---------------------------------------------------------------------------------------------------------------
113193 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113194 ---------------------------------------------------------------------------------------------------------------
113195 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113196
113197 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113198 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113199
113200 IF xla_accounting_cache_pkg.GetValueChar
113201 (p_source_code => 'LEDGER_CATEGORY_CODE'
113202 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113203 AND l_bflow_method_code = 'PRIOR_ENTRY'
113204 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113205 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113206 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113207 )
113208 THEN
113209 xla_ae_lines_pkg.BflowUpgEntry
113210 (p_business_method_code => l_bflow_method_code
113211 ,p_business_class_code => l_bflow_class_code
113212 ,p_balance_type => l_balance_type_code);
113213 ELSE
113214 NULL;
113215 -- No business flow processing for business flow method of NONE.
113216 END IF;
113217
113218 --
113219 -- call analytical criteria
113220 --
113221
113222 --
113223 -- call description
113224 --
113225
113226 xla_ae_lines_pkg.SetLineDescription(
113227 p_ae_header_id => l_ae_header_id
113228 ,p_description => Description_1 (
113229 p_application_id => p_application_id
113230 , p_ae_header_id => l_ae_header_id
113231 , p_source_1 => p_source_1
113232 )
113233 );
113234
113235
113236 --
113237 -- call ADRs
113238 -- Bug 4922099
113239 --
113240 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113241 (NVL(l_actual_upg_option, 'N') = 'O') OR
113242 (NVL(l_enc_upg_option, 'N') = 'O')
113243 )
113244 THEN
113245 NULL;
113246 --
113247 --
113248
113249 l_ccid := AcctDerRule_33(
113250 p_application_id => p_application_id
113251 , p_ae_header_id => l_ae_header_id
113252 , p_source_30 => p_source_30
113253 , x_transaction_coa_id => l_adr_transaction_coa_id
113254 , x_accounting_coa_id => l_adr_accounting_coa_id
113255 , x_value_type_code => l_adr_value_type_code
113256 , p_side => 'NA'
113257 );
113258
113262 , p_transaction_coa_id => l_adr_transaction_coa_id
113259 xla_ae_lines_pkg.set_ccid(
113260 p_code_combination_id => l_ccid
113261 , p_value_type_code => l_adr_value_type_code
113263 , p_accounting_coa_id => l_adr_accounting_coa_id
113264 , p_adr_code => 'AP_INVOICE_DIST'
113265 , p_adr_type_code => 'S'
113266 , p_component_type => l_component_type
113267 , p_component_code => l_component_code
113268 , p_component_type_code => l_component_type_code
113269 , p_component_appl_id => l_component_appl_id
113270 , p_amb_context_code => l_amb_context_code
113271 , p_side => 'NA'
113272 );
113273
113274
113275 --
113276 --
113277 END IF;
113278 --
113279 -- Bug 4922099
113280 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113281 (NVL(l_enc_upg_option, 'N') = 'O')
113282 ) AND
113283 (l_bflow_method_code = 'PRIOR_ENTRY')
113284 )
113285 THEN
113286 IF
113287 --
113288 1 = 2
113289 --
113290 THEN
113291 xla_accounting_err_pkg.build_message
113292 (p_appli_s_name => 'XLA'
113293 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113294 ,p_token_1 => 'LINE_NUMBER'
113295 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113296 ,p_token_2 => 'LINE_TYPE_NAME'
113297 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113298 l_component_type
113299 ,l_component_code
113300 ,l_component_type_code
113301 ,l_component_appl_id
113302 ,l_amb_context_code
113303 ,l_entity_code
113304 ,l_event_class_code
113305 )
113306 ,p_token_3 => 'OWNER'
113307 ,p_value_3 => xla_lookups_pkg.get_meaning(
113308 p_lookup_type => 'XLA_OWNER_TYPE'
113309 ,p_lookup_code => l_component_type_code
113310 )
113311 ,p_token_4 => 'PRODUCT_NAME'
113312 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113313 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113314 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113315 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113316 ,p_ae_header_id => NULL
113317 );
113318
113319 IF (C_LEVEL_ERROR>= g_log_level) THEN
113320 trace
113321 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113322 ,p_level => C_LEVEL_ERROR
113323 ,p_module => l_log_module);
113324 END IF;
113325 END IF;
113326 END IF;
113327 --
113328 --
113329 ------------------------------------------------------------------------------------------------
113330 -- 4219869 Business Flow
113331 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113332 -- Prior Entry. Currently, the following code is always generated.
113333 ------------------------------------------------------------------------------------------------
113334 XLA_AE_LINES_PKG.ValidateCurrentLine;
113335
113336 ------------------------------------------------------------------------------------
113337 -- 4219869 Business Flow
113338 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113339 ------------------------------------------------------------------------------------
113340 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113341
113342 ----------------------------------------------------------------------------------
113343 -- 4219869 Business Flow
113344 -- Update journal entry status -- Need to generate this within IF <condition>
113345 ----------------------------------------------------------------------------------
113346 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113347 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113348 ,p_balance_type_code => l_balance_type_code
113349 );
113350
113351 -------------------------------------------------------------------------------------------
113352 -- 4262811 - Generate the Accrual Reversal lines
113353 -------------------------------------------------------------------------------------------
113354 BEGIN
113358 l_acc_rev_flag := 'N';
113355 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113356 (g_array_event(p_event_id).array_value_num('header_index'));
113357 IF l_acc_rev_flag IS NULL THEN
113359 END IF;
113360 EXCEPTION
113361 WHEN OTHERS THEN
113362 l_acc_rev_flag := 'N';
113363 END;
113364 --
113365 IF (l_acc_rev_flag = 'Y') THEN
113366
113367 -- 4645092 ------------------------------------------------------------------------------
113368 -- To allow MPA report to determine if it should generate report process
113369 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113370 ------------------------------------------------------------------------------------------
113371
113372 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113373 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113374 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113375 -- call ADRs
113376 -- Bug 4922099
113377 --
113378 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113379 (NVL(l_actual_upg_option, 'N') = 'O') OR
113380 (NVL(l_enc_upg_option, 'N') = 'O')
113381 )
113382 THEN
113383 NULL;
113384 --
113385 --
113386
113387 l_ccid := AcctDerRule_33(
113388 p_application_id => p_application_id
113389 , p_ae_header_id => l_ae_header_id
113390 , p_source_30 => p_source_30
113391 , x_transaction_coa_id => l_adr_transaction_coa_id
113392 , x_accounting_coa_id => l_adr_accounting_coa_id
113393 , x_value_type_code => l_adr_value_type_code
113394 , p_side => 'NA'
113395 );
113396
113397 xla_ae_lines_pkg.set_ccid(
113398 p_code_combination_id => l_ccid
113399 , p_value_type_code => l_adr_value_type_code
113400 , p_transaction_coa_id => l_adr_transaction_coa_id
113401 , p_accounting_coa_id => l_adr_accounting_coa_id
113402 , p_adr_code => 'AP_INVOICE_DIST'
113403 , p_adr_type_code => 'S'
113404 , p_component_type => l_component_type
113405 , p_component_code => l_component_code
113406 , p_component_type_code => l_component_type_code
113407 , p_component_appl_id => l_component_appl_id
113408 , p_amb_context_code => l_amb_context_code
113409 , p_side => 'NA'
113410 );
113411
113412
113413 --
113414 --
113415 END IF;
113416
113417 --
113418 -- Update the line information that should be overwritten
113419 --
113420 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
113421 p_header_num => 1);
113422 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
113423
113424 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
113425
113426 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
113427 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
113428 END IF;
113429
113430 --
113431 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
113432 --
113433 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
113434 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
113435 ELSE
113436 ---------------------------------------------------------------------------------------------------
113437 -- 4262811a Switch Sign
113438 ---------------------------------------------------------------------------------------------------
113439 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
113440 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113441 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113442 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113443 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113444 -- 5132302
113445 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
113446 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113447
113448 END IF;
113449
113450 -- 4955764
113451 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113452 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
113453
113454
113455 XLA_AE_LINES_PKG.ValidateCurrentLine;
113456 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113457
113458 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113459 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
113460 ,p_balance_type_code => l_balance_type_code);
113461
113462 END IF;
113463
113464 -----------------------------------------------------------------------------------------
113465 -- 4262811 Multiperiod Accounting
113466 -----------------------------------------------------------------------------------------
113470 END IF;
113467 -- No MPA option is assigned.
113468
113469
113471 END IF;
113472 --
113473
113474 --
113475 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113476 trace
113477 (p_msg => 'END of AcctLineType_186'
113478 ,p_level => C_LEVEL_PROCEDURE
113479 ,p_module => l_log_module);
113480 END IF;
113481 --
113482 EXCEPTION
113483 WHEN xla_exceptions_pkg.application_exception THEN
113484 RAISE;
113485 WHEN OTHERS THEN
113486 xla_exceptions_pkg.raise_message
113487 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_186');
113488 END AcctLineType_186;
113489 --
113490
113491 ---------------------------------------
113492 --
113493 -- PRIVATE FUNCTION
113494 -- AcctLineType_187
113495 --
113496 ---------------------------------------
113497 PROCEDURE AcctLineType_187 (
113498 p_application_id IN NUMBER
113499 ,p_event_id IN NUMBER
113500 ,p_calculate_acctd_flag IN VARCHAR2
113501 ,p_calculate_g_l_flag IN VARCHAR2
113502 ,p_actual_flag IN OUT VARCHAR2
113503 ,p_balance_type_code OUT VARCHAR2
113504 ,p_gain_or_loss_ref OUT VARCHAR2
113505
113506 --Invoice Distribution Description
113507 , p_source_1 IN VARCHAR2
113508 --Automatic Offsets Value
113509 , p_source_15 IN VARCHAR2
113510 , p_source_15_meaning IN VARCHAR2
113511 --Invoice Distribution Ledger Amount
113512 , p_source_21 IN NUMBER
113513 --Invoice Distribution Account
113514 , p_source_30 IN NUMBER
113515 --Invoice Distribution Type
113516 , p_source_33 IN VARCHAR2
113517 , p_source_33_meaning IN VARCHAR2
113518 --Retainage Account
113519 , p_source_40 IN NUMBER
113520 --Retainage Related Item Distribution Account
113521 , p_source_42 IN NUMBER
113522 --Accounting Reversal Indicator
113523 , p_source_52 IN VARCHAR2
113524 --Distribution Link Type
113525 , p_source_54 IN VARCHAR2
113526 --Allocation to Main Distribution Identifier
113527 , p_source_56 IN NUMBER
113528 --Invoice Identifier
113529 , p_source_57 IN NUMBER
113530 --Invoice Distribution Identifier
113531 , p_source_63 IN NUMBER
113532 --Payables Encumbrance Upgrade Credit Account
113533 , p_source_64 IN NUMBER
113534 --Payables Encumbrance Upgrade Credit Amount
113535 , p_source_65 IN NUMBER
113536 --Invoice Currency Code
113537 , p_source_66 IN VARCHAR2
113538 --Payables Encumbrance Upgrade Credit Base Amount
113539 , p_source_67 IN NUMBER
113540 --Payables Encumbrance Upgrade Debit Account
113541 , p_source_68 IN NUMBER
113542 --Payables Encumbrance Upgrade Debit Amount
113543 , p_source_69 IN NUMBER
113544 --Payables Encumbrance Upgrade Debit Base Amount
113545 , p_source_70 IN NUMBER
113546 --Payables Encumbrance Upgrade Option
113547 , p_source_71 IN VARCHAR2
113548 --Invoice Distribution Amount
113549 , p_source_72 IN NUMBER
113550 --Deferred Accounting End Date
113551 , p_source_76 IN DATE
113552 --Deferred Accounting Option
113553 , p_source_77 IN VARCHAR2
113554 --Deferred Accounting Start Date
113555 , p_source_78 IN DATE
113556 --Override Accounted Amount Indicator
113557 , p_source_79 IN VARCHAR2
113558 , p_source_79_meaning IN VARCHAR2
113559 --Invoice Supplier Identifier
113560 , p_source_80 IN NUMBER
113561 --Invoice Supplier Site Identifier
113562 , p_source_81 IN NUMBER
113563 --Third Party Type
113564 , p_source_82 IN VARCHAR2
113565 --Parent Reversal Identifier
113566 , p_source_83 IN NUMBER
113567 --Invoice Distribution Statistical Amount
113568 , p_source_84 IN NUMBER
113569 --Invoice Distribution Tax Line Identifier
113570 , p_source_85 IN NUMBER
113571 --Invoice Distribution Tax Distribution Identifier from Tax
113572 , p_source_86 IN NUMBER
113573 --Invoice Distribution Summary Tax Line Identifier
113574 , p_source_87 IN NUMBER
113575 --Payables Upgrade Credit Encumbrance Type Identifier
113576 , p_source_88 IN NUMBER
113577 --Payables Upgrade Debit Encumbrance Type Identifier
113578 , p_source_89 IN NUMBER
113579 --Business Flow Accounts Payable Application Identifier
113580 , p_source_90 IN NUMBER
113581 --Business Flow Invoice Distribution Type
113582 , p_source_91 IN VARCHAR2
113583 --Business Flow Invoice Entity Code
113584 , p_source_92 IN VARCHAR2
113585 --Business Flow Invoice Distribution Identifier
113586 , p_source_93 IN NUMBER
113587 --Business Flow Invoice Identifier
113588 , p_source_94 IN NUMBER
113589 --Invoice Exchange Date
113590 , p_source_136 IN DATE
113591 --Invoice Exchange Rate
113592 , p_source_137 IN NUMBER
113593 --Invoice Exchange Rate Type
113594 , p_source_138 IN VARCHAR2
113595 --Invoice Type
113596 , p_source_164 IN VARCHAR2
113597 , p_source_164_meaning IN VARCHAR2
113598 )
113599 IS
113600
113601 l_component_type VARCHAR2(80);
113602 l_component_code VARCHAR2(30);
113603 l_component_type_code VARCHAR2(1);
113604 l_component_appl_id INTEGER;
113605 l_amb_context_code VARCHAR2(30);
113606 l_entity_code VARCHAR2(30);
113610 l_line_definition_code VARCHAR2(30);
113607 l_event_class_code VARCHAR2(30);
113608 l_ae_header_id NUMBER;
113609 l_event_type_code VARCHAR2(30);
113611 l_line_definition_owner_code VARCHAR2(1);
113612 --
113613 -- adr variables
113614 l_segment VARCHAR2(30);
113615 l_ccid NUMBER;
113616 l_adr_transaction_coa_id NUMBER;
113617 l_adr_accounting_coa_id NUMBER;
113618 l_adr_flexfield_segment_code VARCHAR2(30);
113619 l_adr_flex_value_set_id NUMBER;
113620 l_adr_value_type_code VARCHAR2(30);
113621 l_adr_value_combination_id NUMBER;
113622 l_adr_value_segment_code VARCHAR2(30);
113623
113624 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
113625 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
113626 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
113627 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
113628
113629 -- 4262811 Variables ------------------------------------------------------------------------------------------
113630 l_entered_amt_idx NUMBER;
113631 l_accted_amt_idx NUMBER;
113632 l_acc_rev_flag VARCHAR2(1);
113633 l_accrual_line_num NUMBER;
113634 l_tmp_amt NUMBER;
113635 l_acc_rev_natural_side_code VARCHAR2(1);
113636
113637 l_num_entries NUMBER;
113638 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
113639 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
113640 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
113641 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
113642 l_recog_line_1 NUMBER;
113643 l_recog_line_2 NUMBER;
113644
113645 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
113646 l_bflow_applied_to_amt NUMBER; -- 5132302
113647 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
113648
113649 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
113650
113651 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
113652 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
113653
113654 ---------------------------------------------------------------------------------------------------------------
113655
113656
113657 --
113658 -- bulk performance
113659 --
113660 l_balance_type_code VARCHAR2(1);
113661 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
113662 l_log_module VARCHAR2(240);
113663
113664 --
113665 -- Upgrade strategy
113666 --
113667 l_actual_upg_option VARCHAR2(1);
113668 l_enc_upg_option VARCHAR2(1);
113669
113670 --
113671 BEGIN
113672 --
113673 IF g_log_enabled THEN
113674 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_187';
113675 END IF;
113676 --
113677 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113678
113679 trace
113680 (p_msg => 'BEGIN of AcctLineType_187'
113681 ,p_level => C_LEVEL_PROCEDURE
113682 ,p_module => l_log_module);
113683
113684 END IF;
113685 --
113686 l_component_type := 'AMB_JLT';
113687 l_component_code := 'AP_RETAINAGE_ACC';
113688 l_component_type_code := 'S';
113689 l_component_appl_id := 200;
113690 l_amb_context_code := 'DEFAULT';
113691 l_entity_code := 'AP_INVOICES';
113692 l_event_class_code := 'INVOICES';
113693 l_event_type_code := 'INVOICES_ALL';
113694 l_line_definition_owner_code := 'S';
113695 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
113696 --
113697 l_balance_type_code := 'A';
113698 l_segment := NULL;
113699 l_ccid := NULL;
113700 l_adr_transaction_coa_id := NULL;
113701 l_adr_accounting_coa_id := NULL;
113702 l_adr_flexfield_segment_code := NULL;
113703 l_adr_flex_value_set_id := NULL;
113704 l_adr_value_type_code := NULL;
113705 l_adr_value_combination_id := NULL;
113706 l_adr_value_segment_code := NULL;
113707
113708 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
113709 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
113710 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
113711 l_budgetary_control_flag := 'N';
113712
113713 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113714 l_bflow_applied_to_amt := NULL; -- 5132302
113715 l_entered_amt_idx := NULL; -- 4262811
113716 l_accted_amt_idx := NULL; -- 4262811
113717 l_acc_rev_flag := NULL; -- 4262811
113718 l_accrual_line_num := NULL; -- 4262811
113719 l_tmp_amt := NULL; -- 4262811
113720 --
113721
113722 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113723 l_balance_type_code <> 'B' THEN
113724 IF NVL(p_source_164,'
113725 ') = 'STANDARD' AND
113726 NVL(p_source_33,'
113727 ') = 'RETAINAGE'
113728 THEN
113729
113730 --
113731 XLA_AE_LINES_PKG.SetNewLine;
113732
113733 p_balance_type_code := l_balance_type_code;
113737 p_actual_flag :='A';
113734 -- set the flag so later we will know whether the gain loss line needs to be created
113735
113736 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113738 END IF;
113739
113740 --
113741 -- bulk performance
113742 --
113743 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113744 p_header_num => 0); -- 4262811
113745 --
113746 -- set accounting line options
113747 --
113748 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113749 p_natural_side_code => 'D'
113750 , p_gain_or_loss_flag => 'N'
113751 , p_gl_transfer_mode_code => 'S'
113752 , p_acct_entry_type_code => 'A'
113753 , p_switch_side_flag => 'Y'
113754 , p_merge_duplicate_code => 'A'
113755 );
113756 --
113757 l_acc_rev_natural_side_code := 'C'; -- 4262811
113758 --
113759 --
113760 -- set accounting line type info
113761 --
113762 xla_ae_lines_pkg.SetAcctLineType
113763 (p_component_type => l_component_type
113764 ,p_event_type_code => l_event_type_code
113765 ,p_line_definition_owner_code => l_line_definition_owner_code
113766 ,p_line_definition_code => l_line_definition_code
113767 ,p_accounting_line_code => l_component_code
113768 ,p_accounting_line_type_code => l_component_type_code
113769 ,p_accounting_line_appl_id => l_component_appl_id
113770 ,p_amb_context_code => l_amb_context_code
113771 ,p_entity_code => l_entity_code
113772 ,p_event_class_code => l_event_class_code);
113773 --
113774 -- set accounting class
113775 --
113776 xla_ae_lines_pkg.SetAcctClass(
113777 p_accounting_class_code => 'RETAINAGE'
113778 , p_ae_header_id => l_ae_header_id
113779 );
113780
113781 --
113782 -- set rounding class
113783 --
113784 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113785 'RETAINAGE';
113786
113787 --
113788 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113789 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113790 --
113791 -- bulk performance
113792 --
113793 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113794
113795 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113796 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113797
113798 -- 4955764
113799 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113800 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113801
113802 -- 4458381 Public Sector Enh
113803
113804 --
113805 -- set accounting attributes for the line type
113806 --
113807 l_entered_amt_idx := 24;
113808 l_accted_amt_idx := 29;
113809 l_bflow_applied_to_amt_idx := 7; -- 5132302
113810 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113811 l_rec_acct_attrs.array_char_value(1) := p_source_52;
113812 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113813 l_rec_acct_attrs.array_num_value(2) :=
113814 xla_ae_sources_pkg.GetSystemSourceNum(
113815 p_source_code => 'XLA_EVENT_APPL_ID'
113816 , p_source_type_code => 'Y'
113817 , p_source_application_id => 602
113818 );
113819 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113820 l_rec_acct_attrs.array_char_value(3) := p_source_54;
113821 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113822 l_rec_acct_attrs.array_char_value(4) :=
113823 xla_ae_sources_pkg.GetSystemSourceChar(
113824 p_source_code => 'XLA_ENTITY_CODE'
113825 , p_source_type_code => 'Y'
113826 , p_source_application_id => 602
113827 );
113828 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
113829 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
113830 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
113831 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
113832 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
113833 l_rec_acct_attrs.array_num_value(7) := p_source_72;
113834 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
113835 l_rec_acct_attrs.array_num_value(8) := p_source_90;
113836 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
113837 l_rec_acct_attrs.array_char_value(9) := p_source_91;
113838 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
113839 l_rec_acct_attrs.array_char_value(10) := p_source_92;
113840 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
113841 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
113842 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
113843 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
113844 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
113845 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
113849 l_rec_acct_attrs.array_num_value(15) := p_source_64;
113846 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
113847 l_rec_acct_attrs.array_char_value(14) := p_source_54;
113848 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
113850 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
113851 l_rec_acct_attrs.array_num_value(16) := p_source_65;
113852 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
113853 l_rec_acct_attrs.array_char_value(17) := p_source_66;
113854 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
113855 l_rec_acct_attrs.array_num_value(18) := p_source_67;
113856 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
113857 l_rec_acct_attrs.array_num_value(19) := p_source_68;
113858 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
113859 l_rec_acct_attrs.array_num_value(20) := p_source_69;
113860 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
113861 l_rec_acct_attrs.array_char_value(21) := p_source_66;
113862 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
113863 l_rec_acct_attrs.array_num_value(22) := p_source_70;
113864 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
113865 l_rec_acct_attrs.array_char_value(23) := p_source_71;
113866 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
113867 l_rec_acct_attrs.array_num_value(24) := p_source_72;
113868 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
113869 l_rec_acct_attrs.array_char_value(25) := p_source_66;
113870 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
113871 l_rec_acct_attrs.array_date_value(26) := p_source_136;
113872 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
113873 l_rec_acct_attrs.array_num_value(27) := p_source_137;
113874 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
113875 l_rec_acct_attrs.array_char_value(28) := p_source_138;
113876 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
113877 l_rec_acct_attrs.array_num_value(29) := p_source_21;
113878 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
113879 l_rec_acct_attrs.array_date_value(30) := p_source_76;
113880 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
113881 l_rec_acct_attrs.array_char_value(31) := p_source_77;
113882 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
113883 l_rec_acct_attrs.array_date_value(32) := p_source_78;
113884 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
113885 l_rec_acct_attrs.array_char_value(33) := p_source_79;
113886 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
113887 l_rec_acct_attrs.array_num_value(34) := p_source_80;
113888 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
113889 l_rec_acct_attrs.array_num_value(35) := p_source_81;
113890 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
113891 l_rec_acct_attrs.array_char_value(36) := p_source_82;
113892 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
113893 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
113894 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
113895 l_rec_acct_attrs.array_char_value(38) := p_source_54;
113896 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
113897 l_rec_acct_attrs.array_num_value(39) := p_source_84;
113898 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
113899 l_rec_acct_attrs.array_num_value(40) := p_source_85;
113900 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
113901 l_rec_acct_attrs.array_num_value(41) := p_source_86;
113902 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
113903 l_rec_acct_attrs.array_num_value(42) := p_source_87;
113904 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
113905 l_rec_acct_attrs.array_num_value(43) := p_source_88;
113906 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
113907 l_rec_acct_attrs.array_num_value(44) := p_source_89;
113908
113909 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113910 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113911
113912 ---------------------------------------------------------------------------------------------------------------
113913 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113914 ---------------------------------------------------------------------------------------------------------------
113915 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113916
113917 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113918 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113919
113920 IF xla_accounting_cache_pkg.GetValueChar
113921 (p_source_code => 'LEDGER_CATEGORY_CODE'
113922 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113923 AND l_bflow_method_code = 'PRIOR_ENTRY'
113924 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113925 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113926 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113927 )
113928 THEN
113929 xla_ae_lines_pkg.BflowUpgEntry
113930 (p_business_method_code => l_bflow_method_code
113934 NULL;
113931 ,p_business_class_code => l_bflow_class_code
113932 ,p_balance_type => l_balance_type_code);
113933 ELSE
113935 -- No business flow processing for business flow method of NONE.
113936 END IF;
113937
113938 --
113939 -- call analytical criteria
113940 --
113941
113942 --
113943 -- call description
113944 --
113945
113946 xla_ae_lines_pkg.SetLineDescription(
113947 p_ae_header_id => l_ae_header_id
113948 ,p_description => Description_1 (
113949 p_application_id => p_application_id
113950 , p_ae_header_id => l_ae_header_id
113951 , p_source_1 => p_source_1
113952 )
113953 );
113954
113955
113956 --
113957 -- call ADRs
113958 -- Bug 4922099
113959 --
113960 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113961 (NVL(l_actual_upg_option, 'N') = 'O') OR
113962 (NVL(l_enc_upg_option, 'N') = 'O')
113963 )
113964 THEN
113965 NULL;
113966 --
113967 --
113968
113969 l_ccid := AcctDerRule_39(
113970 p_application_id => p_application_id
113971 , p_ae_header_id => l_ae_header_id
113972 , p_source_15 => p_source_15
113973 , p_source_15_meaning => p_source_15_meaning
113974 , p_source_30 => p_source_30
113975 , p_source_42 => p_source_42
113976 , x_transaction_coa_id => l_adr_transaction_coa_id
113977 , x_accounting_coa_id => l_adr_accounting_coa_id
113978 , x_value_type_code => l_adr_value_type_code
113979 , p_side => 'NA'
113980 );
113981
113982 xla_ae_lines_pkg.set_ccid(
113983 p_code_combination_id => l_ccid
113984 , p_value_type_code => l_adr_value_type_code
113985 , p_transaction_coa_id => l_adr_transaction_coa_id
113986 , p_accounting_coa_id => l_adr_accounting_coa_id
113987 , p_adr_code => 'AP_RETAINAGE'
113988 , p_adr_type_code => 'S'
113989 , p_component_type => l_component_type
113990 , p_component_code => l_component_code
113991 , p_component_type_code => l_component_type_code
113992 , p_component_appl_id => l_component_appl_id
113993 , p_amb_context_code => l_amb_context_code
113994 , p_side => 'NA'
113995 );
113996
113997
113998 l_segment := AcctDerRule_19(
113999 p_application_id => p_application_id
114000 , p_ae_header_id => l_ae_header_id
114001 , p_source_40 => p_source_40
114002 , x_transaction_coa_id => l_adr_transaction_coa_id
114003 , x_accounting_coa_id => l_adr_accounting_coa_id
114004 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114005 , x_flex_value_set_id => l_adr_flex_value_set_id
114006 , x_value_type_code => l_adr_value_type_code
114007 , x_value_combination_id => l_adr_value_combination_id
114008 , x_value_segment_code => l_adr_value_segment_code
114009 , p_side => 'NA'
114010 , p_override_seg_flag => 'Y'
114011 );
114012
114013 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114014
114015 xla_ae_lines_pkg.set_segment(
114016 p_to_segment_code => 'GL_ACCOUNT'
114017 , p_segment_value => l_segment
114018 , p_from_segment_code => l_adr_value_segment_code
114019 , p_from_combination_id => l_adr_value_combination_id
114020 , p_value_type_code => l_adr_value_type_code
114021 , p_transaction_coa_id => l_adr_transaction_coa_id
114022 , p_accounting_coa_id => l_adr_accounting_coa_id
114023 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114024 , p_flex_value_set_id => l_adr_flex_value_set_id
114025 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
114026 , p_adr_type_code => 'S'
114027 , p_component_type => l_component_type
114028 , p_component_code => l_component_code
114029 , p_component_type_code => l_component_type_code
114030 , p_component_appl_id => l_component_appl_id
114031 , p_amb_context_code => l_amb_context_code
114032 , p_entity_code => 'AP_INVOICES'
114033 , p_event_class_code => 'INVOICES'
114034 , p_side => 'NA'
114035 );
114036
114037 END IF;
114038
114039 l_segment := AcctDerRule_24(
114040 p_application_id => p_application_id
114041 , p_ae_header_id => l_ae_header_id
114042 , p_source_15 => p_source_15
114043 , p_source_15_meaning => p_source_15_meaning
114044 , p_source_42 => p_source_42
114045 , x_transaction_coa_id => l_adr_transaction_coa_id
114046 , x_accounting_coa_id => l_adr_accounting_coa_id
114047 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114048 , x_flex_value_set_id => l_adr_flex_value_set_id
114049 , x_value_type_code => l_adr_value_type_code
114050 , x_value_combination_id => l_adr_value_combination_id
114051 , x_value_segment_code => l_adr_value_segment_code
114052 , p_side => 'NA'
114053 , p_override_seg_flag => 'Y'
114054 );
114055
114056 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114057
114061 , p_from_segment_code => l_adr_value_segment_code
114058 xla_ae_lines_pkg.set_segment(
114059 p_to_segment_code => 'GL_BALANCING'
114060 , p_segment_value => l_segment
114062 , p_from_combination_id => l_adr_value_combination_id
114063 , p_value_type_code => l_adr_value_type_code
114064 , p_transaction_coa_id => l_adr_transaction_coa_id
114065 , p_accounting_coa_id => l_adr_accounting_coa_id
114066 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114067 , p_flex_value_set_id => l_adr_flex_value_set_id
114068 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
114069 , p_adr_type_code => 'S'
114070 , p_component_type => l_component_type
114071 , p_component_code => l_component_code
114072 , p_component_type_code => l_component_type_code
114073 , p_component_appl_id => l_component_appl_id
114074 , p_amb_context_code => l_amb_context_code
114075 , p_entity_code => 'AP_INVOICES'
114076 , p_event_class_code => 'INVOICES'
114077 , p_side => 'NA'
114078 );
114079
114080 END IF;
114081
114082 --
114083 --
114084 END IF;
114085 --
114086 -- Bug 4922099
114087 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
114088 (NVL(l_enc_upg_option, 'N') = 'O')
114089 ) AND
114090 (l_bflow_method_code = 'PRIOR_ENTRY')
114091 )
114092 THEN
114093 IF
114094 --
114095 1 = 2
114096 --
114097 THEN
114098 xla_accounting_err_pkg.build_message
114099 (p_appli_s_name => 'XLA'
114100 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114101 ,p_token_1 => 'LINE_NUMBER'
114102 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
114103 ,p_token_2 => 'LINE_TYPE_NAME'
114104 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
114105 l_component_type
114106 ,l_component_code
114107 ,l_component_type_code
114108 ,l_component_appl_id
114109 ,l_amb_context_code
114110 ,l_entity_code
114111 ,l_event_class_code
114112 )
114113 ,p_token_3 => 'OWNER'
114114 ,p_value_3 => xla_lookups_pkg.get_meaning(
114115 p_lookup_type => 'XLA_OWNER_TYPE'
114116 ,p_lookup_code => l_component_type_code
114117 )
114118 ,p_token_4 => 'PRODUCT_NAME'
114119 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
114120 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
114121 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
114122 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
114123 ,p_ae_header_id => NULL
114124 );
114125
114126 IF (C_LEVEL_ERROR>= g_log_level) THEN
114127 trace
114128 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114129 ,p_level => C_LEVEL_ERROR
114130 ,p_module => l_log_module);
114131 END IF;
114132 END IF;
114133 END IF;
114134 --
114135 --
114136 ------------------------------------------------------------------------------------------------
114137 -- 4219869 Business Flow
114138 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
114139 -- Prior Entry. Currently, the following code is always generated.
114140 ------------------------------------------------------------------------------------------------
114141 XLA_AE_LINES_PKG.ValidateCurrentLine;
114142
114143 ------------------------------------------------------------------------------------
114144 -- 4219869 Business Flow
114145 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
114146 ------------------------------------------------------------------------------------
114147 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114148
114149 ----------------------------------------------------------------------------------
114150 -- 4219869 Business Flow
114151 -- Update journal entry status -- Need to generate this within IF <condition>
114152 ----------------------------------------------------------------------------------
114156 );
114153 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114154 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
114155 ,p_balance_type_code => l_balance_type_code
114157
114158 -------------------------------------------------------------------------------------------
114159 -- 4262811 - Generate the Accrual Reversal lines
114160 -------------------------------------------------------------------------------------------
114161 BEGIN
114162 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
114163 (g_array_event(p_event_id).array_value_num('header_index'));
114164 IF l_acc_rev_flag IS NULL THEN
114165 l_acc_rev_flag := 'N';
114166 END IF;
114167 EXCEPTION
114168 WHEN OTHERS THEN
114169 l_acc_rev_flag := 'N';
114170 END;
114171 --
114172 IF (l_acc_rev_flag = 'Y') THEN
114173
114174 -- 4645092 ------------------------------------------------------------------------------
114175 -- To allow MPA report to determine if it should generate report process
114176 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
114177 ------------------------------------------------------------------------------------------
114178
114179 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
114180 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
114181 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
114182 -- call ADRs
114183 -- Bug 4922099
114184 --
114185 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114186 (NVL(l_actual_upg_option, 'N') = 'O') OR
114187 (NVL(l_enc_upg_option, 'N') = 'O')
114188 )
114189 THEN
114190 NULL;
114191 --
114192 --
114193
114194 l_ccid := AcctDerRule_39(
114195 p_application_id => p_application_id
114196 , p_ae_header_id => l_ae_header_id
114197 , p_source_15 => p_source_15
114198 , p_source_15_meaning => p_source_15_meaning
114199 , p_source_30 => p_source_30
114200 , p_source_42 => p_source_42
114201 , x_transaction_coa_id => l_adr_transaction_coa_id
114202 , x_accounting_coa_id => l_adr_accounting_coa_id
114203 , x_value_type_code => l_adr_value_type_code
114204 , p_side => 'NA'
114205 );
114206
114207 xla_ae_lines_pkg.set_ccid(
114208 p_code_combination_id => l_ccid
114209 , p_value_type_code => l_adr_value_type_code
114210 , p_transaction_coa_id => l_adr_transaction_coa_id
114211 , p_accounting_coa_id => l_adr_accounting_coa_id
114212 , p_adr_code => 'AP_RETAINAGE'
114213 , p_adr_type_code => 'S'
114214 , p_component_type => l_component_type
114215 , p_component_code => l_component_code
114216 , p_component_type_code => l_component_type_code
114217 , p_component_appl_id => l_component_appl_id
114218 , p_amb_context_code => l_amb_context_code
114219 , p_side => 'NA'
114220 );
114221
114222
114223 l_segment := AcctDerRule_19(
114224 p_application_id => p_application_id
114225 , p_ae_header_id => l_ae_header_id
114226 , p_source_40 => p_source_40
114227 , x_transaction_coa_id => l_adr_transaction_coa_id
114228 , x_accounting_coa_id => l_adr_accounting_coa_id
114229 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114230 , x_flex_value_set_id => l_adr_flex_value_set_id
114231 , x_value_type_code => l_adr_value_type_code
114232 , x_value_combination_id => l_adr_value_combination_id
114233 , x_value_segment_code => l_adr_value_segment_code
114234 , p_side => 'NA'
114235 , p_override_seg_flag => 'Y'
114236 );
114237
114238 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114239
114240 xla_ae_lines_pkg.set_segment(
114241 p_to_segment_code => 'GL_ACCOUNT'
114242 , p_segment_value => l_segment
114243 , p_from_segment_code => l_adr_value_segment_code
114244 , p_from_combination_id => l_adr_value_combination_id
114245 , p_value_type_code => l_adr_value_type_code
114246 , p_transaction_coa_id => l_adr_transaction_coa_id
114247 , p_accounting_coa_id => l_adr_accounting_coa_id
114248 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114249 , p_flex_value_set_id => l_adr_flex_value_set_id
114250 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
114251 , p_adr_type_code => 'S'
114252 , p_component_type => l_component_type
114253 , p_component_code => l_component_code
114254 , p_component_type_code => l_component_type_code
114255 , p_component_appl_id => l_component_appl_id
114256 , p_amb_context_code => l_amb_context_code
114257 , p_entity_code => 'AP_INVOICES'
114258 , p_event_class_code => 'INVOICES'
114259 , p_side => 'NA'
114260 );
114261
114262 END IF;
114263
114264 l_segment := AcctDerRule_24(
114265 p_application_id => p_application_id
114266 , p_ae_header_id => l_ae_header_id
114267 , p_source_15 => p_source_15
114268 , p_source_15_meaning => p_source_15_meaning
114269 , p_source_42 => p_source_42
114273 , x_flex_value_set_id => l_adr_flex_value_set_id
114270 , x_transaction_coa_id => l_adr_transaction_coa_id
114271 , x_accounting_coa_id => l_adr_accounting_coa_id
114272 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114274 , x_value_type_code => l_adr_value_type_code
114275 , x_value_combination_id => l_adr_value_combination_id
114276 , x_value_segment_code => l_adr_value_segment_code
114277 , p_side => 'NA'
114278 , p_override_seg_flag => 'Y'
114279 );
114280
114281 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114282
114283 xla_ae_lines_pkg.set_segment(
114284 p_to_segment_code => 'GL_BALANCING'
114285 , p_segment_value => l_segment
114286 , p_from_segment_code => l_adr_value_segment_code
114287 , p_from_combination_id => l_adr_value_combination_id
114288 , p_value_type_code => l_adr_value_type_code
114289 , p_transaction_coa_id => l_adr_transaction_coa_id
114290 , p_accounting_coa_id => l_adr_accounting_coa_id
114291 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114292 , p_flex_value_set_id => l_adr_flex_value_set_id
114293 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
114294 , p_adr_type_code => 'S'
114295 , p_component_type => l_component_type
114296 , p_component_code => l_component_code
114297 , p_component_type_code => l_component_type_code
114298 , p_component_appl_id => l_component_appl_id
114299 , p_amb_context_code => l_amb_context_code
114300 , p_entity_code => 'AP_INVOICES'
114301 , p_event_class_code => 'INVOICES'
114302 , p_side => 'NA'
114303 );
114304
114305 END IF;
114306
114307 --
114308 --
114309 END IF;
114310
114311 --
114312 -- Update the line information that should be overwritten
114313 --
114314 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
114315 p_header_num => 1);
114316 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
114317
114318 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
114319
114320 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
114321 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
114322 END IF;
114323
114324 --
114325 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
114326 --
114327 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
114328 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
114329 ELSE
114330 ---------------------------------------------------------------------------------------------------
114331 -- 4262811a Switch Sign
114332 ---------------------------------------------------------------------------------------------------
114333 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
114334 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114336 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114337 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114338 -- 5132302
114339 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
114340 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114341
114342 END IF;
114343
114344 -- 4955764
114345 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114346 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
114347
114348
114349 XLA_AE_LINES_PKG.ValidateCurrentLine;
114350 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114351
114352 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114353 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
114354 ,p_balance_type_code => l_balance_type_code);
114355
114356 END IF;
114357
114358 -----------------------------------------------------------------------------------------
114359 -- 4262811 Multiperiod Accounting
114360 -----------------------------------------------------------------------------------------
114361 -- No MPA option is assigned.
114362
114363
114364 END IF;
114365 END IF;
114366 --
114367
114368 --
114369 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114370 trace
114371 (p_msg => 'END of AcctLineType_187'
114372 ,p_level => C_LEVEL_PROCEDURE
114373 ,p_module => l_log_module);
114374 END IF;
114375 --
114376 EXCEPTION
114377 WHEN xla_exceptions_pkg.application_exception THEN
114378 RAISE;
114379 WHEN OTHERS THEN
114383 --
114380 xla_exceptions_pkg.raise_message
114381 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_187');
114382 END AcctLineType_187;
114384
114385 ---------------------------------------
114386 --
114387 -- PRIVATE FUNCTION
114388 -- AcctLineType_188
114389 --
114390 ---------------------------------------
114391 PROCEDURE AcctLineType_188 (
114392 p_application_id IN NUMBER
114393 ,p_event_id IN NUMBER
114394 ,p_calculate_acctd_flag IN VARCHAR2
114395 ,p_calculate_g_l_flag IN VARCHAR2
114396 ,p_actual_flag IN OUT VARCHAR2
114397 ,p_balance_type_code OUT VARCHAR2
114398 ,p_gain_or_loss_ref OUT VARCHAR2
114399
114400 --Invoice Distribution Description
114401 , p_source_1 IN VARCHAR2
114402 --Automatic Offsets Value
114403 , p_source_15 IN VARCHAR2
114404 , p_source_15_meaning IN VARCHAR2
114405 --Invoice Distribution Ledger Amount
114406 , p_source_21 IN NUMBER
114407 --Invoice Distribution Account
114408 , p_source_30 IN NUMBER
114409 --Invoice Distribution Type
114410 , p_source_33 IN VARCHAR2
114411 , p_source_33_meaning IN VARCHAR2
114412 --Retainage Account
114413 , p_source_40 IN NUMBER
114414 --Retainage Related Item Distribution Account
114415 , p_source_42 IN NUMBER
114416 --Accounting Reversal Indicator
114417 , p_source_52 IN VARCHAR2
114418 --Distribution Link Type
114419 , p_source_54 IN VARCHAR2
114420 --Allocation to Main Distribution Identifier
114421 , p_source_56 IN NUMBER
114422 --Invoice Identifier
114423 , p_source_57 IN NUMBER
114424 --Invoice Distribution Identifier
114425 , p_source_63 IN NUMBER
114426 --Payables Encumbrance Upgrade Credit Account
114427 , p_source_64 IN NUMBER
114428 --Payables Encumbrance Upgrade Credit Amount
114429 , p_source_65 IN NUMBER
114430 --Invoice Currency Code
114431 , p_source_66 IN VARCHAR2
114432 --Payables Encumbrance Upgrade Credit Base Amount
114433 , p_source_67 IN NUMBER
114434 --Payables Encumbrance Upgrade Debit Account
114435 , p_source_68 IN NUMBER
114436 --Payables Encumbrance Upgrade Debit Amount
114437 , p_source_69 IN NUMBER
114438 --Payables Encumbrance Upgrade Debit Base Amount
114439 , p_source_70 IN NUMBER
114440 --Payables Encumbrance Upgrade Option
114441 , p_source_71 IN VARCHAR2
114442 --Invoice Distribution Amount
114443 , p_source_72 IN NUMBER
114444 --Deferred Accounting End Date
114445 , p_source_76 IN DATE
114446 --Deferred Accounting Option
114447 , p_source_77 IN VARCHAR2
114448 --Deferred Accounting Start Date
114449 , p_source_78 IN DATE
114450 --Override Accounted Amount Indicator
114451 , p_source_79 IN VARCHAR2
114452 , p_source_79_meaning IN VARCHAR2
114453 --Invoice Supplier Identifier
114454 , p_source_80 IN NUMBER
114455 --Invoice Supplier Site Identifier
114456 , p_source_81 IN NUMBER
114457 --Third Party Type
114458 , p_source_82 IN VARCHAR2
114459 --Parent Reversal Identifier
114460 , p_source_83 IN NUMBER
114461 --Invoice Distribution Statistical Amount
114462 , p_source_84 IN NUMBER
114463 --Invoice Distribution Tax Line Identifier
114464 , p_source_85 IN NUMBER
114465 --Invoice Distribution Tax Distribution Identifier from Tax
114466 , p_source_86 IN NUMBER
114467 --Invoice Distribution Summary Tax Line Identifier
114468 , p_source_87 IN NUMBER
114469 --Payables Upgrade Credit Encumbrance Type Identifier
114470 , p_source_88 IN NUMBER
114471 --Payables Upgrade Debit Encumbrance Type Identifier
114472 , p_source_89 IN NUMBER
114473 --Business Flow Accounts Payable Application Identifier
114474 , p_source_90 IN NUMBER
114475 --Business Flow Invoice Distribution Type
114476 , p_source_91 IN VARCHAR2
114477 --Business Flow Invoice Entity Code
114478 , p_source_92 IN VARCHAR2
114479 --Business Flow Invoice Distribution Identifier
114480 , p_source_93 IN NUMBER
114481 --Business Flow Invoice Identifier
114482 , p_source_94 IN NUMBER
114483 --Invoice Exchange Date
114484 , p_source_136 IN DATE
114485 --Invoice Exchange Rate
114486 , p_source_137 IN NUMBER
114487 --Invoice Exchange Rate Type
114488 , p_source_138 IN VARCHAR2
114489 --Invoice Type
114490 , p_source_164 IN VARCHAR2
114491 , p_source_164_meaning IN VARCHAR2
114492 )
114493 IS
114494
114495 l_component_type VARCHAR2(80);
114496 l_component_code VARCHAR2(30);
114497 l_component_type_code VARCHAR2(1);
114498 l_component_appl_id INTEGER;
114499 l_amb_context_code VARCHAR2(30);
114500 l_entity_code VARCHAR2(30);
114501 l_event_class_code VARCHAR2(30);
114502 l_ae_header_id NUMBER;
114503 l_event_type_code VARCHAR2(30);
114504 l_line_definition_code VARCHAR2(30);
114505 l_line_definition_owner_code VARCHAR2(1);
114506 --
114507 -- adr variables
114508 l_segment VARCHAR2(30);
114509 l_ccid NUMBER;
114510 l_adr_transaction_coa_id NUMBER;
114511 l_adr_accounting_coa_id NUMBER;
114515 l_adr_value_combination_id NUMBER;
114512 l_adr_flexfield_segment_code VARCHAR2(30);
114513 l_adr_flex_value_set_id NUMBER;
114514 l_adr_value_type_code VARCHAR2(30);
114516 l_adr_value_segment_code VARCHAR2(30);
114517
114518 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114519 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114520 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114521 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114522
114523 -- 4262811 Variables ------------------------------------------------------------------------------------------
114524 l_entered_amt_idx NUMBER;
114525 l_accted_amt_idx NUMBER;
114526 l_acc_rev_flag VARCHAR2(1);
114527 l_accrual_line_num NUMBER;
114528 l_tmp_amt NUMBER;
114529 l_acc_rev_natural_side_code VARCHAR2(1);
114530
114531 l_num_entries NUMBER;
114532 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114533 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114534 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114535 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114536 l_recog_line_1 NUMBER;
114537 l_recog_line_2 NUMBER;
114538
114539 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114540 l_bflow_applied_to_amt NUMBER; -- 5132302
114541 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114542
114543 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114544
114545 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114546 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114547
114548 ---------------------------------------------------------------------------------------------------------------
114549
114550
114551 --
114552 -- bulk performance
114553 --
114554 l_balance_type_code VARCHAR2(1);
114555 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114556 l_log_module VARCHAR2(240);
114557
114558 --
114559 -- Upgrade strategy
114560 --
114561 l_actual_upg_option VARCHAR2(1);
114562 l_enc_upg_option VARCHAR2(1);
114563
114564 --
114565 BEGIN
114566 --
114567 IF g_log_enabled THEN
114568 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_188';
114569 END IF;
114570 --
114571 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114572
114573 trace
114574 (p_msg => 'BEGIN of AcctLineType_188'
114575 ,p_level => C_LEVEL_PROCEDURE
114576 ,p_module => l_log_module);
114577
114578 END IF;
114579 --
114580 l_component_type := 'AMB_JLT';
114581 l_component_code := 'AP_RETAINAGE_ACC_CM';
114582 l_component_type_code := 'S';
114583 l_component_appl_id := 200;
114584 l_amb_context_code := 'DEFAULT';
114585 l_entity_code := 'AP_INVOICES';
114586 l_event_class_code := 'CREDIT MEMOS';
114587 l_event_type_code := 'CREDIT MEMOS_ALL';
114588 l_line_definition_owner_code := 'S';
114589 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
114590 --
114591 l_balance_type_code := 'A';
114592 l_segment := NULL;
114593 l_ccid := NULL;
114594 l_adr_transaction_coa_id := NULL;
114595 l_adr_accounting_coa_id := NULL;
114596 l_adr_flexfield_segment_code := NULL;
114597 l_adr_flex_value_set_id := NULL;
114598 l_adr_value_type_code := NULL;
114599 l_adr_value_combination_id := NULL;
114600 l_adr_value_segment_code := NULL;
114601
114602 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
114603 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
114604 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
114605 l_budgetary_control_flag := 'N';
114606
114607 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114608 l_bflow_applied_to_amt := NULL; -- 5132302
114609 l_entered_amt_idx := NULL; -- 4262811
114610 l_accted_amt_idx := NULL; -- 4262811
114611 l_acc_rev_flag := NULL; -- 4262811
114612 l_accrual_line_num := NULL; -- 4262811
114613 l_tmp_amt := NULL; -- 4262811
114614 --
114615
114616 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
114617 l_balance_type_code <> 'B' THEN
114618 IF NVL(p_source_33,'
114619 ') = 'RETAINAGE' AND
114620 NVL(p_source_164,'
114621 ') <> 'RETAINAGE RELEASE'
114622 THEN
114623
114624 --
114625 XLA_AE_LINES_PKG.SetNewLine;
114626
114627 p_balance_type_code := l_balance_type_code;
114628 -- set the flag so later we will know whether the gain loss line needs to be created
114629
114630 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
114631 p_actual_flag :='A';
114632 END IF;
114633
114634 --
114635 -- bulk performance
114636 --
114637 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
114638 p_header_num => 0); -- 4262811
114639 --
114640 -- set accounting line options
114641 --
114645 , p_gl_transfer_mode_code => 'S'
114642 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
114643 p_natural_side_code => 'D'
114644 , p_gain_or_loss_flag => 'N'
114646 , p_acct_entry_type_code => 'A'
114647 , p_switch_side_flag => 'Y'
114648 , p_merge_duplicate_code => 'A'
114649 );
114650 --
114651 l_acc_rev_natural_side_code := 'C'; -- 4262811
114652 --
114653 --
114654 -- set accounting line type info
114655 --
114656 xla_ae_lines_pkg.SetAcctLineType
114657 (p_component_type => l_component_type
114658 ,p_event_type_code => l_event_type_code
114659 ,p_line_definition_owner_code => l_line_definition_owner_code
114660 ,p_line_definition_code => l_line_definition_code
114661 ,p_accounting_line_code => l_component_code
114662 ,p_accounting_line_type_code => l_component_type_code
114663 ,p_accounting_line_appl_id => l_component_appl_id
114664 ,p_amb_context_code => l_amb_context_code
114665 ,p_entity_code => l_entity_code
114666 ,p_event_class_code => l_event_class_code);
114667 --
114668 -- set accounting class
114669 --
114670 xla_ae_lines_pkg.SetAcctClass(
114671 p_accounting_class_code => 'RETAINAGE'
114672 , p_ae_header_id => l_ae_header_id
114673 );
114674
114675 --
114676 -- set rounding class
114677 --
114678 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
114679 'RETAINAGE';
114680
114681 --
114682 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
114683 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
114684 --
114685 -- bulk performance
114686 --
114687 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
114688
114689 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
114690 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
114691
114692 -- 4955764
114693 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114694 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
114695
114696 -- 4458381 Public Sector Enh
114697
114698 --
114699 -- set accounting attributes for the line type
114700 --
114701 l_entered_amt_idx := 23;
114702 l_accted_amt_idx := 28;
114703 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114704 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
114705 l_rec_acct_attrs.array_char_value(1) := p_source_52;
114706 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
114707 l_rec_acct_attrs.array_num_value(2) :=
114708 xla_ae_sources_pkg.GetSystemSourceNum(
114709 p_source_code => 'XLA_EVENT_APPL_ID'
114710 , p_source_type_code => 'Y'
114711 , p_source_application_id => 602
114712 );
114713 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
114714 l_rec_acct_attrs.array_char_value(3) := p_source_54;
114715 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
114716 l_rec_acct_attrs.array_char_value(4) :=
114717 xla_ae_sources_pkg.GetSystemSourceChar(
114718 p_source_code => 'XLA_ENTITY_CODE'
114719 , p_source_type_code => 'Y'
114720 , p_source_application_id => 602
114721 );
114722 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114723 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
114724 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114725 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
114726 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
114727 l_rec_acct_attrs.array_num_value(7) := p_source_90;
114728 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114729 l_rec_acct_attrs.array_char_value(8) := p_source_91;
114730 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
114731 l_rec_acct_attrs.array_char_value(9) := p_source_92;
114732 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
114733 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
114734 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114735 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
114736 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
114737 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
114738 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
114739 l_rec_acct_attrs.array_char_value(13) := p_source_54;
114740 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
114741 l_rec_acct_attrs.array_num_value(14) := p_source_64;
114742 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
114743 l_rec_acct_attrs.array_num_value(15) := p_source_65;
114744 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
114745 l_rec_acct_attrs.array_char_value(16) := p_source_66;
114746 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
114747 l_rec_acct_attrs.array_num_value(17) := p_source_67;
114748 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
114752 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
114749 l_rec_acct_attrs.array_num_value(18) := p_source_68;
114750 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
114751 l_rec_acct_attrs.array_num_value(19) := p_source_69;
114753 l_rec_acct_attrs.array_char_value(20) := p_source_66;
114754 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
114755 l_rec_acct_attrs.array_num_value(21) := p_source_70;
114756 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
114757 l_rec_acct_attrs.array_char_value(22) := p_source_71;
114758 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
114759 l_rec_acct_attrs.array_num_value(23) := p_source_72;
114760 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
114761 l_rec_acct_attrs.array_char_value(24) := p_source_66;
114762 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
114763 l_rec_acct_attrs.array_date_value(25) := p_source_136;
114764 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
114765 l_rec_acct_attrs.array_num_value(26) := p_source_137;
114766 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
114767 l_rec_acct_attrs.array_char_value(27) := p_source_138;
114768 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
114769 l_rec_acct_attrs.array_num_value(28) := p_source_21;
114770 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
114771 l_rec_acct_attrs.array_date_value(29) := p_source_76;
114772 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
114773 l_rec_acct_attrs.array_char_value(30) := p_source_77;
114774 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
114775 l_rec_acct_attrs.array_date_value(31) := p_source_78;
114776 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
114777 l_rec_acct_attrs.array_char_value(32) := p_source_79;
114778 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
114779 l_rec_acct_attrs.array_num_value(33) := p_source_80;
114780 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
114781 l_rec_acct_attrs.array_num_value(34) := p_source_81;
114782 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
114783 l_rec_acct_attrs.array_char_value(35) := p_source_82;
114784 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
114785 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
114786 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
114787 l_rec_acct_attrs.array_char_value(37) := p_source_54;
114788 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
114789 l_rec_acct_attrs.array_num_value(38) := p_source_84;
114790 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
114791 l_rec_acct_attrs.array_num_value(39) := p_source_85;
114792 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
114793 l_rec_acct_attrs.array_num_value(40) := p_source_86;
114794 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
114795 l_rec_acct_attrs.array_num_value(41) := p_source_87;
114796 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
114797 l_rec_acct_attrs.array_num_value(42) := p_source_88;
114798 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
114799 l_rec_acct_attrs.array_num_value(43) := p_source_89;
114800
114801 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114802 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114803
114804 ---------------------------------------------------------------------------------------------------------------
114805 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114806 ---------------------------------------------------------------------------------------------------------------
114807 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114808
114809 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114810 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114811
114812 IF xla_accounting_cache_pkg.GetValueChar
114813 (p_source_code => 'LEDGER_CATEGORY_CODE'
114814 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114815 AND l_bflow_method_code = 'PRIOR_ENTRY'
114816 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114817 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114818 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114819 )
114820 THEN
114821 xla_ae_lines_pkg.BflowUpgEntry
114822 (p_business_method_code => l_bflow_method_code
114823 ,p_business_class_code => l_bflow_class_code
114824 ,p_balance_type => l_balance_type_code);
114825 ELSE
114826 NULL;
114827 -- No business flow processing for business flow method of NONE.
114828 END IF;
114829
114830 --
114831 -- call analytical criteria
114832 --
114833
114834 --
114835 -- call description
114836 --
114837
114838 xla_ae_lines_pkg.SetLineDescription(
114839 p_ae_header_id => l_ae_header_id
114840 ,p_description => Description_1 (
114841 p_application_id => p_application_id
114842 , p_ae_header_id => l_ae_header_id
114843 , p_source_1 => p_source_1
114844 )
114845 );
114846
114847
114848 --
114849 -- call ADRs
114853 (NVL(l_actual_upg_option, 'N') = 'O') OR
114850 -- Bug 4922099
114851 --
114852 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114854 (NVL(l_enc_upg_option, 'N') = 'O')
114855 )
114856 THEN
114857 NULL;
114858 --
114859 --
114860
114861 l_ccid := AcctDerRule_39(
114862 p_application_id => p_application_id
114863 , p_ae_header_id => l_ae_header_id
114864 , p_source_15 => p_source_15
114865 , p_source_15_meaning => p_source_15_meaning
114866 , p_source_30 => p_source_30
114867 , p_source_42 => p_source_42
114868 , x_transaction_coa_id => l_adr_transaction_coa_id
114869 , x_accounting_coa_id => l_adr_accounting_coa_id
114870 , x_value_type_code => l_adr_value_type_code
114871 , p_side => 'NA'
114872 );
114873
114874 xla_ae_lines_pkg.set_ccid(
114875 p_code_combination_id => l_ccid
114876 , p_value_type_code => l_adr_value_type_code
114877 , p_transaction_coa_id => l_adr_transaction_coa_id
114878 , p_accounting_coa_id => l_adr_accounting_coa_id
114879 , p_adr_code => 'AP_RETAINAGE'
114880 , p_adr_type_code => 'S'
114881 , p_component_type => l_component_type
114882 , p_component_code => l_component_code
114883 , p_component_type_code => l_component_type_code
114884 , p_component_appl_id => l_component_appl_id
114885 , p_amb_context_code => l_amb_context_code
114886 , p_side => 'NA'
114887 );
114888
114889
114890 l_segment := AcctDerRule_19(
114891 p_application_id => p_application_id
114892 , p_ae_header_id => l_ae_header_id
114893 , p_source_40 => p_source_40
114894 , x_transaction_coa_id => l_adr_transaction_coa_id
114895 , x_accounting_coa_id => l_adr_accounting_coa_id
114896 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114897 , x_flex_value_set_id => l_adr_flex_value_set_id
114898 , x_value_type_code => l_adr_value_type_code
114899 , x_value_combination_id => l_adr_value_combination_id
114900 , x_value_segment_code => l_adr_value_segment_code
114901 , p_side => 'NA'
114902 , p_override_seg_flag => 'Y'
114903 );
114904
114905 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114906
114907 xla_ae_lines_pkg.set_segment(
114908 p_to_segment_code => 'GL_ACCOUNT'
114909 , p_segment_value => l_segment
114910 , p_from_segment_code => l_adr_value_segment_code
114911 , p_from_combination_id => l_adr_value_combination_id
114912 , p_value_type_code => l_adr_value_type_code
114913 , p_transaction_coa_id => l_adr_transaction_coa_id
114914 , p_accounting_coa_id => l_adr_accounting_coa_id
114915 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114916 , p_flex_value_set_id => l_adr_flex_value_set_id
114917 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
114918 , p_adr_type_code => 'S'
114919 , p_component_type => l_component_type
114920 , p_component_code => l_component_code
114921 , p_component_type_code => l_component_type_code
114922 , p_component_appl_id => l_component_appl_id
114923 , p_amb_context_code => l_amb_context_code
114924 , p_entity_code => 'AP_INVOICES'
114925 , p_event_class_code => 'CREDIT MEMOS'
114926 , p_side => 'NA'
114927 );
114928
114929 END IF;
114930
114931 l_segment := AcctDerRule_24(
114932 p_application_id => p_application_id
114933 , p_ae_header_id => l_ae_header_id
114934 , p_source_15 => p_source_15
114935 , p_source_15_meaning => p_source_15_meaning
114936 , p_source_42 => p_source_42
114937 , x_transaction_coa_id => l_adr_transaction_coa_id
114938 , x_accounting_coa_id => l_adr_accounting_coa_id
114939 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114940 , x_flex_value_set_id => l_adr_flex_value_set_id
114941 , x_value_type_code => l_adr_value_type_code
114942 , x_value_combination_id => l_adr_value_combination_id
114943 , x_value_segment_code => l_adr_value_segment_code
114944 , p_side => 'NA'
114945 , p_override_seg_flag => 'Y'
114946 );
114947
114948 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114949
114950 xla_ae_lines_pkg.set_segment(
114951 p_to_segment_code => 'GL_BALANCING'
114952 , p_segment_value => l_segment
114953 , p_from_segment_code => l_adr_value_segment_code
114954 , p_from_combination_id => l_adr_value_combination_id
114955 , p_value_type_code => l_adr_value_type_code
114956 , p_transaction_coa_id => l_adr_transaction_coa_id
114957 , p_accounting_coa_id => l_adr_accounting_coa_id
114958 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114959 , p_flex_value_set_id => l_adr_flex_value_set_id
114960 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
114964 , p_component_type_code => l_component_type_code
114961 , p_adr_type_code => 'S'
114962 , p_component_type => l_component_type
114963 , p_component_code => l_component_code
114965 , p_component_appl_id => l_component_appl_id
114966 , p_amb_context_code => l_amb_context_code
114967 , p_entity_code => 'AP_INVOICES'
114968 , p_event_class_code => 'CREDIT MEMOS'
114969 , p_side => 'NA'
114970 );
114971
114972 END IF;
114973
114974 --
114975 --
114976 END IF;
114977 --
114978 -- Bug 4922099
114979 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
114980 (NVL(l_enc_upg_option, 'N') = 'O')
114981 ) AND
114982 (l_bflow_method_code = 'PRIOR_ENTRY')
114983 )
114984 THEN
114985 IF
114986 --
114987 1 = 2
114988 --
114989 THEN
114990 xla_accounting_err_pkg.build_message
114991 (p_appli_s_name => 'XLA'
114992 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114993 ,p_token_1 => 'LINE_NUMBER'
114994 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
114995 ,p_token_2 => 'LINE_TYPE_NAME'
114996 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
114997 l_component_type
114998 ,l_component_code
114999 ,l_component_type_code
115000 ,l_component_appl_id
115001 ,l_amb_context_code
115002 ,l_entity_code
115003 ,l_event_class_code
115004 )
115005 ,p_token_3 => 'OWNER'
115006 ,p_value_3 => xla_lookups_pkg.get_meaning(
115007 p_lookup_type => 'XLA_OWNER_TYPE'
115008 ,p_lookup_code => l_component_type_code
115009 )
115010 ,p_token_4 => 'PRODUCT_NAME'
115011 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115012 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115013 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115014 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115015 ,p_ae_header_id => NULL
115016 );
115017
115018 IF (C_LEVEL_ERROR>= g_log_level) THEN
115019 trace
115020 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115021 ,p_level => C_LEVEL_ERROR
115022 ,p_module => l_log_module);
115023 END IF;
115024 END IF;
115025 END IF;
115026 --
115027 --
115028 ------------------------------------------------------------------------------------------------
115029 -- 4219869 Business Flow
115030 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115031 -- Prior Entry. Currently, the following code is always generated.
115032 ------------------------------------------------------------------------------------------------
115033 XLA_AE_LINES_PKG.ValidateCurrentLine;
115034
115035 ------------------------------------------------------------------------------------
115036 -- 4219869 Business Flow
115037 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115038 ------------------------------------------------------------------------------------
115039 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115040
115041 ----------------------------------------------------------------------------------
115042 -- 4219869 Business Flow
115043 -- Update journal entry status -- Need to generate this within IF <condition>
115044 ----------------------------------------------------------------------------------
115045 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115046 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115047 ,p_balance_type_code => l_balance_type_code
115048 );
115049
115050 -------------------------------------------------------------------------------------------
115051 -- 4262811 - Generate the Accrual Reversal lines
115052 -------------------------------------------------------------------------------------------
115053 BEGIN
115054 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115058 END IF;
115055 (g_array_event(p_event_id).array_value_num('header_index'));
115056 IF l_acc_rev_flag IS NULL THEN
115057 l_acc_rev_flag := 'N';
115059 EXCEPTION
115060 WHEN OTHERS THEN
115061 l_acc_rev_flag := 'N';
115062 END;
115063 --
115064 IF (l_acc_rev_flag = 'Y') THEN
115065
115066 -- 4645092 ------------------------------------------------------------------------------
115067 -- To allow MPA report to determine if it should generate report process
115068 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115069 ------------------------------------------------------------------------------------------
115070
115071 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115072 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115073 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115074 -- call ADRs
115075 -- Bug 4922099
115076 --
115077 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115078 (NVL(l_actual_upg_option, 'N') = 'O') OR
115079 (NVL(l_enc_upg_option, 'N') = 'O')
115080 )
115081 THEN
115082 NULL;
115083 --
115084 --
115085
115086 l_ccid := AcctDerRule_39(
115087 p_application_id => p_application_id
115088 , p_ae_header_id => l_ae_header_id
115089 , p_source_15 => p_source_15
115090 , p_source_15_meaning => p_source_15_meaning
115091 , p_source_30 => p_source_30
115092 , p_source_42 => p_source_42
115093 , x_transaction_coa_id => l_adr_transaction_coa_id
115094 , x_accounting_coa_id => l_adr_accounting_coa_id
115095 , x_value_type_code => l_adr_value_type_code
115096 , p_side => 'NA'
115097 );
115098
115099 xla_ae_lines_pkg.set_ccid(
115100 p_code_combination_id => l_ccid
115101 , p_value_type_code => l_adr_value_type_code
115102 , p_transaction_coa_id => l_adr_transaction_coa_id
115103 , p_accounting_coa_id => l_adr_accounting_coa_id
115104 , p_adr_code => 'AP_RETAINAGE'
115105 , p_adr_type_code => 'S'
115106 , p_component_type => l_component_type
115107 , p_component_code => l_component_code
115108 , p_component_type_code => l_component_type_code
115109 , p_component_appl_id => l_component_appl_id
115110 , p_amb_context_code => l_amb_context_code
115111 , p_side => 'NA'
115112 );
115113
115114
115115 l_segment := AcctDerRule_19(
115116 p_application_id => p_application_id
115117 , p_ae_header_id => l_ae_header_id
115118 , p_source_40 => p_source_40
115119 , x_transaction_coa_id => l_adr_transaction_coa_id
115120 , x_accounting_coa_id => l_adr_accounting_coa_id
115121 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115122 , x_flex_value_set_id => l_adr_flex_value_set_id
115123 , x_value_type_code => l_adr_value_type_code
115124 , x_value_combination_id => l_adr_value_combination_id
115125 , x_value_segment_code => l_adr_value_segment_code
115126 , p_side => 'NA'
115127 , p_override_seg_flag => 'Y'
115128 );
115129
115130 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115131
115132 xla_ae_lines_pkg.set_segment(
115133 p_to_segment_code => 'GL_ACCOUNT'
115134 , p_segment_value => l_segment
115135 , p_from_segment_code => l_adr_value_segment_code
115136 , p_from_combination_id => l_adr_value_combination_id
115137 , p_value_type_code => l_adr_value_type_code
115138 , p_transaction_coa_id => l_adr_transaction_coa_id
115139 , p_accounting_coa_id => l_adr_accounting_coa_id
115140 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115141 , p_flex_value_set_id => l_adr_flex_value_set_id
115142 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115143 , p_adr_type_code => 'S'
115144 , p_component_type => l_component_type
115145 , p_component_code => l_component_code
115146 , p_component_type_code => l_component_type_code
115147 , p_component_appl_id => l_component_appl_id
115148 , p_amb_context_code => l_amb_context_code
115149 , p_entity_code => 'AP_INVOICES'
115150 , p_event_class_code => 'CREDIT MEMOS'
115151 , p_side => 'NA'
115152 );
115153
115154 END IF;
115155
115156 l_segment := AcctDerRule_24(
115157 p_application_id => p_application_id
115158 , p_ae_header_id => l_ae_header_id
115159 , p_source_15 => p_source_15
115160 , p_source_15_meaning => p_source_15_meaning
115161 , p_source_42 => p_source_42
115162 , x_transaction_coa_id => l_adr_transaction_coa_id
115163 , x_accounting_coa_id => l_adr_accounting_coa_id
115164 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115165 , x_flex_value_set_id => l_adr_flex_value_set_id
115166 , x_value_type_code => l_adr_value_type_code
115167 , x_value_combination_id => l_adr_value_combination_id
115168 , x_value_segment_code => l_adr_value_segment_code
115169 , p_side => 'NA'
115173 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115170 , p_override_seg_flag => 'Y'
115171 );
115172
115174
115175 xla_ae_lines_pkg.set_segment(
115176 p_to_segment_code => 'GL_BALANCING'
115177 , p_segment_value => l_segment
115178 , p_from_segment_code => l_adr_value_segment_code
115179 , p_from_combination_id => l_adr_value_combination_id
115180 , p_value_type_code => l_adr_value_type_code
115181 , p_transaction_coa_id => l_adr_transaction_coa_id
115182 , p_accounting_coa_id => l_adr_accounting_coa_id
115183 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115184 , p_flex_value_set_id => l_adr_flex_value_set_id
115185 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115186 , p_adr_type_code => 'S'
115187 , p_component_type => l_component_type
115188 , p_component_code => l_component_code
115189 , p_component_type_code => l_component_type_code
115190 , p_component_appl_id => l_component_appl_id
115191 , p_amb_context_code => l_amb_context_code
115192 , p_entity_code => 'AP_INVOICES'
115193 , p_event_class_code => 'CREDIT MEMOS'
115194 , p_side => 'NA'
115195 );
115196
115197 END IF;
115198
115199 --
115200 --
115201 END IF;
115202
115203 --
115204 -- Update the line information that should be overwritten
115205 --
115206 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
115207 p_header_num => 1);
115208 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
115209
115210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
115211
115212 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
115213 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
115214 END IF;
115215
115216 --
115217 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
115218 --
115219 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
115220 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
115221 ELSE
115222 ---------------------------------------------------------------------------------------------------
115223 -- 4262811a Switch Sign
115224 ---------------------------------------------------------------------------------------------------
115225 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
115226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115227 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115228 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115229 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115230 -- 5132302
115231 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
115232 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115233
115234 END IF;
115235
115236 -- 4955764
115237 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115238 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
115239
115240
115241 XLA_AE_LINES_PKG.ValidateCurrentLine;
115242 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115243
115244 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115245 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
115246 ,p_balance_type_code => l_balance_type_code);
115247
115248 END IF;
115249
115250 -----------------------------------------------------------------------------------------
115251 -- 4262811 Multiperiod Accounting
115252 -----------------------------------------------------------------------------------------
115253 -- No MPA option is assigned.
115254
115255
115256 END IF;
115257 END IF;
115258 --
115259
115260 --
115261 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115262 trace
115263 (p_msg => 'END of AcctLineType_188'
115264 ,p_level => C_LEVEL_PROCEDURE
115265 ,p_module => l_log_module);
115266 END IF;
115267 --
115268 EXCEPTION
115269 WHEN xla_exceptions_pkg.application_exception THEN
115270 RAISE;
115271 WHEN OTHERS THEN
115272 xla_exceptions_pkg.raise_message
115273 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_188');
115274 END AcctLineType_188;
115275 --
115276
115277 ---------------------------------------
115278 --
115279 -- PRIVATE FUNCTION
115280 -- AcctLineType_189
115281 --
115282 ---------------------------------------
115283 PROCEDURE AcctLineType_189 (
115284 p_application_id IN NUMBER
115285 ,p_event_id IN NUMBER
115286 ,p_calculate_acctd_flag IN VARCHAR2
115287 ,p_calculate_g_l_flag IN VARCHAR2
115291
115288 ,p_actual_flag IN OUT VARCHAR2
115289 ,p_balance_type_code OUT VARCHAR2
115290 ,p_gain_or_loss_ref OUT VARCHAR2
115292 --Invoice Distribution Description
115293 , p_source_1 IN VARCHAR2
115294 --Automatic Offsets Value
115295 , p_source_15 IN VARCHAR2
115296 , p_source_15_meaning IN VARCHAR2
115297 --Invoice Distribution Ledger Amount
115298 , p_source_21 IN NUMBER
115299 --Invoice Distribution Account
115300 , p_source_30 IN NUMBER
115301 --Invoice Distribution Type
115302 , p_source_33 IN VARCHAR2
115303 , p_source_33_meaning IN VARCHAR2
115304 --Retainage Account
115305 , p_source_40 IN NUMBER
115306 --Retainage Related Item Distribution Account
115307 , p_source_42 IN NUMBER
115308 --Accounting Reversal Indicator
115309 , p_source_52 IN VARCHAR2
115310 --Distribution Link Type
115311 , p_source_54 IN VARCHAR2
115312 --Allocation to Main Distribution Identifier
115313 , p_source_56 IN NUMBER
115314 --Invoice Identifier
115315 , p_source_57 IN NUMBER
115316 --Invoice Distribution Identifier
115317 , p_source_63 IN NUMBER
115318 --Payables Encumbrance Upgrade Credit Account
115319 , p_source_64 IN NUMBER
115320 --Payables Encumbrance Upgrade Credit Amount
115321 , p_source_65 IN NUMBER
115322 --Invoice Currency Code
115323 , p_source_66 IN VARCHAR2
115324 --Payables Encumbrance Upgrade Credit Base Amount
115325 , p_source_67 IN NUMBER
115326 --Payables Encumbrance Upgrade Debit Account
115327 , p_source_68 IN NUMBER
115328 --Payables Encumbrance Upgrade Debit Amount
115329 , p_source_69 IN NUMBER
115330 --Payables Encumbrance Upgrade Debit Base Amount
115331 , p_source_70 IN NUMBER
115332 --Payables Encumbrance Upgrade Option
115333 , p_source_71 IN VARCHAR2
115334 --Invoice Distribution Amount
115335 , p_source_72 IN NUMBER
115336 --Deferred Accounting End Date
115337 , p_source_76 IN DATE
115338 --Deferred Accounting Option
115339 , p_source_77 IN VARCHAR2
115340 --Deferred Accounting Start Date
115341 , p_source_78 IN DATE
115342 --Override Accounted Amount Indicator
115343 , p_source_79 IN VARCHAR2
115344 , p_source_79_meaning IN VARCHAR2
115345 --Invoice Supplier Identifier
115346 , p_source_80 IN NUMBER
115347 --Invoice Supplier Site Identifier
115348 , p_source_81 IN NUMBER
115349 --Third Party Type
115350 , p_source_82 IN VARCHAR2
115351 --Parent Reversal Identifier
115352 , p_source_83 IN NUMBER
115353 --Invoice Distribution Tax Line Identifier
115354 , p_source_85 IN NUMBER
115355 --Invoice Distribution Tax Distribution Identifier from Tax
115356 , p_source_86 IN NUMBER
115357 --Invoice Distribution Summary Tax Line Identifier
115358 , p_source_87 IN NUMBER
115359 --Payables Upgrade Credit Encumbrance Type Identifier
115360 , p_source_88 IN NUMBER
115361 --Payables Upgrade Debit Encumbrance Type Identifier
115362 , p_source_89 IN NUMBER
115363 --Business Flow Accounts Payable Application Identifier
115364 , p_source_90 IN NUMBER
115365 --Business Flow Invoice Distribution Type
115366 , p_source_91 IN VARCHAR2
115367 --Business Flow Invoice Entity Code
115368 , p_source_92 IN VARCHAR2
115369 --Business Flow Invoice Distribution Identifier
115370 , p_source_93 IN NUMBER
115371 --Business Flow Invoice Identifier
115372 , p_source_94 IN NUMBER
115373 --Invoice Exchange Date
115374 , p_source_136 IN DATE
115375 --Invoice Exchange Rate
115376 , p_source_137 IN NUMBER
115377 --Invoice Exchange Rate Type
115378 , p_source_138 IN VARCHAR2
115379 )
115380 IS
115381
115382 l_component_type VARCHAR2(80);
115383 l_component_code VARCHAR2(30);
115384 l_component_type_code VARCHAR2(1);
115385 l_component_appl_id INTEGER;
115386 l_amb_context_code VARCHAR2(30);
115387 l_entity_code VARCHAR2(30);
115388 l_event_class_code VARCHAR2(30);
115389 l_ae_header_id NUMBER;
115390 l_event_type_code VARCHAR2(30);
115391 l_line_definition_code VARCHAR2(30);
115392 l_line_definition_owner_code VARCHAR2(1);
115393 --
115394 -- adr variables
115395 l_segment VARCHAR2(30);
115396 l_ccid NUMBER;
115397 l_adr_transaction_coa_id NUMBER;
115398 l_adr_accounting_coa_id NUMBER;
115399 l_adr_flexfield_segment_code VARCHAR2(30);
115400 l_adr_flex_value_set_id NUMBER;
115401 l_adr_value_type_code VARCHAR2(30);
115402 l_adr_value_combination_id NUMBER;
115403 l_adr_value_segment_code VARCHAR2(30);
115404
115405 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
115406 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
115407 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
115408 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
115409
115410 -- 4262811 Variables ------------------------------------------------------------------------------------------
115411 l_entered_amt_idx NUMBER;
115412 l_accted_amt_idx NUMBER;
115413 l_acc_rev_flag VARCHAR2(1);
115414 l_accrual_line_num NUMBER;
115415 l_tmp_amt NUMBER;
115416 l_acc_rev_natural_side_code VARCHAR2(1);
115420 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
115417
115418 l_num_entries NUMBER;
115419 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
115421 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
115422 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
115423 l_recog_line_1 NUMBER;
115424 l_recog_line_2 NUMBER;
115425
115426 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
115427 l_bflow_applied_to_amt NUMBER; -- 5132302
115428 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
115429
115430 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
115431
115432 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
115433 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
115434
115435 ---------------------------------------------------------------------------------------------------------------
115436
115437
115438 --
115439 -- bulk performance
115440 --
115441 l_balance_type_code VARCHAR2(1);
115442 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
115443 l_log_module VARCHAR2(240);
115444
115445 --
115446 -- Upgrade strategy
115447 --
115448 l_actual_upg_option VARCHAR2(1);
115449 l_enc_upg_option VARCHAR2(1);
115450
115451 --
115452 BEGIN
115453 --
115454 IF g_log_enabled THEN
115455 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_189';
115456 END IF;
115457 --
115458 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115459
115460 trace
115461 (p_msg => 'BEGIN of AcctLineType_189'
115462 ,p_level => C_LEVEL_PROCEDURE
115463 ,p_module => l_log_module);
115464
115465 END IF;
115466 --
115467 l_component_type := 'AMB_JLT';
115468 l_component_code := 'AP_RETAINAGE_ACC_DM';
115469 l_component_type_code := 'S';
115470 l_component_appl_id := 200;
115471 l_amb_context_code := 'DEFAULT';
115472 l_entity_code := 'AP_INVOICES';
115473 l_event_class_code := 'DEBIT MEMOS';
115474 l_event_type_code := 'DEBIT MEMOS_ALL';
115475 l_line_definition_owner_code := 'S';
115476 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
115477 --
115478 l_balance_type_code := 'A';
115479 l_segment := NULL;
115480 l_ccid := NULL;
115481 l_adr_transaction_coa_id := NULL;
115482 l_adr_accounting_coa_id := NULL;
115483 l_adr_flexfield_segment_code := NULL;
115484 l_adr_flex_value_set_id := NULL;
115485 l_adr_value_type_code := NULL;
115486 l_adr_value_combination_id := NULL;
115487 l_adr_value_segment_code := NULL;
115488
115489 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
115490 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
115491 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
115492 l_budgetary_control_flag := 'N';
115493
115494 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115495 l_bflow_applied_to_amt := NULL; -- 5132302
115496 l_entered_amt_idx := NULL; -- 4262811
115497 l_accted_amt_idx := NULL; -- 4262811
115498 l_acc_rev_flag := NULL; -- 4262811
115499 l_accrual_line_num := NULL; -- 4262811
115500 l_tmp_amt := NULL; -- 4262811
115501 --
115502
115503 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
115504 l_balance_type_code <> 'B' THEN
115505 IF NVL(p_source_33,'
115506 ') = 'RETAINAGE'
115507 THEN
115508
115509 --
115510 XLA_AE_LINES_PKG.SetNewLine;
115511
115512 p_balance_type_code := l_balance_type_code;
115513 -- set the flag so later we will know whether the gain loss line needs to be created
115514
115515 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
115516 p_actual_flag :='A';
115517 END IF;
115518
115519 --
115520 -- bulk performance
115521 --
115522 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
115523 p_header_num => 0); -- 4262811
115524 --
115525 -- set accounting line options
115526 --
115527 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
115528 p_natural_side_code => 'D'
115529 , p_gain_or_loss_flag => 'N'
115530 , p_gl_transfer_mode_code => 'S'
115531 , p_acct_entry_type_code => 'A'
115532 , p_switch_side_flag => 'Y'
115533 , p_merge_duplicate_code => 'A'
115534 );
115535 --
115536 l_acc_rev_natural_side_code := 'C'; -- 4262811
115537 --
115538 --
115539 -- set accounting line type info
115540 --
115541 xla_ae_lines_pkg.SetAcctLineType
115542 (p_component_type => l_component_type
115543 ,p_event_type_code => l_event_type_code
115544 ,p_line_definition_owner_code => l_line_definition_owner_code
115545 ,p_line_definition_code => l_line_definition_code
115546 ,p_accounting_line_code => l_component_code
115550 ,p_entity_code => l_entity_code
115547 ,p_accounting_line_type_code => l_component_type_code
115548 ,p_accounting_line_appl_id => l_component_appl_id
115549 ,p_amb_context_code => l_amb_context_code
115551 ,p_event_class_code => l_event_class_code);
115552 --
115553 -- set accounting class
115554 --
115555 xla_ae_lines_pkg.SetAcctClass(
115556 p_accounting_class_code => 'RETAINAGE'
115557 , p_ae_header_id => l_ae_header_id
115558 );
115559
115560 --
115561 -- set rounding class
115562 --
115563 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
115564 'RETAINAGE';
115565
115566 --
115567 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
115568 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
115569 --
115570 -- bulk performance
115571 --
115572 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
115573
115574 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
115575 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
115576
115577 -- 4955764
115578 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115579 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
115580
115581 -- 4458381 Public Sector Enh
115582
115583 --
115584 -- set accounting attributes for the line type
115585 --
115586 l_entered_amt_idx := 23;
115587 l_accted_amt_idx := 28;
115588 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115589 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
115590 l_rec_acct_attrs.array_char_value(1) := p_source_52;
115591 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
115592 l_rec_acct_attrs.array_num_value(2) :=
115593 xla_ae_sources_pkg.GetSystemSourceNum(
115594 p_source_code => 'XLA_EVENT_APPL_ID'
115595 , p_source_type_code => 'Y'
115596 , p_source_application_id => 602
115597 );
115598 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
115599 l_rec_acct_attrs.array_char_value(3) := p_source_54;
115600 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
115601 l_rec_acct_attrs.array_char_value(4) :=
115602 xla_ae_sources_pkg.GetSystemSourceChar(
115603 p_source_code => 'XLA_ENTITY_CODE'
115604 , p_source_type_code => 'Y'
115605 , p_source_application_id => 602
115606 );
115607 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
115608 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
115609 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
115610 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
115611 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
115612 l_rec_acct_attrs.array_num_value(7) := p_source_90;
115613 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
115614 l_rec_acct_attrs.array_char_value(8) := p_source_91;
115615 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
115616 l_rec_acct_attrs.array_char_value(9) := p_source_92;
115617 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
115618 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
115619 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
115620 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
115621 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
115622 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
115623 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
115624 l_rec_acct_attrs.array_char_value(13) := p_source_54;
115625 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
115626 l_rec_acct_attrs.array_num_value(14) := p_source_64;
115627 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
115628 l_rec_acct_attrs.array_num_value(15) := p_source_65;
115629 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
115630 l_rec_acct_attrs.array_char_value(16) := p_source_66;
115631 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
115632 l_rec_acct_attrs.array_num_value(17) := p_source_67;
115633 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
115634 l_rec_acct_attrs.array_num_value(18) := p_source_68;
115635 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
115636 l_rec_acct_attrs.array_num_value(19) := p_source_69;
115637 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
115638 l_rec_acct_attrs.array_char_value(20) := p_source_66;
115639 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
115640 l_rec_acct_attrs.array_num_value(21) := p_source_70;
115641 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
115642 l_rec_acct_attrs.array_char_value(22) := p_source_71;
115643 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
115644 l_rec_acct_attrs.array_num_value(23) := p_source_72;
115645 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
115646 l_rec_acct_attrs.array_char_value(24) := p_source_66;
115650 l_rec_acct_attrs.array_num_value(26) := p_source_137;
115647 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
115648 l_rec_acct_attrs.array_date_value(25) := p_source_136;
115649 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
115651 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
115652 l_rec_acct_attrs.array_char_value(27) := p_source_138;
115653 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
115654 l_rec_acct_attrs.array_num_value(28) := p_source_21;
115655 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
115656 l_rec_acct_attrs.array_date_value(29) := p_source_76;
115657 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
115658 l_rec_acct_attrs.array_char_value(30) := p_source_77;
115659 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
115660 l_rec_acct_attrs.array_date_value(31) := p_source_78;
115661 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
115662 l_rec_acct_attrs.array_char_value(32) := p_source_79;
115663 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
115664 l_rec_acct_attrs.array_num_value(33) := p_source_80;
115665 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
115666 l_rec_acct_attrs.array_num_value(34) := p_source_81;
115667 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
115668 l_rec_acct_attrs.array_char_value(35) := p_source_82;
115669 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
115670 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
115671 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
115672 l_rec_acct_attrs.array_char_value(37) := p_source_54;
115673 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
115674 l_rec_acct_attrs.array_num_value(38) := p_source_85;
115675 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
115676 l_rec_acct_attrs.array_num_value(39) := p_source_86;
115677 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
115678 l_rec_acct_attrs.array_num_value(40) := p_source_87;
115679 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
115680 l_rec_acct_attrs.array_num_value(41) := p_source_88;
115681 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
115682 l_rec_acct_attrs.array_num_value(42) := p_source_89;
115683
115684 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
115685 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
115686
115687 ---------------------------------------------------------------------------------------------------------------
115688 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
115689 ---------------------------------------------------------------------------------------------------------------
115690 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
115691
115692 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115693 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115694
115695 IF xla_accounting_cache_pkg.GetValueChar
115696 (p_source_code => 'LEDGER_CATEGORY_CODE'
115697 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
115698 AND l_bflow_method_code = 'PRIOR_ENTRY'
115699 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
115700 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
115701 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
115702 )
115703 THEN
115704 xla_ae_lines_pkg.BflowUpgEntry
115705 (p_business_method_code => l_bflow_method_code
115706 ,p_business_class_code => l_bflow_class_code
115707 ,p_balance_type => l_balance_type_code);
115708 ELSE
115709 NULL;
115710 -- No business flow processing for business flow method of NONE.
115711 END IF;
115712
115713 --
115714 -- call analytical criteria
115715 --
115716
115717 --
115718 -- call description
115719 --
115720
115721 xla_ae_lines_pkg.SetLineDescription(
115722 p_ae_header_id => l_ae_header_id
115723 ,p_description => Description_1 (
115724 p_application_id => p_application_id
115725 , p_ae_header_id => l_ae_header_id
115726 , p_source_1 => p_source_1
115727 )
115728 );
115729
115730
115731 --
115732 -- call ADRs
115733 -- Bug 4922099
115734 --
115735 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115736 (NVL(l_actual_upg_option, 'N') = 'O') OR
115737 (NVL(l_enc_upg_option, 'N') = 'O')
115738 )
115739 THEN
115740 NULL;
115741 --
115742 --
115743
115744 l_ccid := AcctDerRule_39(
115745 p_application_id => p_application_id
115746 , p_ae_header_id => l_ae_header_id
115747 , p_source_15 => p_source_15
115748 , p_source_15_meaning => p_source_15_meaning
115749 , p_source_30 => p_source_30
115750 , p_source_42 => p_source_42
115751 , x_transaction_coa_id => l_adr_transaction_coa_id
115752 , x_accounting_coa_id => l_adr_accounting_coa_id
115753 , x_value_type_code => l_adr_value_type_code
115754 , p_side => 'NA'
115755 );
115756
115757 xla_ae_lines_pkg.set_ccid(
115761 , p_accounting_coa_id => l_adr_accounting_coa_id
115758 p_code_combination_id => l_ccid
115759 , p_value_type_code => l_adr_value_type_code
115760 , p_transaction_coa_id => l_adr_transaction_coa_id
115762 , p_adr_code => 'AP_RETAINAGE'
115763 , p_adr_type_code => 'S'
115764 , p_component_type => l_component_type
115765 , p_component_code => l_component_code
115766 , p_component_type_code => l_component_type_code
115767 , p_component_appl_id => l_component_appl_id
115768 , p_amb_context_code => l_amb_context_code
115769 , p_side => 'NA'
115770 );
115771
115772
115773 l_segment := AcctDerRule_19(
115774 p_application_id => p_application_id
115775 , p_ae_header_id => l_ae_header_id
115776 , p_source_40 => p_source_40
115777 , x_transaction_coa_id => l_adr_transaction_coa_id
115778 , x_accounting_coa_id => l_adr_accounting_coa_id
115779 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115780 , x_flex_value_set_id => l_adr_flex_value_set_id
115781 , x_value_type_code => l_adr_value_type_code
115782 , x_value_combination_id => l_adr_value_combination_id
115783 , x_value_segment_code => l_adr_value_segment_code
115784 , p_side => 'NA'
115785 , p_override_seg_flag => 'Y'
115786 );
115787
115788 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115789
115790 xla_ae_lines_pkg.set_segment(
115791 p_to_segment_code => 'GL_ACCOUNT'
115792 , p_segment_value => l_segment
115793 , p_from_segment_code => l_adr_value_segment_code
115794 , p_from_combination_id => l_adr_value_combination_id
115795 , p_value_type_code => l_adr_value_type_code
115796 , p_transaction_coa_id => l_adr_transaction_coa_id
115797 , p_accounting_coa_id => l_adr_accounting_coa_id
115798 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115799 , p_flex_value_set_id => l_adr_flex_value_set_id
115800 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115801 , p_adr_type_code => 'S'
115802 , p_component_type => l_component_type
115803 , p_component_code => l_component_code
115804 , p_component_type_code => l_component_type_code
115805 , p_component_appl_id => l_component_appl_id
115806 , p_amb_context_code => l_amb_context_code
115807 , p_entity_code => 'AP_INVOICES'
115808 , p_event_class_code => 'DEBIT MEMOS'
115809 , p_side => 'NA'
115810 );
115811
115812 END IF;
115813
115814 l_segment := AcctDerRule_24(
115815 p_application_id => p_application_id
115816 , p_ae_header_id => l_ae_header_id
115817 , p_source_15 => p_source_15
115818 , p_source_15_meaning => p_source_15_meaning
115819 , p_source_42 => p_source_42
115820 , x_transaction_coa_id => l_adr_transaction_coa_id
115821 , x_accounting_coa_id => l_adr_accounting_coa_id
115822 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115823 , x_flex_value_set_id => l_adr_flex_value_set_id
115824 , x_value_type_code => l_adr_value_type_code
115825 , x_value_combination_id => l_adr_value_combination_id
115826 , x_value_segment_code => l_adr_value_segment_code
115827 , p_side => 'NA'
115828 , p_override_seg_flag => 'Y'
115829 );
115830
115831 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115832
115833 xla_ae_lines_pkg.set_segment(
115834 p_to_segment_code => 'GL_BALANCING'
115835 , p_segment_value => l_segment
115836 , p_from_segment_code => l_adr_value_segment_code
115837 , p_from_combination_id => l_adr_value_combination_id
115838 , p_value_type_code => l_adr_value_type_code
115839 , p_transaction_coa_id => l_adr_transaction_coa_id
115840 , p_accounting_coa_id => l_adr_accounting_coa_id
115841 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115842 , p_flex_value_set_id => l_adr_flex_value_set_id
115843 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115844 , p_adr_type_code => 'S'
115845 , p_component_type => l_component_type
115846 , p_component_code => l_component_code
115847 , p_component_type_code => l_component_type_code
115848 , p_component_appl_id => l_component_appl_id
115849 , p_amb_context_code => l_amb_context_code
115850 , p_entity_code => 'AP_INVOICES'
115851 , p_event_class_code => 'DEBIT MEMOS'
115852 , p_side => 'NA'
115853 );
115854
115855 END IF;
115856
115857 --
115858 --
115859 END IF;
115860 --
115861 -- Bug 4922099
115862 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
115863 (NVL(l_enc_upg_option, 'N') = 'O')
115864 ) AND
115865 (l_bflow_method_code = 'PRIOR_ENTRY')
115866 )
115867 THEN
115868 IF
115869 --
115870 1 = 2
115871 --
115872 THEN
115876 ,p_token_1 => 'LINE_NUMBER'
115873 xla_accounting_err_pkg.build_message
115874 (p_appli_s_name => 'XLA'
115875 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115877 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
115878 ,p_token_2 => 'LINE_TYPE_NAME'
115879 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
115880 l_component_type
115881 ,l_component_code
115882 ,l_component_type_code
115883 ,l_component_appl_id
115884 ,l_amb_context_code
115885 ,l_entity_code
115886 ,l_event_class_code
115887 )
115888 ,p_token_3 => 'OWNER'
115889 ,p_value_3 => xla_lookups_pkg.get_meaning(
115890 p_lookup_type => 'XLA_OWNER_TYPE'
115891 ,p_lookup_code => l_component_type_code
115892 )
115893 ,p_token_4 => 'PRODUCT_NAME'
115894 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115895 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115896 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115897 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115898 ,p_ae_header_id => NULL
115899 );
115900
115901 IF (C_LEVEL_ERROR>= g_log_level) THEN
115902 trace
115903 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115904 ,p_level => C_LEVEL_ERROR
115905 ,p_module => l_log_module);
115906 END IF;
115907 END IF;
115908 END IF;
115909 --
115910 --
115911 ------------------------------------------------------------------------------------------------
115912 -- 4219869 Business Flow
115913 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115914 -- Prior Entry. Currently, the following code is always generated.
115915 ------------------------------------------------------------------------------------------------
115916 XLA_AE_LINES_PKG.ValidateCurrentLine;
115917
115918 ------------------------------------------------------------------------------------
115919 -- 4219869 Business Flow
115920 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115921 ------------------------------------------------------------------------------------
115922 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115923
115924 ----------------------------------------------------------------------------------
115925 -- 4219869 Business Flow
115926 -- Update journal entry status -- Need to generate this within IF <condition>
115927 ----------------------------------------------------------------------------------
115928 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115929 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115930 ,p_balance_type_code => l_balance_type_code
115931 );
115932
115933 -------------------------------------------------------------------------------------------
115934 -- 4262811 - Generate the Accrual Reversal lines
115935 -------------------------------------------------------------------------------------------
115936 BEGIN
115937 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115938 (g_array_event(p_event_id).array_value_num('header_index'));
115939 IF l_acc_rev_flag IS NULL THEN
115940 l_acc_rev_flag := 'N';
115941 END IF;
115942 EXCEPTION
115943 WHEN OTHERS THEN
115944 l_acc_rev_flag := 'N';
115945 END;
115946 --
115947 IF (l_acc_rev_flag = 'Y') THEN
115948
115949 -- 4645092 ------------------------------------------------------------------------------
115950 -- To allow MPA report to determine if it should generate report process
115951 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115952 ------------------------------------------------------------------------------------------
115953
115954 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115955 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115956 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115957 -- call ADRs
115958 -- Bug 4922099
115959 --
115960 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115961 (NVL(l_actual_upg_option, 'N') = 'O') OR
115962 (NVL(l_enc_upg_option, 'N') = 'O')
115963 )
115964 THEN
115968
115965 NULL;
115966 --
115967 --
115969 l_ccid := AcctDerRule_39(
115970 p_application_id => p_application_id
115971 , p_ae_header_id => l_ae_header_id
115972 , p_source_15 => p_source_15
115973 , p_source_15_meaning => p_source_15_meaning
115974 , p_source_30 => p_source_30
115975 , p_source_42 => p_source_42
115976 , x_transaction_coa_id => l_adr_transaction_coa_id
115977 , x_accounting_coa_id => l_adr_accounting_coa_id
115978 , x_value_type_code => l_adr_value_type_code
115979 , p_side => 'NA'
115980 );
115981
115982 xla_ae_lines_pkg.set_ccid(
115983 p_code_combination_id => l_ccid
115984 , p_value_type_code => l_adr_value_type_code
115985 , p_transaction_coa_id => l_adr_transaction_coa_id
115986 , p_accounting_coa_id => l_adr_accounting_coa_id
115987 , p_adr_code => 'AP_RETAINAGE'
115988 , p_adr_type_code => 'S'
115989 , p_component_type => l_component_type
115990 , p_component_code => l_component_code
115991 , p_component_type_code => l_component_type_code
115992 , p_component_appl_id => l_component_appl_id
115993 , p_amb_context_code => l_amb_context_code
115994 , p_side => 'NA'
115995 );
115996
115997
115998 l_segment := AcctDerRule_19(
115999 p_application_id => p_application_id
116000 , p_ae_header_id => l_ae_header_id
116001 , p_source_40 => p_source_40
116002 , x_transaction_coa_id => l_adr_transaction_coa_id
116003 , x_accounting_coa_id => l_adr_accounting_coa_id
116004 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116005 , x_flex_value_set_id => l_adr_flex_value_set_id
116006 , x_value_type_code => l_adr_value_type_code
116007 , x_value_combination_id => l_adr_value_combination_id
116008 , x_value_segment_code => l_adr_value_segment_code
116009 , p_side => 'NA'
116010 , p_override_seg_flag => 'Y'
116011 );
116012
116013 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116014
116015 xla_ae_lines_pkg.set_segment(
116016 p_to_segment_code => 'GL_ACCOUNT'
116017 , p_segment_value => l_segment
116018 , p_from_segment_code => l_adr_value_segment_code
116019 , p_from_combination_id => l_adr_value_combination_id
116020 , p_value_type_code => l_adr_value_type_code
116021 , p_transaction_coa_id => l_adr_transaction_coa_id
116022 , p_accounting_coa_id => l_adr_accounting_coa_id
116023 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116024 , p_flex_value_set_id => l_adr_flex_value_set_id
116025 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
116026 , p_adr_type_code => 'S'
116027 , p_component_type => l_component_type
116028 , p_component_code => l_component_code
116029 , p_component_type_code => l_component_type_code
116030 , p_component_appl_id => l_component_appl_id
116031 , p_amb_context_code => l_amb_context_code
116032 , p_entity_code => 'AP_INVOICES'
116033 , p_event_class_code => 'DEBIT MEMOS'
116034 , p_side => 'NA'
116035 );
116036
116037 END IF;
116038
116039 l_segment := AcctDerRule_24(
116040 p_application_id => p_application_id
116041 , p_ae_header_id => l_ae_header_id
116042 , p_source_15 => p_source_15
116043 , p_source_15_meaning => p_source_15_meaning
116044 , p_source_42 => p_source_42
116045 , x_transaction_coa_id => l_adr_transaction_coa_id
116046 , x_accounting_coa_id => l_adr_accounting_coa_id
116047 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116048 , x_flex_value_set_id => l_adr_flex_value_set_id
116049 , x_value_type_code => l_adr_value_type_code
116050 , x_value_combination_id => l_adr_value_combination_id
116051 , x_value_segment_code => l_adr_value_segment_code
116052 , p_side => 'NA'
116053 , p_override_seg_flag => 'Y'
116054 );
116055
116056 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116057
116058 xla_ae_lines_pkg.set_segment(
116059 p_to_segment_code => 'GL_BALANCING'
116060 , p_segment_value => l_segment
116061 , p_from_segment_code => l_adr_value_segment_code
116062 , p_from_combination_id => l_adr_value_combination_id
116063 , p_value_type_code => l_adr_value_type_code
116064 , p_transaction_coa_id => l_adr_transaction_coa_id
116065 , p_accounting_coa_id => l_adr_accounting_coa_id
116066 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116067 , p_flex_value_set_id => l_adr_flex_value_set_id
116068 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
116069 , p_adr_type_code => 'S'
116070 , p_component_type => l_component_type
116071 , p_component_code => l_component_code
116072 , p_component_type_code => l_component_type_code
116076 , p_event_class_code => 'DEBIT MEMOS'
116073 , p_component_appl_id => l_component_appl_id
116074 , p_amb_context_code => l_amb_context_code
116075 , p_entity_code => 'AP_INVOICES'
116077 , p_side => 'NA'
116078 );
116079
116080 END IF;
116081
116082 --
116083 --
116084 END IF;
116085
116086 --
116087 -- Update the line information that should be overwritten
116088 --
116089 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116090 p_header_num => 1);
116091 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116092
116093 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116094
116095 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116096 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116097 END IF;
116098
116099 --
116100 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116101 --
116102 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116103 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116104 ELSE
116105 ---------------------------------------------------------------------------------------------------
116106 -- 4262811a Switch Sign
116107 ---------------------------------------------------------------------------------------------------
116108 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116109 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116110 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116111 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116112 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116113 -- 5132302
116114 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116115 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116116
116117 END IF;
116118
116119 -- 4955764
116120 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116121 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116122
116123
116124 XLA_AE_LINES_PKG.ValidateCurrentLine;
116125 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116126
116127 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116128 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116129 ,p_balance_type_code => l_balance_type_code);
116130
116131 END IF;
116132
116133 -----------------------------------------------------------------------------------------
116134 -- 4262811 Multiperiod Accounting
116135 -----------------------------------------------------------------------------------------
116136 -- No MPA option is assigned.
116137
116138
116139 END IF;
116140 END IF;
116141 --
116142
116143 --
116144 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116145 trace
116146 (p_msg => 'END of AcctLineType_189'
116147 ,p_level => C_LEVEL_PROCEDURE
116148 ,p_module => l_log_module);
116149 END IF;
116150 --
116151 EXCEPTION
116152 WHEN xla_exceptions_pkg.application_exception THEN
116153 RAISE;
116154 WHEN OTHERS THEN
116155 xla_exceptions_pkg.raise_message
116156 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_189');
116157 END AcctLineType_189;
116158 --
116159
116160 ---------------------------------------
116161 --
116162 -- PRIVATE FUNCTION
116163 -- AcctLineType_190
116164 --
116165 ---------------------------------------
116166 PROCEDURE AcctLineType_190 (
116167 p_application_id IN NUMBER
116168 ,p_event_id IN NUMBER
116169 ,p_calculate_acctd_flag IN VARCHAR2
116170 ,p_calculate_g_l_flag IN VARCHAR2
116171 ,p_actual_flag IN OUT VARCHAR2
116172 ,p_balance_type_code OUT VARCHAR2
116173 ,p_gain_or_loss_ref OUT VARCHAR2
116174
116175 --Invoice Distribution Description
116176 , p_source_1 IN VARCHAR2
116177 --Invoice Distribution Ledger Amount
116178 , p_source_21 IN NUMBER
116179 --Invoice Distribution Type
116180 , p_source_33 IN VARCHAR2
116181 , p_source_33_meaning IN VARCHAR2
116182 --Accounting Reversal Indicator
116183 , p_source_52 IN VARCHAR2
116184 --Distribution Link Type
116185 , p_source_54 IN VARCHAR2
116186 --Allocation to Main Distribution Identifier
116187 , p_source_56 IN NUMBER
116188 --Invoice Identifier
116189 , p_source_57 IN NUMBER
116190 --Invoice Distribution Identifier
116191 , p_source_63 IN NUMBER
116192 --Payables Encumbrance Upgrade Credit Account
116193 , p_source_64 IN NUMBER
116194 --Payables Encumbrance Upgrade Credit Amount
116195 , p_source_65 IN NUMBER
116199 , p_source_67 IN NUMBER
116196 --Invoice Currency Code
116197 , p_source_66 IN VARCHAR2
116198 --Payables Encumbrance Upgrade Credit Base Amount
116200 --Payables Encumbrance Upgrade Debit Account
116201 , p_source_68 IN NUMBER
116202 --Payables Encumbrance Upgrade Debit Amount
116203 , p_source_69 IN NUMBER
116204 --Payables Encumbrance Upgrade Debit Base Amount
116205 , p_source_70 IN NUMBER
116206 --Payables Encumbrance Upgrade Option
116207 , p_source_71 IN VARCHAR2
116208 --Invoice Distribution Amount
116209 , p_source_72 IN NUMBER
116210 --Deferred Accounting End Date
116211 , p_source_76 IN DATE
116212 --Deferred Accounting Option
116213 , p_source_77 IN VARCHAR2
116214 --Deferred Accounting Start Date
116215 , p_source_78 IN DATE
116216 --Override Accounted Amount Indicator
116217 , p_source_79 IN VARCHAR2
116218 , p_source_79_meaning IN VARCHAR2
116219 --Third Party Type
116220 , p_source_82 IN VARCHAR2
116221 --Parent Reversal Identifier
116222 , p_source_83 IN NUMBER
116223 --Invoice Distribution Statistical Amount
116224 , p_source_84 IN NUMBER
116225 --Invoice Distribution Tax Line Identifier
116226 , p_source_85 IN NUMBER
116227 --Invoice Distribution Tax Distribution Identifier from Tax
116228 , p_source_86 IN NUMBER
116229 --Invoice Distribution Summary Tax Line Identifier
116230 , p_source_87 IN NUMBER
116231 --Payables Upgrade Credit Encumbrance Type Identifier
116232 , p_source_88 IN NUMBER
116233 --Payables Upgrade Debit Encumbrance Type Identifier
116234 , p_source_89 IN NUMBER
116235 --Business Flow Accounts Payable Application Identifier
116236 , p_source_90 IN NUMBER
116237 --Business Flow Invoice Distribution Type
116238 , p_source_91 IN VARCHAR2
116239 --Business Flow Invoice Entity Code
116240 , p_source_92 IN VARCHAR2
116241 --Invoice Type
116242 , p_source_164 IN VARCHAR2
116243 , p_source_164_meaning IN VARCHAR2
116244 --Business Flow Retained Invoice Distribution
116245 , p_source_166 IN NUMBER
116246 --Business Flow Retained Invoice
116247 , p_source_167 IN NUMBER
116248 )
116249 IS
116250
116251 l_component_type VARCHAR2(80);
116252 l_component_code VARCHAR2(30);
116253 l_component_type_code VARCHAR2(1);
116254 l_component_appl_id INTEGER;
116255 l_amb_context_code VARCHAR2(30);
116256 l_entity_code VARCHAR2(30);
116257 l_event_class_code VARCHAR2(30);
116258 l_ae_header_id NUMBER;
116259 l_event_type_code VARCHAR2(30);
116260 l_line_definition_code VARCHAR2(30);
116261 l_line_definition_owner_code VARCHAR2(1);
116262 --
116263 -- adr variables
116264 l_segment VARCHAR2(30);
116265 l_ccid NUMBER;
116266 l_adr_transaction_coa_id NUMBER;
116267 l_adr_accounting_coa_id NUMBER;
116268 l_adr_flexfield_segment_code VARCHAR2(30);
116269 l_adr_flex_value_set_id NUMBER;
116270 l_adr_value_type_code VARCHAR2(30);
116271 l_adr_value_combination_id NUMBER;
116272 l_adr_value_segment_code VARCHAR2(30);
116273
116274 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116275 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116276 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116277 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116278
116279 -- 4262811 Variables ------------------------------------------------------------------------------------------
116280 l_entered_amt_idx NUMBER;
116281 l_accted_amt_idx NUMBER;
116282 l_acc_rev_flag VARCHAR2(1);
116283 l_accrual_line_num NUMBER;
116284 l_tmp_amt NUMBER;
116285 l_acc_rev_natural_side_code VARCHAR2(1);
116286
116287 l_num_entries NUMBER;
116288 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116289 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116290 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116291 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116292 l_recog_line_1 NUMBER;
116293 l_recog_line_2 NUMBER;
116294
116295 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116296 l_bflow_applied_to_amt NUMBER; -- 5132302
116297 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116298
116299 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116300
116301 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116302 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116303
116304 ---------------------------------------------------------------------------------------------------------------
116305
116306
116307 --
116308 -- bulk performance
116309 --
116310 l_balance_type_code VARCHAR2(1);
116311 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116312 l_log_module VARCHAR2(240);
116313
116314 --
116315 -- Upgrade strategy
116316 --
116317 l_actual_upg_option VARCHAR2(1);
116318 l_enc_upg_option VARCHAR2(1);
116319
116320 --
116321 BEGIN
116325 END IF;
116322 --
116323 IF g_log_enabled THEN
116324 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_190';
116326 --
116327 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116328
116329 trace
116330 (p_msg => 'BEGIN of AcctLineType_190'
116331 ,p_level => C_LEVEL_PROCEDURE
116332 ,p_module => l_log_module);
116333
116334 END IF;
116335 --
116336 l_component_type := 'AMB_JLT';
116337 l_component_code := 'AP_RETAINAGE_RELEASE_ACCR';
116338 l_component_type_code := 'S';
116339 l_component_appl_id := 200;
116340 l_amb_context_code := 'DEFAULT';
116341 l_entity_code := 'AP_INVOICES';
116342 l_event_class_code := 'INVOICES';
116343 l_event_type_code := 'INVOICES_ALL';
116344 l_line_definition_owner_code := 'S';
116345 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
116346 --
116347 l_balance_type_code := 'A';
116348 l_segment := NULL;
116349 l_ccid := NULL;
116350 l_adr_transaction_coa_id := NULL;
116351 l_adr_accounting_coa_id := NULL;
116352 l_adr_flexfield_segment_code := NULL;
116353 l_adr_flex_value_set_id := NULL;
116354 l_adr_value_type_code := NULL;
116355 l_adr_value_combination_id := NULL;
116356 l_adr_value_segment_code := NULL;
116357
116358 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
116359 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
116360 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
116361 l_budgetary_control_flag := 'N';
116362
116363 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116364 l_bflow_applied_to_amt := NULL; -- 5132302
116365 l_entered_amt_idx := NULL; -- 4262811
116366 l_accted_amt_idx := NULL; -- 4262811
116367 l_acc_rev_flag := NULL; -- 4262811
116368 l_accrual_line_num := NULL; -- 4262811
116369 l_tmp_amt := NULL; -- 4262811
116370 --
116371
116372 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
116373 l_balance_type_code <> 'B' THEN
116374 IF NVL(p_source_164,'
116375 ') = 'RETAINAGE RELEASE' AND
116376 NVL(p_source_33,'
116377 ') = 'RETAINAGE'
116378 THEN
116379
116380 --
116381 XLA_AE_LINES_PKG.SetNewLine;
116382
116383 p_balance_type_code := l_balance_type_code;
116384 -- set the flag so later we will know whether the gain loss line needs to be created
116385
116386 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
116387 p_actual_flag :='A';
116388 END IF;
116389
116390 --
116391 -- bulk performance
116392 --
116393 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
116394 p_header_num => 0); -- 4262811
116395 --
116396 -- set accounting line options
116397 --
116398 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
116399 p_natural_side_code => 'D'
116400 , p_gain_or_loss_flag => 'N'
116401 , p_gl_transfer_mode_code => 'S'
116402 , p_acct_entry_type_code => 'A'
116403 , p_switch_side_flag => 'Y'
116404 , p_merge_duplicate_code => 'A'
116405 );
116406 --
116407 l_acc_rev_natural_side_code := 'C'; -- 4262811
116408 --
116409 --
116410 -- set accounting line type info
116411 --
116412 xla_ae_lines_pkg.SetAcctLineType
116413 (p_component_type => l_component_type
116414 ,p_event_type_code => l_event_type_code
116415 ,p_line_definition_owner_code => l_line_definition_owner_code
116416 ,p_line_definition_code => l_line_definition_code
116417 ,p_accounting_line_code => l_component_code
116418 ,p_accounting_line_type_code => l_component_type_code
116419 ,p_accounting_line_appl_id => l_component_appl_id
116420 ,p_amb_context_code => l_amb_context_code
116421 ,p_entity_code => l_entity_code
116422 ,p_event_class_code => l_event_class_code);
116423 --
116424 -- set accounting class
116425 --
116426 xla_ae_lines_pkg.SetAcctClass(
116427 p_accounting_class_code => 'RETAINAGE'
116428 , p_ae_header_id => l_ae_header_id
116429 );
116430
116431 --
116432 -- set rounding class
116433 --
116434 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
116435 'RETAINAGE';
116436
116437 --
116438 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
116439 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
116440 --
116441 -- bulk performance
116442 --
116443 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
116444
116445 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
116446 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
116447
116448 -- 4955764
116449 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116450 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
116451
116452 -- 4458381 Public Sector Enh
116456 --
116453
116454 --
116455 -- set accounting attributes for the line type
116457 l_entered_amt_idx := 24;
116458 l_accted_amt_idx := 26;
116459 l_bflow_applied_to_amt_idx := 7; -- 5132302
116460 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116461 l_rec_acct_attrs.array_char_value(1) := p_source_52;
116462 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116463 l_rec_acct_attrs.array_num_value(2) :=
116464 xla_ae_sources_pkg.GetSystemSourceNum(
116465 p_source_code => 'XLA_EVENT_APPL_ID'
116466 , p_source_type_code => 'Y'
116467 , p_source_application_id => 602
116468 );
116469 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116470 l_rec_acct_attrs.array_char_value(3) := p_source_54;
116471 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116472 l_rec_acct_attrs.array_char_value(4) :=
116473 xla_ae_sources_pkg.GetSystemSourceChar(
116474 p_source_code => 'XLA_ENTITY_CODE'
116475 , p_source_type_code => 'Y'
116476 , p_source_application_id => 602
116477 );
116478 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116479 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
116480 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116481 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
116482 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
116483 l_rec_acct_attrs.array_num_value(7) := p_source_72;
116484 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
116485 l_rec_acct_attrs.array_num_value(8) := p_source_90;
116486 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116487 l_rec_acct_attrs.array_char_value(9) := p_source_91;
116488 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
116489 l_rec_acct_attrs.array_char_value(10) := p_source_92;
116490 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
116491 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_166);
116492 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116493 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_167);
116494 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
116495 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
116496 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
116497 l_rec_acct_attrs.array_char_value(14) := p_source_54;
116498 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
116499 l_rec_acct_attrs.array_num_value(15) := p_source_64;
116500 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
116501 l_rec_acct_attrs.array_num_value(16) := p_source_65;
116502 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
116503 l_rec_acct_attrs.array_char_value(17) := p_source_66;
116504 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
116505 l_rec_acct_attrs.array_num_value(18) := p_source_67;
116506 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
116507 l_rec_acct_attrs.array_num_value(19) := p_source_68;
116508 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
116509 l_rec_acct_attrs.array_num_value(20) := p_source_69;
116510 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
116511 l_rec_acct_attrs.array_char_value(21) := p_source_66;
116512 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
116513 l_rec_acct_attrs.array_num_value(22) := p_source_70;
116514 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
116515 l_rec_acct_attrs.array_char_value(23) := p_source_71;
116516 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
116517 l_rec_acct_attrs.array_num_value(24) := p_source_72;
116518 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
116519 l_rec_acct_attrs.array_char_value(25) := p_source_66;
116520 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
116521 l_rec_acct_attrs.array_num_value(26) := p_source_21;
116522 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
116523 l_rec_acct_attrs.array_date_value(27) := p_source_76;
116524 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
116525 l_rec_acct_attrs.array_char_value(28) := p_source_77;
116526 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
116527 l_rec_acct_attrs.array_date_value(29) := p_source_78;
116528 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
116529 l_rec_acct_attrs.array_char_value(30) := p_source_79;
116530 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
116531 l_rec_acct_attrs.array_char_value(31) := p_source_82;
116532 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
116533 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_83);
116534 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
116535 l_rec_acct_attrs.array_char_value(33) := p_source_54;
116536 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
116537 l_rec_acct_attrs.array_num_value(34) := p_source_84;
116538 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
116539 l_rec_acct_attrs.array_num_value(35) := p_source_85;
116540 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
116541 l_rec_acct_attrs.array_num_value(36) := p_source_86;
116542 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
116543 l_rec_acct_attrs.array_num_value(37) := p_source_87;
116547 l_rec_acct_attrs.array_num_value(39) := p_source_89;
116544 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
116545 l_rec_acct_attrs.array_num_value(38) := p_source_88;
116546 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
116548
116549 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116550 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116551
116552 ---------------------------------------------------------------------------------------------------------------
116553 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116554 ---------------------------------------------------------------------------------------------------------------
116555 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116556
116557 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116558 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116559
116560 IF xla_accounting_cache_pkg.GetValueChar
116561 (p_source_code => 'LEDGER_CATEGORY_CODE'
116562 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116563 AND l_bflow_method_code = 'PRIOR_ENTRY'
116564 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116565 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116566 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116567 )
116568 THEN
116569 xla_ae_lines_pkg.BflowUpgEntry
116570 (p_business_method_code => l_bflow_method_code
116571 ,p_business_class_code => l_bflow_class_code
116572 ,p_balance_type => l_balance_type_code);
116573 ELSE
116574 NULL;
116575 XLA_AE_LINES_PKG.business_flow_validation(
116576 p_business_method_code => l_bflow_method_code
116577 ,p_business_class_code => l_bflow_class_code
116578 ,p_inherit_description_flag => l_inherit_desc_flag);
116579 END IF;
116580
116581 --
116582 -- call analytical criteria
116583 --
116584 -- Inherited Analytical Criteria for business flow method of Prior Entry.
116585 --
116586 -- call description
116587 --
116588
116589 xla_ae_lines_pkg.SetLineDescription(
116590 p_ae_header_id => l_ae_header_id
116591 ,p_description => Description_1 (
116592 p_application_id => p_application_id
116593 , p_ae_header_id => l_ae_header_id
116594 , p_source_1 => p_source_1
116595 )
116596 );
116597
116598
116599 --
116600 -- call ADRs
116601 -- Bug 4922099
116602 --
116603 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116604 (NVL(l_actual_upg_option, 'N') = 'O') OR
116605 (NVL(l_enc_upg_option, 'N') = 'O')
116606 )
116607 THEN
116608 NULL;
116609 --
116610 --
116611
116612 --
116613 --
116614 END IF;
116615 --
116616 -- Bug 4922099
116617 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
116618 (NVL(l_enc_upg_option, 'N') = 'O')
116619 ) AND
116620 (l_bflow_method_code = 'PRIOR_ENTRY')
116621 )
116622 THEN
116623 IF
116624 --
116625 1 = 1
116626 --
116627 THEN
116628 xla_accounting_err_pkg.build_message
116629 (p_appli_s_name => 'XLA'
116630 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116631 ,p_token_1 => 'LINE_NUMBER'
116632 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
116633 ,p_token_2 => 'LINE_TYPE_NAME'
116634 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
116635 l_component_type
116636 ,l_component_code
116637 ,l_component_type_code
116638 ,l_component_appl_id
116639 ,l_amb_context_code
116640 ,l_entity_code
116641 ,l_event_class_code
116642 )
116643 ,p_token_3 => 'OWNER'
116644 ,p_value_3 => xla_lookups_pkg.get_meaning(
116645 p_lookup_type => 'XLA_OWNER_TYPE'
116646 ,p_lookup_code => l_component_type_code
116647 )
116648 ,p_token_4 => 'PRODUCT_NAME'
116649 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
116650 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
116654 );
116651 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
116652 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
116653 ,p_ae_header_id => NULL
116655
116656 IF (C_LEVEL_ERROR>= g_log_level) THEN
116657 trace
116658 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116659 ,p_level => C_LEVEL_ERROR
116660 ,p_module => l_log_module);
116661 END IF;
116662 END IF;
116663 END IF;
116664 --
116665 --
116666 ------------------------------------------------------------------------------------------------
116667 -- 4219869 Business Flow
116668 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
116669 -- Prior Entry. Currently, the following code is always generated.
116670 ------------------------------------------------------------------------------------------------
116671 -- No ValidateCurrentLine for business flow method of Prior Entry
116672
116673 ------------------------------------------------------------------------------------
116674 -- 4219869 Business Flow
116675 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
116676 ------------------------------------------------------------------------------------
116677 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116678
116679 ----------------------------------------------------------------------------------
116680 -- 4219869 Business Flow
116681 -- Update journal entry status -- Need to generate this within IF <condition>
116682 ----------------------------------------------------------------------------------
116683 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116684 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
116685 ,p_balance_type_code => l_balance_type_code
116686 );
116687
116688 -------------------------------------------------------------------------------------------
116689 -- 4262811 - Generate the Accrual Reversal lines
116690 -------------------------------------------------------------------------------------------
116691 BEGIN
116692 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
116693 (g_array_event(p_event_id).array_value_num('header_index'));
116694 IF l_acc_rev_flag IS NULL THEN
116695 l_acc_rev_flag := 'N';
116696 END IF;
116697 EXCEPTION
116698 WHEN OTHERS THEN
116699 l_acc_rev_flag := 'N';
116700 END;
116701 --
116702 IF (l_acc_rev_flag = 'Y') THEN
116703
116704 -- 4645092 ------------------------------------------------------------------------------
116705 -- To allow MPA report to determine if it should generate report process
116706 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
116707 ------------------------------------------------------------------------------------------
116708
116709 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
116710 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
116711 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
116712 -- call ADRs
116713 -- Bug 4922099
116714 --
116715 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116716 (NVL(l_actual_upg_option, 'N') = 'O') OR
116717 (NVL(l_enc_upg_option, 'N') = 'O')
116718 )
116719 THEN
116720 NULL;
116721 --
116722 --
116723
116724 --
116725 --
116726 END IF;
116727
116728 --
116729 -- Update the line information that should be overwritten
116730 --
116731 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116732 p_header_num => 1);
116733 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116734
116735 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116736
116737 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116738 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116739 END IF;
116740
116741 --
116742 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116743 --
116744 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116745 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116746 ELSE
116747 ---------------------------------------------------------------------------------------------------
116748 -- 4262811a Switch Sign
116749 ---------------------------------------------------------------------------------------------------
116750 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116751 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116752 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116753 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116757 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116754 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116755 -- 5132302
116756 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116758
116759 END IF;
116760
116761 -- 4955764
116762 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116763 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116764
116765
116766 XLA_AE_LINES_PKG.ValidateCurrentLine;
116767 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116768
116769 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116770 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116771 ,p_balance_type_code => l_balance_type_code);
116772
116773 END IF;
116774
116775 -----------------------------------------------------------------------------------------
116776 -- 4262811 Multiperiod Accounting
116777 -----------------------------------------------------------------------------------------
116778 -- No MPA option is assigned.
116779
116780
116781 END IF;
116782 END IF;
116783 --
116784
116785 --
116786 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116787 trace
116788 (p_msg => 'END of AcctLineType_190'
116789 ,p_level => C_LEVEL_PROCEDURE
116790 ,p_module => l_log_module);
116791 END IF;
116792 --
116793 EXCEPTION
116794 WHEN xla_exceptions_pkg.application_exception THEN
116795 RAISE;
116796 WHEN OTHERS THEN
116797 xla_exceptions_pkg.raise_message
116798 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_190');
116799 END AcctLineType_190;
116800 --
116801
116802 ---------------------------------------
116803 --
116804 -- PRIVATE FUNCTION
116805 -- AcctLineType_191
116806 --
116807 ---------------------------------------
116808 PROCEDURE AcctLineType_191 (
116809 p_application_id IN NUMBER
116810 ,p_event_id IN NUMBER
116811 ,p_calculate_acctd_flag IN VARCHAR2
116812 ,p_calculate_g_l_flag IN VARCHAR2
116813 ,p_actual_flag IN OUT VARCHAR2
116814 ,p_balance_type_code OUT VARCHAR2
116815 ,p_gain_or_loss_ref OUT VARCHAR2
116816
116817 --Invoice Distribution Description
116818 , p_source_1 IN VARCHAR2
116819 --Invoice Distribution Ledger Amount
116820 , p_source_21 IN NUMBER
116821 --Invoice Distribution Type
116822 , p_source_33 IN VARCHAR2
116823 , p_source_33_meaning IN VARCHAR2
116824 --Self-Assessed Tax Account
116825 , p_source_49 IN NUMBER
116826 --Accounting Reversal Indicator
116827 , p_source_52 IN VARCHAR2
116828 --Distribution Link Type
116829 , p_source_54 IN VARCHAR2
116830 --Allocation to Main Distribution Identifier
116831 , p_source_56 IN NUMBER
116832 --Invoice Identifier
116833 , p_source_57 IN NUMBER
116834 --Invoice Distribution Identifier
116835 , p_source_63 IN NUMBER
116836 --Payables Encumbrance Upgrade Credit Account
116837 , p_source_64 IN NUMBER
116838 --Payables Encumbrance Upgrade Credit Amount
116839 , p_source_65 IN NUMBER
116840 --Invoice Currency Code
116841 , p_source_66 IN VARCHAR2
116842 --Payables Encumbrance Upgrade Credit Base Amount
116843 , p_source_67 IN NUMBER
116844 --Payables Encumbrance Upgrade Debit Account
116845 , p_source_68 IN NUMBER
116846 --Payables Encumbrance Upgrade Debit Amount
116847 , p_source_69 IN NUMBER
116848 --Payables Encumbrance Upgrade Debit Base Amount
116849 , p_source_70 IN NUMBER
116850 --Payables Encumbrance Upgrade Option
116851 , p_source_71 IN VARCHAR2
116852 --Invoice Distribution Amount
116853 , p_source_72 IN NUMBER
116854 --Deferred Accounting End Date
116855 , p_source_76 IN DATE
116856 --Deferred Accounting Option
116857 , p_source_77 IN VARCHAR2
116858 --Deferred Accounting Start Date
116859 , p_source_78 IN DATE
116860 --Override Accounted Amount Indicator
116861 , p_source_79 IN VARCHAR2
116862 , p_source_79_meaning IN VARCHAR2
116863 --Invoice Supplier Identifier
116864 , p_source_80 IN NUMBER
116865 --Invoice Supplier Site Identifier
116866 , p_source_81 IN NUMBER
116867 --Third Party Type
116868 , p_source_82 IN VARCHAR2
116869 --Parent Reversal Identifier
116870 , p_source_83 IN NUMBER
116871 --Invoice Distribution Statistical Amount
116872 , p_source_84 IN NUMBER
116873 --Invoice Distribution Tax Line Identifier
116874 , p_source_85 IN NUMBER
116875 --Invoice Distribution Tax Distribution Identifier from Tax
116876 , p_source_86 IN NUMBER
116877 --Invoice Distribution Summary Tax Line Identifier
116878 , p_source_87 IN NUMBER
116879 --Payables Upgrade Credit Encumbrance Type Identifier
116880 , p_source_88 IN NUMBER
116881 --Payables Upgrade Debit Encumbrance Type Identifier
116882 , p_source_89 IN NUMBER
116883 --Business Flow Accounts Payable Application Identifier
116884 , p_source_90 IN NUMBER
116888 , p_source_92 IN VARCHAR2
116885 --Business Flow Invoice Distribution Type
116886 , p_source_91 IN VARCHAR2
116887 --Business Flow Invoice Entity Code
116889 --Business Flow Invoice Distribution Identifier
116890 , p_source_93 IN NUMBER
116891 --Business Flow Invoice Identifier
116892 , p_source_94 IN NUMBER
116893 --Accrue on Receipt Option
116894 , p_source_95 IN VARCHAR2
116895 , p_source_95_meaning IN VARCHAR2
116896 --Self-Assessed Tax Flag
116897 , p_source_135 IN VARCHAR2
116898 , p_source_135_meaning IN VARCHAR2
116899 --Invoice Exchange Date
116900 , p_source_136 IN DATE
116901 --Invoice Exchange Rate
116902 , p_source_137 IN NUMBER
116903 --Invoice Exchange Rate Type
116904 , p_source_138 IN VARCHAR2
116905 )
116906 IS
116907
116908 l_component_type VARCHAR2(80);
116909 l_component_code VARCHAR2(30);
116910 l_component_type_code VARCHAR2(1);
116911 l_component_appl_id INTEGER;
116912 l_amb_context_code VARCHAR2(30);
116913 l_entity_code VARCHAR2(30);
116914 l_event_class_code VARCHAR2(30);
116915 l_ae_header_id NUMBER;
116916 l_event_type_code VARCHAR2(30);
116917 l_line_definition_code VARCHAR2(30);
116918 l_line_definition_owner_code VARCHAR2(1);
116919 --
116920 -- adr variables
116921 l_segment VARCHAR2(30);
116922 l_ccid NUMBER;
116923 l_adr_transaction_coa_id NUMBER;
116924 l_adr_accounting_coa_id NUMBER;
116925 l_adr_flexfield_segment_code VARCHAR2(30);
116926 l_adr_flex_value_set_id NUMBER;
116927 l_adr_value_type_code VARCHAR2(30);
116928 l_adr_value_combination_id NUMBER;
116929 l_adr_value_segment_code VARCHAR2(30);
116930
116931 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116932 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116933 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116934 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116935
116936 -- 4262811 Variables ------------------------------------------------------------------------------------------
116937 l_entered_amt_idx NUMBER;
116938 l_accted_amt_idx NUMBER;
116939 l_acc_rev_flag VARCHAR2(1);
116940 l_accrual_line_num NUMBER;
116941 l_tmp_amt NUMBER;
116942 l_acc_rev_natural_side_code VARCHAR2(1);
116943
116944 l_num_entries NUMBER;
116945 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116946 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116947 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116948 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116949 l_recog_line_1 NUMBER;
116950 l_recog_line_2 NUMBER;
116951
116952 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116953 l_bflow_applied_to_amt NUMBER; -- 5132302
116954 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116955
116956 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116957
116958 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116959 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116960
116961 ---------------------------------------------------------------------------------------------------------------
116962
116963
116964 --
116965 -- bulk performance
116966 --
116967 l_balance_type_code VARCHAR2(1);
116968 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116969 l_log_module VARCHAR2(240);
116970
116971 --
116972 -- Upgrade strategy
116973 --
116974 l_actual_upg_option VARCHAR2(1);
116975 l_enc_upg_option VARCHAR2(1);
116976
116977 --
116978 BEGIN
116979 --
116980 IF g_log_enabled THEN
116981 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_191';
116982 END IF;
116983 --
116984 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116985
116986 trace
116987 (p_msg => 'BEGIN of AcctLineType_191'
116988 ,p_level => C_LEVEL_PROCEDURE
116989 ,p_module => l_log_module);
116990
116991 END IF;
116992 --
116993 l_component_type := 'AMB_JLT';
116994 l_component_code := 'AP_SELF_ASSESSED_NONREC_PREPAY';
116995 l_component_type_code := 'S';
116996 l_component_appl_id := 200;
116997 l_amb_context_code := 'DEFAULT';
116998 l_entity_code := 'AP_INVOICES';
116999 l_event_class_code := 'PREPAYMENTS';
117000 l_event_type_code := 'PREPAYMENTS_ALL';
117001 l_line_definition_owner_code := 'S';
117002 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
117003 --
117004 l_balance_type_code := 'A';
117005 l_segment := NULL;
117006 l_ccid := NULL;
117007 l_adr_transaction_coa_id := NULL;
117008 l_adr_accounting_coa_id := NULL;
117009 l_adr_flexfield_segment_code := NULL;
117010 l_adr_flex_value_set_id := NULL;
117011 l_adr_value_type_code := NULL;
117012 l_adr_value_combination_id := NULL;
117013 l_adr_value_segment_code := NULL;
117014
117015 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
117019
117016 l_bflow_class_code := ''; -- 4219869 Business Flow
117017 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117018 l_budgetary_control_flag := 'N';
117020 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117021 l_bflow_applied_to_amt := NULL; -- 5132302
117022 l_entered_amt_idx := NULL; -- 4262811
117023 l_accted_amt_idx := NULL; -- 4262811
117024 l_acc_rev_flag := NULL; -- 4262811
117025 l_accrual_line_num := NULL; -- 4262811
117026 l_tmp_amt := NULL; -- 4262811
117027 --
117028
117029 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117030 l_balance_type_code <> 'B' THEN
117031 IF (NVL(p_source_33,'
117032 ') = 'NONREC_TAX' OR
117033 NVL(p_source_33,'
117034 ') = 'TERV' OR
117035 NVL(p_source_33,'
117036 ') = 'TIPV' OR
117037 NVL(p_source_33,'
117038 ') = 'TRV') AND
117039 NVL(p_source_95,'
117040 ') <> 'Y' AND
117041 NVL(p_source_135,'
117042 ') = 'Y'
117043 THEN
117044
117045 --
117046 XLA_AE_LINES_PKG.SetNewLine;
117047
117048 p_balance_type_code := l_balance_type_code;
117049 -- set the flag so later we will know whether the gain loss line needs to be created
117050
117051 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117052 p_actual_flag :='A';
117053 END IF;
117054
117055 --
117056 -- bulk performance
117057 --
117058 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117059 p_header_num => 0); -- 4262811
117060 --
117061 -- set accounting line options
117062 --
117063 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117064 p_natural_side_code => 'D'
117065 , p_gain_or_loss_flag => 'N'
117066 , p_gl_transfer_mode_code => 'S'
117067 , p_acct_entry_type_code => 'A'
117068 , p_switch_side_flag => 'Y'
117069 , p_merge_duplicate_code => 'A'
117070 );
117071 --
117072 l_acc_rev_natural_side_code := 'C'; -- 4262811
117073 --
117074 --
117075 -- set accounting line type info
117076 --
117077 xla_ae_lines_pkg.SetAcctLineType
117078 (p_component_type => l_component_type
117079 ,p_event_type_code => l_event_type_code
117080 ,p_line_definition_owner_code => l_line_definition_owner_code
117081 ,p_line_definition_code => l_line_definition_code
117082 ,p_accounting_line_code => l_component_code
117083 ,p_accounting_line_type_code => l_component_type_code
117084 ,p_accounting_line_appl_id => l_component_appl_id
117085 ,p_amb_context_code => l_amb_context_code
117086 ,p_entity_code => l_entity_code
117087 ,p_event_class_code => l_event_class_code);
117088 --
117089 -- set accounting class
117090 --
117091 xla_ae_lines_pkg.SetAcctClass(
117092 p_accounting_class_code => 'SELF_ASSESSED_TAX'
117093 , p_ae_header_id => l_ae_header_id
117094 );
117095
117096 --
117097 -- set rounding class
117098 --
117099 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117100 'SELF_ASSESSED_TAX';
117101
117102 --
117103 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
117104 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
117105 --
117106 -- bulk performance
117107 --
117108 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
117109
117110 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
117111 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
117112
117113 -- 4955764
117114 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117115 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
117116
117117 -- 4458381 Public Sector Enh
117118
117119 --
117120 -- set accounting attributes for the line type
117121 --
117122 l_entered_amt_idx := 23;
117123 l_accted_amt_idx := 28;
117124 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117125 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
117126 l_rec_acct_attrs.array_char_value(1) := p_source_52;
117127 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
117128 l_rec_acct_attrs.array_num_value(2) :=
117129 xla_ae_sources_pkg.GetSystemSourceNum(
117130 p_source_code => 'XLA_EVENT_APPL_ID'
117131 , p_source_type_code => 'Y'
117132 , p_source_application_id => 602
117133 );
117134 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
117135 l_rec_acct_attrs.array_char_value(3) := p_source_54;
117136 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
117137 l_rec_acct_attrs.array_char_value(4) :=
117138 xla_ae_sources_pkg.GetSystemSourceChar(
117139 p_source_code => 'XLA_ENTITY_CODE'
117140 , p_source_type_code => 'Y'
117141 , p_source_application_id => 602
117142 );
117146 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
117143 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
117144 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
117145 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
117147 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
117148 l_rec_acct_attrs.array_num_value(7) := p_source_90;
117149 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
117150 l_rec_acct_attrs.array_char_value(8) := p_source_91;
117151 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
117152 l_rec_acct_attrs.array_char_value(9) := p_source_92;
117153 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
117154 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
117155 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
117156 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
117157 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
117158 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
117159 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
117160 l_rec_acct_attrs.array_char_value(13) := p_source_54;
117161 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
117162 l_rec_acct_attrs.array_num_value(14) := p_source_64;
117163 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
117164 l_rec_acct_attrs.array_num_value(15) := p_source_65;
117165 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
117166 l_rec_acct_attrs.array_char_value(16) := p_source_66;
117167 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
117168 l_rec_acct_attrs.array_num_value(17) := p_source_67;
117169 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
117170 l_rec_acct_attrs.array_num_value(18) := p_source_68;
117171 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
117172 l_rec_acct_attrs.array_num_value(19) := p_source_69;
117173 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
117174 l_rec_acct_attrs.array_char_value(20) := p_source_66;
117175 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
117176 l_rec_acct_attrs.array_num_value(21) := p_source_70;
117177 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
117178 l_rec_acct_attrs.array_char_value(22) := p_source_71;
117179 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
117180 l_rec_acct_attrs.array_num_value(23) := p_source_72;
117181 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
117182 l_rec_acct_attrs.array_char_value(24) := p_source_66;
117183 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
117184 l_rec_acct_attrs.array_date_value(25) := p_source_136;
117185 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
117186 l_rec_acct_attrs.array_num_value(26) := p_source_137;
117187 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
117188 l_rec_acct_attrs.array_char_value(27) := p_source_138;
117189 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
117190 l_rec_acct_attrs.array_num_value(28) := p_source_21;
117191 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
117192 l_rec_acct_attrs.array_date_value(29) := p_source_76;
117193 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
117194 l_rec_acct_attrs.array_char_value(30) := p_source_77;
117195 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
117196 l_rec_acct_attrs.array_date_value(31) := p_source_78;
117197 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
117198 l_rec_acct_attrs.array_char_value(32) := p_source_79;
117199 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
117200 l_rec_acct_attrs.array_num_value(33) := p_source_80;
117201 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
117202 l_rec_acct_attrs.array_num_value(34) := p_source_81;
117203 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
117204 l_rec_acct_attrs.array_char_value(35) := p_source_82;
117205 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
117206 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
117207 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
117208 l_rec_acct_attrs.array_char_value(37) := p_source_54;
117209 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
117210 l_rec_acct_attrs.array_num_value(38) := p_source_84;
117211 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
117212 l_rec_acct_attrs.array_num_value(39) := p_source_85;
117213 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
117214 l_rec_acct_attrs.array_num_value(40) := p_source_86;
117215 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
117216 l_rec_acct_attrs.array_num_value(41) := p_source_87;
117217 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
117218 l_rec_acct_attrs.array_num_value(42) := p_source_88;
117219 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
117220 l_rec_acct_attrs.array_num_value(43) := p_source_89;
117221
117222 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
117223 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
117224
117225 ---------------------------------------------------------------------------------------------------------------
117226 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
117230 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117227 ---------------------------------------------------------------------------------------------------------------
117228 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
117229
117231 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117232
117233 IF xla_accounting_cache_pkg.GetValueChar
117234 (p_source_code => 'LEDGER_CATEGORY_CODE'
117235 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
117236 AND l_bflow_method_code = 'PRIOR_ENTRY'
117237 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
117238 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
117239 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
117240 )
117241 THEN
117242 xla_ae_lines_pkg.BflowUpgEntry
117243 (p_business_method_code => l_bflow_method_code
117244 ,p_business_class_code => l_bflow_class_code
117245 ,p_balance_type => l_balance_type_code);
117246 ELSE
117247 NULL;
117248 -- No business flow processing for business flow method of NONE.
117249 END IF;
117250
117251 --
117252 -- call analytical criteria
117253 --
117254
117255 --
117256 -- call description
117257 --
117258
117259 xla_ae_lines_pkg.SetLineDescription(
117260 p_ae_header_id => l_ae_header_id
117261 ,p_description => Description_1 (
117262 p_application_id => p_application_id
117263 , p_ae_header_id => l_ae_header_id
117264 , p_source_1 => p_source_1
117265 )
117266 );
117267
117268
117269 --
117270 -- call ADRs
117271 -- Bug 4922099
117272 --
117273 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117274 (NVL(l_actual_upg_option, 'N') = 'O') OR
117275 (NVL(l_enc_upg_option, 'N') = 'O')
117276 )
117277 THEN
117278 NULL;
117279 --
117280 --
117281
117282 l_ccid := AcctDerRule_41(
117283 p_application_id => p_application_id
117284 , p_ae_header_id => l_ae_header_id
117285 , p_source_49 => p_source_49
117286 , x_transaction_coa_id => l_adr_transaction_coa_id
117287 , x_accounting_coa_id => l_adr_accounting_coa_id
117288 , x_value_type_code => l_adr_value_type_code
117289 , p_side => 'NA'
117290 );
117291
117292 xla_ae_lines_pkg.set_ccid(
117293 p_code_combination_id => l_ccid
117294 , p_value_type_code => l_adr_value_type_code
117295 , p_transaction_coa_id => l_adr_transaction_coa_id
117296 , p_accounting_coa_id => l_adr_accounting_coa_id
117297 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
117298 , p_adr_type_code => 'S'
117299 , p_component_type => l_component_type
117300 , p_component_code => l_component_code
117301 , p_component_type_code => l_component_type_code
117302 , p_component_appl_id => l_component_appl_id
117303 , p_amb_context_code => l_amb_context_code
117304 , p_side => 'NA'
117305 );
117306
117307
117308 --
117309 --
117310 END IF;
117311 --
117312 -- Bug 4922099
117313 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117314 (NVL(l_enc_upg_option, 'N') = 'O')
117315 ) AND
117316 (l_bflow_method_code = 'PRIOR_ENTRY')
117317 )
117318 THEN
117319 IF
117320 --
117321 1 = 2
117322 --
117323 THEN
117324 xla_accounting_err_pkg.build_message
117325 (p_appli_s_name => 'XLA'
117326 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117327 ,p_token_1 => 'LINE_NUMBER'
117328 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117329 ,p_token_2 => 'LINE_TYPE_NAME'
117330 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117331 l_component_type
117332 ,l_component_code
117333 ,l_component_type_code
117334 ,l_component_appl_id
117335 ,l_amb_context_code
117336 ,l_entity_code
117337 ,l_event_class_code
117338 )
117339 ,p_token_3 => 'OWNER'
117340 ,p_value_3 => xla_lookups_pkg.get_meaning(
117341 p_lookup_type => 'XLA_OWNER_TYPE'
117345 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117342 ,p_lookup_code => l_component_type_code
117343 )
117344 ,p_token_4 => 'PRODUCT_NAME'
117346 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117347 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117348 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117349 ,p_ae_header_id => NULL
117350 );
117351
117352 IF (C_LEVEL_ERROR>= g_log_level) THEN
117353 trace
117354 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117355 ,p_level => C_LEVEL_ERROR
117356 ,p_module => l_log_module);
117357 END IF;
117358 END IF;
117359 END IF;
117360 --
117361 --
117362 ------------------------------------------------------------------------------------------------
117363 -- 4219869 Business Flow
117364 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117365 -- Prior Entry. Currently, the following code is always generated.
117366 ------------------------------------------------------------------------------------------------
117367 XLA_AE_LINES_PKG.ValidateCurrentLine;
117368
117369 ------------------------------------------------------------------------------------
117370 -- 4219869 Business Flow
117371 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117372 ------------------------------------------------------------------------------------
117373 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117374
117375 ----------------------------------------------------------------------------------
117376 -- 4219869 Business Flow
117377 -- Update journal entry status -- Need to generate this within IF <condition>
117378 ----------------------------------------------------------------------------------
117379 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117380 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117381 ,p_balance_type_code => l_balance_type_code
117382 );
117383
117384 -------------------------------------------------------------------------------------------
117385 -- 4262811 - Generate the Accrual Reversal lines
117386 -------------------------------------------------------------------------------------------
117387 BEGIN
117388 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117389 (g_array_event(p_event_id).array_value_num('header_index'));
117390 IF l_acc_rev_flag IS NULL THEN
117391 l_acc_rev_flag := 'N';
117392 END IF;
117393 EXCEPTION
117394 WHEN OTHERS THEN
117395 l_acc_rev_flag := 'N';
117396 END;
117397 --
117398 IF (l_acc_rev_flag = 'Y') THEN
117399
117400 -- 4645092 ------------------------------------------------------------------------------
117401 -- To allow MPA report to determine if it should generate report process
117402 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
117403 ------------------------------------------------------------------------------------------
117404
117405 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
117406 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
117407 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
117408 -- call ADRs
117409 -- Bug 4922099
117410 --
117411 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117412 (NVL(l_actual_upg_option, 'N') = 'O') OR
117413 (NVL(l_enc_upg_option, 'N') = 'O')
117414 )
117415 THEN
117416 NULL;
117417 --
117418 --
117419
117420 l_ccid := AcctDerRule_41(
117421 p_application_id => p_application_id
117422 , p_ae_header_id => l_ae_header_id
117423 , p_source_49 => p_source_49
117424 , x_transaction_coa_id => l_adr_transaction_coa_id
117425 , x_accounting_coa_id => l_adr_accounting_coa_id
117426 , x_value_type_code => l_adr_value_type_code
117427 , p_side => 'NA'
117428 );
117429
117430 xla_ae_lines_pkg.set_ccid(
117431 p_code_combination_id => l_ccid
117432 , p_value_type_code => l_adr_value_type_code
117433 , p_transaction_coa_id => l_adr_transaction_coa_id
117434 , p_accounting_coa_id => l_adr_accounting_coa_id
117435 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
117436 , p_adr_type_code => 'S'
117437 , p_component_type => l_component_type
117438 , p_component_code => l_component_code
117439 , p_component_type_code => l_component_type_code
117440 , p_component_appl_id => l_component_appl_id
117441 , p_amb_context_code => l_amb_context_code
117442 , p_side => 'NA'
117443 );
117444
117445
117446 --
117447 --
117448 END IF;
117449
117453 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
117450 --
117451 -- Update the line information that should be overwritten
117452 --
117454 p_header_num => 1);
117455 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
117456
117457 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
117458
117459 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
117460 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
117461 END IF;
117462
117463 --
117464 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
117465 --
117466 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
117467 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
117468 ELSE
117469 ---------------------------------------------------------------------------------------------------
117470 -- 4262811a Switch Sign
117471 ---------------------------------------------------------------------------------------------------
117472 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
117473 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117474 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117475 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117476 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117477 -- 5132302
117478 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
117479 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117480
117481 END IF;
117482
117483 -- 4955764
117484 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117485 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
117486
117487
117488 XLA_AE_LINES_PKG.ValidateCurrentLine;
117489 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117490
117491 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117492 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
117493 ,p_balance_type_code => l_balance_type_code);
117494
117495 END IF;
117496
117497 -----------------------------------------------------------------------------------------
117498 -- 4262811 Multiperiod Accounting
117499 -----------------------------------------------------------------------------------------
117500 -- No MPA option is assigned.
117501
117502
117503 END IF;
117504 END IF;
117505 --
117506
117507 --
117508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117509 trace
117510 (p_msg => 'END of AcctLineType_191'
117511 ,p_level => C_LEVEL_PROCEDURE
117512 ,p_module => l_log_module);
117513 END IF;
117514 --
117515 EXCEPTION
117516 WHEN xla_exceptions_pkg.application_exception THEN
117517 RAISE;
117518 WHEN OTHERS THEN
117519 xla_exceptions_pkg.raise_message
117520 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_191');
117521 END AcctLineType_191;
117522 --
117523
117524 ---------------------------------------
117525 --
117526 -- PRIVATE FUNCTION
117527 -- AcctLineType_192
117528 --
117529 ---------------------------------------
117530 PROCEDURE AcctLineType_192 (
117531 p_application_id IN NUMBER
117532 ,p_event_id IN NUMBER
117533 ,p_calculate_acctd_flag IN VARCHAR2
117534 ,p_calculate_g_l_flag IN VARCHAR2
117535 ,p_actual_flag IN OUT VARCHAR2
117536 ,p_balance_type_code OUT VARCHAR2
117537 ,p_gain_or_loss_ref OUT VARCHAR2
117538
117539 --Invoice Distribution Description
117540 , p_source_1 IN VARCHAR2
117541 --Invoice Distribution Ledger Amount
117542 , p_source_21 IN NUMBER
117543 --Invoice Distribution Type
117544 , p_source_33 IN VARCHAR2
117545 , p_source_33_meaning IN VARCHAR2
117546 --Self-Assessed Tax Account
117547 , p_source_49 IN NUMBER
117548 --Accounting Reversal Indicator
117549 , p_source_52 IN VARCHAR2
117550 --Distribution Link Type
117551 , p_source_54 IN VARCHAR2
117552 --Allocation to Main Distribution Identifier
117553 , p_source_56 IN NUMBER
117554 --Invoice Identifier
117555 , p_source_57 IN NUMBER
117556 --Invoice Distribution Identifier
117557 , p_source_63 IN NUMBER
117558 --Payables Encumbrance Upgrade Credit Account
117559 , p_source_64 IN NUMBER
117560 --Payables Encumbrance Upgrade Credit Amount
117561 , p_source_65 IN NUMBER
117562 --Invoice Currency Code
117563 , p_source_66 IN VARCHAR2
117564 --Payables Encumbrance Upgrade Credit Base Amount
117565 , p_source_67 IN NUMBER
117566 --Payables Encumbrance Upgrade Debit Account
117567 , p_source_68 IN NUMBER
117568 --Payables Encumbrance Upgrade Debit Amount
117569 , p_source_69 IN NUMBER
117570 --Payables Encumbrance Upgrade Debit Base Amount
117571 , p_source_70 IN NUMBER
117575 , p_source_72 IN NUMBER
117572 --Payables Encumbrance Upgrade Option
117573 , p_source_71 IN VARCHAR2
117574 --Invoice Distribution Amount
117576 --Deferred Accounting End Date
117577 , p_source_76 IN DATE
117578 --Deferred Accounting Option
117579 , p_source_77 IN VARCHAR2
117580 --Deferred Accounting Start Date
117581 , p_source_78 IN DATE
117582 --Override Accounted Amount Indicator
117583 , p_source_79 IN VARCHAR2
117584 , p_source_79_meaning IN VARCHAR2
117585 --Invoice Supplier Identifier
117586 , p_source_80 IN NUMBER
117587 --Invoice Supplier Site Identifier
117588 , p_source_81 IN NUMBER
117589 --Third Party Type
117590 , p_source_82 IN VARCHAR2
117591 --Parent Reversal Identifier
117592 , p_source_83 IN NUMBER
117593 --Invoice Distribution Statistical Amount
117594 , p_source_84 IN NUMBER
117595 --Invoice Distribution Tax Line Identifier
117596 , p_source_85 IN NUMBER
117597 --Invoice Distribution Tax Distribution Identifier from Tax
117598 , p_source_86 IN NUMBER
117599 --Invoice Distribution Summary Tax Line Identifier
117600 , p_source_87 IN NUMBER
117601 --Payables Upgrade Credit Encumbrance Type Identifier
117602 , p_source_88 IN NUMBER
117603 --Payables Upgrade Debit Encumbrance Type Identifier
117604 , p_source_89 IN NUMBER
117605 --Business Flow Accounts Payable Application Identifier
117606 , p_source_90 IN NUMBER
117607 --Business Flow Invoice Distribution Type
117608 , p_source_91 IN VARCHAR2
117609 --Business Flow Invoice Entity Code
117610 , p_source_92 IN VARCHAR2
117611 --Business Flow Invoice Distribution Identifier
117612 , p_source_93 IN NUMBER
117613 --Business Flow Invoice Identifier
117614 , p_source_94 IN NUMBER
117615 --Accrue on Receipt Option
117616 , p_source_95 IN VARCHAR2
117617 , p_source_95_meaning IN VARCHAR2
117618 --Self-Assessed Tax Flag
117619 , p_source_135 IN VARCHAR2
117620 , p_source_135_meaning IN VARCHAR2
117621 --Invoice Exchange Date
117622 , p_source_136 IN DATE
117623 --Invoice Exchange Rate
117624 , p_source_137 IN NUMBER
117625 --Invoice Exchange Rate Type
117626 , p_source_138 IN VARCHAR2
117627 )
117628 IS
117629
117630 l_component_type VARCHAR2(80);
117631 l_component_code VARCHAR2(30);
117632 l_component_type_code VARCHAR2(1);
117633 l_component_appl_id INTEGER;
117634 l_amb_context_code VARCHAR2(30);
117635 l_entity_code VARCHAR2(30);
117636 l_event_class_code VARCHAR2(30);
117637 l_ae_header_id NUMBER;
117638 l_event_type_code VARCHAR2(30);
117639 l_line_definition_code VARCHAR2(30);
117640 l_line_definition_owner_code VARCHAR2(1);
117641 --
117642 -- adr variables
117643 l_segment VARCHAR2(30);
117644 l_ccid NUMBER;
117645 l_adr_transaction_coa_id NUMBER;
117646 l_adr_accounting_coa_id NUMBER;
117647 l_adr_flexfield_segment_code VARCHAR2(30);
117648 l_adr_flex_value_set_id NUMBER;
117649 l_adr_value_type_code VARCHAR2(30);
117650 l_adr_value_combination_id NUMBER;
117651 l_adr_value_segment_code VARCHAR2(30);
117652
117653 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
117654 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
117655 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
117656 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
117657
117658 -- 4262811 Variables ------------------------------------------------------------------------------------------
117659 l_entered_amt_idx NUMBER;
117660 l_accted_amt_idx NUMBER;
117661 l_acc_rev_flag VARCHAR2(1);
117662 l_accrual_line_num NUMBER;
117663 l_tmp_amt NUMBER;
117664 l_acc_rev_natural_side_code VARCHAR2(1);
117665
117666 l_num_entries NUMBER;
117667 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
117668 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
117669 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
117670 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
117671 l_recog_line_1 NUMBER;
117672 l_recog_line_2 NUMBER;
117673
117674 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
117675 l_bflow_applied_to_amt NUMBER; -- 5132302
117676 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
117677
117678 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
117679
117680 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
117681 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
117682
117683 ---------------------------------------------------------------------------------------------------------------
117684
117685
117686 --
117687 -- bulk performance
117688 --
117689 l_balance_type_code VARCHAR2(1);
117690 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
117691 l_log_module VARCHAR2(240);
117692
117693 --
117694 -- Upgrade strategy
117695 --
117696 l_actual_upg_option VARCHAR2(1);
117697 l_enc_upg_option VARCHAR2(1);
117698
117699 --
117703 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_192';
117700 BEGIN
117701 --
117702 IF g_log_enabled THEN
117704 END IF;
117705 --
117706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117707
117708 trace
117709 (p_msg => 'BEGIN of AcctLineType_192'
117710 ,p_level => C_LEVEL_PROCEDURE
117711 ,p_module => l_log_module);
117712
117713 END IF;
117714 --
117715 l_component_type := 'AMB_JLT';
117716 l_component_code := 'AP_SELF_ASSESSED_NON_REC_CM';
117717 l_component_type_code := 'S';
117718 l_component_appl_id := 200;
117719 l_amb_context_code := 'DEFAULT';
117720 l_entity_code := 'AP_INVOICES';
117721 l_event_class_code := 'CREDIT MEMOS';
117722 l_event_type_code := 'CREDIT MEMOS_ALL';
117723 l_line_definition_owner_code := 'S';
117724 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
117725 --
117726 l_balance_type_code := 'A';
117727 l_segment := NULL;
117728 l_ccid := NULL;
117729 l_adr_transaction_coa_id := NULL;
117730 l_adr_accounting_coa_id := NULL;
117731 l_adr_flexfield_segment_code := NULL;
117732 l_adr_flex_value_set_id := NULL;
117733 l_adr_value_type_code := NULL;
117734 l_adr_value_combination_id := NULL;
117735 l_adr_value_segment_code := NULL;
117736
117737 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
117738 l_bflow_class_code := ''; -- 4219869 Business Flow
117739 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117740 l_budgetary_control_flag := 'N';
117741
117742 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117743 l_bflow_applied_to_amt := NULL; -- 5132302
117744 l_entered_amt_idx := NULL; -- 4262811
117745 l_accted_amt_idx := NULL; -- 4262811
117746 l_acc_rev_flag := NULL; -- 4262811
117747 l_accrual_line_num := NULL; -- 4262811
117748 l_tmp_amt := NULL; -- 4262811
117749 --
117750
117751 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117752 l_balance_type_code <> 'B' THEN
117753 IF (NVL(p_source_33,'
117754 ') = 'NONREC_TAX' OR
117755 NVL(p_source_33,'
117756 ') = 'TERV' OR
117757 NVL(p_source_33,'
117758 ') = 'TIPV' OR
117759 NVL(p_source_33,'
117760 ') = 'TRV') AND
117761 NVL(p_source_95,'
117762 ') <> 'Y' AND
117763 NVL(p_source_135,'
117764 ') = 'Y'
117765 THEN
117766
117767 --
117768 XLA_AE_LINES_PKG.SetNewLine;
117769
117770 p_balance_type_code := l_balance_type_code;
117771 -- set the flag so later we will know whether the gain loss line needs to be created
117772
117773 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117774 p_actual_flag :='A';
117775 END IF;
117776
117777 --
117778 -- bulk performance
117779 --
117780 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117781 p_header_num => 0); -- 4262811
117782 --
117783 -- set accounting line options
117784 --
117785 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117786 p_natural_side_code => 'D'
117787 , p_gain_or_loss_flag => 'N'
117788 , p_gl_transfer_mode_code => 'S'
117789 , p_acct_entry_type_code => 'A'
117790 , p_switch_side_flag => 'Y'
117791 , p_merge_duplicate_code => 'A'
117792 );
117793 --
117794 l_acc_rev_natural_side_code := 'C'; -- 4262811
117795 --
117796 --
117797 -- set accounting line type info
117798 --
117799 xla_ae_lines_pkg.SetAcctLineType
117800 (p_component_type => l_component_type
117801 ,p_event_type_code => l_event_type_code
117802 ,p_line_definition_owner_code => l_line_definition_owner_code
117803 ,p_line_definition_code => l_line_definition_code
117804 ,p_accounting_line_code => l_component_code
117805 ,p_accounting_line_type_code => l_component_type_code
117806 ,p_accounting_line_appl_id => l_component_appl_id
117807 ,p_amb_context_code => l_amb_context_code
117808 ,p_entity_code => l_entity_code
117809 ,p_event_class_code => l_event_class_code);
117810 --
117811 -- set accounting class
117812 --
117813 xla_ae_lines_pkg.SetAcctClass(
117814 p_accounting_class_code => 'SELF_ASSESSED_TAX'
117815 , p_ae_header_id => l_ae_header_id
117816 );
117817
117818 --
117819 -- set rounding class
117820 --
117821 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117822 'SELF_ASSESSED_TAX';
117823
117824 --
117825 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
117826 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
117827 --
117828 -- bulk performance
117829 --
117830 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
117831
117832 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
117833 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
117834
117838
117835 -- 4955764
117836 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117837 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
117839 -- 4458381 Public Sector Enh
117840
117841 --
117842 -- set accounting attributes for the line type
117843 --
117844 l_entered_amt_idx := 23;
117845 l_accted_amt_idx := 28;
117846 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117847 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
117848 l_rec_acct_attrs.array_char_value(1) := p_source_52;
117849 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
117850 l_rec_acct_attrs.array_num_value(2) :=
117851 xla_ae_sources_pkg.GetSystemSourceNum(
117852 p_source_code => 'XLA_EVENT_APPL_ID'
117853 , p_source_type_code => 'Y'
117854 , p_source_application_id => 602
117855 );
117856 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
117857 l_rec_acct_attrs.array_char_value(3) := p_source_54;
117858 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
117859 l_rec_acct_attrs.array_char_value(4) :=
117860 xla_ae_sources_pkg.GetSystemSourceChar(
117861 p_source_code => 'XLA_ENTITY_CODE'
117862 , p_source_type_code => 'Y'
117863 , p_source_application_id => 602
117864 );
117865 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
117866 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
117867 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
117868 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
117869 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
117870 l_rec_acct_attrs.array_num_value(7) := p_source_90;
117871 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
117872 l_rec_acct_attrs.array_char_value(8) := p_source_91;
117873 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
117874 l_rec_acct_attrs.array_char_value(9) := p_source_92;
117875 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
117876 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
117877 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
117878 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
117879 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
117880 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
117881 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
117882 l_rec_acct_attrs.array_char_value(13) := p_source_54;
117883 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
117884 l_rec_acct_attrs.array_num_value(14) := p_source_64;
117885 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
117886 l_rec_acct_attrs.array_num_value(15) := p_source_65;
117887 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
117888 l_rec_acct_attrs.array_char_value(16) := p_source_66;
117889 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
117890 l_rec_acct_attrs.array_num_value(17) := p_source_67;
117891 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
117892 l_rec_acct_attrs.array_num_value(18) := p_source_68;
117893 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
117894 l_rec_acct_attrs.array_num_value(19) := p_source_69;
117895 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
117896 l_rec_acct_attrs.array_char_value(20) := p_source_66;
117897 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
117898 l_rec_acct_attrs.array_num_value(21) := p_source_70;
117899 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
117900 l_rec_acct_attrs.array_char_value(22) := p_source_71;
117901 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
117902 l_rec_acct_attrs.array_num_value(23) := p_source_72;
117903 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
117904 l_rec_acct_attrs.array_char_value(24) := p_source_66;
117905 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
117906 l_rec_acct_attrs.array_date_value(25) := p_source_136;
117907 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
117908 l_rec_acct_attrs.array_num_value(26) := p_source_137;
117909 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
117910 l_rec_acct_attrs.array_char_value(27) := p_source_138;
117911 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
117912 l_rec_acct_attrs.array_num_value(28) := p_source_21;
117913 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
117914 l_rec_acct_attrs.array_date_value(29) := p_source_76;
117915 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
117916 l_rec_acct_attrs.array_char_value(30) := p_source_77;
117917 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
117918 l_rec_acct_attrs.array_date_value(31) := p_source_78;
117919 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
117920 l_rec_acct_attrs.array_char_value(32) := p_source_79;
117921 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
117922 l_rec_acct_attrs.array_num_value(33) := p_source_80;
117923 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
117924 l_rec_acct_attrs.array_num_value(34) := p_source_81;
117925 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
117926 l_rec_acct_attrs.array_char_value(35) := p_source_82;
117930 l_rec_acct_attrs.array_char_value(37) := p_source_54;
117927 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
117928 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
117929 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
117931 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
117932 l_rec_acct_attrs.array_num_value(38) := p_source_84;
117933 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
117934 l_rec_acct_attrs.array_num_value(39) := p_source_85;
117935 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
117936 l_rec_acct_attrs.array_num_value(40) := p_source_86;
117937 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
117938 l_rec_acct_attrs.array_num_value(41) := p_source_87;
117939 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
117940 l_rec_acct_attrs.array_num_value(42) := p_source_88;
117941 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
117942 l_rec_acct_attrs.array_num_value(43) := p_source_89;
117943
117944 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
117945 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
117946
117947 ---------------------------------------------------------------------------------------------------------------
117948 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
117949 ---------------------------------------------------------------------------------------------------------------
117950 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
117951
117952 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117953 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117954
117955 IF xla_accounting_cache_pkg.GetValueChar
117956 (p_source_code => 'LEDGER_CATEGORY_CODE'
117957 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
117958 AND l_bflow_method_code = 'PRIOR_ENTRY'
117959 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
117960 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
117961 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
117962 )
117963 THEN
117964 xla_ae_lines_pkg.BflowUpgEntry
117965 (p_business_method_code => l_bflow_method_code
117966 ,p_business_class_code => l_bflow_class_code
117967 ,p_balance_type => l_balance_type_code);
117968 ELSE
117969 NULL;
117970 -- No business flow processing for business flow method of NONE.
117971 END IF;
117972
117973 --
117974 -- call analytical criteria
117975 --
117976
117977 --
117978 -- call description
117979 --
117980
117981 xla_ae_lines_pkg.SetLineDescription(
117982 p_ae_header_id => l_ae_header_id
117983 ,p_description => Description_1 (
117984 p_application_id => p_application_id
117985 , p_ae_header_id => l_ae_header_id
117986 , p_source_1 => p_source_1
117987 )
117988 );
117989
117990
117991 --
117992 -- call ADRs
117993 -- Bug 4922099
117994 --
117995 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117996 (NVL(l_actual_upg_option, 'N') = 'O') OR
117997 (NVL(l_enc_upg_option, 'N') = 'O')
117998 )
117999 THEN
118000 NULL;
118001 --
118002 --
118003
118004 l_ccid := AcctDerRule_41(
118005 p_application_id => p_application_id
118006 , p_ae_header_id => l_ae_header_id
118007 , p_source_49 => p_source_49
118008 , x_transaction_coa_id => l_adr_transaction_coa_id
118009 , x_accounting_coa_id => l_adr_accounting_coa_id
118010 , x_value_type_code => l_adr_value_type_code
118011 , p_side => 'NA'
118012 );
118013
118014 xla_ae_lines_pkg.set_ccid(
118015 p_code_combination_id => l_ccid
118016 , p_value_type_code => l_adr_value_type_code
118017 , p_transaction_coa_id => l_adr_transaction_coa_id
118018 , p_accounting_coa_id => l_adr_accounting_coa_id
118019 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118020 , p_adr_type_code => 'S'
118021 , p_component_type => l_component_type
118022 , p_component_code => l_component_code
118023 , p_component_type_code => l_component_type_code
118024 , p_component_appl_id => l_component_appl_id
118025 , p_amb_context_code => l_amb_context_code
118026 , p_side => 'NA'
118027 );
118028
118029
118030 --
118031 --
118032 END IF;
118033 --
118034 -- Bug 4922099
118035 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118036 (NVL(l_enc_upg_option, 'N') = 'O')
118037 ) AND
118038 (l_bflow_method_code = 'PRIOR_ENTRY')
118039 )
118040 THEN
118041 IF
118042 --
118043 1 = 2
118044 --
118045 THEN
118046 xla_accounting_err_pkg.build_message
118047 (p_appli_s_name => 'XLA'
118051 ,p_token_2 => 'LINE_TYPE_NAME'
118048 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118049 ,p_token_1 => 'LINE_NUMBER'
118050 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118052 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118053 l_component_type
118054 ,l_component_code
118055 ,l_component_type_code
118056 ,l_component_appl_id
118057 ,l_amb_context_code
118058 ,l_entity_code
118059 ,l_event_class_code
118060 )
118061 ,p_token_3 => 'OWNER'
118062 ,p_value_3 => xla_lookups_pkg.get_meaning(
118063 p_lookup_type => 'XLA_OWNER_TYPE'
118064 ,p_lookup_code => l_component_type_code
118065 )
118066 ,p_token_4 => 'PRODUCT_NAME'
118067 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118068 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118069 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118070 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118071 ,p_ae_header_id => NULL
118072 );
118073
118074 IF (C_LEVEL_ERROR>= g_log_level) THEN
118075 trace
118076 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118077 ,p_level => C_LEVEL_ERROR
118078 ,p_module => l_log_module);
118079 END IF;
118080 END IF;
118081 END IF;
118082 --
118083 --
118084 ------------------------------------------------------------------------------------------------
118085 -- 4219869 Business Flow
118086 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118087 -- Prior Entry. Currently, the following code is always generated.
118088 ------------------------------------------------------------------------------------------------
118089 XLA_AE_LINES_PKG.ValidateCurrentLine;
118090
118091 ------------------------------------------------------------------------------------
118092 -- 4219869 Business Flow
118093 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118094 ------------------------------------------------------------------------------------
118095 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118096
118097 ----------------------------------------------------------------------------------
118098 -- 4219869 Business Flow
118099 -- Update journal entry status -- Need to generate this within IF <condition>
118100 ----------------------------------------------------------------------------------
118101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118103 ,p_balance_type_code => l_balance_type_code
118104 );
118105
118106 -------------------------------------------------------------------------------------------
118107 -- 4262811 - Generate the Accrual Reversal lines
118108 -------------------------------------------------------------------------------------------
118109 BEGIN
118110 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
118111 (g_array_event(p_event_id).array_value_num('header_index'));
118112 IF l_acc_rev_flag IS NULL THEN
118113 l_acc_rev_flag := 'N';
118114 END IF;
118115 EXCEPTION
118116 WHEN OTHERS THEN
118117 l_acc_rev_flag := 'N';
118118 END;
118119 --
118120 IF (l_acc_rev_flag = 'Y') THEN
118121
118122 -- 4645092 ------------------------------------------------------------------------------
118123 -- To allow MPA report to determine if it should generate report process
118124 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118125 ------------------------------------------------------------------------------------------
118126
118127 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118128 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118129 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118130 -- call ADRs
118131 -- Bug 4922099
118132 --
118133 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118134 (NVL(l_actual_upg_option, 'N') = 'O') OR
118135 (NVL(l_enc_upg_option, 'N') = 'O')
118136 )
118137 THEN
118138 NULL;
118142 l_ccid := AcctDerRule_41(
118139 --
118140 --
118141
118143 p_application_id => p_application_id
118144 , p_ae_header_id => l_ae_header_id
118145 , p_source_49 => p_source_49
118146 , x_transaction_coa_id => l_adr_transaction_coa_id
118147 , x_accounting_coa_id => l_adr_accounting_coa_id
118148 , x_value_type_code => l_adr_value_type_code
118149 , p_side => 'NA'
118150 );
118151
118152 xla_ae_lines_pkg.set_ccid(
118153 p_code_combination_id => l_ccid
118154 , p_value_type_code => l_adr_value_type_code
118155 , p_transaction_coa_id => l_adr_transaction_coa_id
118156 , p_accounting_coa_id => l_adr_accounting_coa_id
118157 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118158 , p_adr_type_code => 'S'
118159 , p_component_type => l_component_type
118160 , p_component_code => l_component_code
118161 , p_component_type_code => l_component_type_code
118162 , p_component_appl_id => l_component_appl_id
118163 , p_amb_context_code => l_amb_context_code
118164 , p_side => 'NA'
118165 );
118166
118167
118168 --
118169 --
118170 END IF;
118171
118172 --
118173 -- Update the line information that should be overwritten
118174 --
118175 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118176 p_header_num => 1);
118177 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118178
118179 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118180
118181 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118182 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118183 END IF;
118184
118185 --
118186 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118187 --
118188 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118189 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118190 ELSE
118191 ---------------------------------------------------------------------------------------------------
118192 -- 4262811a Switch Sign
118193 ---------------------------------------------------------------------------------------------------
118194 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118195 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118196 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118197 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118198 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118199 -- 5132302
118200 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118201 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118202
118203 END IF;
118204
118205 -- 4955764
118206 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118207 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118208
118209
118210 XLA_AE_LINES_PKG.ValidateCurrentLine;
118211 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118212
118213 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118214 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118215 ,p_balance_type_code => l_balance_type_code);
118216
118217 END IF;
118218
118219 -----------------------------------------------------------------------------------------
118220 -- 4262811 Multiperiod Accounting
118221 -----------------------------------------------------------------------------------------
118222 -- No MPA option is assigned.
118223
118224
118225 END IF;
118226 END IF;
118227 --
118228
118229 --
118230 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118231 trace
118232 (p_msg => 'END of AcctLineType_192'
118233 ,p_level => C_LEVEL_PROCEDURE
118234 ,p_module => l_log_module);
118235 END IF;
118236 --
118237 EXCEPTION
118238 WHEN xla_exceptions_pkg.application_exception THEN
118239 RAISE;
118240 WHEN OTHERS THEN
118241 xla_exceptions_pkg.raise_message
118242 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_192');
118243 END AcctLineType_192;
118244 --
118245
118246 ---------------------------------------
118247 --
118248 -- PRIVATE FUNCTION
118249 -- AcctLineType_193
118250 --
118251 ---------------------------------------
118252 PROCEDURE AcctLineType_193 (
118253 p_application_id IN NUMBER
118254 ,p_event_id IN NUMBER
118255 ,p_calculate_acctd_flag IN VARCHAR2
118256 ,p_calculate_g_l_flag IN VARCHAR2
118257 ,p_actual_flag IN OUT VARCHAR2
118258 ,p_balance_type_code OUT VARCHAR2
118259 ,p_gain_or_loss_ref OUT VARCHAR2
118260
118261 --Invoice Distribution Description
118262 , p_source_1 IN VARCHAR2
118266 , p_source_33 IN VARCHAR2
118263 --Invoice Distribution Ledger Amount
118264 , p_source_21 IN NUMBER
118265 --Invoice Distribution Type
118267 , p_source_33_meaning IN VARCHAR2
118268 --Self-Assessed Tax Account
118269 , p_source_49 IN NUMBER
118270 --Accounting Reversal Indicator
118271 , p_source_52 IN VARCHAR2
118272 --Distribution Link Type
118273 , p_source_54 IN VARCHAR2
118274 --Allocation to Main Distribution Identifier
118275 , p_source_56 IN NUMBER
118276 --Invoice Identifier
118277 , p_source_57 IN NUMBER
118278 --Invoice Distribution Identifier
118279 , p_source_63 IN NUMBER
118280 --Payables Encumbrance Upgrade Credit Account
118281 , p_source_64 IN NUMBER
118282 --Payables Encumbrance Upgrade Credit Amount
118283 , p_source_65 IN NUMBER
118284 --Invoice Currency Code
118285 , p_source_66 IN VARCHAR2
118286 --Payables Encumbrance Upgrade Credit Base Amount
118287 , p_source_67 IN NUMBER
118288 --Payables Encumbrance Upgrade Debit Account
118289 , p_source_68 IN NUMBER
118290 --Payables Encumbrance Upgrade Debit Amount
118291 , p_source_69 IN NUMBER
118292 --Payables Encumbrance Upgrade Debit Base Amount
118293 , p_source_70 IN NUMBER
118294 --Payables Encumbrance Upgrade Option
118295 , p_source_71 IN VARCHAR2
118296 --Invoice Distribution Amount
118297 , p_source_72 IN NUMBER
118298 --Deferred Accounting End Date
118299 , p_source_76 IN DATE
118300 --Deferred Accounting Option
118301 , p_source_77 IN VARCHAR2
118302 --Deferred Accounting Start Date
118303 , p_source_78 IN DATE
118304 --Override Accounted Amount Indicator
118305 , p_source_79 IN VARCHAR2
118306 , p_source_79_meaning IN VARCHAR2
118307 --Invoice Supplier Identifier
118308 , p_source_80 IN NUMBER
118309 --Invoice Supplier Site Identifier
118310 , p_source_81 IN NUMBER
118311 --Third Party Type
118312 , p_source_82 IN VARCHAR2
118313 --Parent Reversal Identifier
118314 , p_source_83 IN NUMBER
118315 --Invoice Distribution Tax Line Identifier
118316 , p_source_85 IN NUMBER
118317 --Invoice Distribution Tax Distribution Identifier from Tax
118318 , p_source_86 IN NUMBER
118319 --Invoice Distribution Summary Tax Line Identifier
118320 , p_source_87 IN NUMBER
118321 --Payables Upgrade Credit Encumbrance Type Identifier
118322 , p_source_88 IN NUMBER
118323 --Payables Upgrade Debit Encumbrance Type Identifier
118324 , p_source_89 IN NUMBER
118325 --Business Flow Accounts Payable Application Identifier
118326 , p_source_90 IN NUMBER
118327 --Business Flow Invoice Distribution Type
118328 , p_source_91 IN VARCHAR2
118329 --Business Flow Invoice Entity Code
118330 , p_source_92 IN VARCHAR2
118331 --Business Flow Invoice Distribution Identifier
118332 , p_source_93 IN NUMBER
118333 --Business Flow Invoice Identifier
118334 , p_source_94 IN NUMBER
118335 --Accrue on Receipt Option
118336 , p_source_95 IN VARCHAR2
118337 , p_source_95_meaning IN VARCHAR2
118338 --Self-Assessed Tax Flag
118339 , p_source_135 IN VARCHAR2
118340 , p_source_135_meaning IN VARCHAR2
118341 --Invoice Exchange Date
118342 , p_source_136 IN DATE
118343 --Invoice Exchange Rate
118344 , p_source_137 IN NUMBER
118345 --Invoice Exchange Rate Type
118346 , p_source_138 IN VARCHAR2
118347 )
118348 IS
118349
118350 l_component_type VARCHAR2(80);
118351 l_component_code VARCHAR2(30);
118352 l_component_type_code VARCHAR2(1);
118353 l_component_appl_id INTEGER;
118354 l_amb_context_code VARCHAR2(30);
118355 l_entity_code VARCHAR2(30);
118356 l_event_class_code VARCHAR2(30);
118357 l_ae_header_id NUMBER;
118358 l_event_type_code VARCHAR2(30);
118359 l_line_definition_code VARCHAR2(30);
118360 l_line_definition_owner_code VARCHAR2(1);
118361 --
118362 -- adr variables
118363 l_segment VARCHAR2(30);
118364 l_ccid NUMBER;
118365 l_adr_transaction_coa_id NUMBER;
118366 l_adr_accounting_coa_id NUMBER;
118367 l_adr_flexfield_segment_code VARCHAR2(30);
118368 l_adr_flex_value_set_id NUMBER;
118369 l_adr_value_type_code VARCHAR2(30);
118370 l_adr_value_combination_id NUMBER;
118371 l_adr_value_segment_code VARCHAR2(30);
118372
118373 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118374 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118375 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118376 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118377
118378 -- 4262811 Variables ------------------------------------------------------------------------------------------
118379 l_entered_amt_idx NUMBER;
118380 l_accted_amt_idx NUMBER;
118381 l_acc_rev_flag VARCHAR2(1);
118382 l_accrual_line_num NUMBER;
118383 l_tmp_amt NUMBER;
118384 l_acc_rev_natural_side_code VARCHAR2(1);
118385
118386 l_num_entries NUMBER;
118387 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118391 l_recog_line_1 NUMBER;
118388 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118389 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118390 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118392 l_recog_line_2 NUMBER;
118393
118394 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118395 l_bflow_applied_to_amt NUMBER; -- 5132302
118396 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118397
118398 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118399
118400 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118401 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118402
118403 ---------------------------------------------------------------------------------------------------------------
118404
118405
118406 --
118407 -- bulk performance
118408 --
118409 l_balance_type_code VARCHAR2(1);
118410 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118411 l_log_module VARCHAR2(240);
118412
118413 --
118414 -- Upgrade strategy
118415 --
118416 l_actual_upg_option VARCHAR2(1);
118417 l_enc_upg_option VARCHAR2(1);
118418
118419 --
118420 BEGIN
118421 --
118422 IF g_log_enabled THEN
118423 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_193';
118424 END IF;
118425 --
118426 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118427
118428 trace
118429 (p_msg => 'BEGIN of AcctLineType_193'
118430 ,p_level => C_LEVEL_PROCEDURE
118431 ,p_module => l_log_module);
118432
118433 END IF;
118434 --
118435 l_component_type := 'AMB_JLT';
118436 l_component_code := 'AP_SELF_ASSESSED_NON_REC_DM';
118437 l_component_type_code := 'S';
118438 l_component_appl_id := 200;
118439 l_amb_context_code := 'DEFAULT';
118440 l_entity_code := 'AP_INVOICES';
118441 l_event_class_code := 'DEBIT MEMOS';
118442 l_event_type_code := 'DEBIT MEMOS_ALL';
118443 l_line_definition_owner_code := 'S';
118444 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
118445 --
118446 l_balance_type_code := 'A';
118447 l_segment := NULL;
118448 l_ccid := NULL;
118449 l_adr_transaction_coa_id := NULL;
118450 l_adr_accounting_coa_id := NULL;
118451 l_adr_flexfield_segment_code := NULL;
118452 l_adr_flex_value_set_id := NULL;
118453 l_adr_value_type_code := NULL;
118454 l_adr_value_combination_id := NULL;
118455 l_adr_value_segment_code := NULL;
118456
118457 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
118458 l_bflow_class_code := ''; -- 4219869 Business Flow
118459 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
118460 l_budgetary_control_flag := 'N';
118461
118462 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118463 l_bflow_applied_to_amt := NULL; -- 5132302
118464 l_entered_amt_idx := NULL; -- 4262811
118465 l_accted_amt_idx := NULL; -- 4262811
118466 l_acc_rev_flag := NULL; -- 4262811
118467 l_accrual_line_num := NULL; -- 4262811
118468 l_tmp_amt := NULL; -- 4262811
118469 --
118470
118471 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
118472 l_balance_type_code <> 'B' THEN
118473 IF (NVL(p_source_33,'
118474 ') = 'NONREC_TAX' OR
118475 NVL(p_source_33,'
118476 ') = 'TERV' OR
118477 NVL(p_source_33,'
118478 ') = 'TIPV' OR
118479 NVL(p_source_33,'
118480 ') = 'TRV') AND
118481 NVL(p_source_95,'
118482 ') <> 'Y' AND
118483 NVL(p_source_135,'
118484 ') = 'Y'
118485 THEN
118486
118487 --
118488 XLA_AE_LINES_PKG.SetNewLine;
118489
118490 p_balance_type_code := l_balance_type_code;
118491 -- set the flag so later we will know whether the gain loss line needs to be created
118492
118493 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
118494 p_actual_flag :='A';
118495 END IF;
118496
118497 --
118498 -- bulk performance
118499 --
118500 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
118501 p_header_num => 0); -- 4262811
118502 --
118503 -- set accounting line options
118504 --
118505 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
118506 p_natural_side_code => 'D'
118507 , p_gain_or_loss_flag => 'N'
118508 , p_gl_transfer_mode_code => 'S'
118509 , p_acct_entry_type_code => 'A'
118510 , p_switch_side_flag => 'Y'
118511 , p_merge_duplicate_code => 'A'
118512 );
118513 --
118514 l_acc_rev_natural_side_code := 'C'; -- 4262811
118515 --
118516 --
118517 -- set accounting line type info
118518 --
118519 xla_ae_lines_pkg.SetAcctLineType
118520 (p_component_type => l_component_type
118521 ,p_event_type_code => l_event_type_code
118522 ,p_line_definition_owner_code => l_line_definition_owner_code
118526 ,p_accounting_line_appl_id => l_component_appl_id
118523 ,p_line_definition_code => l_line_definition_code
118524 ,p_accounting_line_code => l_component_code
118525 ,p_accounting_line_type_code => l_component_type_code
118527 ,p_amb_context_code => l_amb_context_code
118528 ,p_entity_code => l_entity_code
118529 ,p_event_class_code => l_event_class_code);
118530 --
118531 -- set accounting class
118532 --
118533 xla_ae_lines_pkg.SetAcctClass(
118534 p_accounting_class_code => 'SELF_ASSESSED_TAX'
118535 , p_ae_header_id => l_ae_header_id
118536 );
118537
118538 --
118539 -- set rounding class
118540 --
118541 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
118542 'SELF_ASSESSED_TAX';
118543
118544 --
118545 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118546 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118547 --
118548 -- bulk performance
118549 --
118550 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118551
118552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118553 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118554
118555 -- 4955764
118556 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118557 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118558
118559 -- 4458381 Public Sector Enh
118560
118561 --
118562 -- set accounting attributes for the line type
118563 --
118564 l_entered_amt_idx := 23;
118565 l_accted_amt_idx := 28;
118566 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118567 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118568 l_rec_acct_attrs.array_char_value(1) := p_source_52;
118569 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
118570 l_rec_acct_attrs.array_num_value(2) :=
118571 xla_ae_sources_pkg.GetSystemSourceNum(
118572 p_source_code => 'XLA_EVENT_APPL_ID'
118573 , p_source_type_code => 'Y'
118574 , p_source_application_id => 602
118575 );
118576 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
118577 l_rec_acct_attrs.array_char_value(3) := p_source_54;
118578 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
118579 l_rec_acct_attrs.array_char_value(4) :=
118580 xla_ae_sources_pkg.GetSystemSourceChar(
118581 p_source_code => 'XLA_ENTITY_CODE'
118582 , p_source_type_code => 'Y'
118583 , p_source_application_id => 602
118584 );
118585 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
118586 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
118587 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
118588 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
118589 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
118590 l_rec_acct_attrs.array_num_value(7) := p_source_90;
118591 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
118592 l_rec_acct_attrs.array_char_value(8) := p_source_91;
118593 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
118594 l_rec_acct_attrs.array_char_value(9) := p_source_92;
118595 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
118596 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
118597 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
118598 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
118599 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
118600 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
118601 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
118602 l_rec_acct_attrs.array_char_value(13) := p_source_54;
118603 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
118604 l_rec_acct_attrs.array_num_value(14) := p_source_64;
118605 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
118606 l_rec_acct_attrs.array_num_value(15) := p_source_65;
118607 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
118608 l_rec_acct_attrs.array_char_value(16) := p_source_66;
118609 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
118610 l_rec_acct_attrs.array_num_value(17) := p_source_67;
118611 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
118612 l_rec_acct_attrs.array_num_value(18) := p_source_68;
118613 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
118614 l_rec_acct_attrs.array_num_value(19) := p_source_69;
118615 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
118616 l_rec_acct_attrs.array_char_value(20) := p_source_66;
118617 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
118618 l_rec_acct_attrs.array_num_value(21) := p_source_70;
118619 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
118620 l_rec_acct_attrs.array_char_value(22) := p_source_71;
118621 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
118622 l_rec_acct_attrs.array_num_value(23) := p_source_72;
118626 l_rec_acct_attrs.array_date_value(25) := p_source_136;
118623 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
118624 l_rec_acct_attrs.array_char_value(24) := p_source_66;
118625 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
118627 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
118628 l_rec_acct_attrs.array_num_value(26) := p_source_137;
118629 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
118630 l_rec_acct_attrs.array_char_value(27) := p_source_138;
118631 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
118632 l_rec_acct_attrs.array_num_value(28) := p_source_21;
118633 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
118634 l_rec_acct_attrs.array_date_value(29) := p_source_76;
118635 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
118636 l_rec_acct_attrs.array_char_value(30) := p_source_77;
118637 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
118638 l_rec_acct_attrs.array_date_value(31) := p_source_78;
118639 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
118640 l_rec_acct_attrs.array_char_value(32) := p_source_79;
118641 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
118642 l_rec_acct_attrs.array_num_value(33) := p_source_80;
118643 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
118644 l_rec_acct_attrs.array_num_value(34) := p_source_81;
118645 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
118646 l_rec_acct_attrs.array_char_value(35) := p_source_82;
118647 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
118648 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
118649 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
118650 l_rec_acct_attrs.array_char_value(37) := p_source_54;
118651 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
118652 l_rec_acct_attrs.array_num_value(38) := p_source_85;
118653 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
118654 l_rec_acct_attrs.array_num_value(39) := p_source_86;
118655 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
118656 l_rec_acct_attrs.array_num_value(40) := p_source_87;
118657 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
118658 l_rec_acct_attrs.array_num_value(41) := p_source_88;
118659 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
118660 l_rec_acct_attrs.array_num_value(42) := p_source_89;
118661
118662 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
118663 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
118664
118665 ---------------------------------------------------------------------------------------------------------------
118666 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
118667 ---------------------------------------------------------------------------------------------------------------
118668 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
118669
118670 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118671 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118672
118673 IF xla_accounting_cache_pkg.GetValueChar
118674 (p_source_code => 'LEDGER_CATEGORY_CODE'
118675 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
118676 AND l_bflow_method_code = 'PRIOR_ENTRY'
118677 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
118678 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
118679 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
118680 )
118681 THEN
118682 xla_ae_lines_pkg.BflowUpgEntry
118683 (p_business_method_code => l_bflow_method_code
118684 ,p_business_class_code => l_bflow_class_code
118685 ,p_balance_type => l_balance_type_code);
118686 ELSE
118687 NULL;
118688 -- No business flow processing for business flow method of NONE.
118689 END IF;
118690
118691 --
118692 -- call analytical criteria
118693 --
118694
118695 --
118696 -- call description
118697 --
118698
118699 xla_ae_lines_pkg.SetLineDescription(
118700 p_ae_header_id => l_ae_header_id
118701 ,p_description => Description_1 (
118702 p_application_id => p_application_id
118703 , p_ae_header_id => l_ae_header_id
118704 , p_source_1 => p_source_1
118705 )
118706 );
118707
118708
118709 --
118710 -- call ADRs
118711 -- Bug 4922099
118712 --
118713 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118714 (NVL(l_actual_upg_option, 'N') = 'O') OR
118715 (NVL(l_enc_upg_option, 'N') = 'O')
118716 )
118717 THEN
118718 NULL;
118719 --
118720 --
118721
118722 l_ccid := AcctDerRule_41(
118723 p_application_id => p_application_id
118724 , p_ae_header_id => l_ae_header_id
118725 , p_source_49 => p_source_49
118726 , x_transaction_coa_id => l_adr_transaction_coa_id
118727 , x_accounting_coa_id => l_adr_accounting_coa_id
118728 , x_value_type_code => l_adr_value_type_code
118729 , p_side => 'NA'
118730 );
118734 , p_value_type_code => l_adr_value_type_code
118731
118732 xla_ae_lines_pkg.set_ccid(
118733 p_code_combination_id => l_ccid
118735 , p_transaction_coa_id => l_adr_transaction_coa_id
118736 , p_accounting_coa_id => l_adr_accounting_coa_id
118737 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118738 , p_adr_type_code => 'S'
118739 , p_component_type => l_component_type
118740 , p_component_code => l_component_code
118741 , p_component_type_code => l_component_type_code
118742 , p_component_appl_id => l_component_appl_id
118743 , p_amb_context_code => l_amb_context_code
118744 , p_side => 'NA'
118745 );
118746
118747
118748 --
118749 --
118750 END IF;
118751 --
118752 -- Bug 4922099
118753 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118754 (NVL(l_enc_upg_option, 'N') = 'O')
118755 ) AND
118756 (l_bflow_method_code = 'PRIOR_ENTRY')
118757 )
118758 THEN
118759 IF
118760 --
118761 1 = 2
118762 --
118763 THEN
118764 xla_accounting_err_pkg.build_message
118765 (p_appli_s_name => 'XLA'
118766 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118767 ,p_token_1 => 'LINE_NUMBER'
118768 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118769 ,p_token_2 => 'LINE_TYPE_NAME'
118770 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118771 l_component_type
118772 ,l_component_code
118773 ,l_component_type_code
118774 ,l_component_appl_id
118775 ,l_amb_context_code
118776 ,l_entity_code
118777 ,l_event_class_code
118778 )
118779 ,p_token_3 => 'OWNER'
118780 ,p_value_3 => xla_lookups_pkg.get_meaning(
118781 p_lookup_type => 'XLA_OWNER_TYPE'
118782 ,p_lookup_code => l_component_type_code
118783 )
118784 ,p_token_4 => 'PRODUCT_NAME'
118785 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118786 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118787 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118788 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118789 ,p_ae_header_id => NULL
118790 );
118791
118792 IF (C_LEVEL_ERROR>= g_log_level) THEN
118793 trace
118794 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118795 ,p_level => C_LEVEL_ERROR
118796 ,p_module => l_log_module);
118797 END IF;
118798 END IF;
118799 END IF;
118800 --
118801 --
118802 ------------------------------------------------------------------------------------------------
118803 -- 4219869 Business Flow
118804 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118805 -- Prior Entry. Currently, the following code is always generated.
118806 ------------------------------------------------------------------------------------------------
118807 XLA_AE_LINES_PKG.ValidateCurrentLine;
118808
118809 ------------------------------------------------------------------------------------
118810 -- 4219869 Business Flow
118811 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118812 ------------------------------------------------------------------------------------
118813 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118814
118815 ----------------------------------------------------------------------------------
118816 -- 4219869 Business Flow
118817 -- Update journal entry status -- Need to generate this within IF <condition>
118818 ----------------------------------------------------------------------------------
118819 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118820 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118821 ,p_balance_type_code => l_balance_type_code
118822 );
118823
118824 -------------------------------------------------------------------------------------------
118825 -- 4262811 - Generate the Accrual Reversal lines
118826 -------------------------------------------------------------------------------------------
118827 BEGIN
118831 l_acc_rev_flag := 'N';
118828 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
118829 (g_array_event(p_event_id).array_value_num('header_index'));
118830 IF l_acc_rev_flag IS NULL THEN
118832 END IF;
118833 EXCEPTION
118834 WHEN OTHERS THEN
118835 l_acc_rev_flag := 'N';
118836 END;
118837 --
118838 IF (l_acc_rev_flag = 'Y') THEN
118839
118840 -- 4645092 ------------------------------------------------------------------------------
118841 -- To allow MPA report to determine if it should generate report process
118842 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118843 ------------------------------------------------------------------------------------------
118844
118845 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118846 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118847 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118848 -- call ADRs
118849 -- Bug 4922099
118850 --
118851 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118852 (NVL(l_actual_upg_option, 'N') = 'O') OR
118853 (NVL(l_enc_upg_option, 'N') = 'O')
118854 )
118855 THEN
118856 NULL;
118857 --
118858 --
118859
118860 l_ccid := AcctDerRule_41(
118861 p_application_id => p_application_id
118862 , p_ae_header_id => l_ae_header_id
118863 , p_source_49 => p_source_49
118864 , x_transaction_coa_id => l_adr_transaction_coa_id
118865 , x_accounting_coa_id => l_adr_accounting_coa_id
118866 , x_value_type_code => l_adr_value_type_code
118867 , p_side => 'NA'
118868 );
118869
118870 xla_ae_lines_pkg.set_ccid(
118871 p_code_combination_id => l_ccid
118872 , p_value_type_code => l_adr_value_type_code
118873 , p_transaction_coa_id => l_adr_transaction_coa_id
118874 , p_accounting_coa_id => l_adr_accounting_coa_id
118875 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118876 , p_adr_type_code => 'S'
118877 , p_component_type => l_component_type
118878 , p_component_code => l_component_code
118879 , p_component_type_code => l_component_type_code
118880 , p_component_appl_id => l_component_appl_id
118881 , p_amb_context_code => l_amb_context_code
118882 , p_side => 'NA'
118883 );
118884
118885
118886 --
118887 --
118888 END IF;
118889
118890 --
118891 -- Update the line information that should be overwritten
118892 --
118893 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118894 p_header_num => 1);
118895 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118896
118897 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118898
118899 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118900 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118901 END IF;
118902
118903 --
118904 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118905 --
118906 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118907 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118908 ELSE
118909 ---------------------------------------------------------------------------------------------------
118910 -- 4262811a Switch Sign
118911 ---------------------------------------------------------------------------------------------------
118912 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118914 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118915 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118916 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118917 -- 5132302
118918 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118919 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118920
118921 END IF;
118922
118923 -- 4955764
118924 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118925 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118926
118927
118928 XLA_AE_LINES_PKG.ValidateCurrentLine;
118929 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118930
118931 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118932 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118933 ,p_balance_type_code => l_balance_type_code);
118934
118935 END IF;
118936
118937 -----------------------------------------------------------------------------------------
118938 -- 4262811 Multiperiod Accounting
118942
118939 -----------------------------------------------------------------------------------------
118940 -- No MPA option is assigned.
118941
118943 END IF;
118944 END IF;
118945 --
118946
118947 --
118948 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118949 trace
118950 (p_msg => 'END of AcctLineType_193'
118951 ,p_level => C_LEVEL_PROCEDURE
118952 ,p_module => l_log_module);
118953 END IF;
118954 --
118955 EXCEPTION
118956 WHEN xla_exceptions_pkg.application_exception THEN
118957 RAISE;
118958 WHEN OTHERS THEN
118959 xla_exceptions_pkg.raise_message
118960 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_193');
118961 END AcctLineType_193;
118962 --
118963
118964 ---------------------------------------
118965 --
118966 -- PRIVATE FUNCTION
118967 -- AcctLineType_194
118968 --
118969 ---------------------------------------
118970 PROCEDURE AcctLineType_194 (
118971 p_application_id IN NUMBER
118972 ,p_event_id IN NUMBER
118973 ,p_calculate_acctd_flag IN VARCHAR2
118974 ,p_calculate_g_l_flag IN VARCHAR2
118975 ,p_actual_flag IN OUT VARCHAR2
118976 ,p_balance_type_code OUT VARCHAR2
118977 ,p_gain_or_loss_ref OUT VARCHAR2
118978
118979 --Invoice Distribution Description
118980 , p_source_1 IN VARCHAR2
118981 --Invoice Distribution Ledger Amount
118982 , p_source_21 IN NUMBER
118983 --Invoice Distribution Type
118984 , p_source_33 IN VARCHAR2
118985 , p_source_33_meaning IN VARCHAR2
118986 --Self-Assessed Tax Account
118987 , p_source_49 IN NUMBER
118988 --Accounting Reversal Indicator
118989 , p_source_52 IN VARCHAR2
118990 --Distribution Link Type
118991 , p_source_54 IN VARCHAR2
118992 --Allocation to Main Distribution Identifier
118993 , p_source_56 IN NUMBER
118994 --Invoice Identifier
118995 , p_source_57 IN NUMBER
118996 --Invoice Distribution Identifier
118997 , p_source_63 IN NUMBER
118998 --Payables Encumbrance Upgrade Credit Account
118999 , p_source_64 IN NUMBER
119000 --Payables Encumbrance Upgrade Credit Amount
119001 , p_source_65 IN NUMBER
119002 --Invoice Currency Code
119003 , p_source_66 IN VARCHAR2
119004 --Payables Encumbrance Upgrade Credit Base Amount
119005 , p_source_67 IN NUMBER
119006 --Payables Encumbrance Upgrade Debit Account
119007 , p_source_68 IN NUMBER
119008 --Payables Encumbrance Upgrade Debit Amount
119009 , p_source_69 IN NUMBER
119010 --Payables Encumbrance Upgrade Debit Base Amount
119011 , p_source_70 IN NUMBER
119012 --Payables Encumbrance Upgrade Option
119013 , p_source_71 IN VARCHAR2
119014 --Invoice Distribution Amount
119015 , p_source_72 IN NUMBER
119016 --Deferred Accounting End Date
119017 , p_source_76 IN DATE
119018 --Deferred Accounting Option
119019 , p_source_77 IN VARCHAR2
119020 --Deferred Accounting Start Date
119021 , p_source_78 IN DATE
119022 --Override Accounted Amount Indicator
119023 , p_source_79 IN VARCHAR2
119024 , p_source_79_meaning IN VARCHAR2
119025 --Invoice Supplier Identifier
119026 , p_source_80 IN NUMBER
119027 --Invoice Supplier Site Identifier
119028 , p_source_81 IN NUMBER
119029 --Third Party Type
119030 , p_source_82 IN VARCHAR2
119031 --Parent Reversal Identifier
119032 , p_source_83 IN NUMBER
119033 --Invoice Distribution Statistical Amount
119034 , p_source_84 IN NUMBER
119035 --Invoice Distribution Tax Line Identifier
119036 , p_source_85 IN NUMBER
119037 --Invoice Distribution Tax Distribution Identifier from Tax
119038 , p_source_86 IN NUMBER
119039 --Invoice Distribution Summary Tax Line Identifier
119040 , p_source_87 IN NUMBER
119041 --Payables Upgrade Credit Encumbrance Type Identifier
119042 , p_source_88 IN NUMBER
119043 --Payables Upgrade Debit Encumbrance Type Identifier
119044 , p_source_89 IN NUMBER
119045 --Business Flow Accounts Payable Application Identifier
119046 , p_source_90 IN NUMBER
119047 --Business Flow Invoice Distribution Type
119048 , p_source_91 IN VARCHAR2
119049 --Business Flow Invoice Entity Code
119050 , p_source_92 IN VARCHAR2
119051 --Business Flow Invoice Distribution Identifier
119052 , p_source_93 IN NUMBER
119053 --Business Flow Invoice Identifier
119054 , p_source_94 IN NUMBER
119055 --Accrue on Receipt Option
119056 , p_source_95 IN VARCHAR2
119057 , p_source_95_meaning IN VARCHAR2
119058 --Self-Assessed Tax Flag
119059 , p_source_135 IN VARCHAR2
119060 , p_source_135_meaning IN VARCHAR2
119061 --Invoice Exchange Date
119062 , p_source_136 IN DATE
119063 --Invoice Exchange Rate
119064 , p_source_137 IN NUMBER
119065 --Invoice Exchange Rate Type
119066 , p_source_138 IN VARCHAR2
119067 )
119068 IS
119069
119070 l_component_type VARCHAR2(80);
119071 l_component_code VARCHAR2(30);
119072 l_component_type_code VARCHAR2(1);
119073 l_component_appl_id INTEGER;
119074 l_amb_context_code VARCHAR2(30);
119075 l_entity_code VARCHAR2(30);
119076 l_event_class_code VARCHAR2(30);
119080 l_line_definition_owner_code VARCHAR2(1);
119077 l_ae_header_id NUMBER;
119078 l_event_type_code VARCHAR2(30);
119079 l_line_definition_code VARCHAR2(30);
119081 --
119082 -- adr variables
119083 l_segment VARCHAR2(30);
119084 l_ccid NUMBER;
119085 l_adr_transaction_coa_id NUMBER;
119086 l_adr_accounting_coa_id NUMBER;
119087 l_adr_flexfield_segment_code VARCHAR2(30);
119088 l_adr_flex_value_set_id NUMBER;
119089 l_adr_value_type_code VARCHAR2(30);
119090 l_adr_value_combination_id NUMBER;
119091 l_adr_value_segment_code VARCHAR2(30);
119092
119093 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119094 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119095 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119096 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119097
119098 -- 4262811 Variables ------------------------------------------------------------------------------------------
119099 l_entered_amt_idx NUMBER;
119100 l_accted_amt_idx NUMBER;
119101 l_acc_rev_flag VARCHAR2(1);
119102 l_accrual_line_num NUMBER;
119103 l_tmp_amt NUMBER;
119104 l_acc_rev_natural_side_code VARCHAR2(1);
119105
119106 l_num_entries NUMBER;
119107 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
119108 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
119109 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
119110 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
119111 l_recog_line_1 NUMBER;
119112 l_recog_line_2 NUMBER;
119113
119114 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
119115 l_bflow_applied_to_amt NUMBER; -- 5132302
119116 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
119117
119118 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
119119
119120 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
119121 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
119122
119123 ---------------------------------------------------------------------------------------------------------------
119124
119125
119126 --
119127 -- bulk performance
119128 --
119129 l_balance_type_code VARCHAR2(1);
119130 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
119131 l_log_module VARCHAR2(240);
119132
119133 --
119134 -- Upgrade strategy
119135 --
119136 l_actual_upg_option VARCHAR2(1);
119137 l_enc_upg_option VARCHAR2(1);
119138
119139 --
119140 BEGIN
119141 --
119142 IF g_log_enabled THEN
119143 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_194';
119144 END IF;
119145 --
119146 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119147
119148 trace
119149 (p_msg => 'BEGIN of AcctLineType_194'
119150 ,p_level => C_LEVEL_PROCEDURE
119151 ,p_module => l_log_module);
119152
119153 END IF;
119154 --
119155 l_component_type := 'AMB_JLT';
119156 l_component_code := 'AP_SELF_ASSESSED_NON_REC_INV';
119157 l_component_type_code := 'S';
119158 l_component_appl_id := 200;
119159 l_amb_context_code := 'DEFAULT';
119160 l_entity_code := 'AP_INVOICES';
119161 l_event_class_code := 'INVOICES';
119162 l_event_type_code := 'INVOICES_ALL';
119163 l_line_definition_owner_code := 'S';
119164 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
119165 --
119166 l_balance_type_code := 'A';
119167 l_segment := NULL;
119168 l_ccid := NULL;
119169 l_adr_transaction_coa_id := NULL;
119170 l_adr_accounting_coa_id := NULL;
119171 l_adr_flexfield_segment_code := NULL;
119172 l_adr_flex_value_set_id := NULL;
119173 l_adr_value_type_code := NULL;
119174 l_adr_value_combination_id := NULL;
119175 l_adr_value_segment_code := NULL;
119176
119177 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119178 l_bflow_class_code := ''; -- 4219869 Business Flow
119179 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119180 l_budgetary_control_flag := 'N';
119181
119182 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119183 l_bflow_applied_to_amt := NULL; -- 5132302
119184 l_entered_amt_idx := NULL; -- 4262811
119185 l_accted_amt_idx := NULL; -- 4262811
119186 l_acc_rev_flag := NULL; -- 4262811
119187 l_accrual_line_num := NULL; -- 4262811
119188 l_tmp_amt := NULL; -- 4262811
119189 --
119190
119191 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119192 l_balance_type_code <> 'B' THEN
119193 IF (NVL(p_source_33,'
119194 ') = 'NONREC_TAX' OR
119195 NVL(p_source_33,'
119196 ') = 'TERV' OR
119197 NVL(p_source_33,'
119198 ') = 'TIPV' OR
119199 NVL(p_source_33,'
119200 ') = 'TRV') AND
119201 NVL(p_source_95,'
119202 ') <> 'Y' AND
119203 NVL(p_source_135,'
119204 ') = 'Y'
119205 THEN
119209
119206
119207 --
119208 XLA_AE_LINES_PKG.SetNewLine;
119210 p_balance_type_code := l_balance_type_code;
119211 -- set the flag so later we will know whether the gain loss line needs to be created
119212
119213 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119214 p_actual_flag :='A';
119215 END IF;
119216
119217 --
119218 -- bulk performance
119219 --
119220 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119221 p_header_num => 0); -- 4262811
119222 --
119223 -- set accounting line options
119224 --
119225 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119226 p_natural_side_code => 'D'
119227 , p_gain_or_loss_flag => 'N'
119228 , p_gl_transfer_mode_code => 'S'
119229 , p_acct_entry_type_code => 'A'
119230 , p_switch_side_flag => 'Y'
119231 , p_merge_duplicate_code => 'A'
119232 );
119233 --
119234 l_acc_rev_natural_side_code := 'C'; -- 4262811
119235 --
119236 --
119237 -- set accounting line type info
119238 --
119239 xla_ae_lines_pkg.SetAcctLineType
119240 (p_component_type => l_component_type
119241 ,p_event_type_code => l_event_type_code
119242 ,p_line_definition_owner_code => l_line_definition_owner_code
119243 ,p_line_definition_code => l_line_definition_code
119244 ,p_accounting_line_code => l_component_code
119245 ,p_accounting_line_type_code => l_component_type_code
119246 ,p_accounting_line_appl_id => l_component_appl_id
119247 ,p_amb_context_code => l_amb_context_code
119248 ,p_entity_code => l_entity_code
119249 ,p_event_class_code => l_event_class_code);
119250 --
119251 -- set accounting class
119252 --
119253 xla_ae_lines_pkg.SetAcctClass(
119254 p_accounting_class_code => 'SELF_ASSESSED_TAX'
119255 , p_ae_header_id => l_ae_header_id
119256 );
119257
119258 --
119259 -- set rounding class
119260 --
119261 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119262 'SELF_ASSESSED_TAX';
119263
119264 --
119265 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119266 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119267 --
119268 -- bulk performance
119269 --
119270 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119271
119272 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119273 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119274
119275 -- 4955764
119276 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119277 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119278
119279 -- 4458381 Public Sector Enh
119280
119281 --
119282 -- set accounting attributes for the line type
119283 --
119284 l_entered_amt_idx := 24;
119285 l_accted_amt_idx := 29;
119286 l_bflow_applied_to_amt_idx := 7; -- 5132302
119287 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
119288 l_rec_acct_attrs.array_char_value(1) := p_source_52;
119289 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119290 l_rec_acct_attrs.array_num_value(2) :=
119291 xla_ae_sources_pkg.GetSystemSourceNum(
119292 p_source_code => 'XLA_EVENT_APPL_ID'
119293 , p_source_type_code => 'Y'
119294 , p_source_application_id => 602
119295 );
119296 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119297 l_rec_acct_attrs.array_char_value(3) := p_source_54;
119298 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119299 l_rec_acct_attrs.array_char_value(4) :=
119300 xla_ae_sources_pkg.GetSystemSourceChar(
119301 p_source_code => 'XLA_ENTITY_CODE'
119302 , p_source_type_code => 'Y'
119303 , p_source_application_id => 602
119304 );
119305 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119306 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
119307 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119308 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
119309 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
119310 l_rec_acct_attrs.array_num_value(7) := p_source_72;
119311 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
119312 l_rec_acct_attrs.array_num_value(8) := p_source_90;
119313 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119314 l_rec_acct_attrs.array_char_value(9) := p_source_91;
119315 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
119316 l_rec_acct_attrs.array_char_value(10) := p_source_92;
119317 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
119318 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
119319 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119320 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
119321 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
119325 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
119322 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
119323 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
119324 l_rec_acct_attrs.array_char_value(14) := p_source_54;
119326 l_rec_acct_attrs.array_num_value(15) := p_source_64;
119327 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
119328 l_rec_acct_attrs.array_num_value(16) := p_source_65;
119329 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
119330 l_rec_acct_attrs.array_char_value(17) := p_source_66;
119331 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
119332 l_rec_acct_attrs.array_num_value(18) := p_source_67;
119333 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
119334 l_rec_acct_attrs.array_num_value(19) := p_source_68;
119335 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
119336 l_rec_acct_attrs.array_num_value(20) := p_source_69;
119337 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
119338 l_rec_acct_attrs.array_char_value(21) := p_source_66;
119339 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
119340 l_rec_acct_attrs.array_num_value(22) := p_source_70;
119341 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
119342 l_rec_acct_attrs.array_char_value(23) := p_source_71;
119343 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
119344 l_rec_acct_attrs.array_num_value(24) := p_source_72;
119345 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
119346 l_rec_acct_attrs.array_char_value(25) := p_source_66;
119347 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
119348 l_rec_acct_attrs.array_date_value(26) := p_source_136;
119349 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
119350 l_rec_acct_attrs.array_num_value(27) := p_source_137;
119351 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
119352 l_rec_acct_attrs.array_char_value(28) := p_source_138;
119353 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
119354 l_rec_acct_attrs.array_num_value(29) := p_source_21;
119355 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
119356 l_rec_acct_attrs.array_date_value(30) := p_source_76;
119357 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
119358 l_rec_acct_attrs.array_char_value(31) := p_source_77;
119359 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
119360 l_rec_acct_attrs.array_date_value(32) := p_source_78;
119361 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
119362 l_rec_acct_attrs.array_char_value(33) := p_source_79;
119363 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
119364 l_rec_acct_attrs.array_num_value(34) := p_source_80;
119365 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
119366 l_rec_acct_attrs.array_num_value(35) := p_source_81;
119367 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
119368 l_rec_acct_attrs.array_char_value(36) := p_source_82;
119369 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
119370 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
119371 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
119372 l_rec_acct_attrs.array_char_value(38) := p_source_54;
119373 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
119374 l_rec_acct_attrs.array_num_value(39) := p_source_84;
119375 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
119376 l_rec_acct_attrs.array_num_value(40) := p_source_85;
119377 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
119378 l_rec_acct_attrs.array_num_value(41) := p_source_86;
119379 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
119380 l_rec_acct_attrs.array_num_value(42) := p_source_87;
119381 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
119382 l_rec_acct_attrs.array_num_value(43) := p_source_88;
119383 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
119384 l_rec_acct_attrs.array_num_value(44) := p_source_89;
119385
119386 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119387 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119388
119389 ---------------------------------------------------------------------------------------------------------------
119390 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119391 ---------------------------------------------------------------------------------------------------------------
119392 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119393
119394 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119395 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119396
119397 IF xla_accounting_cache_pkg.GetValueChar
119398 (p_source_code => 'LEDGER_CATEGORY_CODE'
119399 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119400 AND l_bflow_method_code = 'PRIOR_ENTRY'
119401 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119402 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119403 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119404 )
119405 THEN
119406 xla_ae_lines_pkg.BflowUpgEntry
119407 (p_business_method_code => l_bflow_method_code
119411 NULL;
119408 ,p_business_class_code => l_bflow_class_code
119409 ,p_balance_type => l_balance_type_code);
119410 ELSE
119412 -- No business flow processing for business flow method of NONE.
119413 END IF;
119414
119415 --
119416 -- call analytical criteria
119417 --
119418
119419 --
119420 -- call description
119421 --
119422
119423 xla_ae_lines_pkg.SetLineDescription(
119424 p_ae_header_id => l_ae_header_id
119425 ,p_description => Description_1 (
119426 p_application_id => p_application_id
119427 , p_ae_header_id => l_ae_header_id
119428 , p_source_1 => p_source_1
119429 )
119430 );
119431
119432
119433 --
119434 -- call ADRs
119435 -- Bug 4922099
119436 --
119437 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119438 (NVL(l_actual_upg_option, 'N') = 'O') OR
119439 (NVL(l_enc_upg_option, 'N') = 'O')
119440 )
119441 THEN
119442 NULL;
119443 --
119444 --
119445
119446 l_ccid := AcctDerRule_41(
119447 p_application_id => p_application_id
119448 , p_ae_header_id => l_ae_header_id
119449 , p_source_49 => p_source_49
119450 , x_transaction_coa_id => l_adr_transaction_coa_id
119451 , x_accounting_coa_id => l_adr_accounting_coa_id
119452 , x_value_type_code => l_adr_value_type_code
119453 , p_side => 'NA'
119454 );
119455
119456 xla_ae_lines_pkg.set_ccid(
119457 p_code_combination_id => l_ccid
119458 , p_value_type_code => l_adr_value_type_code
119459 , p_transaction_coa_id => l_adr_transaction_coa_id
119460 , p_accounting_coa_id => l_adr_accounting_coa_id
119461 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119462 , p_adr_type_code => 'S'
119463 , p_component_type => l_component_type
119464 , p_component_code => l_component_code
119465 , p_component_type_code => l_component_type_code
119466 , p_component_appl_id => l_component_appl_id
119467 , p_amb_context_code => l_amb_context_code
119468 , p_side => 'NA'
119469 );
119470
119471
119472 --
119473 --
119474 END IF;
119475 --
119476 -- Bug 4922099
119477 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
119478 (NVL(l_enc_upg_option, 'N') = 'O')
119479 ) AND
119480 (l_bflow_method_code = 'PRIOR_ENTRY')
119481 )
119482 THEN
119483 IF
119484 --
119485 1 = 2
119486 --
119487 THEN
119488 xla_accounting_err_pkg.build_message
119489 (p_appli_s_name => 'XLA'
119490 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119491 ,p_token_1 => 'LINE_NUMBER'
119492 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
119493 ,p_token_2 => 'LINE_TYPE_NAME'
119494 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
119495 l_component_type
119496 ,l_component_code
119497 ,l_component_type_code
119498 ,l_component_appl_id
119499 ,l_amb_context_code
119500 ,l_entity_code
119501 ,l_event_class_code
119502 )
119503 ,p_token_3 => 'OWNER'
119504 ,p_value_3 => xla_lookups_pkg.get_meaning(
119505 p_lookup_type => 'XLA_OWNER_TYPE'
119506 ,p_lookup_code => l_component_type_code
119507 )
119508 ,p_token_4 => 'PRODUCT_NAME'
119509 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
119510 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
119511 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
119512 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
119513 ,p_ae_header_id => NULL
119514 );
119515
119516 IF (C_LEVEL_ERROR>= g_log_level) THEN
119517 trace
119518 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119519 ,p_level => C_LEVEL_ERROR
119520 ,p_module => l_log_module);
119521 END IF;
119522 END IF;
119523 END IF;
119524 --
119525 --
119529 -- Prior Entry. Currently, the following code is always generated.
119526 ------------------------------------------------------------------------------------------------
119527 -- 4219869 Business Flow
119528 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
119530 ------------------------------------------------------------------------------------------------
119531 XLA_AE_LINES_PKG.ValidateCurrentLine;
119532
119533 ------------------------------------------------------------------------------------
119534 -- 4219869 Business Flow
119535 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
119536 ------------------------------------------------------------------------------------
119537 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119538
119539 ----------------------------------------------------------------------------------
119540 -- 4219869 Business Flow
119541 -- Update journal entry status -- Need to generate this within IF <condition>
119542 ----------------------------------------------------------------------------------
119543 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119544 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
119545 ,p_balance_type_code => l_balance_type_code
119546 );
119547
119548 -------------------------------------------------------------------------------------------
119549 -- 4262811 - Generate the Accrual Reversal lines
119550 -------------------------------------------------------------------------------------------
119551 BEGIN
119552 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119553 (g_array_event(p_event_id).array_value_num('header_index'));
119554 IF l_acc_rev_flag IS NULL THEN
119555 l_acc_rev_flag := 'N';
119556 END IF;
119557 EXCEPTION
119558 WHEN OTHERS THEN
119559 l_acc_rev_flag := 'N';
119560 END;
119561 --
119562 IF (l_acc_rev_flag = 'Y') THEN
119563
119564 -- 4645092 ------------------------------------------------------------------------------
119565 -- To allow MPA report to determine if it should generate report process
119566 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
119567 ------------------------------------------------------------------------------------------
119568
119569 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
119570 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
119571 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
119572 -- call ADRs
119573 -- Bug 4922099
119574 --
119575 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119576 (NVL(l_actual_upg_option, 'N') = 'O') OR
119577 (NVL(l_enc_upg_option, 'N') = 'O')
119578 )
119579 THEN
119580 NULL;
119581 --
119582 --
119583
119584 l_ccid := AcctDerRule_41(
119585 p_application_id => p_application_id
119586 , p_ae_header_id => l_ae_header_id
119587 , p_source_49 => p_source_49
119588 , x_transaction_coa_id => l_adr_transaction_coa_id
119589 , x_accounting_coa_id => l_adr_accounting_coa_id
119590 , x_value_type_code => l_adr_value_type_code
119591 , p_side => 'NA'
119592 );
119593
119594 xla_ae_lines_pkg.set_ccid(
119595 p_code_combination_id => l_ccid
119596 , p_value_type_code => l_adr_value_type_code
119597 , p_transaction_coa_id => l_adr_transaction_coa_id
119598 , p_accounting_coa_id => l_adr_accounting_coa_id
119599 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119600 , p_adr_type_code => 'S'
119601 , p_component_type => l_component_type
119602 , p_component_code => l_component_code
119603 , p_component_type_code => l_component_type_code
119604 , p_component_appl_id => l_component_appl_id
119605 , p_amb_context_code => l_amb_context_code
119606 , p_side => 'NA'
119607 );
119608
119609
119610 --
119611 --
119612 END IF;
119613
119614 --
119615 -- Update the line information that should be overwritten
119616 --
119617 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
119618 p_header_num => 1);
119619 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
119620
119621 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
119622
119623 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
119624 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
119625 END IF;
119626
119627 --
119628 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
119629 --
119630 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
119631 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
119632 ELSE
119633 ---------------------------------------------------------------------------------------------------
119634 -- 4262811a Switch Sign
119638 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119635 ---------------------------------------------------------------------------------------------------
119636 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
119637 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119639 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119640 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119641 -- 5132302
119642 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
119643 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119644
119645 END IF;
119646
119647 -- 4955764
119648 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119649 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
119650
119651
119652 XLA_AE_LINES_PKG.ValidateCurrentLine;
119653 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119654
119655 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119656 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
119657 ,p_balance_type_code => l_balance_type_code);
119658
119659 END IF;
119660
119661 -----------------------------------------------------------------------------------------
119662 -- 4262811 Multiperiod Accounting
119663 -----------------------------------------------------------------------------------------
119664 -- No MPA option is assigned.
119665
119666
119667 END IF;
119668 END IF;
119669 --
119670
119671 --
119672 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119673 trace
119674 (p_msg => 'END of AcctLineType_194'
119675 ,p_level => C_LEVEL_PROCEDURE
119676 ,p_module => l_log_module);
119677 END IF;
119678 --
119679 EXCEPTION
119680 WHEN xla_exceptions_pkg.application_exception THEN
119681 RAISE;
119682 WHEN OTHERS THEN
119683 xla_exceptions_pkg.raise_message
119684 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_194');
119685 END AcctLineType_194;
119686 --
119687
119688 ---------------------------------------
119689 --
119690 -- PRIVATE FUNCTION
119691 -- AcctLineType_195
119692 --
119693 ---------------------------------------
119694 PROCEDURE AcctLineType_195 (
119695 p_application_id IN NUMBER
119696 ,p_event_id IN NUMBER
119697 ,p_calculate_acctd_flag IN VARCHAR2
119698 ,p_calculate_g_l_flag IN VARCHAR2
119699 ,p_actual_flag IN OUT VARCHAR2
119700 ,p_balance_type_code OUT VARCHAR2
119701 ,p_gain_or_loss_ref OUT VARCHAR2
119702
119703 --Invoice Distribution Description
119704 , p_source_1 IN VARCHAR2
119705 --Invoice Distribution Ledger Amount
119706 , p_source_21 IN NUMBER
119707 --Invoice Distribution Type
119708 , p_source_33 IN VARCHAR2
119709 , p_source_33_meaning IN VARCHAR2
119710 --Self-Assessed Tax Account
119711 , p_source_49 IN NUMBER
119712 --Accounting Reversal Indicator
119713 , p_source_52 IN VARCHAR2
119714 --Distribution Link Type
119715 , p_source_54 IN VARCHAR2
119716 --Allocation to Main Distribution Identifier
119717 , p_source_56 IN NUMBER
119718 --Invoice Identifier
119719 , p_source_57 IN NUMBER
119720 --Invoice Distribution Identifier
119721 , p_source_63 IN NUMBER
119722 --Payables Encumbrance Upgrade Credit Account
119723 , p_source_64 IN NUMBER
119724 --Payables Encumbrance Upgrade Credit Amount
119725 , p_source_65 IN NUMBER
119726 --Invoice Currency Code
119727 , p_source_66 IN VARCHAR2
119728 --Payables Encumbrance Upgrade Credit Base Amount
119729 , p_source_67 IN NUMBER
119730 --Payables Encumbrance Upgrade Debit Account
119731 , p_source_68 IN NUMBER
119732 --Payables Encumbrance Upgrade Debit Amount
119733 , p_source_69 IN NUMBER
119734 --Payables Encumbrance Upgrade Debit Base Amount
119735 , p_source_70 IN NUMBER
119736 --Payables Encumbrance Upgrade Option
119737 , p_source_71 IN VARCHAR2
119738 --Invoice Distribution Amount
119739 , p_source_72 IN NUMBER
119740 --Deferred Accounting End Date
119741 , p_source_76 IN DATE
119742 --Deferred Accounting Option
119743 , p_source_77 IN VARCHAR2
119744 --Deferred Accounting Start Date
119745 , p_source_78 IN DATE
119746 --Override Accounted Amount Indicator
119747 , p_source_79 IN VARCHAR2
119748 , p_source_79_meaning IN VARCHAR2
119749 --Invoice Supplier Identifier
119750 , p_source_80 IN NUMBER
119751 --Invoice Supplier Site Identifier
119752 , p_source_81 IN NUMBER
119753 --Third Party Type
119754 , p_source_82 IN VARCHAR2
119755 --Parent Reversal Identifier
119756 , p_source_83 IN NUMBER
119757 --Invoice Distribution Statistical Amount
119758 , p_source_84 IN NUMBER
119759 --Invoice Distribution Tax Line Identifier
119760 , p_source_85 IN NUMBER
119764 , p_source_87 IN NUMBER
119761 --Invoice Distribution Tax Distribution Identifier from Tax
119762 , p_source_86 IN NUMBER
119763 --Invoice Distribution Summary Tax Line Identifier
119765 --Payables Upgrade Credit Encumbrance Type Identifier
119766 , p_source_88 IN NUMBER
119767 --Payables Upgrade Debit Encumbrance Type Identifier
119768 , p_source_89 IN NUMBER
119769 --Business Flow Accounts Payable Application Identifier
119770 , p_source_90 IN NUMBER
119771 --Business Flow Invoice Distribution Type
119772 , p_source_91 IN VARCHAR2
119773 --Business Flow Invoice Entity Code
119774 , p_source_92 IN VARCHAR2
119775 --Business Flow Invoice Distribution Identifier
119776 , p_source_93 IN NUMBER
119777 --Business Flow Invoice Identifier
119778 , p_source_94 IN NUMBER
119779 --Self-Assessed Tax Flag
119780 , p_source_135 IN VARCHAR2
119781 , p_source_135_meaning IN VARCHAR2
119782 --Invoice Exchange Date
119783 , p_source_136 IN DATE
119784 --Invoice Exchange Rate
119785 , p_source_137 IN NUMBER
119786 --Invoice Exchange Rate Type
119787 , p_source_138 IN VARCHAR2
119788 )
119789 IS
119790
119791 l_component_type VARCHAR2(80);
119792 l_component_code VARCHAR2(30);
119793 l_component_type_code VARCHAR2(1);
119794 l_component_appl_id INTEGER;
119795 l_amb_context_code VARCHAR2(30);
119796 l_entity_code VARCHAR2(30);
119797 l_event_class_code VARCHAR2(30);
119798 l_ae_header_id NUMBER;
119799 l_event_type_code VARCHAR2(30);
119800 l_line_definition_code VARCHAR2(30);
119801 l_line_definition_owner_code VARCHAR2(1);
119802 --
119803 -- adr variables
119804 l_segment VARCHAR2(30);
119805 l_ccid NUMBER;
119806 l_adr_transaction_coa_id NUMBER;
119807 l_adr_accounting_coa_id NUMBER;
119808 l_adr_flexfield_segment_code VARCHAR2(30);
119809 l_adr_flex_value_set_id NUMBER;
119810 l_adr_value_type_code VARCHAR2(30);
119811 l_adr_value_combination_id NUMBER;
119812 l_adr_value_segment_code VARCHAR2(30);
119813
119814 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119815 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119816 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119817 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119818
119819 -- 4262811 Variables ------------------------------------------------------------------------------------------
119820 l_entered_amt_idx NUMBER;
119821 l_accted_amt_idx NUMBER;
119822 l_acc_rev_flag VARCHAR2(1);
119823 l_accrual_line_num NUMBER;
119824 l_tmp_amt NUMBER;
119825 l_acc_rev_natural_side_code VARCHAR2(1);
119826
119827 l_num_entries NUMBER;
119828 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
119829 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
119830 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
119831 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
119832 l_recog_line_1 NUMBER;
119833 l_recog_line_2 NUMBER;
119834
119835 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
119836 l_bflow_applied_to_amt NUMBER; -- 5132302
119837 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
119838
119839 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
119840
119841 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
119842 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
119843
119844 ---------------------------------------------------------------------------------------------------------------
119845
119846
119847 --
119848 -- bulk performance
119849 --
119850 l_balance_type_code VARCHAR2(1);
119851 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
119852 l_log_module VARCHAR2(240);
119853
119854 --
119855 -- Upgrade strategy
119856 --
119857 l_actual_upg_option VARCHAR2(1);
119858 l_enc_upg_option VARCHAR2(1);
119859
119860 --
119861 BEGIN
119862 --
119863 IF g_log_enabled THEN
119864 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_195';
119865 END IF;
119866 --
119867 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119868
119869 trace
119870 (p_msg => 'BEGIN of AcctLineType_195'
119871 ,p_level => C_LEVEL_PROCEDURE
119872 ,p_module => l_log_module);
119873
119874 END IF;
119875 --
119876 l_component_type := 'AMB_JLT';
119877 l_component_code := 'AP_SELF_ASSESSED_RECTAX_PREPAY';
119878 l_component_type_code := 'S';
119879 l_component_appl_id := 200;
119880 l_amb_context_code := 'DEFAULT';
119881 l_entity_code := 'AP_INVOICES';
119882 l_event_class_code := 'PREPAYMENTS';
119883 l_event_type_code := 'PREPAYMENTS_ALL';
119884 l_line_definition_owner_code := 'S';
119885 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
119886 --
119887 l_balance_type_code := 'A';
119888 l_segment := NULL;
119892 l_adr_flexfield_segment_code := NULL;
119889 l_ccid := NULL;
119890 l_adr_transaction_coa_id := NULL;
119891 l_adr_accounting_coa_id := NULL;
119893 l_adr_flex_value_set_id := NULL;
119894 l_adr_value_type_code := NULL;
119895 l_adr_value_combination_id := NULL;
119896 l_adr_value_segment_code := NULL;
119897
119898 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119899 l_bflow_class_code := ''; -- 4219869 Business Flow
119900 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119901 l_budgetary_control_flag := 'N';
119902
119903 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119904 l_bflow_applied_to_amt := NULL; -- 5132302
119905 l_entered_amt_idx := NULL; -- 4262811
119906 l_accted_amt_idx := NULL; -- 4262811
119907 l_acc_rev_flag := NULL; -- 4262811
119908 l_accrual_line_num := NULL; -- 4262811
119909 l_tmp_amt := NULL; -- 4262811
119910 --
119911
119912 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119913 l_balance_type_code <> 'B' THEN
119914 IF NVL(p_source_33,'
119915 ') = 'REC_TAX' AND
119916 NVL(p_source_135,'
119917 ') = 'Y'
119918 THEN
119919
119920 --
119921 XLA_AE_LINES_PKG.SetNewLine;
119922
119923 p_balance_type_code := l_balance_type_code;
119924 -- set the flag so later we will know whether the gain loss line needs to be created
119925
119926 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119927 p_actual_flag :='A';
119928 END IF;
119929
119930 --
119931 -- bulk performance
119932 --
119933 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119934 p_header_num => 0); -- 4262811
119935 --
119936 -- set accounting line options
119937 --
119938 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119939 p_natural_side_code => 'D'
119940 , p_gain_or_loss_flag => 'N'
119941 , p_gl_transfer_mode_code => 'S'
119942 , p_acct_entry_type_code => 'A'
119943 , p_switch_side_flag => 'Y'
119944 , p_merge_duplicate_code => 'A'
119945 );
119946 --
119947 l_acc_rev_natural_side_code := 'C'; -- 4262811
119948 --
119949 --
119950 -- set accounting line type info
119951 --
119952 xla_ae_lines_pkg.SetAcctLineType
119953 (p_component_type => l_component_type
119954 ,p_event_type_code => l_event_type_code
119955 ,p_line_definition_owner_code => l_line_definition_owner_code
119956 ,p_line_definition_code => l_line_definition_code
119957 ,p_accounting_line_code => l_component_code
119958 ,p_accounting_line_type_code => l_component_type_code
119959 ,p_accounting_line_appl_id => l_component_appl_id
119960 ,p_amb_context_code => l_amb_context_code
119961 ,p_entity_code => l_entity_code
119962 ,p_event_class_code => l_event_class_code);
119963 --
119964 -- set accounting class
119965 --
119966 xla_ae_lines_pkg.SetAcctClass(
119967 p_accounting_class_code => 'SELF_ASSESSED_TAX'
119968 , p_ae_header_id => l_ae_header_id
119969 );
119970
119971 --
119972 -- set rounding class
119973 --
119974 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119975 'SELF_ASSESSED_TAX';
119976
119977 --
119978 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119979 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119980 --
119981 -- bulk performance
119982 --
119983 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119984
119985 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119986 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119987
119988 -- 4955764
119989 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119990 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119991
119992 -- 4458381 Public Sector Enh
119993
119994 --
119995 -- set accounting attributes for the line type
119996 --
119997 l_entered_amt_idx := 23;
119998 l_accted_amt_idx := 28;
119999 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120000 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120001 l_rec_acct_attrs.array_char_value(1) := p_source_52;
120002 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120003 l_rec_acct_attrs.array_num_value(2) :=
120004 xla_ae_sources_pkg.GetSystemSourceNum(
120005 p_source_code => 'XLA_EVENT_APPL_ID'
120006 , p_source_type_code => 'Y'
120007 , p_source_application_id => 602
120008 );
120009 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120010 l_rec_acct_attrs.array_char_value(3) := p_source_54;
120011 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120012 l_rec_acct_attrs.array_char_value(4) :=
120013 xla_ae_sources_pkg.GetSystemSourceChar(
120014 p_source_code => 'XLA_ENTITY_CODE'
120018 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120015 , p_source_type_code => 'Y'
120016 , p_source_application_id => 602
120017 );
120019 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
120020 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120021 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
120022 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
120023 l_rec_acct_attrs.array_num_value(7) := p_source_90;
120024 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120025 l_rec_acct_attrs.array_char_value(8) := p_source_91;
120026 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
120027 l_rec_acct_attrs.array_char_value(9) := p_source_92;
120028 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
120029 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
120030 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120031 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
120032 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
120033 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
120034 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
120035 l_rec_acct_attrs.array_char_value(13) := p_source_54;
120036 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
120037 l_rec_acct_attrs.array_num_value(14) := p_source_64;
120038 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
120039 l_rec_acct_attrs.array_num_value(15) := p_source_65;
120040 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
120041 l_rec_acct_attrs.array_char_value(16) := p_source_66;
120042 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
120043 l_rec_acct_attrs.array_num_value(17) := p_source_67;
120044 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
120045 l_rec_acct_attrs.array_num_value(18) := p_source_68;
120046 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
120047 l_rec_acct_attrs.array_num_value(19) := p_source_69;
120048 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
120049 l_rec_acct_attrs.array_char_value(20) := p_source_66;
120050 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
120051 l_rec_acct_attrs.array_num_value(21) := p_source_70;
120052 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
120053 l_rec_acct_attrs.array_char_value(22) := p_source_71;
120054 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
120055 l_rec_acct_attrs.array_num_value(23) := p_source_72;
120056 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
120057 l_rec_acct_attrs.array_char_value(24) := p_source_66;
120058 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
120059 l_rec_acct_attrs.array_date_value(25) := p_source_136;
120060 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
120061 l_rec_acct_attrs.array_num_value(26) := p_source_137;
120062 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
120063 l_rec_acct_attrs.array_char_value(27) := p_source_138;
120064 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
120065 l_rec_acct_attrs.array_num_value(28) := p_source_21;
120066 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
120067 l_rec_acct_attrs.array_date_value(29) := p_source_76;
120068 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
120069 l_rec_acct_attrs.array_char_value(30) := p_source_77;
120070 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
120071 l_rec_acct_attrs.array_date_value(31) := p_source_78;
120072 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
120073 l_rec_acct_attrs.array_char_value(32) := p_source_79;
120074 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
120075 l_rec_acct_attrs.array_num_value(33) := p_source_80;
120076 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
120077 l_rec_acct_attrs.array_num_value(34) := p_source_81;
120078 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
120079 l_rec_acct_attrs.array_char_value(35) := p_source_82;
120080 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
120081 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
120082 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
120083 l_rec_acct_attrs.array_char_value(37) := p_source_54;
120084 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
120085 l_rec_acct_attrs.array_num_value(38) := p_source_84;
120086 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
120087 l_rec_acct_attrs.array_num_value(39) := p_source_85;
120088 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
120089 l_rec_acct_attrs.array_num_value(40) := p_source_86;
120090 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
120091 l_rec_acct_attrs.array_num_value(41) := p_source_87;
120092 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
120093 l_rec_acct_attrs.array_num_value(42) := p_source_88;
120094 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
120095 l_rec_acct_attrs.array_num_value(43) := p_source_89;
120096
120097 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120098 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120099
120100 ---------------------------------------------------------------------------------------------------------------
120104
120101 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120102 ---------------------------------------------------------------------------------------------------------------
120103 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120105 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120106 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120107
120108 IF xla_accounting_cache_pkg.GetValueChar
120109 (p_source_code => 'LEDGER_CATEGORY_CODE'
120110 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120111 AND l_bflow_method_code = 'PRIOR_ENTRY'
120112 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120113 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
120114 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
120115 )
120116 THEN
120117 xla_ae_lines_pkg.BflowUpgEntry
120118 (p_business_method_code => l_bflow_method_code
120119 ,p_business_class_code => l_bflow_class_code
120120 ,p_balance_type => l_balance_type_code);
120121 ELSE
120122 NULL;
120123 -- No business flow processing for business flow method of NONE.
120124 END IF;
120125
120126 --
120127 -- call analytical criteria
120128 --
120129
120130 --
120131 -- call description
120132 --
120133
120134 xla_ae_lines_pkg.SetLineDescription(
120135 p_ae_header_id => l_ae_header_id
120136 ,p_description => Description_1 (
120137 p_application_id => p_application_id
120138 , p_ae_header_id => l_ae_header_id
120139 , p_source_1 => p_source_1
120140 )
120141 );
120142
120143
120144 --
120145 -- call ADRs
120146 -- Bug 4922099
120147 --
120148 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120149 (NVL(l_actual_upg_option, 'N') = 'O') OR
120150 (NVL(l_enc_upg_option, 'N') = 'O')
120151 )
120152 THEN
120153 NULL;
120154 --
120155 --
120156
120157 l_ccid := AcctDerRule_41(
120158 p_application_id => p_application_id
120159 , p_ae_header_id => l_ae_header_id
120160 , p_source_49 => p_source_49
120161 , x_transaction_coa_id => l_adr_transaction_coa_id
120162 , x_accounting_coa_id => l_adr_accounting_coa_id
120163 , x_value_type_code => l_adr_value_type_code
120164 , p_side => 'NA'
120165 );
120166
120167 xla_ae_lines_pkg.set_ccid(
120168 p_code_combination_id => l_ccid
120169 , p_value_type_code => l_adr_value_type_code
120170 , p_transaction_coa_id => l_adr_transaction_coa_id
120171 , p_accounting_coa_id => l_adr_accounting_coa_id
120172 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120173 , p_adr_type_code => 'S'
120174 , p_component_type => l_component_type
120175 , p_component_code => l_component_code
120176 , p_component_type_code => l_component_type_code
120177 , p_component_appl_id => l_component_appl_id
120178 , p_amb_context_code => l_amb_context_code
120179 , p_side => 'NA'
120180 );
120181
120182
120183 --
120184 --
120185 END IF;
120186 --
120187 -- Bug 4922099
120188 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120189 (NVL(l_enc_upg_option, 'N') = 'O')
120190 ) AND
120191 (l_bflow_method_code = 'PRIOR_ENTRY')
120192 )
120193 THEN
120194 IF
120195 --
120196 1 = 2
120197 --
120198 THEN
120199 xla_accounting_err_pkg.build_message
120200 (p_appli_s_name => 'XLA'
120201 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120202 ,p_token_1 => 'LINE_NUMBER'
120203 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120204 ,p_token_2 => 'LINE_TYPE_NAME'
120205 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120206 l_component_type
120207 ,l_component_code
120208 ,l_component_type_code
120209 ,l_component_appl_id
120210 ,l_amb_context_code
120211 ,l_entity_code
120212 ,l_event_class_code
120213 )
120214 ,p_token_3 => 'OWNER'
120215 ,p_value_3 => xla_lookups_pkg.get_meaning(
120216 p_lookup_type => 'XLA_OWNER_TYPE'
120217 ,p_lookup_code => l_component_type_code
120221 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120218 )
120219 ,p_token_4 => 'PRODUCT_NAME'
120220 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120222 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120223 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120224 ,p_ae_header_id => NULL
120225 );
120226
120227 IF (C_LEVEL_ERROR>= g_log_level) THEN
120228 trace
120229 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120230 ,p_level => C_LEVEL_ERROR
120231 ,p_module => l_log_module);
120232 END IF;
120233 END IF;
120234 END IF;
120235 --
120236 --
120237 ------------------------------------------------------------------------------------------------
120238 -- 4219869 Business Flow
120239 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120240 -- Prior Entry. Currently, the following code is always generated.
120241 ------------------------------------------------------------------------------------------------
120242 XLA_AE_LINES_PKG.ValidateCurrentLine;
120243
120244 ------------------------------------------------------------------------------------
120245 -- 4219869 Business Flow
120246 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120247 ------------------------------------------------------------------------------------
120248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120249
120250 ----------------------------------------------------------------------------------
120251 -- 4219869 Business Flow
120252 -- Update journal entry status -- Need to generate this within IF <condition>
120253 ----------------------------------------------------------------------------------
120254 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120255 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120256 ,p_balance_type_code => l_balance_type_code
120257 );
120258
120259 -------------------------------------------------------------------------------------------
120260 -- 4262811 - Generate the Accrual Reversal lines
120261 -------------------------------------------------------------------------------------------
120262 BEGIN
120263 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120264 (g_array_event(p_event_id).array_value_num('header_index'));
120265 IF l_acc_rev_flag IS NULL THEN
120266 l_acc_rev_flag := 'N';
120267 END IF;
120268 EXCEPTION
120269 WHEN OTHERS THEN
120270 l_acc_rev_flag := 'N';
120271 END;
120272 --
120273 IF (l_acc_rev_flag = 'Y') THEN
120274
120275 -- 4645092 ------------------------------------------------------------------------------
120276 -- To allow MPA report to determine if it should generate report process
120277 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120278 ------------------------------------------------------------------------------------------
120279
120280 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120281 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120282 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120283 -- call ADRs
120284 -- Bug 4922099
120285 --
120286 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120287 (NVL(l_actual_upg_option, 'N') = 'O') OR
120288 (NVL(l_enc_upg_option, 'N') = 'O')
120289 )
120290 THEN
120291 NULL;
120292 --
120293 --
120294
120295 l_ccid := AcctDerRule_41(
120296 p_application_id => p_application_id
120297 , p_ae_header_id => l_ae_header_id
120298 , p_source_49 => p_source_49
120299 , x_transaction_coa_id => l_adr_transaction_coa_id
120300 , x_accounting_coa_id => l_adr_accounting_coa_id
120301 , x_value_type_code => l_adr_value_type_code
120302 , p_side => 'NA'
120303 );
120304
120305 xla_ae_lines_pkg.set_ccid(
120306 p_code_combination_id => l_ccid
120307 , p_value_type_code => l_adr_value_type_code
120308 , p_transaction_coa_id => l_adr_transaction_coa_id
120309 , p_accounting_coa_id => l_adr_accounting_coa_id
120310 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120311 , p_adr_type_code => 'S'
120312 , p_component_type => l_component_type
120313 , p_component_code => l_component_code
120314 , p_component_type_code => l_component_type_code
120315 , p_component_appl_id => l_component_appl_id
120316 , p_amb_context_code => l_amb_context_code
120317 , p_side => 'NA'
120318 );
120319
120320
120321 --
120322 --
120323 END IF;
120324
120325 --
120326 -- Update the line information that should be overwritten
120327 --
120331
120328 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120329 p_header_num => 1);
120330 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120332 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120333
120334 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120335 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120336 END IF;
120337
120338 --
120339 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120340 --
120341 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120342 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120343 ELSE
120344 ---------------------------------------------------------------------------------------------------
120345 -- 4262811a Switch Sign
120346 ---------------------------------------------------------------------------------------------------
120347 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120348 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120349 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120350 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120351 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120352 -- 5132302
120353 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120354 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120355
120356 END IF;
120357
120358 -- 4955764
120359 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120360 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120361
120362
120363 XLA_AE_LINES_PKG.ValidateCurrentLine;
120364 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120365
120366 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120367 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120368 ,p_balance_type_code => l_balance_type_code);
120369
120370 END IF;
120371
120372 -----------------------------------------------------------------------------------------
120373 -- 4262811 Multiperiod Accounting
120374 -----------------------------------------------------------------------------------------
120375 -- No MPA option is assigned.
120376
120377
120378 END IF;
120379 END IF;
120380 --
120381
120382 --
120383 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120384 trace
120385 (p_msg => 'END of AcctLineType_195'
120386 ,p_level => C_LEVEL_PROCEDURE
120387 ,p_module => l_log_module);
120388 END IF;
120389 --
120390 EXCEPTION
120391 WHEN xla_exceptions_pkg.application_exception THEN
120392 RAISE;
120393 WHEN OTHERS THEN
120394 xla_exceptions_pkg.raise_message
120395 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_195');
120396 END AcctLineType_195;
120397 --
120398
120399 ---------------------------------------
120400 --
120401 -- PRIVATE FUNCTION
120402 -- AcctLineType_196
120403 --
120404 ---------------------------------------
120405 PROCEDURE AcctLineType_196 (
120406 p_application_id IN NUMBER
120407 ,p_event_id IN NUMBER
120408 ,p_calculate_acctd_flag IN VARCHAR2
120409 ,p_calculate_g_l_flag IN VARCHAR2
120410 ,p_actual_flag IN OUT VARCHAR2
120411 ,p_balance_type_code OUT VARCHAR2
120412 ,p_gain_or_loss_ref OUT VARCHAR2
120413
120414 --Invoice Distribution Description
120415 , p_source_1 IN VARCHAR2
120416 --Invoice Distribution Ledger Amount
120417 , p_source_21 IN NUMBER
120418 --Invoice Distribution Type
120419 , p_source_33 IN VARCHAR2
120420 , p_source_33_meaning IN VARCHAR2
120421 --Self-Assessed Tax Account
120422 , p_source_49 IN NUMBER
120423 --Accounting Reversal Indicator
120424 , p_source_52 IN VARCHAR2
120425 --Distribution Link Type
120426 , p_source_54 IN VARCHAR2
120427 --Allocation to Main Distribution Identifier
120428 , p_source_56 IN NUMBER
120429 --Invoice Identifier
120430 , p_source_57 IN NUMBER
120431 --Invoice Distribution Identifier
120432 , p_source_63 IN NUMBER
120433 --Payables Encumbrance Upgrade Credit Account
120434 , p_source_64 IN NUMBER
120435 --Payables Encumbrance Upgrade Credit Amount
120436 , p_source_65 IN NUMBER
120437 --Invoice Currency Code
120438 , p_source_66 IN VARCHAR2
120439 --Payables Encumbrance Upgrade Credit Base Amount
120440 , p_source_67 IN NUMBER
120441 --Payables Encumbrance Upgrade Debit Account
120442 , p_source_68 IN NUMBER
120443 --Payables Encumbrance Upgrade Debit Amount
120444 , p_source_69 IN NUMBER
120445 --Payables Encumbrance Upgrade Debit Base Amount
120449 --Invoice Distribution Amount
120446 , p_source_70 IN NUMBER
120447 --Payables Encumbrance Upgrade Option
120448 , p_source_71 IN VARCHAR2
120450 , p_source_72 IN NUMBER
120451 --Deferred Accounting End Date
120452 , p_source_76 IN DATE
120453 --Deferred Accounting Option
120454 , p_source_77 IN VARCHAR2
120455 --Deferred Accounting Start Date
120456 , p_source_78 IN DATE
120457 --Override Accounted Amount Indicator
120458 , p_source_79 IN VARCHAR2
120459 , p_source_79_meaning IN VARCHAR2
120460 --Invoice Supplier Identifier
120461 , p_source_80 IN NUMBER
120462 --Invoice Supplier Site Identifier
120463 , p_source_81 IN NUMBER
120464 --Third Party Type
120465 , p_source_82 IN VARCHAR2
120466 --Parent Reversal Identifier
120467 , p_source_83 IN NUMBER
120468 --Invoice Distribution Statistical Amount
120469 , p_source_84 IN NUMBER
120470 --Invoice Distribution Tax Line Identifier
120471 , p_source_85 IN NUMBER
120472 --Invoice Distribution Tax Distribution Identifier from Tax
120473 , p_source_86 IN NUMBER
120474 --Invoice Distribution Summary Tax Line Identifier
120475 , p_source_87 IN NUMBER
120476 --Payables Upgrade Credit Encumbrance Type Identifier
120477 , p_source_88 IN NUMBER
120478 --Payables Upgrade Debit Encumbrance Type Identifier
120479 , p_source_89 IN NUMBER
120480 --Business Flow Accounts Payable Application Identifier
120481 , p_source_90 IN NUMBER
120482 --Business Flow Invoice Distribution Type
120483 , p_source_91 IN VARCHAR2
120484 --Business Flow Invoice Entity Code
120485 , p_source_92 IN VARCHAR2
120486 --Business Flow Invoice Distribution Identifier
120487 , p_source_93 IN NUMBER
120488 --Business Flow Invoice Identifier
120489 , p_source_94 IN NUMBER
120490 --Self-Assessed Tax Flag
120491 , p_source_135 IN VARCHAR2
120492 , p_source_135_meaning IN VARCHAR2
120493 --Invoice Exchange Date
120494 , p_source_136 IN DATE
120495 --Invoice Exchange Rate
120496 , p_source_137 IN NUMBER
120497 --Invoice Exchange Rate Type
120498 , p_source_138 IN VARCHAR2
120499 )
120500 IS
120501
120502 l_component_type VARCHAR2(80);
120503 l_component_code VARCHAR2(30);
120504 l_component_type_code VARCHAR2(1);
120505 l_component_appl_id INTEGER;
120506 l_amb_context_code VARCHAR2(30);
120507 l_entity_code VARCHAR2(30);
120508 l_event_class_code VARCHAR2(30);
120509 l_ae_header_id NUMBER;
120510 l_event_type_code VARCHAR2(30);
120511 l_line_definition_code VARCHAR2(30);
120512 l_line_definition_owner_code VARCHAR2(1);
120513 --
120514 -- adr variables
120515 l_segment VARCHAR2(30);
120516 l_ccid NUMBER;
120517 l_adr_transaction_coa_id NUMBER;
120518 l_adr_accounting_coa_id NUMBER;
120519 l_adr_flexfield_segment_code VARCHAR2(30);
120520 l_adr_flex_value_set_id NUMBER;
120521 l_adr_value_type_code VARCHAR2(30);
120522 l_adr_value_combination_id NUMBER;
120523 l_adr_value_segment_code VARCHAR2(30);
120524
120525 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
120526 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
120527 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
120528 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
120529
120530 -- 4262811 Variables ------------------------------------------------------------------------------------------
120531 l_entered_amt_idx NUMBER;
120532 l_accted_amt_idx NUMBER;
120533 l_acc_rev_flag VARCHAR2(1);
120534 l_accrual_line_num NUMBER;
120535 l_tmp_amt NUMBER;
120536 l_acc_rev_natural_side_code VARCHAR2(1);
120537
120538 l_num_entries NUMBER;
120539 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120540 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120541 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120542 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120543 l_recog_line_1 NUMBER;
120544 l_recog_line_2 NUMBER;
120545
120546 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120547 l_bflow_applied_to_amt NUMBER; -- 5132302
120548 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120549
120550 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120551
120552 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120553 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120554
120555 ---------------------------------------------------------------------------------------------------------------
120556
120557
120558 --
120559 -- bulk performance
120560 --
120561 l_balance_type_code VARCHAR2(1);
120562 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120563 l_log_module VARCHAR2(240);
120564
120565 --
120566 -- Upgrade strategy
120567 --
120568 l_actual_upg_option VARCHAR2(1);
120569 l_enc_upg_option VARCHAR2(1);
120570
120571 --
120572 BEGIN
120573 --
120574 IF g_log_enabled THEN
120578 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120575 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_196';
120576 END IF;
120577 --
120579
120580 trace
120581 (p_msg => 'BEGIN of AcctLineType_196'
120582 ,p_level => C_LEVEL_PROCEDURE
120583 ,p_module => l_log_module);
120584
120585 END IF;
120586 --
120587 l_component_type := 'AMB_JLT';
120588 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_CM';
120589 l_component_type_code := 'S';
120590 l_component_appl_id := 200;
120591 l_amb_context_code := 'DEFAULT';
120592 l_entity_code := 'AP_INVOICES';
120593 l_event_class_code := 'CREDIT MEMOS';
120594 l_event_type_code := 'CREDIT MEMOS_ALL';
120595 l_line_definition_owner_code := 'S';
120596 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
120597 --
120598 l_balance_type_code := 'A';
120599 l_segment := NULL;
120600 l_ccid := NULL;
120601 l_adr_transaction_coa_id := NULL;
120602 l_adr_accounting_coa_id := NULL;
120603 l_adr_flexfield_segment_code := NULL;
120604 l_adr_flex_value_set_id := NULL;
120605 l_adr_value_type_code := NULL;
120606 l_adr_value_combination_id := NULL;
120607 l_adr_value_segment_code := NULL;
120608
120609 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
120610 l_bflow_class_code := ''; -- 4219869 Business Flow
120611 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120612 l_budgetary_control_flag := 'N';
120613
120614 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120615 l_bflow_applied_to_amt := NULL; -- 5132302
120616 l_entered_amt_idx := NULL; -- 4262811
120617 l_accted_amt_idx := NULL; -- 4262811
120618 l_acc_rev_flag := NULL; -- 4262811
120619 l_accrual_line_num := NULL; -- 4262811
120620 l_tmp_amt := NULL; -- 4262811
120621 --
120622
120623 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120624 l_balance_type_code <> 'B' THEN
120625 IF NVL(p_source_33,'
120626 ') = 'REC_TAX' AND
120627 NVL(p_source_135,'
120628 ') = 'Y'
120629 THEN
120630
120631 --
120632 XLA_AE_LINES_PKG.SetNewLine;
120633
120634 p_balance_type_code := l_balance_type_code;
120635 -- set the flag so later we will know whether the gain loss line needs to be created
120636
120637 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
120638 p_actual_flag :='A';
120639 END IF;
120640
120641 --
120642 -- bulk performance
120643 --
120644 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
120645 p_header_num => 0); -- 4262811
120646 --
120647 -- set accounting line options
120648 --
120649 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
120650 p_natural_side_code => 'D'
120651 , p_gain_or_loss_flag => 'N'
120652 , p_gl_transfer_mode_code => 'S'
120653 , p_acct_entry_type_code => 'A'
120654 , p_switch_side_flag => 'Y'
120655 , p_merge_duplicate_code => 'A'
120656 );
120657 --
120658 l_acc_rev_natural_side_code := 'C'; -- 4262811
120659 --
120660 --
120661 -- set accounting line type info
120662 --
120663 xla_ae_lines_pkg.SetAcctLineType
120664 (p_component_type => l_component_type
120665 ,p_event_type_code => l_event_type_code
120666 ,p_line_definition_owner_code => l_line_definition_owner_code
120667 ,p_line_definition_code => l_line_definition_code
120668 ,p_accounting_line_code => l_component_code
120669 ,p_accounting_line_type_code => l_component_type_code
120670 ,p_accounting_line_appl_id => l_component_appl_id
120671 ,p_amb_context_code => l_amb_context_code
120672 ,p_entity_code => l_entity_code
120673 ,p_event_class_code => l_event_class_code);
120674 --
120675 -- set accounting class
120676 --
120677 xla_ae_lines_pkg.SetAcctClass(
120678 p_accounting_class_code => 'SELF_ASSESSED_TAX'
120679 , p_ae_header_id => l_ae_header_id
120680 );
120681
120682 --
120683 -- set rounding class
120684 --
120685 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
120686 'SELF_ASSESSED_TAX';
120687
120688 --
120689 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
120690 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
120691 --
120692 -- bulk performance
120693 --
120694 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
120695
120696 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
120697 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
120698
120699 -- 4955764
120700 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120701 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
120702
120703 -- 4458381 Public Sector Enh
120707 --
120704
120705 --
120706 -- set accounting attributes for the line type
120708 l_entered_amt_idx := 23;
120709 l_accted_amt_idx := 28;
120710 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120711 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120712 l_rec_acct_attrs.array_char_value(1) := p_source_52;
120713 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120714 l_rec_acct_attrs.array_num_value(2) :=
120715 xla_ae_sources_pkg.GetSystemSourceNum(
120716 p_source_code => 'XLA_EVENT_APPL_ID'
120717 , p_source_type_code => 'Y'
120718 , p_source_application_id => 602
120719 );
120720 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120721 l_rec_acct_attrs.array_char_value(3) := p_source_54;
120722 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120723 l_rec_acct_attrs.array_char_value(4) :=
120724 xla_ae_sources_pkg.GetSystemSourceChar(
120725 p_source_code => 'XLA_ENTITY_CODE'
120726 , p_source_type_code => 'Y'
120727 , p_source_application_id => 602
120728 );
120729 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120730 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
120731 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120732 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
120733 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
120734 l_rec_acct_attrs.array_num_value(7) := p_source_90;
120735 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120736 l_rec_acct_attrs.array_char_value(8) := p_source_91;
120737 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
120738 l_rec_acct_attrs.array_char_value(9) := p_source_92;
120739 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
120740 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
120741 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120742 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
120743 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
120744 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
120745 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
120746 l_rec_acct_attrs.array_char_value(13) := p_source_54;
120747 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
120748 l_rec_acct_attrs.array_num_value(14) := p_source_64;
120749 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
120750 l_rec_acct_attrs.array_num_value(15) := p_source_65;
120751 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
120752 l_rec_acct_attrs.array_char_value(16) := p_source_66;
120753 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
120754 l_rec_acct_attrs.array_num_value(17) := p_source_67;
120755 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
120756 l_rec_acct_attrs.array_num_value(18) := p_source_68;
120757 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
120758 l_rec_acct_attrs.array_num_value(19) := p_source_69;
120759 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
120760 l_rec_acct_attrs.array_char_value(20) := p_source_66;
120761 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
120762 l_rec_acct_attrs.array_num_value(21) := p_source_70;
120763 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
120764 l_rec_acct_attrs.array_char_value(22) := p_source_71;
120765 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
120766 l_rec_acct_attrs.array_num_value(23) := p_source_72;
120767 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
120768 l_rec_acct_attrs.array_char_value(24) := p_source_66;
120769 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
120770 l_rec_acct_attrs.array_date_value(25) := p_source_136;
120771 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
120772 l_rec_acct_attrs.array_num_value(26) := p_source_137;
120773 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
120774 l_rec_acct_attrs.array_char_value(27) := p_source_138;
120775 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
120776 l_rec_acct_attrs.array_num_value(28) := p_source_21;
120777 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
120778 l_rec_acct_attrs.array_date_value(29) := p_source_76;
120779 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
120780 l_rec_acct_attrs.array_char_value(30) := p_source_77;
120781 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
120782 l_rec_acct_attrs.array_date_value(31) := p_source_78;
120783 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
120784 l_rec_acct_attrs.array_char_value(32) := p_source_79;
120785 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
120786 l_rec_acct_attrs.array_num_value(33) := p_source_80;
120787 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
120788 l_rec_acct_attrs.array_num_value(34) := p_source_81;
120789 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
120790 l_rec_acct_attrs.array_char_value(35) := p_source_82;
120791 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
120792 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
120793 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
120794 l_rec_acct_attrs.array_char_value(37) := p_source_54;
120798 l_rec_acct_attrs.array_num_value(39) := p_source_85;
120795 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
120796 l_rec_acct_attrs.array_num_value(38) := p_source_84;
120797 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
120799 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
120800 l_rec_acct_attrs.array_num_value(40) := p_source_86;
120801 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
120802 l_rec_acct_attrs.array_num_value(41) := p_source_87;
120803 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
120804 l_rec_acct_attrs.array_num_value(42) := p_source_88;
120805 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
120806 l_rec_acct_attrs.array_num_value(43) := p_source_89;
120807
120808 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120809 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120810
120811 ---------------------------------------------------------------------------------------------------------------
120812 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120813 ---------------------------------------------------------------------------------------------------------------
120814 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120815
120816 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120817 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120818
120819 IF xla_accounting_cache_pkg.GetValueChar
120820 (p_source_code => 'LEDGER_CATEGORY_CODE'
120821 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120822 AND l_bflow_method_code = 'PRIOR_ENTRY'
120823 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120824 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
120825 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
120826 )
120827 THEN
120828 xla_ae_lines_pkg.BflowUpgEntry
120829 (p_business_method_code => l_bflow_method_code
120830 ,p_business_class_code => l_bflow_class_code
120831 ,p_balance_type => l_balance_type_code);
120832 ELSE
120833 NULL;
120834 -- No business flow processing for business flow method of NONE.
120835 END IF;
120836
120837 --
120838 -- call analytical criteria
120839 --
120840
120841 --
120842 -- call description
120843 --
120844
120845 xla_ae_lines_pkg.SetLineDescription(
120846 p_ae_header_id => l_ae_header_id
120847 ,p_description => Description_1 (
120848 p_application_id => p_application_id
120849 , p_ae_header_id => l_ae_header_id
120850 , p_source_1 => p_source_1
120851 )
120852 );
120853
120854
120855 --
120856 -- call ADRs
120857 -- Bug 4922099
120858 --
120859 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120860 (NVL(l_actual_upg_option, 'N') = 'O') OR
120861 (NVL(l_enc_upg_option, 'N') = 'O')
120862 )
120863 THEN
120864 NULL;
120865 --
120866 --
120867
120868 l_ccid := AcctDerRule_41(
120869 p_application_id => p_application_id
120870 , p_ae_header_id => l_ae_header_id
120871 , p_source_49 => p_source_49
120872 , x_transaction_coa_id => l_adr_transaction_coa_id
120873 , x_accounting_coa_id => l_adr_accounting_coa_id
120874 , x_value_type_code => l_adr_value_type_code
120875 , p_side => 'NA'
120876 );
120877
120878 xla_ae_lines_pkg.set_ccid(
120879 p_code_combination_id => l_ccid
120880 , p_value_type_code => l_adr_value_type_code
120881 , p_transaction_coa_id => l_adr_transaction_coa_id
120882 , p_accounting_coa_id => l_adr_accounting_coa_id
120883 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120884 , p_adr_type_code => 'S'
120885 , p_component_type => l_component_type
120886 , p_component_code => l_component_code
120887 , p_component_type_code => l_component_type_code
120888 , p_component_appl_id => l_component_appl_id
120889 , p_amb_context_code => l_amb_context_code
120890 , p_side => 'NA'
120891 );
120892
120893
120894 --
120895 --
120896 END IF;
120897 --
120898 -- Bug 4922099
120899 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120900 (NVL(l_enc_upg_option, 'N') = 'O')
120901 ) AND
120902 (l_bflow_method_code = 'PRIOR_ENTRY')
120903 )
120904 THEN
120905 IF
120906 --
120907 1 = 2
120908 --
120909 THEN
120910 xla_accounting_err_pkg.build_message
120911 (p_appli_s_name => 'XLA'
120912 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120913 ,p_token_1 => 'LINE_NUMBER'
120914 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120918 ,l_component_code
120915 ,p_token_2 => 'LINE_TYPE_NAME'
120916 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120917 l_component_type
120919 ,l_component_type_code
120920 ,l_component_appl_id
120921 ,l_amb_context_code
120922 ,l_entity_code
120923 ,l_event_class_code
120924 )
120925 ,p_token_3 => 'OWNER'
120926 ,p_value_3 => xla_lookups_pkg.get_meaning(
120927 p_lookup_type => 'XLA_OWNER_TYPE'
120928 ,p_lookup_code => l_component_type_code
120929 )
120930 ,p_token_4 => 'PRODUCT_NAME'
120931 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120932 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120933 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120934 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120935 ,p_ae_header_id => NULL
120936 );
120937
120938 IF (C_LEVEL_ERROR>= g_log_level) THEN
120939 trace
120940 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120941 ,p_level => C_LEVEL_ERROR
120942 ,p_module => l_log_module);
120943 END IF;
120944 END IF;
120945 END IF;
120946 --
120947 --
120948 ------------------------------------------------------------------------------------------------
120949 -- 4219869 Business Flow
120950 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120951 -- Prior Entry. Currently, the following code is always generated.
120952 ------------------------------------------------------------------------------------------------
120953 XLA_AE_LINES_PKG.ValidateCurrentLine;
120954
120955 ------------------------------------------------------------------------------------
120956 -- 4219869 Business Flow
120957 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120958 ------------------------------------------------------------------------------------
120959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120960
120961 ----------------------------------------------------------------------------------
120962 -- 4219869 Business Flow
120963 -- Update journal entry status -- Need to generate this within IF <condition>
120964 ----------------------------------------------------------------------------------
120965 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120966 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120967 ,p_balance_type_code => l_balance_type_code
120968 );
120969
120970 -------------------------------------------------------------------------------------------
120971 -- 4262811 - Generate the Accrual Reversal lines
120972 -------------------------------------------------------------------------------------------
120973 BEGIN
120974 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120975 (g_array_event(p_event_id).array_value_num('header_index'));
120976 IF l_acc_rev_flag IS NULL THEN
120977 l_acc_rev_flag := 'N';
120978 END IF;
120979 EXCEPTION
120980 WHEN OTHERS THEN
120981 l_acc_rev_flag := 'N';
120982 END;
120983 --
120984 IF (l_acc_rev_flag = 'Y') THEN
120985
120986 -- 4645092 ------------------------------------------------------------------------------
120987 -- To allow MPA report to determine if it should generate report process
120988 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120989 ------------------------------------------------------------------------------------------
120990
120991 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120992 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120993 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120994 -- call ADRs
120995 -- Bug 4922099
120996 --
120997 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120998 (NVL(l_actual_upg_option, 'N') = 'O') OR
120999 (NVL(l_enc_upg_option, 'N') = 'O')
121000 )
121001 THEN
121002 NULL;
121003 --
121004 --
121005
121006 l_ccid := AcctDerRule_41(
121007 p_application_id => p_application_id
121008 , p_ae_header_id => l_ae_header_id
121009 , p_source_49 => p_source_49
121013 , p_side => 'NA'
121010 , x_transaction_coa_id => l_adr_transaction_coa_id
121011 , x_accounting_coa_id => l_adr_accounting_coa_id
121012 , x_value_type_code => l_adr_value_type_code
121014 );
121015
121016 xla_ae_lines_pkg.set_ccid(
121017 p_code_combination_id => l_ccid
121018 , p_value_type_code => l_adr_value_type_code
121019 , p_transaction_coa_id => l_adr_transaction_coa_id
121020 , p_accounting_coa_id => l_adr_accounting_coa_id
121021 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121022 , p_adr_type_code => 'S'
121023 , p_component_type => l_component_type
121024 , p_component_code => l_component_code
121025 , p_component_type_code => l_component_type_code
121026 , p_component_appl_id => l_component_appl_id
121027 , p_amb_context_code => l_amb_context_code
121028 , p_side => 'NA'
121029 );
121030
121031
121032 --
121033 --
121034 END IF;
121035
121036 --
121037 -- Update the line information that should be overwritten
121038 --
121039 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121040 p_header_num => 1);
121041 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121042
121043 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121044
121045 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121046 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121047 END IF;
121048
121049 --
121050 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121051 --
121052 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121053 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121054 ELSE
121055 ---------------------------------------------------------------------------------------------------
121056 -- 4262811a Switch Sign
121057 ---------------------------------------------------------------------------------------------------
121058 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121059 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121060 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121061 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121062 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121063 -- 5132302
121064 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121065 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121066
121067 END IF;
121068
121069 -- 4955764
121070 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121071 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121072
121073
121074 XLA_AE_LINES_PKG.ValidateCurrentLine;
121075 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121076
121077 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121078 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121079 ,p_balance_type_code => l_balance_type_code);
121080
121081 END IF;
121082
121083 -----------------------------------------------------------------------------------------
121084 -- 4262811 Multiperiod Accounting
121085 -----------------------------------------------------------------------------------------
121086 -- No MPA option is assigned.
121087
121088
121089 END IF;
121090 END IF;
121091 --
121092
121093 --
121094 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121095 trace
121096 (p_msg => 'END of AcctLineType_196'
121097 ,p_level => C_LEVEL_PROCEDURE
121098 ,p_module => l_log_module);
121099 END IF;
121100 --
121101 EXCEPTION
121102 WHEN xla_exceptions_pkg.application_exception THEN
121103 RAISE;
121104 WHEN OTHERS THEN
121105 xla_exceptions_pkg.raise_message
121106 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_196');
121107 END AcctLineType_196;
121108 --
121109
121110 ---------------------------------------
121111 --
121112 -- PRIVATE FUNCTION
121113 -- AcctLineType_197
121114 --
121115 ---------------------------------------
121116 PROCEDURE AcctLineType_197 (
121117 p_application_id IN NUMBER
121118 ,p_event_id IN NUMBER
121119 ,p_calculate_acctd_flag IN VARCHAR2
121120 ,p_calculate_g_l_flag IN VARCHAR2
121121 ,p_actual_flag IN OUT VARCHAR2
121122 ,p_balance_type_code OUT VARCHAR2
121123 ,p_gain_or_loss_ref OUT VARCHAR2
121124
121125 --Invoice Distribution Description
121126 , p_source_1 IN VARCHAR2
121127 --Invoice Distribution Ledger Amount
121128 , p_source_21 IN NUMBER
121129 --Invoice Distribution Type
121130 , p_source_33 IN VARCHAR2
121131 , p_source_33_meaning IN VARCHAR2
121132 --Self-Assessed Tax Account
121136 --Distribution Link Type
121133 , p_source_49 IN NUMBER
121134 --Accounting Reversal Indicator
121135 , p_source_52 IN VARCHAR2
121137 , p_source_54 IN VARCHAR2
121138 --Allocation to Main Distribution Identifier
121139 , p_source_56 IN NUMBER
121140 --Invoice Identifier
121141 , p_source_57 IN NUMBER
121142 --Invoice Distribution Identifier
121143 , p_source_63 IN NUMBER
121144 --Payables Encumbrance Upgrade Credit Account
121145 , p_source_64 IN NUMBER
121146 --Payables Encumbrance Upgrade Credit Amount
121147 , p_source_65 IN NUMBER
121148 --Invoice Currency Code
121149 , p_source_66 IN VARCHAR2
121150 --Payables Encumbrance Upgrade Credit Base Amount
121151 , p_source_67 IN NUMBER
121152 --Payables Encumbrance Upgrade Debit Account
121153 , p_source_68 IN NUMBER
121154 --Payables Encumbrance Upgrade Debit Amount
121155 , p_source_69 IN NUMBER
121156 --Payables Encumbrance Upgrade Debit Base Amount
121157 , p_source_70 IN NUMBER
121158 --Payables Encumbrance Upgrade Option
121159 , p_source_71 IN VARCHAR2
121160 --Invoice Distribution Amount
121161 , p_source_72 IN NUMBER
121162 --Deferred Accounting End Date
121163 , p_source_76 IN DATE
121164 --Deferred Accounting Option
121165 , p_source_77 IN VARCHAR2
121166 --Deferred Accounting Start Date
121167 , p_source_78 IN DATE
121168 --Override Accounted Amount Indicator
121169 , p_source_79 IN VARCHAR2
121170 , p_source_79_meaning IN VARCHAR2
121171 --Invoice Supplier Identifier
121172 , p_source_80 IN NUMBER
121173 --Invoice Supplier Site Identifier
121174 , p_source_81 IN NUMBER
121175 --Third Party Type
121176 , p_source_82 IN VARCHAR2
121177 --Parent Reversal Identifier
121178 , p_source_83 IN NUMBER
121179 --Invoice Distribution Tax Line Identifier
121180 , p_source_85 IN NUMBER
121181 --Invoice Distribution Tax Distribution Identifier from Tax
121182 , p_source_86 IN NUMBER
121183 --Invoice Distribution Summary Tax Line Identifier
121184 , p_source_87 IN NUMBER
121185 --Payables Upgrade Credit Encumbrance Type Identifier
121186 , p_source_88 IN NUMBER
121187 --Payables Upgrade Debit Encumbrance Type Identifier
121188 , p_source_89 IN NUMBER
121189 --Business Flow Accounts Payable Application Identifier
121190 , p_source_90 IN NUMBER
121191 --Business Flow Invoice Distribution Type
121192 , p_source_91 IN VARCHAR2
121193 --Business Flow Invoice Entity Code
121194 , p_source_92 IN VARCHAR2
121195 --Business Flow Invoice Distribution Identifier
121196 , p_source_93 IN NUMBER
121197 --Business Flow Invoice Identifier
121198 , p_source_94 IN NUMBER
121199 --Self-Assessed Tax Flag
121200 , p_source_135 IN VARCHAR2
121201 , p_source_135_meaning IN VARCHAR2
121202 --Invoice Exchange Date
121203 , p_source_136 IN DATE
121204 --Invoice Exchange Rate
121205 , p_source_137 IN NUMBER
121206 --Invoice Exchange Rate Type
121207 , p_source_138 IN VARCHAR2
121208 )
121209 IS
121210
121211 l_component_type VARCHAR2(80);
121212 l_component_code VARCHAR2(30);
121213 l_component_type_code VARCHAR2(1);
121214 l_component_appl_id INTEGER;
121215 l_amb_context_code VARCHAR2(30);
121216 l_entity_code VARCHAR2(30);
121217 l_event_class_code VARCHAR2(30);
121218 l_ae_header_id NUMBER;
121219 l_event_type_code VARCHAR2(30);
121220 l_line_definition_code VARCHAR2(30);
121221 l_line_definition_owner_code VARCHAR2(1);
121222 --
121223 -- adr variables
121224 l_segment VARCHAR2(30);
121225 l_ccid NUMBER;
121226 l_adr_transaction_coa_id NUMBER;
121227 l_adr_accounting_coa_id NUMBER;
121228 l_adr_flexfield_segment_code VARCHAR2(30);
121229 l_adr_flex_value_set_id NUMBER;
121230 l_adr_value_type_code VARCHAR2(30);
121231 l_adr_value_combination_id NUMBER;
121232 l_adr_value_segment_code VARCHAR2(30);
121233
121234 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121235 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121236 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121237 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121238
121239 -- 4262811 Variables ------------------------------------------------------------------------------------------
121240 l_entered_amt_idx NUMBER;
121241 l_accted_amt_idx NUMBER;
121242 l_acc_rev_flag VARCHAR2(1);
121243 l_accrual_line_num NUMBER;
121244 l_tmp_amt NUMBER;
121245 l_acc_rev_natural_side_code VARCHAR2(1);
121246
121247 l_num_entries NUMBER;
121248 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121249 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121250 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121251 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121252 l_recog_line_1 NUMBER;
121253 l_recog_line_2 NUMBER;
121254
121255 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121259 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121256 l_bflow_applied_to_amt NUMBER; -- 5132302
121257 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121258
121260
121261 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121262 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121263
121264 ---------------------------------------------------------------------------------------------------------------
121265
121266
121267 --
121268 -- bulk performance
121269 --
121270 l_balance_type_code VARCHAR2(1);
121271 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121272 l_log_module VARCHAR2(240);
121273
121274 --
121275 -- Upgrade strategy
121276 --
121277 l_actual_upg_option VARCHAR2(1);
121278 l_enc_upg_option VARCHAR2(1);
121279
121280 --
121281 BEGIN
121282 --
121283 IF g_log_enabled THEN
121284 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_197';
121285 END IF;
121286 --
121287 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121288
121289 trace
121290 (p_msg => 'BEGIN of AcctLineType_197'
121291 ,p_level => C_LEVEL_PROCEDURE
121292 ,p_module => l_log_module);
121293
121294 END IF;
121295 --
121296 l_component_type := 'AMB_JLT';
121297 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_DM';
121298 l_component_type_code := 'S';
121299 l_component_appl_id := 200;
121300 l_amb_context_code := 'DEFAULT';
121301 l_entity_code := 'AP_INVOICES';
121302 l_event_class_code := 'DEBIT MEMOS';
121303 l_event_type_code := 'DEBIT MEMOS_ALL';
121304 l_line_definition_owner_code := 'S';
121305 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
121306 --
121307 l_balance_type_code := 'A';
121308 l_segment := NULL;
121309 l_ccid := NULL;
121310 l_adr_transaction_coa_id := NULL;
121311 l_adr_accounting_coa_id := NULL;
121312 l_adr_flexfield_segment_code := NULL;
121313 l_adr_flex_value_set_id := NULL;
121314 l_adr_value_type_code := NULL;
121315 l_adr_value_combination_id := NULL;
121316 l_adr_value_segment_code := NULL;
121317
121318 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
121319 l_bflow_class_code := ''; -- 4219869 Business Flow
121320 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
121321 l_budgetary_control_flag := 'N';
121322
121323 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121324 l_bflow_applied_to_amt := NULL; -- 5132302
121325 l_entered_amt_idx := NULL; -- 4262811
121326 l_accted_amt_idx := NULL; -- 4262811
121327 l_acc_rev_flag := NULL; -- 4262811
121328 l_accrual_line_num := NULL; -- 4262811
121329 l_tmp_amt := NULL; -- 4262811
121330 --
121331
121332 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
121333 l_balance_type_code <> 'B' THEN
121334 IF NVL(p_source_33,'
121335 ') = 'REC_TAX' AND
121336 NVL(p_source_135,'
121337 ') = 'Y'
121338 THEN
121339
121340 --
121341 XLA_AE_LINES_PKG.SetNewLine;
121342
121343 p_balance_type_code := l_balance_type_code;
121344 -- set the flag so later we will know whether the gain loss line needs to be created
121345
121346 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121347 p_actual_flag :='A';
121348 END IF;
121349
121350 --
121351 -- bulk performance
121352 --
121353 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121354 p_header_num => 0); -- 4262811
121355 --
121356 -- set accounting line options
121357 --
121358 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121359 p_natural_side_code => 'D'
121360 , p_gain_or_loss_flag => 'N'
121361 , p_gl_transfer_mode_code => 'S'
121362 , p_acct_entry_type_code => 'A'
121363 , p_switch_side_flag => 'Y'
121364 , p_merge_duplicate_code => 'A'
121365 );
121366 --
121367 l_acc_rev_natural_side_code := 'C'; -- 4262811
121368 --
121369 --
121370 -- set accounting line type info
121371 --
121372 xla_ae_lines_pkg.SetAcctLineType
121373 (p_component_type => l_component_type
121374 ,p_event_type_code => l_event_type_code
121375 ,p_line_definition_owner_code => l_line_definition_owner_code
121376 ,p_line_definition_code => l_line_definition_code
121377 ,p_accounting_line_code => l_component_code
121378 ,p_accounting_line_type_code => l_component_type_code
121379 ,p_accounting_line_appl_id => l_component_appl_id
121380 ,p_amb_context_code => l_amb_context_code
121381 ,p_entity_code => l_entity_code
121382 ,p_event_class_code => l_event_class_code);
121383 --
121384 -- set accounting class
121385 --
121386 xla_ae_lines_pkg.SetAcctClass(
121387 p_accounting_class_code => 'SELF_ASSESSED_TAX'
121388 , p_ae_header_id => l_ae_header_id
121389 );
121390
121394 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121391 --
121392 -- set rounding class
121393 --
121395 'SELF_ASSESSED_TAX';
121396
121397 --
121398 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121399 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121400 --
121401 -- bulk performance
121402 --
121403 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121404
121405 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121406 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121407
121408 -- 4955764
121409 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121410 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121411
121412 -- 4458381 Public Sector Enh
121413
121414 --
121415 -- set accounting attributes for the line type
121416 --
121417 l_entered_amt_idx := 23;
121418 l_accted_amt_idx := 28;
121419 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121420 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
121421 l_rec_acct_attrs.array_char_value(1) := p_source_52;
121422 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
121423 l_rec_acct_attrs.array_num_value(2) :=
121424 xla_ae_sources_pkg.GetSystemSourceNum(
121425 p_source_code => 'XLA_EVENT_APPL_ID'
121426 , p_source_type_code => 'Y'
121427 , p_source_application_id => 602
121428 );
121429 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
121430 l_rec_acct_attrs.array_char_value(3) := p_source_54;
121431 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
121432 l_rec_acct_attrs.array_char_value(4) :=
121433 xla_ae_sources_pkg.GetSystemSourceChar(
121434 p_source_code => 'XLA_ENTITY_CODE'
121435 , p_source_type_code => 'Y'
121436 , p_source_application_id => 602
121437 );
121438 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
121439 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
121440 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
121441 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
121442 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
121443 l_rec_acct_attrs.array_num_value(7) := p_source_90;
121444 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
121445 l_rec_acct_attrs.array_char_value(8) := p_source_91;
121446 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
121447 l_rec_acct_attrs.array_char_value(9) := p_source_92;
121448 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
121449 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
121450 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
121451 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
121452 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
121453 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
121454 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
121455 l_rec_acct_attrs.array_char_value(13) := p_source_54;
121456 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
121457 l_rec_acct_attrs.array_num_value(14) := p_source_64;
121458 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
121459 l_rec_acct_attrs.array_num_value(15) := p_source_65;
121460 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
121461 l_rec_acct_attrs.array_char_value(16) := p_source_66;
121462 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
121463 l_rec_acct_attrs.array_num_value(17) := p_source_67;
121464 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
121465 l_rec_acct_attrs.array_num_value(18) := p_source_68;
121466 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
121467 l_rec_acct_attrs.array_num_value(19) := p_source_69;
121468 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
121469 l_rec_acct_attrs.array_char_value(20) := p_source_66;
121470 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
121471 l_rec_acct_attrs.array_num_value(21) := p_source_70;
121472 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
121473 l_rec_acct_attrs.array_char_value(22) := p_source_71;
121474 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
121475 l_rec_acct_attrs.array_num_value(23) := p_source_72;
121476 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
121477 l_rec_acct_attrs.array_char_value(24) := p_source_66;
121478 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
121479 l_rec_acct_attrs.array_date_value(25) := p_source_136;
121480 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
121481 l_rec_acct_attrs.array_num_value(26) := p_source_137;
121482 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
121483 l_rec_acct_attrs.array_char_value(27) := p_source_138;
121484 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
121485 l_rec_acct_attrs.array_num_value(28) := p_source_21;
121486 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
121490 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
121487 l_rec_acct_attrs.array_date_value(29) := p_source_76;
121488 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
121489 l_rec_acct_attrs.array_char_value(30) := p_source_77;
121491 l_rec_acct_attrs.array_date_value(31) := p_source_78;
121492 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
121493 l_rec_acct_attrs.array_char_value(32) := p_source_79;
121494 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
121495 l_rec_acct_attrs.array_num_value(33) := p_source_80;
121496 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
121497 l_rec_acct_attrs.array_num_value(34) := p_source_81;
121498 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
121499 l_rec_acct_attrs.array_char_value(35) := p_source_82;
121500 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
121501 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
121502 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
121503 l_rec_acct_attrs.array_char_value(37) := p_source_54;
121504 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
121505 l_rec_acct_attrs.array_num_value(38) := p_source_85;
121506 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
121507 l_rec_acct_attrs.array_num_value(39) := p_source_86;
121508 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
121509 l_rec_acct_attrs.array_num_value(40) := p_source_87;
121510 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
121511 l_rec_acct_attrs.array_num_value(41) := p_source_88;
121512 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
121513 l_rec_acct_attrs.array_num_value(42) := p_source_89;
121514
121515 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
121516 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
121517
121518 ---------------------------------------------------------------------------------------------------------------
121519 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
121520 ---------------------------------------------------------------------------------------------------------------
121521 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
121522
121523 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121524 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121525
121526 IF xla_accounting_cache_pkg.GetValueChar
121527 (p_source_code => 'LEDGER_CATEGORY_CODE'
121528 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
121529 AND l_bflow_method_code = 'PRIOR_ENTRY'
121530 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
121531 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121532 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121533 )
121534 THEN
121535 xla_ae_lines_pkg.BflowUpgEntry
121536 (p_business_method_code => l_bflow_method_code
121537 ,p_business_class_code => l_bflow_class_code
121538 ,p_balance_type => l_balance_type_code);
121539 ELSE
121540 NULL;
121541 -- No business flow processing for business flow method of NONE.
121542 END IF;
121543
121544 --
121545 -- call analytical criteria
121546 --
121547
121548 --
121549 -- call description
121550 --
121551
121552 xla_ae_lines_pkg.SetLineDescription(
121553 p_ae_header_id => l_ae_header_id
121554 ,p_description => Description_1 (
121555 p_application_id => p_application_id
121556 , p_ae_header_id => l_ae_header_id
121557 , p_source_1 => p_source_1
121558 )
121559 );
121560
121561
121562 --
121563 -- call ADRs
121564 -- Bug 4922099
121565 --
121566 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121567 (NVL(l_actual_upg_option, 'N') = 'O') OR
121568 (NVL(l_enc_upg_option, 'N') = 'O')
121569 )
121570 THEN
121571 NULL;
121572 --
121573 --
121574
121575 l_ccid := AcctDerRule_41(
121576 p_application_id => p_application_id
121577 , p_ae_header_id => l_ae_header_id
121578 , p_source_49 => p_source_49
121579 , x_transaction_coa_id => l_adr_transaction_coa_id
121580 , x_accounting_coa_id => l_adr_accounting_coa_id
121581 , x_value_type_code => l_adr_value_type_code
121582 , p_side => 'NA'
121583 );
121584
121585 xla_ae_lines_pkg.set_ccid(
121586 p_code_combination_id => l_ccid
121587 , p_value_type_code => l_adr_value_type_code
121588 , p_transaction_coa_id => l_adr_transaction_coa_id
121589 , p_accounting_coa_id => l_adr_accounting_coa_id
121590 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121591 , p_adr_type_code => 'S'
121592 , p_component_type => l_component_type
121593 , p_component_code => l_component_code
121594 , p_component_type_code => l_component_type_code
121595 , p_component_appl_id => l_component_appl_id
121599
121596 , p_amb_context_code => l_amb_context_code
121597 , p_side => 'NA'
121598 );
121600
121601 --
121602 --
121603 END IF;
121604 --
121605 -- Bug 4922099
121606 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121607 (NVL(l_enc_upg_option, 'N') = 'O')
121608 ) AND
121609 (l_bflow_method_code = 'PRIOR_ENTRY')
121610 )
121611 THEN
121612 IF
121613 --
121614 1 = 2
121615 --
121616 THEN
121617 xla_accounting_err_pkg.build_message
121618 (p_appli_s_name => 'XLA'
121619 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121620 ,p_token_1 => 'LINE_NUMBER'
121621 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121622 ,p_token_2 => 'LINE_TYPE_NAME'
121623 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121624 l_component_type
121625 ,l_component_code
121626 ,l_component_type_code
121627 ,l_component_appl_id
121628 ,l_amb_context_code
121629 ,l_entity_code
121630 ,l_event_class_code
121631 )
121632 ,p_token_3 => 'OWNER'
121633 ,p_value_3 => xla_lookups_pkg.get_meaning(
121634 p_lookup_type => 'XLA_OWNER_TYPE'
121635 ,p_lookup_code => l_component_type_code
121636 )
121637 ,p_token_4 => 'PRODUCT_NAME'
121638 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121639 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121640 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121641 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121642 ,p_ae_header_id => NULL
121643 );
121644
121645 IF (C_LEVEL_ERROR>= g_log_level) THEN
121646 trace
121647 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121648 ,p_level => C_LEVEL_ERROR
121649 ,p_module => l_log_module);
121650 END IF;
121651 END IF;
121652 END IF;
121653 --
121654 --
121655 ------------------------------------------------------------------------------------------------
121656 -- 4219869 Business Flow
121657 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121658 -- Prior Entry. Currently, the following code is always generated.
121659 ------------------------------------------------------------------------------------------------
121660 XLA_AE_LINES_PKG.ValidateCurrentLine;
121661
121662 ------------------------------------------------------------------------------------
121663 -- 4219869 Business Flow
121664 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121665 ------------------------------------------------------------------------------------
121666 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121667
121668 ----------------------------------------------------------------------------------
121669 -- 4219869 Business Flow
121670 -- Update journal entry status -- Need to generate this within IF <condition>
121671 ----------------------------------------------------------------------------------
121672 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121673 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
121674 ,p_balance_type_code => l_balance_type_code
121675 );
121676
121677 -------------------------------------------------------------------------------------------
121678 -- 4262811 - Generate the Accrual Reversal lines
121679 -------------------------------------------------------------------------------------------
121680 BEGIN
121681 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
121682 (g_array_event(p_event_id).array_value_num('header_index'));
121683 IF l_acc_rev_flag IS NULL THEN
121684 l_acc_rev_flag := 'N';
121685 END IF;
121686 EXCEPTION
121687 WHEN OTHERS THEN
121688 l_acc_rev_flag := 'N';
121689 END;
121690 --
121691 IF (l_acc_rev_flag = 'Y') THEN
121692
121693 -- 4645092 ------------------------------------------------------------------------------
121694 -- To allow MPA report to determine if it should generate report process
121695 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
121699 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
121696 ------------------------------------------------------------------------------------------
121697
121698 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
121700 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
121701 -- call ADRs
121702 -- Bug 4922099
121703 --
121704 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121705 (NVL(l_actual_upg_option, 'N') = 'O') OR
121706 (NVL(l_enc_upg_option, 'N') = 'O')
121707 )
121708 THEN
121709 NULL;
121710 --
121711 --
121712
121713 l_ccid := AcctDerRule_41(
121714 p_application_id => p_application_id
121715 , p_ae_header_id => l_ae_header_id
121716 , p_source_49 => p_source_49
121717 , x_transaction_coa_id => l_adr_transaction_coa_id
121718 , x_accounting_coa_id => l_adr_accounting_coa_id
121719 , x_value_type_code => l_adr_value_type_code
121720 , p_side => 'NA'
121721 );
121722
121723 xla_ae_lines_pkg.set_ccid(
121724 p_code_combination_id => l_ccid
121725 , p_value_type_code => l_adr_value_type_code
121726 , p_transaction_coa_id => l_adr_transaction_coa_id
121727 , p_accounting_coa_id => l_adr_accounting_coa_id
121728 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121729 , p_adr_type_code => 'S'
121730 , p_component_type => l_component_type
121731 , p_component_code => l_component_code
121732 , p_component_type_code => l_component_type_code
121733 , p_component_appl_id => l_component_appl_id
121734 , p_amb_context_code => l_amb_context_code
121735 , p_side => 'NA'
121736 );
121737
121738
121739 --
121740 --
121741 END IF;
121742
121743 --
121744 -- Update the line information that should be overwritten
121745 --
121746 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121747 p_header_num => 1);
121748 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121749
121750 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121751
121752 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121753 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121754 END IF;
121755
121756 --
121757 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121758 --
121759 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121760 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121761 ELSE
121762 ---------------------------------------------------------------------------------------------------
121763 -- 4262811a Switch Sign
121764 ---------------------------------------------------------------------------------------------------
121765 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121766 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121767 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121768 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121769 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121770 -- 5132302
121771 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121772 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121773
121774 END IF;
121775
121776 -- 4955764
121777 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121778 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121779
121780
121781 XLA_AE_LINES_PKG.ValidateCurrentLine;
121782 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121783
121784 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121785 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121786 ,p_balance_type_code => l_balance_type_code);
121787
121788 END IF;
121789
121790 -----------------------------------------------------------------------------------------
121791 -- 4262811 Multiperiod Accounting
121792 -----------------------------------------------------------------------------------------
121793 -- No MPA option is assigned.
121794
121795
121796 END IF;
121797 END IF;
121798 --
121799
121800 --
121801 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121802 trace
121803 (p_msg => 'END of AcctLineType_197'
121804 ,p_level => C_LEVEL_PROCEDURE
121805 ,p_module => l_log_module);
121806 END IF;
121807 --
121808 EXCEPTION
121809 WHEN xla_exceptions_pkg.application_exception THEN
121810 RAISE;
121811 WHEN OTHERS THEN
121812 xla_exceptions_pkg.raise_message
121816
121813 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_197');
121814 END AcctLineType_197;
121815 --
121817 ---------------------------------------
121818 --
121819 -- PRIVATE FUNCTION
121820 -- AcctLineType_198
121821 --
121822 ---------------------------------------
121823 PROCEDURE AcctLineType_198 (
121824 p_application_id IN NUMBER
121825 ,p_event_id IN NUMBER
121826 ,p_calculate_acctd_flag IN VARCHAR2
121827 ,p_calculate_g_l_flag IN VARCHAR2
121828 ,p_actual_flag IN OUT VARCHAR2
121829 ,p_balance_type_code OUT VARCHAR2
121830 ,p_gain_or_loss_ref OUT VARCHAR2
121831
121832 --Invoice Distribution Description
121833 , p_source_1 IN VARCHAR2
121834 --Invoice Distribution Ledger Amount
121835 , p_source_21 IN NUMBER
121836 --Invoice Distribution Type
121837 , p_source_33 IN VARCHAR2
121838 , p_source_33_meaning IN VARCHAR2
121839 --Self-Assessed Tax Account
121840 , p_source_49 IN NUMBER
121841 --Accounting Reversal Indicator
121842 , p_source_52 IN VARCHAR2
121843 --Distribution Link Type
121844 , p_source_54 IN VARCHAR2
121845 --Allocation to Main Distribution Identifier
121846 , p_source_56 IN NUMBER
121847 --Invoice Identifier
121848 , p_source_57 IN NUMBER
121849 --Invoice Distribution Identifier
121850 , p_source_63 IN NUMBER
121851 --Payables Encumbrance Upgrade Credit Account
121852 , p_source_64 IN NUMBER
121853 --Payables Encumbrance Upgrade Credit Amount
121854 , p_source_65 IN NUMBER
121855 --Invoice Currency Code
121856 , p_source_66 IN VARCHAR2
121857 --Payables Encumbrance Upgrade Credit Base Amount
121858 , p_source_67 IN NUMBER
121859 --Payables Encumbrance Upgrade Debit Account
121860 , p_source_68 IN NUMBER
121861 --Payables Encumbrance Upgrade Debit Amount
121862 , p_source_69 IN NUMBER
121863 --Payables Encumbrance Upgrade Debit Base Amount
121864 , p_source_70 IN NUMBER
121865 --Payables Encumbrance Upgrade Option
121866 , p_source_71 IN VARCHAR2
121867 --Invoice Distribution Amount
121868 , p_source_72 IN NUMBER
121869 --Deferred Accounting End Date
121870 , p_source_76 IN DATE
121871 --Deferred Accounting Option
121872 , p_source_77 IN VARCHAR2
121873 --Deferred Accounting Start Date
121874 , p_source_78 IN DATE
121875 --Override Accounted Amount Indicator
121876 , p_source_79 IN VARCHAR2
121877 , p_source_79_meaning IN VARCHAR2
121878 --Invoice Supplier Identifier
121879 , p_source_80 IN NUMBER
121880 --Invoice Supplier Site Identifier
121881 , p_source_81 IN NUMBER
121882 --Third Party Type
121883 , p_source_82 IN VARCHAR2
121884 --Parent Reversal Identifier
121885 , p_source_83 IN NUMBER
121886 --Invoice Distribution Statistical Amount
121887 , p_source_84 IN NUMBER
121888 --Invoice Distribution Tax Line Identifier
121889 , p_source_85 IN NUMBER
121890 --Invoice Distribution Tax Distribution Identifier from Tax
121891 , p_source_86 IN NUMBER
121892 --Invoice Distribution Summary Tax Line Identifier
121893 , p_source_87 IN NUMBER
121894 --Payables Upgrade Credit Encumbrance Type Identifier
121895 , p_source_88 IN NUMBER
121896 --Payables Upgrade Debit Encumbrance Type Identifier
121897 , p_source_89 IN NUMBER
121898 --Business Flow Accounts Payable Application Identifier
121899 , p_source_90 IN NUMBER
121900 --Business Flow Invoice Distribution Type
121901 , p_source_91 IN VARCHAR2
121902 --Business Flow Invoice Entity Code
121903 , p_source_92 IN VARCHAR2
121904 --Business Flow Invoice Distribution Identifier
121905 , p_source_93 IN NUMBER
121906 --Business Flow Invoice Identifier
121907 , p_source_94 IN NUMBER
121908 --Self-Assessed Tax Flag
121909 , p_source_135 IN VARCHAR2
121910 , p_source_135_meaning IN VARCHAR2
121911 --Invoice Exchange Date
121912 , p_source_136 IN DATE
121913 --Invoice Exchange Rate
121914 , p_source_137 IN NUMBER
121915 --Invoice Exchange Rate Type
121916 , p_source_138 IN VARCHAR2
121917 )
121918 IS
121919
121920 l_component_type VARCHAR2(80);
121921 l_component_code VARCHAR2(30);
121922 l_component_type_code VARCHAR2(1);
121923 l_component_appl_id INTEGER;
121924 l_amb_context_code VARCHAR2(30);
121925 l_entity_code VARCHAR2(30);
121926 l_event_class_code VARCHAR2(30);
121927 l_ae_header_id NUMBER;
121928 l_event_type_code VARCHAR2(30);
121929 l_line_definition_code VARCHAR2(30);
121930 l_line_definition_owner_code VARCHAR2(1);
121931 --
121932 -- adr variables
121933 l_segment VARCHAR2(30);
121934 l_ccid NUMBER;
121935 l_adr_transaction_coa_id NUMBER;
121936 l_adr_accounting_coa_id NUMBER;
121937 l_adr_flexfield_segment_code VARCHAR2(30);
121938 l_adr_flex_value_set_id NUMBER;
121939 l_adr_value_type_code VARCHAR2(30);
121940 l_adr_value_combination_id NUMBER;
121941 l_adr_value_segment_code VARCHAR2(30);
121942
121943 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121944 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121945 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121949 l_entered_amt_idx NUMBER;
121946 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121947
121948 -- 4262811 Variables ------------------------------------------------------------------------------------------
121950 l_accted_amt_idx NUMBER;
121951 l_acc_rev_flag VARCHAR2(1);
121952 l_accrual_line_num NUMBER;
121953 l_tmp_amt NUMBER;
121954 l_acc_rev_natural_side_code VARCHAR2(1);
121955
121956 l_num_entries NUMBER;
121957 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121958 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121959 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121960 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121961 l_recog_line_1 NUMBER;
121962 l_recog_line_2 NUMBER;
121963
121964 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121965 l_bflow_applied_to_amt NUMBER; -- 5132302
121966 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121967
121968 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121969
121970 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121971 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121972
121973 ---------------------------------------------------------------------------------------------------------------
121974
121975
121976 --
121977 -- bulk performance
121978 --
121979 l_balance_type_code VARCHAR2(1);
121980 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121981 l_log_module VARCHAR2(240);
121982
121983 --
121984 -- Upgrade strategy
121985 --
121986 l_actual_upg_option VARCHAR2(1);
121987 l_enc_upg_option VARCHAR2(1);
121988
121989 --
121990 BEGIN
121991 --
121992 IF g_log_enabled THEN
121993 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_198';
121994 END IF;
121995 --
121996 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121997
121998 trace
121999 (p_msg => 'BEGIN of AcctLineType_198'
122000 ,p_level => C_LEVEL_PROCEDURE
122001 ,p_module => l_log_module);
122002
122003 END IF;
122004 --
122005 l_component_type := 'AMB_JLT';
122006 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_INV';
122007 l_component_type_code := 'S';
122008 l_component_appl_id := 200;
122009 l_amb_context_code := 'DEFAULT';
122010 l_entity_code := 'AP_INVOICES';
122011 l_event_class_code := 'INVOICES';
122012 l_event_type_code := 'INVOICES_ALL';
122013 l_line_definition_owner_code := 'S';
122014 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
122015 --
122016 l_balance_type_code := 'A';
122017 l_segment := NULL;
122018 l_ccid := NULL;
122019 l_adr_transaction_coa_id := NULL;
122020 l_adr_accounting_coa_id := NULL;
122021 l_adr_flexfield_segment_code := NULL;
122022 l_adr_flex_value_set_id := NULL;
122023 l_adr_value_type_code := NULL;
122024 l_adr_value_combination_id := NULL;
122025 l_adr_value_segment_code := NULL;
122026
122027 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122028 l_bflow_class_code := ''; -- 4219869 Business Flow
122029 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122030 l_budgetary_control_flag := 'N';
122031
122032 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122033 l_bflow_applied_to_amt := NULL; -- 5132302
122034 l_entered_amt_idx := NULL; -- 4262811
122035 l_accted_amt_idx := NULL; -- 4262811
122036 l_acc_rev_flag := NULL; -- 4262811
122037 l_accrual_line_num := NULL; -- 4262811
122038 l_tmp_amt := NULL; -- 4262811
122039 --
122040
122041 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122042 l_balance_type_code <> 'B' THEN
122043 IF NVL(p_source_33,'
122044 ') = 'REC_TAX' AND
122045 NVL(p_source_135,'
122046 ') = 'Y'
122047 THEN
122048
122049 --
122050 XLA_AE_LINES_PKG.SetNewLine;
122051
122052 p_balance_type_code := l_balance_type_code;
122053 -- set the flag so later we will know whether the gain loss line needs to be created
122054
122055 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122056 p_actual_flag :='A';
122057 END IF;
122058
122059 --
122060 -- bulk performance
122061 --
122062 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122063 p_header_num => 0); -- 4262811
122064 --
122065 -- set accounting line options
122066 --
122067 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122068 p_natural_side_code => 'D'
122069 , p_gain_or_loss_flag => 'N'
122070 , p_gl_transfer_mode_code => 'S'
122071 , p_acct_entry_type_code => 'A'
122072 , p_switch_side_flag => 'Y'
122073 , p_merge_duplicate_code => 'A'
122074 );
122075 --
122079 -- set accounting line type info
122076 l_acc_rev_natural_side_code := 'C'; -- 4262811
122077 --
122078 --
122080 --
122081 xla_ae_lines_pkg.SetAcctLineType
122082 (p_component_type => l_component_type
122083 ,p_event_type_code => l_event_type_code
122084 ,p_line_definition_owner_code => l_line_definition_owner_code
122085 ,p_line_definition_code => l_line_definition_code
122086 ,p_accounting_line_code => l_component_code
122087 ,p_accounting_line_type_code => l_component_type_code
122088 ,p_accounting_line_appl_id => l_component_appl_id
122089 ,p_amb_context_code => l_amb_context_code
122090 ,p_entity_code => l_entity_code
122091 ,p_event_class_code => l_event_class_code);
122092 --
122093 -- set accounting class
122094 --
122095 xla_ae_lines_pkg.SetAcctClass(
122096 p_accounting_class_code => 'SELF_ASSESSED_TAX'
122097 , p_ae_header_id => l_ae_header_id
122098 );
122099
122100 --
122101 -- set rounding class
122102 --
122103 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122104 'SELF_ASSESSED_TAX';
122105
122106 --
122107 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122108 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122109 --
122110 -- bulk performance
122111 --
122112 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
122113
122114 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
122115 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
122116
122117 -- 4955764
122118 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122119 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
122120
122121 -- 4458381 Public Sector Enh
122122
122123 --
122124 -- set accounting attributes for the line type
122125 --
122126 l_entered_amt_idx := 24;
122127 l_accted_amt_idx := 29;
122128 l_bflow_applied_to_amt_idx := 7; -- 5132302
122129 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122130 l_rec_acct_attrs.array_char_value(1) := p_source_52;
122131 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122132 l_rec_acct_attrs.array_num_value(2) :=
122133 xla_ae_sources_pkg.GetSystemSourceNum(
122134 p_source_code => 'XLA_EVENT_APPL_ID'
122135 , p_source_type_code => 'Y'
122136 , p_source_application_id => 602
122137 );
122138 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122139 l_rec_acct_attrs.array_char_value(3) := p_source_54;
122140 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122141 l_rec_acct_attrs.array_char_value(4) :=
122142 xla_ae_sources_pkg.GetSystemSourceChar(
122143 p_source_code => 'XLA_ENTITY_CODE'
122144 , p_source_type_code => 'Y'
122145 , p_source_application_id => 602
122146 );
122147 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122148 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
122149 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122150 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
122151 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
122152 l_rec_acct_attrs.array_num_value(7) := p_source_72;
122153 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
122154 l_rec_acct_attrs.array_num_value(8) := p_source_90;
122155 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122156 l_rec_acct_attrs.array_char_value(9) := p_source_91;
122157 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
122158 l_rec_acct_attrs.array_char_value(10) := p_source_92;
122159 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
122160 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
122161 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122162 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
122163 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
122164 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
122165 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
122166 l_rec_acct_attrs.array_char_value(14) := p_source_54;
122167 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
122168 l_rec_acct_attrs.array_num_value(15) := p_source_64;
122169 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
122170 l_rec_acct_attrs.array_num_value(16) := p_source_65;
122171 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
122172 l_rec_acct_attrs.array_char_value(17) := p_source_66;
122173 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
122174 l_rec_acct_attrs.array_num_value(18) := p_source_67;
122175 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
122176 l_rec_acct_attrs.array_num_value(19) := p_source_68;
122177 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
122178 l_rec_acct_attrs.array_num_value(20) := p_source_69;
122182 l_rec_acct_attrs.array_num_value(22) := p_source_70;
122179 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
122180 l_rec_acct_attrs.array_char_value(21) := p_source_66;
122181 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
122183 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
122184 l_rec_acct_attrs.array_char_value(23) := p_source_71;
122185 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
122186 l_rec_acct_attrs.array_num_value(24) := p_source_72;
122187 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
122188 l_rec_acct_attrs.array_char_value(25) := p_source_66;
122189 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
122190 l_rec_acct_attrs.array_date_value(26) := p_source_136;
122191 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
122192 l_rec_acct_attrs.array_num_value(27) := p_source_137;
122193 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
122194 l_rec_acct_attrs.array_char_value(28) := p_source_138;
122195 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
122196 l_rec_acct_attrs.array_num_value(29) := p_source_21;
122197 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
122198 l_rec_acct_attrs.array_date_value(30) := p_source_76;
122199 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
122200 l_rec_acct_attrs.array_char_value(31) := p_source_77;
122201 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
122202 l_rec_acct_attrs.array_date_value(32) := p_source_78;
122203 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
122204 l_rec_acct_attrs.array_char_value(33) := p_source_79;
122205 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
122206 l_rec_acct_attrs.array_num_value(34) := p_source_80;
122207 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
122208 l_rec_acct_attrs.array_num_value(35) := p_source_81;
122209 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
122210 l_rec_acct_attrs.array_char_value(36) := p_source_82;
122211 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
122212 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
122213 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
122214 l_rec_acct_attrs.array_char_value(38) := p_source_54;
122215 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
122216 l_rec_acct_attrs.array_num_value(39) := p_source_84;
122217 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
122218 l_rec_acct_attrs.array_num_value(40) := p_source_85;
122219 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
122220 l_rec_acct_attrs.array_num_value(41) := p_source_86;
122221 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
122222 l_rec_acct_attrs.array_num_value(42) := p_source_87;
122223 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
122224 l_rec_acct_attrs.array_num_value(43) := p_source_88;
122225 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
122226 l_rec_acct_attrs.array_num_value(44) := p_source_89;
122227
122228 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122229 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122230
122231 ---------------------------------------------------------------------------------------------------------------
122232 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122233 ---------------------------------------------------------------------------------------------------------------
122234 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122235
122236 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122237 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122238
122239 IF xla_accounting_cache_pkg.GetValueChar
122240 (p_source_code => 'LEDGER_CATEGORY_CODE'
122241 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122242 AND l_bflow_method_code = 'PRIOR_ENTRY'
122243 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122244 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122245 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122246 )
122247 THEN
122248 xla_ae_lines_pkg.BflowUpgEntry
122249 (p_business_method_code => l_bflow_method_code
122250 ,p_business_class_code => l_bflow_class_code
122251 ,p_balance_type => l_balance_type_code);
122252 ELSE
122253 NULL;
122254 -- No business flow processing for business flow method of NONE.
122255 END IF;
122256
122257 --
122258 -- call analytical criteria
122259 --
122260
122261 --
122262 -- call description
122263 --
122264
122265 xla_ae_lines_pkg.SetLineDescription(
122266 p_ae_header_id => l_ae_header_id
122267 ,p_description => Description_1 (
122268 p_application_id => p_application_id
122269 , p_ae_header_id => l_ae_header_id
122270 , p_source_1 => p_source_1
122271 )
122272 );
122273
122274
122275 --
122276 -- call ADRs
122277 -- Bug 4922099
122278 --
122279 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122280 (NVL(l_actual_upg_option, 'N') = 'O') OR
122281 (NVL(l_enc_upg_option, 'N') = 'O')
122285 --
122282 )
122283 THEN
122284 NULL;
122286 --
122287
122288 l_ccid := AcctDerRule_41(
122289 p_application_id => p_application_id
122290 , p_ae_header_id => l_ae_header_id
122291 , p_source_49 => p_source_49
122292 , x_transaction_coa_id => l_adr_transaction_coa_id
122293 , x_accounting_coa_id => l_adr_accounting_coa_id
122294 , x_value_type_code => l_adr_value_type_code
122295 , p_side => 'NA'
122296 );
122297
122298 xla_ae_lines_pkg.set_ccid(
122299 p_code_combination_id => l_ccid
122300 , p_value_type_code => l_adr_value_type_code
122301 , p_transaction_coa_id => l_adr_transaction_coa_id
122302 , p_accounting_coa_id => l_adr_accounting_coa_id
122303 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122304 , p_adr_type_code => 'S'
122305 , p_component_type => l_component_type
122306 , p_component_code => l_component_code
122307 , p_component_type_code => l_component_type_code
122308 , p_component_appl_id => l_component_appl_id
122309 , p_amb_context_code => l_amb_context_code
122310 , p_side => 'NA'
122311 );
122312
122313
122314 --
122315 --
122316 END IF;
122317 --
122318 -- Bug 4922099
122319 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
122320 (NVL(l_enc_upg_option, 'N') = 'O')
122321 ) AND
122322 (l_bflow_method_code = 'PRIOR_ENTRY')
122323 )
122324 THEN
122325 IF
122326 --
122327 1 = 2
122328 --
122329 THEN
122330 xla_accounting_err_pkg.build_message
122331 (p_appli_s_name => 'XLA'
122332 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122333 ,p_token_1 => 'LINE_NUMBER'
122334 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
122335 ,p_token_2 => 'LINE_TYPE_NAME'
122336 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
122337 l_component_type
122338 ,l_component_code
122339 ,l_component_type_code
122340 ,l_component_appl_id
122341 ,l_amb_context_code
122342 ,l_entity_code
122343 ,l_event_class_code
122344 )
122345 ,p_token_3 => 'OWNER'
122346 ,p_value_3 => xla_lookups_pkg.get_meaning(
122347 p_lookup_type => 'XLA_OWNER_TYPE'
122348 ,p_lookup_code => l_component_type_code
122349 )
122350 ,p_token_4 => 'PRODUCT_NAME'
122351 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
122352 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
122353 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
122354 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
122355 ,p_ae_header_id => NULL
122356 );
122357
122358 IF (C_LEVEL_ERROR>= g_log_level) THEN
122359 trace
122360 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122361 ,p_level => C_LEVEL_ERROR
122362 ,p_module => l_log_module);
122363 END IF;
122364 END IF;
122365 END IF;
122366 --
122367 --
122368 ------------------------------------------------------------------------------------------------
122369 -- 4219869 Business Flow
122370 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
122371 -- Prior Entry. Currently, the following code is always generated.
122372 ------------------------------------------------------------------------------------------------
122373 XLA_AE_LINES_PKG.ValidateCurrentLine;
122374
122375 ------------------------------------------------------------------------------------
122376 -- 4219869 Business Flow
122377 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
122378 ------------------------------------------------------------------------------------
122379 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122380
122381 ----------------------------------------------------------------------------------
122382 -- 4219869 Business Flow
122383 -- Update journal entry status -- Need to generate this within IF <condition>
122387 ,p_balance_type_code => l_balance_type_code
122384 ----------------------------------------------------------------------------------
122385 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122386 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122388 );
122389
122390 -------------------------------------------------------------------------------------------
122391 -- 4262811 - Generate the Accrual Reversal lines
122392 -------------------------------------------------------------------------------------------
122393 BEGIN
122394 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122395 (g_array_event(p_event_id).array_value_num('header_index'));
122396 IF l_acc_rev_flag IS NULL THEN
122397 l_acc_rev_flag := 'N';
122398 END IF;
122399 EXCEPTION
122400 WHEN OTHERS THEN
122401 l_acc_rev_flag := 'N';
122402 END;
122403 --
122404 IF (l_acc_rev_flag = 'Y') THEN
122405
122406 -- 4645092 ------------------------------------------------------------------------------
122407 -- To allow MPA report to determine if it should generate report process
122408 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122409 ------------------------------------------------------------------------------------------
122410
122411 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122412 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122413 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122414 -- call ADRs
122415 -- Bug 4922099
122416 --
122417 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122418 (NVL(l_actual_upg_option, 'N') = 'O') OR
122419 (NVL(l_enc_upg_option, 'N') = 'O')
122420 )
122421 THEN
122422 NULL;
122423 --
122424 --
122425
122426 l_ccid := AcctDerRule_41(
122427 p_application_id => p_application_id
122428 , p_ae_header_id => l_ae_header_id
122429 , p_source_49 => p_source_49
122430 , x_transaction_coa_id => l_adr_transaction_coa_id
122431 , x_accounting_coa_id => l_adr_accounting_coa_id
122432 , x_value_type_code => l_adr_value_type_code
122433 , p_side => 'NA'
122434 );
122435
122436 xla_ae_lines_pkg.set_ccid(
122437 p_code_combination_id => l_ccid
122438 , p_value_type_code => l_adr_value_type_code
122439 , p_transaction_coa_id => l_adr_transaction_coa_id
122440 , p_accounting_coa_id => l_adr_accounting_coa_id
122441 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122442 , p_adr_type_code => 'S'
122443 , p_component_type => l_component_type
122444 , p_component_code => l_component_code
122445 , p_component_type_code => l_component_type_code
122446 , p_component_appl_id => l_component_appl_id
122447 , p_amb_context_code => l_amb_context_code
122448 , p_side => 'NA'
122449 );
122450
122451
122452 --
122453 --
122454 END IF;
122455
122456 --
122457 -- Update the line information that should be overwritten
122458 --
122459 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
122460 p_header_num => 1);
122461 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
122462
122463 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
122464
122465 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
122466 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
122467 END IF;
122468
122469 --
122470 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
122471 --
122472 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
122473 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
122474 ELSE
122475 ---------------------------------------------------------------------------------------------------
122476 -- 4262811a Switch Sign
122477 ---------------------------------------------------------------------------------------------------
122478 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
122479 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122481 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122482 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122483 -- 5132302
122484 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
122485 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122486
122487 END IF;
122488
122489 -- 4955764
122490 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122491 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
122492
122493
122497 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122494 XLA_AE_LINES_PKG.ValidateCurrentLine;
122495 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122496
122498 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
122499 ,p_balance_type_code => l_balance_type_code);
122500
122501 END IF;
122502
122503 -----------------------------------------------------------------------------------------
122504 -- 4262811 Multiperiod Accounting
122505 -----------------------------------------------------------------------------------------
122506 -- No MPA option is assigned.
122507
122508
122509 END IF;
122510 END IF;
122511 --
122512
122513 --
122514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122515 trace
122516 (p_msg => 'END of AcctLineType_198'
122517 ,p_level => C_LEVEL_PROCEDURE
122518 ,p_module => l_log_module);
122519 END IF;
122520 --
122521 EXCEPTION
122522 WHEN xla_exceptions_pkg.application_exception THEN
122523 RAISE;
122524 WHEN OTHERS THEN
122525 xla_exceptions_pkg.raise_message
122526 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_198');
122527 END AcctLineType_198;
122528 --
122529
122530 ---------------------------------------
122531 --
122532 -- PRIVATE FUNCTION
122533 -- AcctLineType_199
122534 --
122535 ---------------------------------------
122536 PROCEDURE AcctLineType_199 (
122537 p_application_id IN NUMBER
122538 ,p_event_id IN NUMBER
122539 ,p_calculate_acctd_flag IN VARCHAR2
122540 ,p_calculate_g_l_flag IN VARCHAR2
122541 ,p_actual_flag IN OUT VARCHAR2
122542 ,p_balance_type_code OUT VARCHAR2
122543 ,p_gain_or_loss_ref OUT VARCHAR2
122544
122545 --Invoice Distribution Description
122546 , p_source_1 IN VARCHAR2
122547 --Invoice Distribution Ledger Amount
122548 , p_source_21 IN NUMBER
122549 --Invoice Distribution Type
122550 , p_source_33 IN VARCHAR2
122551 , p_source_33_meaning IN VARCHAR2
122552 --Self-Assessed Tax Liability Account
122553 , p_source_50 IN NUMBER
122554 --Accounting Reversal Indicator
122555 , p_source_52 IN VARCHAR2
122556 --Distribution Link Type
122557 , p_source_54 IN VARCHAR2
122558 --Allocation to Main Distribution Identifier
122559 , p_source_56 IN NUMBER
122560 --Invoice Identifier
122561 , p_source_57 IN NUMBER
122562 --Invoice Distribution Identifier
122563 , p_source_63 IN NUMBER
122564 --Payables Encumbrance Upgrade Credit Account
122565 , p_source_64 IN NUMBER
122566 --Payables Encumbrance Upgrade Credit Amount
122567 , p_source_65 IN NUMBER
122568 --Invoice Currency Code
122569 , p_source_66 IN VARCHAR2
122570 --Payables Encumbrance Upgrade Credit Base Amount
122571 , p_source_67 IN NUMBER
122572 --Payables Encumbrance Upgrade Debit Account
122573 , p_source_68 IN NUMBER
122574 --Payables Encumbrance Upgrade Debit Amount
122575 , p_source_69 IN NUMBER
122576 --Payables Encumbrance Upgrade Debit Base Amount
122577 , p_source_70 IN NUMBER
122578 --Payables Encumbrance Upgrade Option
122579 , p_source_71 IN VARCHAR2
122580 --Invoice Distribution Amount
122581 , p_source_72 IN NUMBER
122582 --Deferred Accounting End Date
122583 , p_source_76 IN DATE
122584 --Deferred Accounting Option
122585 , p_source_77 IN VARCHAR2
122586 --Deferred Accounting Start Date
122587 , p_source_78 IN DATE
122588 --Override Accounted Amount Indicator
122589 , p_source_79 IN VARCHAR2
122590 , p_source_79_meaning IN VARCHAR2
122591 --Invoice Supplier Identifier
122592 , p_source_80 IN NUMBER
122593 --Invoice Supplier Site Identifier
122594 , p_source_81 IN NUMBER
122595 --Third Party Type
122596 , p_source_82 IN VARCHAR2
122597 --Parent Reversal Identifier
122598 , p_source_83 IN NUMBER
122599 --Invoice Distribution Statistical Amount
122600 , p_source_84 IN NUMBER
122601 --Invoice Distribution Tax Line Identifier
122602 , p_source_85 IN NUMBER
122603 --Invoice Distribution Tax Distribution Identifier from Tax
122604 , p_source_86 IN NUMBER
122605 --Invoice Distribution Summary Tax Line Identifier
122606 , p_source_87 IN NUMBER
122607 --Payables Upgrade Credit Encumbrance Type Identifier
122608 , p_source_88 IN NUMBER
122609 --Payables Upgrade Debit Encumbrance Type Identifier
122610 , p_source_89 IN NUMBER
122611 --Business Flow Accounts Payable Application Identifier
122612 , p_source_90 IN NUMBER
122613 --Business Flow Invoice Distribution Type
122614 , p_source_91 IN VARCHAR2
122615 --Business Flow Invoice Entity Code
122616 , p_source_92 IN VARCHAR2
122617 --Business Flow Invoice Distribution Identifier
122618 , p_source_93 IN NUMBER
122619 --Business Flow Invoice Identifier
122620 , p_source_94 IN NUMBER
122621 --Self-Assessed Tax Flag
122622 , p_source_135 IN VARCHAR2
122623 , p_source_135_meaning IN VARCHAR2
122624 --Invoice Exchange Date
122625 , p_source_136 IN DATE
122626 --Invoice Exchange Rate
122627 , p_source_137 IN NUMBER
122628 --Invoice Exchange Rate Type
122629 , p_source_138 IN VARCHAR2
122633 l_component_type VARCHAR2(80);
122630 )
122631 IS
122632
122634 l_component_code VARCHAR2(30);
122635 l_component_type_code VARCHAR2(1);
122636 l_component_appl_id INTEGER;
122637 l_amb_context_code VARCHAR2(30);
122638 l_entity_code VARCHAR2(30);
122639 l_event_class_code VARCHAR2(30);
122640 l_ae_header_id NUMBER;
122641 l_event_type_code VARCHAR2(30);
122642 l_line_definition_code VARCHAR2(30);
122643 l_line_definition_owner_code VARCHAR2(1);
122644 --
122645 -- adr variables
122646 l_segment VARCHAR2(30);
122647 l_ccid NUMBER;
122648 l_adr_transaction_coa_id NUMBER;
122649 l_adr_accounting_coa_id NUMBER;
122650 l_adr_flexfield_segment_code VARCHAR2(30);
122651 l_adr_flex_value_set_id NUMBER;
122652 l_adr_value_type_code VARCHAR2(30);
122653 l_adr_value_combination_id NUMBER;
122654 l_adr_value_segment_code VARCHAR2(30);
122655
122656 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122657 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122658 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122659 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122660
122661 -- 4262811 Variables ------------------------------------------------------------------------------------------
122662 l_entered_amt_idx NUMBER;
122663 l_accted_amt_idx NUMBER;
122664 l_acc_rev_flag VARCHAR2(1);
122665 l_accrual_line_num NUMBER;
122666 l_tmp_amt NUMBER;
122667 l_acc_rev_natural_side_code VARCHAR2(1);
122668
122669 l_num_entries NUMBER;
122670 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122671 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122672 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122673 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122674 l_recog_line_1 NUMBER;
122675 l_recog_line_2 NUMBER;
122676
122677 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122678 l_bflow_applied_to_amt NUMBER; -- 5132302
122679 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122680
122681 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122682
122683 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122684 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122685
122686 ---------------------------------------------------------------------------------------------------------------
122687
122688
122689 --
122690 -- bulk performance
122691 --
122692 l_balance_type_code VARCHAR2(1);
122693 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
122694 l_log_module VARCHAR2(240);
122695
122696 --
122697 -- Upgrade strategy
122698 --
122699 l_actual_upg_option VARCHAR2(1);
122700 l_enc_upg_option VARCHAR2(1);
122701
122702 --
122703 BEGIN
122704 --
122705 IF g_log_enabled THEN
122706 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_199';
122707 END IF;
122708 --
122709 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122710
122711 trace
122712 (p_msg => 'BEGIN of AcctLineType_199'
122713 ,p_level => C_LEVEL_PROCEDURE
122714 ,p_module => l_log_module);
122715
122716 END IF;
122717 --
122718 l_component_type := 'AMB_JLT';
122719 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_CM';
122720 l_component_type_code := 'S';
122721 l_component_appl_id := 200;
122722 l_amb_context_code := 'DEFAULT';
122723 l_entity_code := 'AP_INVOICES';
122724 l_event_class_code := 'CREDIT MEMOS';
122725 l_event_type_code := 'CREDIT MEMOS_ALL';
122726 l_line_definition_owner_code := 'S';
122727 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
122728 --
122729 l_balance_type_code := 'A';
122730 l_segment := NULL;
122731 l_ccid := NULL;
122732 l_adr_transaction_coa_id := NULL;
122733 l_adr_accounting_coa_id := NULL;
122734 l_adr_flexfield_segment_code := NULL;
122735 l_adr_flex_value_set_id := NULL;
122736 l_adr_value_type_code := NULL;
122737 l_adr_value_combination_id := NULL;
122738 l_adr_value_segment_code := NULL;
122739
122740 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122741 l_bflow_class_code := ''; -- 4219869 Business Flow
122742 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122743 l_budgetary_control_flag := 'N';
122744
122745 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122746 l_bflow_applied_to_amt := NULL; -- 5132302
122747 l_entered_amt_idx := NULL; -- 4262811
122748 l_accted_amt_idx := NULL; -- 4262811
122749 l_acc_rev_flag := NULL; -- 4262811
122750 l_accrual_line_num := NULL; -- 4262811
122751 l_tmp_amt := NULL; -- 4262811
122752 --
122753
122754 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122758 NVL(p_source_33,'
122755 l_balance_type_code <> 'B' THEN
122756 IF (NVL(p_source_33,'
122757 ') = 'REC_TAX' OR
122759 ') = 'NONREC_TAX') AND
122760 NVL(p_source_135,'
122761 ') = 'Y'
122762 THEN
122763
122764 --
122765 XLA_AE_LINES_PKG.SetNewLine;
122766
122767 p_balance_type_code := l_balance_type_code;
122768 -- set the flag so later we will know whether the gain loss line needs to be created
122769
122770 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122771 p_actual_flag :='A';
122772 END IF;
122773
122774 --
122775 -- bulk performance
122776 --
122777 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122778 p_header_num => 0); -- 4262811
122779 --
122780 -- set accounting line options
122781 --
122782 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122783 p_natural_side_code => 'C'
122784 , p_gain_or_loss_flag => 'N'
122785 , p_gl_transfer_mode_code => 'S'
122786 , p_acct_entry_type_code => 'A'
122787 , p_switch_side_flag => 'Y'
122788 , p_merge_duplicate_code => 'A'
122789 );
122790 --
122791 l_acc_rev_natural_side_code := 'D'; -- 4262811
122792 --
122793 --
122794 -- set accounting line type info
122795 --
122796 xla_ae_lines_pkg.SetAcctLineType
122797 (p_component_type => l_component_type
122798 ,p_event_type_code => l_event_type_code
122799 ,p_line_definition_owner_code => l_line_definition_owner_code
122800 ,p_line_definition_code => l_line_definition_code
122801 ,p_accounting_line_code => l_component_code
122802 ,p_accounting_line_type_code => l_component_type_code
122803 ,p_accounting_line_appl_id => l_component_appl_id
122804 ,p_amb_context_code => l_amb_context_code
122805 ,p_entity_code => l_entity_code
122806 ,p_event_class_code => l_event_class_code);
122807 --
122808 -- set accounting class
122809 --
122810 xla_ae_lines_pkg.SetAcctClass(
122811 p_accounting_class_code => 'SELF_ASSESSED_TAX'
122812 , p_ae_header_id => l_ae_header_id
122813 );
122814
122815 --
122816 -- set rounding class
122817 --
122818 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122819 'SELF_ASSESSED_TAX';
122820
122821 --
122822 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122823 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122824 --
122825 -- bulk performance
122826 --
122827 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
122828
122829 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
122830 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
122831
122832 -- 4955764
122833 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122834 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
122835
122836 -- 4458381 Public Sector Enh
122837
122838 --
122839 -- set accounting attributes for the line type
122840 --
122841 l_entered_amt_idx := 23;
122842 l_accted_amt_idx := 28;
122843 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122844 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122845 l_rec_acct_attrs.array_char_value(1) := p_source_52;
122846 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122847 l_rec_acct_attrs.array_num_value(2) :=
122848 xla_ae_sources_pkg.GetSystemSourceNum(
122849 p_source_code => 'XLA_EVENT_APPL_ID'
122850 , p_source_type_code => 'Y'
122851 , p_source_application_id => 602
122852 );
122853 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122854 l_rec_acct_attrs.array_char_value(3) := p_source_54;
122855 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122856 l_rec_acct_attrs.array_char_value(4) :=
122857 xla_ae_sources_pkg.GetSystemSourceChar(
122858 p_source_code => 'XLA_ENTITY_CODE'
122859 , p_source_type_code => 'Y'
122860 , p_source_application_id => 602
122861 );
122862 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122863 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
122864 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122865 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
122866 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
122867 l_rec_acct_attrs.array_num_value(7) := p_source_90;
122868 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122869 l_rec_acct_attrs.array_char_value(8) := p_source_91;
122870 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
122871 l_rec_acct_attrs.array_char_value(9) := p_source_92;
122872 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
122873 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
122874 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122878 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
122875 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
122876 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
122877 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
122879 l_rec_acct_attrs.array_char_value(13) := p_source_54;
122880 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
122881 l_rec_acct_attrs.array_num_value(14) := p_source_64;
122882 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
122883 l_rec_acct_attrs.array_num_value(15) := p_source_65;
122884 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
122885 l_rec_acct_attrs.array_char_value(16) := p_source_66;
122886 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
122887 l_rec_acct_attrs.array_num_value(17) := p_source_67;
122888 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
122889 l_rec_acct_attrs.array_num_value(18) := p_source_68;
122890 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
122891 l_rec_acct_attrs.array_num_value(19) := p_source_69;
122892 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
122893 l_rec_acct_attrs.array_char_value(20) := p_source_66;
122894 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
122895 l_rec_acct_attrs.array_num_value(21) := p_source_70;
122896 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
122897 l_rec_acct_attrs.array_char_value(22) := p_source_71;
122898 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
122899 l_rec_acct_attrs.array_num_value(23) := p_source_72;
122900 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
122901 l_rec_acct_attrs.array_char_value(24) := p_source_66;
122902 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
122903 l_rec_acct_attrs.array_date_value(25) := p_source_136;
122904 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
122905 l_rec_acct_attrs.array_num_value(26) := p_source_137;
122906 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
122907 l_rec_acct_attrs.array_char_value(27) := p_source_138;
122908 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
122909 l_rec_acct_attrs.array_num_value(28) := p_source_21;
122910 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
122911 l_rec_acct_attrs.array_date_value(29) := p_source_76;
122912 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
122913 l_rec_acct_attrs.array_char_value(30) := p_source_77;
122914 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
122915 l_rec_acct_attrs.array_date_value(31) := p_source_78;
122916 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
122917 l_rec_acct_attrs.array_char_value(32) := p_source_79;
122918 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
122919 l_rec_acct_attrs.array_num_value(33) := p_source_80;
122920 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
122921 l_rec_acct_attrs.array_num_value(34) := p_source_81;
122922 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
122923 l_rec_acct_attrs.array_char_value(35) := p_source_82;
122924 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
122925 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
122926 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
122927 l_rec_acct_attrs.array_char_value(37) := p_source_54;
122928 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
122929 l_rec_acct_attrs.array_num_value(38) := p_source_84;
122930 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
122931 l_rec_acct_attrs.array_num_value(39) := p_source_85;
122932 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
122933 l_rec_acct_attrs.array_num_value(40) := p_source_86;
122934 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
122935 l_rec_acct_attrs.array_num_value(41) := p_source_87;
122936 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
122937 l_rec_acct_attrs.array_num_value(42) := p_source_88;
122938 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
122939 l_rec_acct_attrs.array_num_value(43) := p_source_89;
122940
122941 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122942 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122943
122944 ---------------------------------------------------------------------------------------------------------------
122945 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122946 ---------------------------------------------------------------------------------------------------------------
122947 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122948
122949 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122950 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122951
122952 IF xla_accounting_cache_pkg.GetValueChar
122953 (p_source_code => 'LEDGER_CATEGORY_CODE'
122954 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122955 AND l_bflow_method_code = 'PRIOR_ENTRY'
122956 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122957 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122958 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122959 )
122960 THEN
122964 ,p_balance_type => l_balance_type_code);
122961 xla_ae_lines_pkg.BflowUpgEntry
122962 (p_business_method_code => l_bflow_method_code
122963 ,p_business_class_code => l_bflow_class_code
122965 ELSE
122966 NULL;
122967 -- No business flow processing for business flow method of NONE.
122968 END IF;
122969
122970 --
122971 -- call analytical criteria
122972 --
122973
122974 --
122975 -- call description
122976 --
122977
122978 xla_ae_lines_pkg.SetLineDescription(
122979 p_ae_header_id => l_ae_header_id
122980 ,p_description => Description_1 (
122981 p_application_id => p_application_id
122982 , p_ae_header_id => l_ae_header_id
122983 , p_source_1 => p_source_1
122984 )
122985 );
122986
122987
122988 --
122989 -- call ADRs
122990 -- Bug 4922099
122991 --
122992 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122993 (NVL(l_actual_upg_option, 'N') = 'O') OR
122994 (NVL(l_enc_upg_option, 'N') = 'O')
122995 )
122996 THEN
122997 NULL;
122998 --
122999 --
123000
123001 l_ccid := AcctDerRule_42(
123002 p_application_id => p_application_id
123003 , p_ae_header_id => l_ae_header_id
123004 , p_source_50 => p_source_50
123005 , x_transaction_coa_id => l_adr_transaction_coa_id
123006 , x_accounting_coa_id => l_adr_accounting_coa_id
123007 , x_value_type_code => l_adr_value_type_code
123008 , p_side => 'NA'
123009 );
123010
123011 xla_ae_lines_pkg.set_ccid(
123012 p_code_combination_id => l_ccid
123013 , p_value_type_code => l_adr_value_type_code
123014 , p_transaction_coa_id => l_adr_transaction_coa_id
123015 , p_accounting_coa_id => l_adr_accounting_coa_id
123016 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123017 , p_adr_type_code => 'S'
123018 , p_component_type => l_component_type
123019 , p_component_code => l_component_code
123020 , p_component_type_code => l_component_type_code
123021 , p_component_appl_id => l_component_appl_id
123022 , p_amb_context_code => l_amb_context_code
123023 , p_side => 'NA'
123024 );
123025
123026
123027 --
123028 --
123029 END IF;
123030 --
123031 -- Bug 4922099
123032 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123033 (NVL(l_enc_upg_option, 'N') = 'O')
123034 ) AND
123035 (l_bflow_method_code = 'PRIOR_ENTRY')
123036 )
123037 THEN
123038 IF
123039 --
123040 1 = 2
123041 --
123042 THEN
123043 xla_accounting_err_pkg.build_message
123044 (p_appli_s_name => 'XLA'
123045 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123046 ,p_token_1 => 'LINE_NUMBER'
123047 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123048 ,p_token_2 => 'LINE_TYPE_NAME'
123049 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123050 l_component_type
123051 ,l_component_code
123052 ,l_component_type_code
123053 ,l_component_appl_id
123054 ,l_amb_context_code
123055 ,l_entity_code
123056 ,l_event_class_code
123057 )
123058 ,p_token_3 => 'OWNER'
123059 ,p_value_3 => xla_lookups_pkg.get_meaning(
123060 p_lookup_type => 'XLA_OWNER_TYPE'
123061 ,p_lookup_code => l_component_type_code
123062 )
123063 ,p_token_4 => 'PRODUCT_NAME'
123064 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123065 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123066 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123067 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123068 ,p_ae_header_id => NULL
123069 );
123070
123071 IF (C_LEVEL_ERROR>= g_log_level) THEN
123072 trace
123073 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123077 END IF;
123074 ,p_level => C_LEVEL_ERROR
123075 ,p_module => l_log_module);
123076 END IF;
123078 END IF;
123079 --
123080 --
123081 ------------------------------------------------------------------------------------------------
123082 -- 4219869 Business Flow
123083 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123084 -- Prior Entry. Currently, the following code is always generated.
123085 ------------------------------------------------------------------------------------------------
123086 XLA_AE_LINES_PKG.ValidateCurrentLine;
123087
123088 ------------------------------------------------------------------------------------
123089 -- 4219869 Business Flow
123090 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123091 ------------------------------------------------------------------------------------
123092 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123093
123094 ----------------------------------------------------------------------------------
123095 -- 4219869 Business Flow
123096 -- Update journal entry status -- Need to generate this within IF <condition>
123097 ----------------------------------------------------------------------------------
123098 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123099 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123100 ,p_balance_type_code => l_balance_type_code
123101 );
123102
123103 -------------------------------------------------------------------------------------------
123104 -- 4262811 - Generate the Accrual Reversal lines
123105 -------------------------------------------------------------------------------------------
123106 BEGIN
123107 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123108 (g_array_event(p_event_id).array_value_num('header_index'));
123109 IF l_acc_rev_flag IS NULL THEN
123110 l_acc_rev_flag := 'N';
123111 END IF;
123112 EXCEPTION
123113 WHEN OTHERS THEN
123114 l_acc_rev_flag := 'N';
123115 END;
123116 --
123117 IF (l_acc_rev_flag = 'Y') THEN
123118
123119 -- 4645092 ------------------------------------------------------------------------------
123120 -- To allow MPA report to determine if it should generate report process
123121 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
123122 ------------------------------------------------------------------------------------------
123123
123124 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
123125 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
123126 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
123127 -- call ADRs
123128 -- Bug 4922099
123129 --
123130 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123131 (NVL(l_actual_upg_option, 'N') = 'O') OR
123132 (NVL(l_enc_upg_option, 'N') = 'O')
123133 )
123134 THEN
123135 NULL;
123136 --
123137 --
123138
123139 l_ccid := AcctDerRule_42(
123140 p_application_id => p_application_id
123141 , p_ae_header_id => l_ae_header_id
123142 , p_source_50 => p_source_50
123143 , x_transaction_coa_id => l_adr_transaction_coa_id
123144 , x_accounting_coa_id => l_adr_accounting_coa_id
123145 , x_value_type_code => l_adr_value_type_code
123146 , p_side => 'NA'
123147 );
123148
123149 xla_ae_lines_pkg.set_ccid(
123150 p_code_combination_id => l_ccid
123151 , p_value_type_code => l_adr_value_type_code
123152 , p_transaction_coa_id => l_adr_transaction_coa_id
123153 , p_accounting_coa_id => l_adr_accounting_coa_id
123154 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123155 , p_adr_type_code => 'S'
123156 , p_component_type => l_component_type
123157 , p_component_code => l_component_code
123158 , p_component_type_code => l_component_type_code
123159 , p_component_appl_id => l_component_appl_id
123160 , p_amb_context_code => l_amb_context_code
123161 , p_side => 'NA'
123162 );
123163
123164
123165 --
123166 --
123167 END IF;
123168
123169 --
123170 -- Update the line information that should be overwritten
123171 --
123172 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123173 p_header_num => 1);
123174 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123175
123176 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123177
123178 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123179 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123180 END IF;
123181
123182 --
123183 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123184 --
123185 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123186 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123187 ELSE
123191 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123188 ---------------------------------------------------------------------------------------------------
123189 -- 4262811a Switch Sign
123190 ---------------------------------------------------------------------------------------------------
123192 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123193 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123194 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123195 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123196 -- 5132302
123197 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123198 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123199
123200 END IF;
123201
123202 -- 4955764
123203 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123204 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123205
123206
123207 XLA_AE_LINES_PKG.ValidateCurrentLine;
123208 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123209
123210 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123211 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123212 ,p_balance_type_code => l_balance_type_code);
123213
123214 END IF;
123215
123216 -----------------------------------------------------------------------------------------
123217 -- 4262811 Multiperiod Accounting
123218 -----------------------------------------------------------------------------------------
123219 -- No MPA option is assigned.
123220
123221
123222 END IF;
123223 END IF;
123224 --
123225
123226 --
123227 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123228 trace
123229 (p_msg => 'END of AcctLineType_199'
123230 ,p_level => C_LEVEL_PROCEDURE
123231 ,p_module => l_log_module);
123232 END IF;
123233 --
123234 EXCEPTION
123235 WHEN xla_exceptions_pkg.application_exception THEN
123236 RAISE;
123237 WHEN OTHERS THEN
123238 xla_exceptions_pkg.raise_message
123239 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_199');
123240 END AcctLineType_199;
123241 --
123242
123243 ---------------------------------------
123244 --
123245 -- PRIVATE FUNCTION
123246 -- AcctLineType_200
123247 --
123248 ---------------------------------------
123249 PROCEDURE AcctLineType_200 (
123250 p_application_id IN NUMBER
123251 ,p_event_id IN NUMBER
123252 ,p_calculate_acctd_flag IN VARCHAR2
123253 ,p_calculate_g_l_flag IN VARCHAR2
123254 ,p_actual_flag IN OUT VARCHAR2
123255 ,p_balance_type_code OUT VARCHAR2
123256 ,p_gain_or_loss_ref OUT VARCHAR2
123257
123258 --Invoice Distribution Description
123259 , p_source_1 IN VARCHAR2
123260 --Invoice Distribution Ledger Amount
123261 , p_source_21 IN NUMBER
123262 --Invoice Distribution Type
123263 , p_source_33 IN VARCHAR2
123264 , p_source_33_meaning IN VARCHAR2
123265 --Self-Assessed Tax Liability Account
123266 , p_source_50 IN NUMBER
123267 --Accounting Reversal Indicator
123268 , p_source_52 IN VARCHAR2
123269 --Distribution Link Type
123270 , p_source_54 IN VARCHAR2
123271 --Allocation to Main Distribution Identifier
123272 , p_source_56 IN NUMBER
123273 --Invoice Identifier
123274 , p_source_57 IN NUMBER
123275 --Invoice Distribution Identifier
123276 , p_source_63 IN NUMBER
123277 --Payables Encumbrance Upgrade Credit Account
123278 , p_source_64 IN NUMBER
123279 --Payables Encumbrance Upgrade Credit Amount
123280 , p_source_65 IN NUMBER
123281 --Invoice Currency Code
123282 , p_source_66 IN VARCHAR2
123283 --Payables Encumbrance Upgrade Credit Base Amount
123284 , p_source_67 IN NUMBER
123285 --Payables Encumbrance Upgrade Debit Account
123286 , p_source_68 IN NUMBER
123287 --Payables Encumbrance Upgrade Debit Amount
123288 , p_source_69 IN NUMBER
123289 --Payables Encumbrance Upgrade Debit Base Amount
123290 , p_source_70 IN NUMBER
123291 --Payables Encumbrance Upgrade Option
123292 , p_source_71 IN VARCHAR2
123293 --Invoice Distribution Amount
123294 , p_source_72 IN NUMBER
123295 --Deferred Accounting End Date
123296 , p_source_76 IN DATE
123297 --Deferred Accounting Option
123298 , p_source_77 IN VARCHAR2
123299 --Deferred Accounting Start Date
123300 , p_source_78 IN DATE
123301 --Override Accounted Amount Indicator
123302 , p_source_79 IN VARCHAR2
123303 , p_source_79_meaning IN VARCHAR2
123304 --Invoice Supplier Identifier
123305 , p_source_80 IN NUMBER
123306 --Invoice Supplier Site Identifier
123307 , p_source_81 IN NUMBER
123308 --Third Party Type
123309 , p_source_82 IN VARCHAR2
123310 --Parent Reversal Identifier
123311 , p_source_83 IN NUMBER
123312 --Invoice Distribution Tax Line Identifier
123316 --Invoice Distribution Summary Tax Line Identifier
123313 , p_source_85 IN NUMBER
123314 --Invoice Distribution Tax Distribution Identifier from Tax
123315 , p_source_86 IN NUMBER
123317 , p_source_87 IN NUMBER
123318 --Payables Upgrade Credit Encumbrance Type Identifier
123319 , p_source_88 IN NUMBER
123320 --Payables Upgrade Debit Encumbrance Type Identifier
123321 , p_source_89 IN NUMBER
123322 --Business Flow Accounts Payable Application Identifier
123323 , p_source_90 IN NUMBER
123324 --Business Flow Invoice Distribution Type
123325 , p_source_91 IN VARCHAR2
123326 --Business Flow Invoice Entity Code
123327 , p_source_92 IN VARCHAR2
123328 --Business Flow Invoice Distribution Identifier
123329 , p_source_93 IN NUMBER
123330 --Business Flow Invoice Identifier
123331 , p_source_94 IN NUMBER
123332 --Self-Assessed Tax Flag
123333 , p_source_135 IN VARCHAR2
123334 , p_source_135_meaning IN VARCHAR2
123335 --Invoice Exchange Date
123336 , p_source_136 IN DATE
123337 --Invoice Exchange Rate
123338 , p_source_137 IN NUMBER
123339 --Invoice Exchange Rate Type
123340 , p_source_138 IN VARCHAR2
123341 )
123342 IS
123343
123344 l_component_type VARCHAR2(80);
123345 l_component_code VARCHAR2(30);
123346 l_component_type_code VARCHAR2(1);
123347 l_component_appl_id INTEGER;
123348 l_amb_context_code VARCHAR2(30);
123349 l_entity_code VARCHAR2(30);
123350 l_event_class_code VARCHAR2(30);
123351 l_ae_header_id NUMBER;
123352 l_event_type_code VARCHAR2(30);
123353 l_line_definition_code VARCHAR2(30);
123354 l_line_definition_owner_code VARCHAR2(1);
123355 --
123356 -- adr variables
123357 l_segment VARCHAR2(30);
123358 l_ccid NUMBER;
123359 l_adr_transaction_coa_id NUMBER;
123360 l_adr_accounting_coa_id NUMBER;
123361 l_adr_flexfield_segment_code VARCHAR2(30);
123362 l_adr_flex_value_set_id NUMBER;
123363 l_adr_value_type_code VARCHAR2(30);
123364 l_adr_value_combination_id NUMBER;
123365 l_adr_value_segment_code VARCHAR2(30);
123366
123367 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
123368 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
123369 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
123370 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
123371
123372 -- 4262811 Variables ------------------------------------------------------------------------------------------
123373 l_entered_amt_idx NUMBER;
123374 l_accted_amt_idx NUMBER;
123375 l_acc_rev_flag VARCHAR2(1);
123376 l_accrual_line_num NUMBER;
123377 l_tmp_amt NUMBER;
123378 l_acc_rev_natural_side_code VARCHAR2(1);
123379
123380 l_num_entries NUMBER;
123381 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
123382 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
123383 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
123384 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
123385 l_recog_line_1 NUMBER;
123386 l_recog_line_2 NUMBER;
123387
123388 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
123389 l_bflow_applied_to_amt NUMBER; -- 5132302
123390 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
123391
123392 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
123393
123394 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
123395 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
123396
123397 ---------------------------------------------------------------------------------------------------------------
123398
123399
123400 --
123401 -- bulk performance
123402 --
123403 l_balance_type_code VARCHAR2(1);
123404 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123405 l_log_module VARCHAR2(240);
123406
123407 --
123408 -- Upgrade strategy
123409 --
123410 l_actual_upg_option VARCHAR2(1);
123411 l_enc_upg_option VARCHAR2(1);
123412
123413 --
123414 BEGIN
123415 --
123416 IF g_log_enabled THEN
123417 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_200';
123418 END IF;
123419 --
123420 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123421
123422 trace
123423 (p_msg => 'BEGIN of AcctLineType_200'
123424 ,p_level => C_LEVEL_PROCEDURE
123425 ,p_module => l_log_module);
123426
123427 END IF;
123428 --
123429 l_component_type := 'AMB_JLT';
123430 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_DM';
123431 l_component_type_code := 'S';
123432 l_component_appl_id := 200;
123433 l_amb_context_code := 'DEFAULT';
123434 l_entity_code := 'AP_INVOICES';
123435 l_event_class_code := 'DEBIT MEMOS';
123436 l_event_type_code := 'DEBIT MEMOS_ALL';
123437 l_line_definition_owner_code := 'S';
123438 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
123442 l_ccid := NULL;
123439 --
123440 l_balance_type_code := 'A';
123441 l_segment := NULL;
123443 l_adr_transaction_coa_id := NULL;
123444 l_adr_accounting_coa_id := NULL;
123445 l_adr_flexfield_segment_code := NULL;
123446 l_adr_flex_value_set_id := NULL;
123447 l_adr_value_type_code := NULL;
123448 l_adr_value_combination_id := NULL;
123449 l_adr_value_segment_code := NULL;
123450
123451 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
123452 l_bflow_class_code := ''; -- 4219869 Business Flow
123453 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
123454 l_budgetary_control_flag := 'N';
123455
123456 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123457 l_bflow_applied_to_amt := NULL; -- 5132302
123458 l_entered_amt_idx := NULL; -- 4262811
123459 l_accted_amt_idx := NULL; -- 4262811
123460 l_acc_rev_flag := NULL; -- 4262811
123461 l_accrual_line_num := NULL; -- 4262811
123462 l_tmp_amt := NULL; -- 4262811
123463 --
123464
123465 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
123466 l_balance_type_code <> 'B' THEN
123467 IF (NVL(p_source_33,'
123468 ') = 'REC_TAX' OR
123469 NVL(p_source_33,'
123470 ') = 'NONREC_TAX') AND
123471 NVL(p_source_135,'
123472 ') = 'Y'
123473 THEN
123474
123475 --
123476 XLA_AE_LINES_PKG.SetNewLine;
123477
123478 p_balance_type_code := l_balance_type_code;
123479 -- set the flag so later we will know whether the gain loss line needs to be created
123480
123481 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
123482 p_actual_flag :='A';
123483 END IF;
123484
123485 --
123486 -- bulk performance
123487 --
123488 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
123489 p_header_num => 0); -- 4262811
123490 --
123491 -- set accounting line options
123492 --
123493 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
123494 p_natural_side_code => 'C'
123495 , p_gain_or_loss_flag => 'N'
123496 , p_gl_transfer_mode_code => 'S'
123497 , p_acct_entry_type_code => 'A'
123498 , p_switch_side_flag => 'Y'
123499 , p_merge_duplicate_code => 'A'
123500 );
123501 --
123502 l_acc_rev_natural_side_code := 'D'; -- 4262811
123503 --
123504 --
123505 -- set accounting line type info
123506 --
123507 xla_ae_lines_pkg.SetAcctLineType
123508 (p_component_type => l_component_type
123509 ,p_event_type_code => l_event_type_code
123510 ,p_line_definition_owner_code => l_line_definition_owner_code
123511 ,p_line_definition_code => l_line_definition_code
123512 ,p_accounting_line_code => l_component_code
123513 ,p_accounting_line_type_code => l_component_type_code
123514 ,p_accounting_line_appl_id => l_component_appl_id
123515 ,p_amb_context_code => l_amb_context_code
123516 ,p_entity_code => l_entity_code
123517 ,p_event_class_code => l_event_class_code);
123518 --
123519 -- set accounting class
123520 --
123521 xla_ae_lines_pkg.SetAcctClass(
123522 p_accounting_class_code => 'SELF_ASSESSED_TAX'
123523 , p_ae_header_id => l_ae_header_id
123524 );
123525
123526 --
123527 -- set rounding class
123528 --
123529 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
123530 'SELF_ASSESSED_TAX';
123531
123532 --
123533 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
123534 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
123535 --
123536 -- bulk performance
123537 --
123538 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123539
123540 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123541 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123542
123543 -- 4955764
123544 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123545 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123546
123547 -- 4458381 Public Sector Enh
123548
123549 --
123550 -- set accounting attributes for the line type
123551 --
123552 l_entered_amt_idx := 23;
123553 l_accted_amt_idx := 28;
123554 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123555 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123556 l_rec_acct_attrs.array_char_value(1) := p_source_52;
123557 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123558 l_rec_acct_attrs.array_num_value(2) :=
123559 xla_ae_sources_pkg.GetSystemSourceNum(
123560 p_source_code => 'XLA_EVENT_APPL_ID'
123561 , p_source_type_code => 'Y'
123562 , p_source_application_id => 602
123563 );
123564 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123565 l_rec_acct_attrs.array_char_value(3) := p_source_54;
123566 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123570 , p_source_type_code => 'Y'
123567 l_rec_acct_attrs.array_char_value(4) :=
123568 xla_ae_sources_pkg.GetSystemSourceChar(
123569 p_source_code => 'XLA_ENTITY_CODE'
123571 , p_source_application_id => 602
123572 );
123573 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123574 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
123575 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123576 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
123577 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
123578 l_rec_acct_attrs.array_num_value(7) := p_source_90;
123579 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123580 l_rec_acct_attrs.array_char_value(8) := p_source_91;
123581 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
123582 l_rec_acct_attrs.array_char_value(9) := p_source_92;
123583 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
123584 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
123585 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123586 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
123587 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
123588 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
123589 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
123590 l_rec_acct_attrs.array_char_value(13) := p_source_54;
123591 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
123592 l_rec_acct_attrs.array_num_value(14) := p_source_64;
123593 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
123594 l_rec_acct_attrs.array_num_value(15) := p_source_65;
123595 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
123596 l_rec_acct_attrs.array_char_value(16) := p_source_66;
123597 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
123598 l_rec_acct_attrs.array_num_value(17) := p_source_67;
123599 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
123600 l_rec_acct_attrs.array_num_value(18) := p_source_68;
123601 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
123602 l_rec_acct_attrs.array_num_value(19) := p_source_69;
123603 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
123604 l_rec_acct_attrs.array_char_value(20) := p_source_66;
123605 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
123606 l_rec_acct_attrs.array_num_value(21) := p_source_70;
123607 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
123608 l_rec_acct_attrs.array_char_value(22) := p_source_71;
123609 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
123610 l_rec_acct_attrs.array_num_value(23) := p_source_72;
123611 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
123612 l_rec_acct_attrs.array_char_value(24) := p_source_66;
123613 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
123614 l_rec_acct_attrs.array_date_value(25) := p_source_136;
123615 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
123616 l_rec_acct_attrs.array_num_value(26) := p_source_137;
123617 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
123618 l_rec_acct_attrs.array_char_value(27) := p_source_138;
123619 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
123620 l_rec_acct_attrs.array_num_value(28) := p_source_21;
123621 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
123622 l_rec_acct_attrs.array_date_value(29) := p_source_76;
123623 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
123624 l_rec_acct_attrs.array_char_value(30) := p_source_77;
123625 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
123626 l_rec_acct_attrs.array_date_value(31) := p_source_78;
123627 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
123628 l_rec_acct_attrs.array_char_value(32) := p_source_79;
123629 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
123630 l_rec_acct_attrs.array_num_value(33) := p_source_80;
123631 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
123632 l_rec_acct_attrs.array_num_value(34) := p_source_81;
123633 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
123634 l_rec_acct_attrs.array_char_value(35) := p_source_82;
123635 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
123636 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
123637 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
123638 l_rec_acct_attrs.array_char_value(37) := p_source_54;
123639 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
123640 l_rec_acct_attrs.array_num_value(38) := p_source_85;
123641 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
123642 l_rec_acct_attrs.array_num_value(39) := p_source_86;
123643 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
123644 l_rec_acct_attrs.array_num_value(40) := p_source_87;
123645 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
123646 l_rec_acct_attrs.array_num_value(41) := p_source_88;
123647 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
123648 l_rec_acct_attrs.array_num_value(42) := p_source_89;
123649
123650 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123651 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123652
123653 ---------------------------------------------------------------------------------------------------------------
123657
123654 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123655 ---------------------------------------------------------------------------------------------------------------
123656 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123658 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123659 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123660
123661 IF xla_accounting_cache_pkg.GetValueChar
123662 (p_source_code => 'LEDGER_CATEGORY_CODE'
123663 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123664 AND l_bflow_method_code = 'PRIOR_ENTRY'
123665 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123666 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123667 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123668 )
123669 THEN
123670 xla_ae_lines_pkg.BflowUpgEntry
123671 (p_business_method_code => l_bflow_method_code
123672 ,p_business_class_code => l_bflow_class_code
123673 ,p_balance_type => l_balance_type_code);
123674 ELSE
123675 NULL;
123676 -- No business flow processing for business flow method of NONE.
123677 END IF;
123678
123679 --
123680 -- call analytical criteria
123681 --
123682
123683 --
123684 -- call description
123685 --
123686
123687 xla_ae_lines_pkg.SetLineDescription(
123688 p_ae_header_id => l_ae_header_id
123689 ,p_description => Description_1 (
123690 p_application_id => p_application_id
123691 , p_ae_header_id => l_ae_header_id
123692 , p_source_1 => p_source_1
123693 )
123694 );
123695
123696
123697 --
123698 -- call ADRs
123699 -- Bug 4922099
123700 --
123701 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123702 (NVL(l_actual_upg_option, 'N') = 'O') OR
123703 (NVL(l_enc_upg_option, 'N') = 'O')
123704 )
123705 THEN
123706 NULL;
123707 --
123708 --
123709
123710 l_ccid := AcctDerRule_42(
123711 p_application_id => p_application_id
123712 , p_ae_header_id => l_ae_header_id
123713 , p_source_50 => p_source_50
123714 , x_transaction_coa_id => l_adr_transaction_coa_id
123715 , x_accounting_coa_id => l_adr_accounting_coa_id
123716 , x_value_type_code => l_adr_value_type_code
123717 , p_side => 'NA'
123718 );
123719
123720 xla_ae_lines_pkg.set_ccid(
123721 p_code_combination_id => l_ccid
123722 , p_value_type_code => l_adr_value_type_code
123723 , p_transaction_coa_id => l_adr_transaction_coa_id
123724 , p_accounting_coa_id => l_adr_accounting_coa_id
123725 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123726 , p_adr_type_code => 'S'
123727 , p_component_type => l_component_type
123728 , p_component_code => l_component_code
123729 , p_component_type_code => l_component_type_code
123730 , p_component_appl_id => l_component_appl_id
123731 , p_amb_context_code => l_amb_context_code
123732 , p_side => 'NA'
123733 );
123734
123735
123736 --
123737 --
123738 END IF;
123739 --
123740 -- Bug 4922099
123741 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123742 (NVL(l_enc_upg_option, 'N') = 'O')
123743 ) AND
123744 (l_bflow_method_code = 'PRIOR_ENTRY')
123745 )
123746 THEN
123747 IF
123748 --
123749 1 = 2
123750 --
123751 THEN
123752 xla_accounting_err_pkg.build_message
123753 (p_appli_s_name => 'XLA'
123754 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123755 ,p_token_1 => 'LINE_NUMBER'
123756 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123757 ,p_token_2 => 'LINE_TYPE_NAME'
123758 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123759 l_component_type
123760 ,l_component_code
123761 ,l_component_type_code
123762 ,l_component_appl_id
123763 ,l_amb_context_code
123764 ,l_entity_code
123765 ,l_event_class_code
123766 )
123767 ,p_token_3 => 'OWNER'
123768 ,p_value_3 => xla_lookups_pkg.get_meaning(
123769 p_lookup_type => 'XLA_OWNER_TYPE'
123773 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123770 ,p_lookup_code => l_component_type_code
123771 )
123772 ,p_token_4 => 'PRODUCT_NAME'
123774 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123775 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123776 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123777 ,p_ae_header_id => NULL
123778 );
123779
123780 IF (C_LEVEL_ERROR>= g_log_level) THEN
123781 trace
123782 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123783 ,p_level => C_LEVEL_ERROR
123784 ,p_module => l_log_module);
123785 END IF;
123786 END IF;
123787 END IF;
123788 --
123789 --
123790 ------------------------------------------------------------------------------------------------
123791 -- 4219869 Business Flow
123792 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123793 -- Prior Entry. Currently, the following code is always generated.
123794 ------------------------------------------------------------------------------------------------
123795 XLA_AE_LINES_PKG.ValidateCurrentLine;
123796
123797 ------------------------------------------------------------------------------------
123798 -- 4219869 Business Flow
123799 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123800 ------------------------------------------------------------------------------------
123801 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123802
123803 ----------------------------------------------------------------------------------
123804 -- 4219869 Business Flow
123805 -- Update journal entry status -- Need to generate this within IF <condition>
123806 ----------------------------------------------------------------------------------
123807 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123808 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123809 ,p_balance_type_code => l_balance_type_code
123810 );
123811
123812 -------------------------------------------------------------------------------------------
123813 -- 4262811 - Generate the Accrual Reversal lines
123814 -------------------------------------------------------------------------------------------
123815 BEGIN
123816 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123817 (g_array_event(p_event_id).array_value_num('header_index'));
123818 IF l_acc_rev_flag IS NULL THEN
123819 l_acc_rev_flag := 'N';
123820 END IF;
123821 EXCEPTION
123822 WHEN OTHERS THEN
123823 l_acc_rev_flag := 'N';
123824 END;
123825 --
123826 IF (l_acc_rev_flag = 'Y') THEN
123827
123828 -- 4645092 ------------------------------------------------------------------------------
123829 -- To allow MPA report to determine if it should generate report process
123830 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
123831 ------------------------------------------------------------------------------------------
123832
123833 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
123834 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
123835 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
123836 -- call ADRs
123837 -- Bug 4922099
123838 --
123839 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123840 (NVL(l_actual_upg_option, 'N') = 'O') OR
123841 (NVL(l_enc_upg_option, 'N') = 'O')
123842 )
123843 THEN
123844 NULL;
123845 --
123846 --
123847
123848 l_ccid := AcctDerRule_42(
123849 p_application_id => p_application_id
123850 , p_ae_header_id => l_ae_header_id
123851 , p_source_50 => p_source_50
123852 , x_transaction_coa_id => l_adr_transaction_coa_id
123853 , x_accounting_coa_id => l_adr_accounting_coa_id
123854 , x_value_type_code => l_adr_value_type_code
123855 , p_side => 'NA'
123856 );
123857
123858 xla_ae_lines_pkg.set_ccid(
123859 p_code_combination_id => l_ccid
123860 , p_value_type_code => l_adr_value_type_code
123861 , p_transaction_coa_id => l_adr_transaction_coa_id
123862 , p_accounting_coa_id => l_adr_accounting_coa_id
123863 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123864 , p_adr_type_code => 'S'
123865 , p_component_type => l_component_type
123866 , p_component_code => l_component_code
123867 , p_component_type_code => l_component_type_code
123868 , p_component_appl_id => l_component_appl_id
123869 , p_amb_context_code => l_amb_context_code
123870 , p_side => 'NA'
123871 );
123872
123873
123874 --
123875 --
123876 END IF;
123877
123878 --
123882 p_header_num => 1);
123879 -- Update the line information that should be overwritten
123880 --
123881 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123883 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123884
123885 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123886
123887 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123888 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123889 END IF;
123890
123891 --
123892 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123893 --
123894 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123895 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123896 ELSE
123897 ---------------------------------------------------------------------------------------------------
123898 -- 4262811a Switch Sign
123899 ---------------------------------------------------------------------------------------------------
123900 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123901 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123902 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123903 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123904 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123905 -- 5132302
123906 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123907 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123908
123909 END IF;
123910
123911 -- 4955764
123912 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123913 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123914
123915
123916 XLA_AE_LINES_PKG.ValidateCurrentLine;
123917 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123918
123919 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123920 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123921 ,p_balance_type_code => l_balance_type_code);
123922
123923 END IF;
123924
123925 -----------------------------------------------------------------------------------------
123926 -- 4262811 Multiperiod Accounting
123927 -----------------------------------------------------------------------------------------
123928 -- No MPA option is assigned.
123929
123930
123931 END IF;
123932 END IF;
123933 --
123934
123935 --
123936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123937 trace
123938 (p_msg => 'END of AcctLineType_200'
123939 ,p_level => C_LEVEL_PROCEDURE
123940 ,p_module => l_log_module);
123941 END IF;
123942 --
123943 EXCEPTION
123944 WHEN xla_exceptions_pkg.application_exception THEN
123945 RAISE;
123946 WHEN OTHERS THEN
123947 xla_exceptions_pkg.raise_message
123948 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_200');
123949 END AcctLineType_200;
123950 --
123951
123952 ---------------------------------------
123953 --
123954 -- PRIVATE FUNCTION
123955 -- AcctLineType_201
123956 --
123957 ---------------------------------------
123958 PROCEDURE AcctLineType_201 (
123959 p_application_id IN NUMBER
123960 ,p_event_id IN NUMBER
123961 ,p_calculate_acctd_flag IN VARCHAR2
123962 ,p_calculate_g_l_flag IN VARCHAR2
123963 ,p_actual_flag IN OUT VARCHAR2
123964 ,p_balance_type_code OUT VARCHAR2
123965 ,p_gain_or_loss_ref OUT VARCHAR2
123966
123967 --Invoice Distribution Description
123968 , p_source_1 IN VARCHAR2
123969 --Invoice Distribution Ledger Amount
123970 , p_source_21 IN NUMBER
123971 --Invoice Distribution Type
123972 , p_source_33 IN VARCHAR2
123973 , p_source_33_meaning IN VARCHAR2
123974 --Self-Assessed Tax Liability Account
123975 , p_source_50 IN NUMBER
123976 --Accounting Reversal Indicator
123977 , p_source_52 IN VARCHAR2
123978 --Distribution Link Type
123979 , p_source_54 IN VARCHAR2
123980 --Allocation to Main Distribution Identifier
123981 , p_source_56 IN NUMBER
123982 --Invoice Identifier
123983 , p_source_57 IN NUMBER
123984 --Invoice Distribution Identifier
123985 , p_source_63 IN NUMBER
123986 --Payables Encumbrance Upgrade Credit Account
123987 , p_source_64 IN NUMBER
123988 --Payables Encumbrance Upgrade Credit Amount
123989 , p_source_65 IN NUMBER
123990 --Invoice Currency Code
123991 , p_source_66 IN VARCHAR2
123992 --Payables Encumbrance Upgrade Credit Base Amount
123993 , p_source_67 IN NUMBER
123994 --Payables Encumbrance Upgrade Debit Account
123995 , p_source_68 IN NUMBER
123996 --Payables Encumbrance Upgrade Debit Amount
123997 , p_source_69 IN NUMBER
124001 , p_source_71 IN VARCHAR2
123998 --Payables Encumbrance Upgrade Debit Base Amount
123999 , p_source_70 IN NUMBER
124000 --Payables Encumbrance Upgrade Option
124002 --Invoice Distribution Amount
124003 , p_source_72 IN NUMBER
124004 --Deferred Accounting End Date
124005 , p_source_76 IN DATE
124006 --Deferred Accounting Option
124007 , p_source_77 IN VARCHAR2
124008 --Deferred Accounting Start Date
124009 , p_source_78 IN DATE
124010 --Override Accounted Amount Indicator
124011 , p_source_79 IN VARCHAR2
124012 , p_source_79_meaning IN VARCHAR2
124013 --Invoice Supplier Identifier
124014 , p_source_80 IN NUMBER
124015 --Invoice Supplier Site Identifier
124016 , p_source_81 IN NUMBER
124017 --Third Party Type
124018 , p_source_82 IN VARCHAR2
124019 --Parent Reversal Identifier
124020 , p_source_83 IN NUMBER
124021 --Invoice Distribution Statistical Amount
124022 , p_source_84 IN NUMBER
124023 --Invoice Distribution Tax Line Identifier
124024 , p_source_85 IN NUMBER
124025 --Invoice Distribution Tax Distribution Identifier from Tax
124026 , p_source_86 IN NUMBER
124027 --Invoice Distribution Summary Tax Line Identifier
124028 , p_source_87 IN NUMBER
124029 --Payables Upgrade Credit Encumbrance Type Identifier
124030 , p_source_88 IN NUMBER
124031 --Payables Upgrade Debit Encumbrance Type Identifier
124032 , p_source_89 IN NUMBER
124033 --Business Flow Accounts Payable Application Identifier
124034 , p_source_90 IN NUMBER
124035 --Business Flow Invoice Distribution Type
124036 , p_source_91 IN VARCHAR2
124037 --Business Flow Invoice Entity Code
124038 , p_source_92 IN VARCHAR2
124039 --Business Flow Invoice Distribution Identifier
124040 , p_source_93 IN NUMBER
124041 --Business Flow Invoice Identifier
124042 , p_source_94 IN NUMBER
124043 --Self-Assessed Tax Flag
124044 , p_source_135 IN VARCHAR2
124045 , p_source_135_meaning IN VARCHAR2
124046 --Invoice Exchange Date
124047 , p_source_136 IN DATE
124048 --Invoice Exchange Rate
124049 , p_source_137 IN NUMBER
124050 --Invoice Exchange Rate Type
124051 , p_source_138 IN VARCHAR2
124052 )
124053 IS
124054
124055 l_component_type VARCHAR2(80);
124056 l_component_code VARCHAR2(30);
124057 l_component_type_code VARCHAR2(1);
124058 l_component_appl_id INTEGER;
124059 l_amb_context_code VARCHAR2(30);
124060 l_entity_code VARCHAR2(30);
124061 l_event_class_code VARCHAR2(30);
124062 l_ae_header_id NUMBER;
124063 l_event_type_code VARCHAR2(30);
124064 l_line_definition_code VARCHAR2(30);
124065 l_line_definition_owner_code VARCHAR2(1);
124066 --
124067 -- adr variables
124068 l_segment VARCHAR2(30);
124069 l_ccid NUMBER;
124070 l_adr_transaction_coa_id NUMBER;
124071 l_adr_accounting_coa_id NUMBER;
124072 l_adr_flexfield_segment_code VARCHAR2(30);
124073 l_adr_flex_value_set_id NUMBER;
124074 l_adr_value_type_code VARCHAR2(30);
124075 l_adr_value_combination_id NUMBER;
124076 l_adr_value_segment_code VARCHAR2(30);
124077
124078 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124079 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124080 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124081 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124082
124083 -- 4262811 Variables ------------------------------------------------------------------------------------------
124084 l_entered_amt_idx NUMBER;
124085 l_accted_amt_idx NUMBER;
124086 l_acc_rev_flag VARCHAR2(1);
124087 l_accrual_line_num NUMBER;
124088 l_tmp_amt NUMBER;
124089 l_acc_rev_natural_side_code VARCHAR2(1);
124090
124091 l_num_entries NUMBER;
124092 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124093 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124094 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124095 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124096 l_recog_line_1 NUMBER;
124097 l_recog_line_2 NUMBER;
124098
124099 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124100 l_bflow_applied_to_amt NUMBER; -- 5132302
124101 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124102
124103 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124104
124105 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124106 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124107
124108 ---------------------------------------------------------------------------------------------------------------
124109
124110
124111 --
124112 -- bulk performance
124113 --
124114 l_balance_type_code VARCHAR2(1);
124115 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
124116 l_log_module VARCHAR2(240);
124117
124118 --
124119 -- Upgrade strategy
124120 --
124121 l_actual_upg_option VARCHAR2(1);
124125 BEGIN
124122 l_enc_upg_option VARCHAR2(1);
124123
124124 --
124126 --
124127 IF g_log_enabled THEN
124128 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_201';
124129 END IF;
124130 --
124131 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124132
124133 trace
124134 (p_msg => 'BEGIN of AcctLineType_201'
124135 ,p_level => C_LEVEL_PROCEDURE
124136 ,p_module => l_log_module);
124137
124138 END IF;
124139 --
124140 l_component_type := 'AMB_JLT';
124141 l_component_code := 'AP_SELF_ASSESSED_TAX_CRL_INV';
124142 l_component_type_code := 'S';
124143 l_component_appl_id := 200;
124144 l_amb_context_code := 'DEFAULT';
124145 l_entity_code := 'AP_INVOICES';
124146 l_event_class_code := 'INVOICES';
124147 l_event_type_code := 'INVOICES_ALL';
124148 l_line_definition_owner_code := 'S';
124149 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
124150 --
124151 l_balance_type_code := 'A';
124152 l_segment := NULL;
124153 l_ccid := NULL;
124154 l_adr_transaction_coa_id := NULL;
124155 l_adr_accounting_coa_id := NULL;
124156 l_adr_flexfield_segment_code := NULL;
124157 l_adr_flex_value_set_id := NULL;
124158 l_adr_value_type_code := NULL;
124159 l_adr_value_combination_id := NULL;
124160 l_adr_value_segment_code := NULL;
124161
124162 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124163 l_bflow_class_code := ''; -- 4219869 Business Flow
124164 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124165 l_budgetary_control_flag := 'N';
124166
124167 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124168 l_bflow_applied_to_amt := NULL; -- 5132302
124169 l_entered_amt_idx := NULL; -- 4262811
124170 l_accted_amt_idx := NULL; -- 4262811
124171 l_acc_rev_flag := NULL; -- 4262811
124172 l_accrual_line_num := NULL; -- 4262811
124173 l_tmp_amt := NULL; -- 4262811
124174 --
124175
124176 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124177 l_balance_type_code <> 'B' THEN
124178 IF (NVL(p_source_33,'
124179 ') = 'REC_TAX' OR
124180 NVL(p_source_33,'
124181 ') = 'NONREC_TAX') AND
124182 NVL(p_source_135,'
124183 ') = 'Y'
124184 THEN
124185
124186 --
124187 XLA_AE_LINES_PKG.SetNewLine;
124188
124189 p_balance_type_code := l_balance_type_code;
124190 -- set the flag so later we will know whether the gain loss line needs to be created
124191
124192 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124193 p_actual_flag :='A';
124194 END IF;
124195
124196 --
124197 -- bulk performance
124198 --
124199 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124200 p_header_num => 0); -- 4262811
124201 --
124202 -- set accounting line options
124203 --
124204 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124205 p_natural_side_code => 'C'
124206 , p_gain_or_loss_flag => 'N'
124207 , p_gl_transfer_mode_code => 'S'
124208 , p_acct_entry_type_code => 'A'
124209 , p_switch_side_flag => 'Y'
124210 , p_merge_duplicate_code => 'A'
124211 );
124212 --
124213 l_acc_rev_natural_side_code := 'D'; -- 4262811
124214 --
124215 --
124216 -- set accounting line type info
124217 --
124218 xla_ae_lines_pkg.SetAcctLineType
124219 (p_component_type => l_component_type
124220 ,p_event_type_code => l_event_type_code
124221 ,p_line_definition_owner_code => l_line_definition_owner_code
124222 ,p_line_definition_code => l_line_definition_code
124223 ,p_accounting_line_code => l_component_code
124224 ,p_accounting_line_type_code => l_component_type_code
124225 ,p_accounting_line_appl_id => l_component_appl_id
124226 ,p_amb_context_code => l_amb_context_code
124227 ,p_entity_code => l_entity_code
124228 ,p_event_class_code => l_event_class_code);
124229 --
124230 -- set accounting class
124231 --
124232 xla_ae_lines_pkg.SetAcctClass(
124233 p_accounting_class_code => 'SELF_ASSESSED_TAX'
124234 , p_ae_header_id => l_ae_header_id
124235 );
124236
124237 --
124238 -- set rounding class
124239 --
124240 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124241 'SELF_ASSESSED_TAX';
124242
124243 --
124244 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124245 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124246 --
124247 -- bulk performance
124248 --
124249 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124250
124251 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124252 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124253
124254 -- 4955764
124255 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124259
124256 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124257
124258 -- 4458381 Public Sector Enh
124260 --
124261 -- set accounting attributes for the line type
124262 --
124263 l_entered_amt_idx := 24;
124264 l_accted_amt_idx := 29;
124265 l_bflow_applied_to_amt_idx := 7; -- 5132302
124266 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124267 l_rec_acct_attrs.array_char_value(1) := p_source_52;
124268 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124269 l_rec_acct_attrs.array_num_value(2) :=
124270 xla_ae_sources_pkg.GetSystemSourceNum(
124271 p_source_code => 'XLA_EVENT_APPL_ID'
124272 , p_source_type_code => 'Y'
124273 , p_source_application_id => 602
124274 );
124275 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124276 l_rec_acct_attrs.array_char_value(3) := p_source_54;
124277 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124278 l_rec_acct_attrs.array_char_value(4) :=
124279 xla_ae_sources_pkg.GetSystemSourceChar(
124280 p_source_code => 'XLA_ENTITY_CODE'
124281 , p_source_type_code => 'Y'
124282 , p_source_application_id => 602
124283 );
124284 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
124285 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
124286 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
124287 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
124288 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
124289 l_rec_acct_attrs.array_num_value(7) := p_source_72;
124290 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
124291 l_rec_acct_attrs.array_num_value(8) := p_source_90;
124292 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
124293 l_rec_acct_attrs.array_char_value(9) := p_source_91;
124294 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
124295 l_rec_acct_attrs.array_char_value(10) := p_source_92;
124296 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
124297 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
124298 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
124299 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
124300 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
124301 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
124302 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
124303 l_rec_acct_attrs.array_char_value(14) := p_source_54;
124304 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
124305 l_rec_acct_attrs.array_num_value(15) := p_source_64;
124306 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
124307 l_rec_acct_attrs.array_num_value(16) := p_source_65;
124308 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
124309 l_rec_acct_attrs.array_char_value(17) := p_source_66;
124310 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
124311 l_rec_acct_attrs.array_num_value(18) := p_source_67;
124312 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
124313 l_rec_acct_attrs.array_num_value(19) := p_source_68;
124314 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
124315 l_rec_acct_attrs.array_num_value(20) := p_source_69;
124316 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
124317 l_rec_acct_attrs.array_char_value(21) := p_source_66;
124318 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
124319 l_rec_acct_attrs.array_num_value(22) := p_source_70;
124320 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
124321 l_rec_acct_attrs.array_char_value(23) := p_source_71;
124322 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
124323 l_rec_acct_attrs.array_num_value(24) := p_source_72;
124324 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
124325 l_rec_acct_attrs.array_char_value(25) := p_source_66;
124326 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
124327 l_rec_acct_attrs.array_date_value(26) := p_source_136;
124328 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
124329 l_rec_acct_attrs.array_num_value(27) := p_source_137;
124330 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
124331 l_rec_acct_attrs.array_char_value(28) := p_source_138;
124332 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
124333 l_rec_acct_attrs.array_num_value(29) := p_source_21;
124334 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
124335 l_rec_acct_attrs.array_date_value(30) := p_source_76;
124336 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
124337 l_rec_acct_attrs.array_char_value(31) := p_source_77;
124338 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
124339 l_rec_acct_attrs.array_date_value(32) := p_source_78;
124340 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
124341 l_rec_acct_attrs.array_char_value(33) := p_source_79;
124342 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
124343 l_rec_acct_attrs.array_num_value(34) := p_source_80;
124344 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
124345 l_rec_acct_attrs.array_num_value(35) := p_source_81;
124346 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
124347 l_rec_acct_attrs.array_char_value(36) := p_source_82;
124351 l_rec_acct_attrs.array_char_value(38) := p_source_54;
124348 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
124349 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
124350 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
124352 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
124353 l_rec_acct_attrs.array_num_value(39) := p_source_84;
124354 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
124355 l_rec_acct_attrs.array_num_value(40) := p_source_85;
124356 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
124357 l_rec_acct_attrs.array_num_value(41) := p_source_86;
124358 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
124359 l_rec_acct_attrs.array_num_value(42) := p_source_87;
124360 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
124361 l_rec_acct_attrs.array_num_value(43) := p_source_88;
124362 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
124363 l_rec_acct_attrs.array_num_value(44) := p_source_89;
124364
124365 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
124366 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
124367
124368 ---------------------------------------------------------------------------------------------------------------
124369 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
124370 ---------------------------------------------------------------------------------------------------------------
124371 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
124372
124373 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124374 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124375
124376 IF xla_accounting_cache_pkg.GetValueChar
124377 (p_source_code => 'LEDGER_CATEGORY_CODE'
124378 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
124379 AND l_bflow_method_code = 'PRIOR_ENTRY'
124380 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
124381 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
124382 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
124383 )
124384 THEN
124385 xla_ae_lines_pkg.BflowUpgEntry
124386 (p_business_method_code => l_bflow_method_code
124387 ,p_business_class_code => l_bflow_class_code
124388 ,p_balance_type => l_balance_type_code);
124389 ELSE
124390 NULL;
124391 -- No business flow processing for business flow method of NONE.
124392 END IF;
124393
124394 --
124395 -- call analytical criteria
124396 --
124397
124398 --
124399 -- call description
124400 --
124401
124402 xla_ae_lines_pkg.SetLineDescription(
124403 p_ae_header_id => l_ae_header_id
124404 ,p_description => Description_1 (
124405 p_application_id => p_application_id
124406 , p_ae_header_id => l_ae_header_id
124407 , p_source_1 => p_source_1
124408 )
124409 );
124410
124411
124412 --
124413 -- call ADRs
124414 -- Bug 4922099
124415 --
124416 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124417 (NVL(l_actual_upg_option, 'N') = 'O') OR
124418 (NVL(l_enc_upg_option, 'N') = 'O')
124419 )
124420 THEN
124421 NULL;
124422 --
124423 --
124424
124425 l_ccid := AcctDerRule_42(
124426 p_application_id => p_application_id
124427 , p_ae_header_id => l_ae_header_id
124428 , p_source_50 => p_source_50
124429 , x_transaction_coa_id => l_adr_transaction_coa_id
124430 , x_accounting_coa_id => l_adr_accounting_coa_id
124431 , x_value_type_code => l_adr_value_type_code
124432 , p_side => 'NA'
124433 );
124434
124435 xla_ae_lines_pkg.set_ccid(
124436 p_code_combination_id => l_ccid
124437 , p_value_type_code => l_adr_value_type_code
124438 , p_transaction_coa_id => l_adr_transaction_coa_id
124439 , p_accounting_coa_id => l_adr_accounting_coa_id
124440 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124441 , p_adr_type_code => 'S'
124442 , p_component_type => l_component_type
124443 , p_component_code => l_component_code
124444 , p_component_type_code => l_component_type_code
124445 , p_component_appl_id => l_component_appl_id
124446 , p_amb_context_code => l_amb_context_code
124447 , p_side => 'NA'
124448 );
124449
124450
124451 --
124452 --
124453 END IF;
124454 --
124455 -- Bug 4922099
124456 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
124457 (NVL(l_enc_upg_option, 'N') = 'O')
124458 ) AND
124459 (l_bflow_method_code = 'PRIOR_ENTRY')
124460 )
124461 THEN
124462 IF
124463 --
124464 1 = 2
124465 --
124466 THEN
124467 xla_accounting_err_pkg.build_message
124468 (p_appli_s_name => 'XLA'
124472 ,p_token_2 => 'LINE_TYPE_NAME'
124469 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124470 ,p_token_1 => 'LINE_NUMBER'
124471 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
124473 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
124474 l_component_type
124475 ,l_component_code
124476 ,l_component_type_code
124477 ,l_component_appl_id
124478 ,l_amb_context_code
124479 ,l_entity_code
124480 ,l_event_class_code
124481 )
124482 ,p_token_3 => 'OWNER'
124483 ,p_value_3 => xla_lookups_pkg.get_meaning(
124484 p_lookup_type => 'XLA_OWNER_TYPE'
124485 ,p_lookup_code => l_component_type_code
124486 )
124487 ,p_token_4 => 'PRODUCT_NAME'
124488 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
124489 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
124490 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
124491 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
124492 ,p_ae_header_id => NULL
124493 );
124494
124495 IF (C_LEVEL_ERROR>= g_log_level) THEN
124496 trace
124497 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124498 ,p_level => C_LEVEL_ERROR
124499 ,p_module => l_log_module);
124500 END IF;
124501 END IF;
124502 END IF;
124503 --
124504 --
124505 ------------------------------------------------------------------------------------------------
124506 -- 4219869 Business Flow
124507 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
124508 -- Prior Entry. Currently, the following code is always generated.
124509 ------------------------------------------------------------------------------------------------
124510 XLA_AE_LINES_PKG.ValidateCurrentLine;
124511
124512 ------------------------------------------------------------------------------------
124513 -- 4219869 Business Flow
124514 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
124515 ------------------------------------------------------------------------------------
124516 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124517
124518 ----------------------------------------------------------------------------------
124519 -- 4219869 Business Flow
124520 -- Update journal entry status -- Need to generate this within IF <condition>
124521 ----------------------------------------------------------------------------------
124522 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124523 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
124524 ,p_balance_type_code => l_balance_type_code
124525 );
124526
124527 -------------------------------------------------------------------------------------------
124528 -- 4262811 - Generate the Accrual Reversal lines
124529 -------------------------------------------------------------------------------------------
124530 BEGIN
124531 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
124532 (g_array_event(p_event_id).array_value_num('header_index'));
124533 IF l_acc_rev_flag IS NULL THEN
124534 l_acc_rev_flag := 'N';
124535 END IF;
124536 EXCEPTION
124537 WHEN OTHERS THEN
124538 l_acc_rev_flag := 'N';
124539 END;
124540 --
124541 IF (l_acc_rev_flag = 'Y') THEN
124542
124543 -- 4645092 ------------------------------------------------------------------------------
124544 -- To allow MPA report to determine if it should generate report process
124545 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124546 ------------------------------------------------------------------------------------------
124547
124548 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124549 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124550 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124551 -- call ADRs
124552 -- Bug 4922099
124553 --
124554 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124555 (NVL(l_actual_upg_option, 'N') = 'O') OR
124556 (NVL(l_enc_upg_option, 'N') = 'O')
124557 )
124558 THEN
124562
124559 NULL;
124560 --
124561 --
124563 l_ccid := AcctDerRule_42(
124564 p_application_id => p_application_id
124565 , p_ae_header_id => l_ae_header_id
124566 , p_source_50 => p_source_50
124567 , x_transaction_coa_id => l_adr_transaction_coa_id
124568 , x_accounting_coa_id => l_adr_accounting_coa_id
124569 , x_value_type_code => l_adr_value_type_code
124570 , p_side => 'NA'
124571 );
124572
124573 xla_ae_lines_pkg.set_ccid(
124574 p_code_combination_id => l_ccid
124575 , p_value_type_code => l_adr_value_type_code
124576 , p_transaction_coa_id => l_adr_transaction_coa_id
124577 , p_accounting_coa_id => l_adr_accounting_coa_id
124578 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124579 , p_adr_type_code => 'S'
124580 , p_component_type => l_component_type
124581 , p_component_code => l_component_code
124582 , p_component_type_code => l_component_type_code
124583 , p_component_appl_id => l_component_appl_id
124584 , p_amb_context_code => l_amb_context_code
124585 , p_side => 'NA'
124586 );
124587
124588
124589 --
124590 --
124591 END IF;
124592
124593 --
124594 -- Update the line information that should be overwritten
124595 --
124596 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124597 p_header_num => 1);
124598 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124599
124600 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124601
124602 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124603 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124604 END IF;
124605
124606 --
124607 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124608 --
124609 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124610 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124611 ELSE
124612 ---------------------------------------------------------------------------------------------------
124613 -- 4262811a Switch Sign
124614 ---------------------------------------------------------------------------------------------------
124615 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124616 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124617 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124618 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124619 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124620 -- 5132302
124621 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124622 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124623
124624 END IF;
124625
124626 -- 4955764
124627 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124628 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124629
124630
124631 XLA_AE_LINES_PKG.ValidateCurrentLine;
124632 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124633
124634 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124635 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124636 ,p_balance_type_code => l_balance_type_code);
124637
124638 END IF;
124639
124640 -----------------------------------------------------------------------------------------
124641 -- 4262811 Multiperiod Accounting
124642 -----------------------------------------------------------------------------------------
124643 -- No MPA option is assigned.
124644
124645
124646 END IF;
124647 END IF;
124648 --
124649
124650 --
124651 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124652 trace
124653 (p_msg => 'END of AcctLineType_201'
124654 ,p_level => C_LEVEL_PROCEDURE
124655 ,p_module => l_log_module);
124656 END IF;
124657 --
124658 EXCEPTION
124659 WHEN xla_exceptions_pkg.application_exception THEN
124660 RAISE;
124661 WHEN OTHERS THEN
124662 xla_exceptions_pkg.raise_message
124663 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_201');
124664 END AcctLineType_201;
124665 --
124666
124667 ---------------------------------------
124668 --
124669 -- PRIVATE FUNCTION
124670 -- AcctLineType_202
124671 --
124672 ---------------------------------------
124673 PROCEDURE AcctLineType_202 (
124674 p_application_id IN NUMBER
124675 ,p_event_id IN NUMBER
124676 ,p_calculate_acctd_flag IN VARCHAR2
124677 ,p_calculate_g_l_flag IN VARCHAR2
124678 ,p_actual_flag IN OUT VARCHAR2
124679 ,p_balance_type_code OUT VARCHAR2
124683 , p_source_1 IN VARCHAR2
124680 ,p_gain_or_loss_ref OUT VARCHAR2
124681
124682 --Invoice Distribution Description
124684 --Invoice Distribution Ledger Amount
124685 , p_source_21 IN NUMBER
124686 --Invoice Distribution Type
124687 , p_source_33 IN VARCHAR2
124688 , p_source_33_meaning IN VARCHAR2
124689 --Self-Assessed Tax Liability Account
124690 , p_source_50 IN NUMBER
124691 --Accounting Reversal Indicator
124692 , p_source_52 IN VARCHAR2
124693 --Distribution Link Type
124694 , p_source_54 IN VARCHAR2
124695 --Allocation to Main Distribution Identifier
124696 , p_source_56 IN NUMBER
124697 --Invoice Identifier
124698 , p_source_57 IN NUMBER
124699 --Invoice Distribution Identifier
124700 , p_source_63 IN NUMBER
124701 --Payables Encumbrance Upgrade Credit Account
124702 , p_source_64 IN NUMBER
124703 --Payables Encumbrance Upgrade Credit Amount
124704 , p_source_65 IN NUMBER
124705 --Invoice Currency Code
124706 , p_source_66 IN VARCHAR2
124707 --Payables Encumbrance Upgrade Credit Base Amount
124708 , p_source_67 IN NUMBER
124709 --Payables Encumbrance Upgrade Debit Account
124710 , p_source_68 IN NUMBER
124711 --Payables Encumbrance Upgrade Debit Amount
124712 , p_source_69 IN NUMBER
124713 --Payables Encumbrance Upgrade Debit Base Amount
124714 , p_source_70 IN NUMBER
124715 --Payables Encumbrance Upgrade Option
124716 , p_source_71 IN VARCHAR2
124717 --Invoice Distribution Amount
124718 , p_source_72 IN NUMBER
124719 --Deferred Accounting End Date
124720 , p_source_76 IN DATE
124721 --Deferred Accounting Option
124722 , p_source_77 IN VARCHAR2
124723 --Deferred Accounting Start Date
124724 , p_source_78 IN DATE
124725 --Override Accounted Amount Indicator
124726 , p_source_79 IN VARCHAR2
124727 , p_source_79_meaning IN VARCHAR2
124728 --Invoice Supplier Identifier
124729 , p_source_80 IN NUMBER
124730 --Invoice Supplier Site Identifier
124731 , p_source_81 IN NUMBER
124732 --Third Party Type
124733 , p_source_82 IN VARCHAR2
124734 --Parent Reversal Identifier
124735 , p_source_83 IN NUMBER
124736 --Invoice Distribution Statistical Amount
124737 , p_source_84 IN NUMBER
124738 --Invoice Distribution Tax Line Identifier
124739 , p_source_85 IN NUMBER
124740 --Invoice Distribution Tax Distribution Identifier from Tax
124741 , p_source_86 IN NUMBER
124742 --Invoice Distribution Summary Tax Line Identifier
124743 , p_source_87 IN NUMBER
124744 --Payables Upgrade Credit Encumbrance Type Identifier
124745 , p_source_88 IN NUMBER
124746 --Payables Upgrade Debit Encumbrance Type Identifier
124747 , p_source_89 IN NUMBER
124748 --Business Flow Accounts Payable Application Identifier
124749 , p_source_90 IN NUMBER
124750 --Business Flow Invoice Distribution Type
124751 , p_source_91 IN VARCHAR2
124752 --Business Flow Invoice Entity Code
124753 , p_source_92 IN VARCHAR2
124754 --Business Flow Invoice Distribution Identifier
124755 , p_source_93 IN NUMBER
124756 --Business Flow Invoice Identifier
124757 , p_source_94 IN NUMBER
124758 --Self-Assessed Tax Flag
124759 , p_source_135 IN VARCHAR2
124760 , p_source_135_meaning IN VARCHAR2
124761 --Invoice Exchange Date
124762 , p_source_136 IN DATE
124763 --Invoice Exchange Rate
124764 , p_source_137 IN NUMBER
124765 --Invoice Exchange Rate Type
124766 , p_source_138 IN VARCHAR2
124767 )
124768 IS
124769
124770 l_component_type VARCHAR2(80);
124771 l_component_code VARCHAR2(30);
124772 l_component_type_code VARCHAR2(1);
124773 l_component_appl_id INTEGER;
124774 l_amb_context_code VARCHAR2(30);
124775 l_entity_code VARCHAR2(30);
124776 l_event_class_code VARCHAR2(30);
124777 l_ae_header_id NUMBER;
124778 l_event_type_code VARCHAR2(30);
124779 l_line_definition_code VARCHAR2(30);
124780 l_line_definition_owner_code VARCHAR2(1);
124781 --
124782 -- adr variables
124783 l_segment VARCHAR2(30);
124784 l_ccid NUMBER;
124785 l_adr_transaction_coa_id NUMBER;
124786 l_adr_accounting_coa_id NUMBER;
124787 l_adr_flexfield_segment_code VARCHAR2(30);
124788 l_adr_flex_value_set_id NUMBER;
124789 l_adr_value_type_code VARCHAR2(30);
124790 l_adr_value_combination_id NUMBER;
124791 l_adr_value_segment_code VARCHAR2(30);
124792
124793 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124794 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124795 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124796 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124797
124798 -- 4262811 Variables ------------------------------------------------------------------------------------------
124799 l_entered_amt_idx NUMBER;
124800 l_accted_amt_idx NUMBER;
124801 l_acc_rev_flag VARCHAR2(1);
124802 l_accrual_line_num NUMBER;
124803 l_tmp_amt NUMBER;
124804 l_acc_rev_natural_side_code VARCHAR2(1);
124805
124806 l_num_entries NUMBER;
124807 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124811 l_recog_line_1 NUMBER;
124808 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124809 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124810 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124812 l_recog_line_2 NUMBER;
124813
124814 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124815 l_bflow_applied_to_amt NUMBER; -- 5132302
124816 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124817
124818 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124819
124820 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124821 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124822
124823 ---------------------------------------------------------------------------------------------------------------
124824
124825
124826 --
124827 -- bulk performance
124828 --
124829 l_balance_type_code VARCHAR2(1);
124830 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
124831 l_log_module VARCHAR2(240);
124832
124833 --
124834 -- Upgrade strategy
124835 --
124836 l_actual_upg_option VARCHAR2(1);
124837 l_enc_upg_option VARCHAR2(1);
124838
124839 --
124840 BEGIN
124841 --
124842 IF g_log_enabled THEN
124843 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_202';
124844 END IF;
124845 --
124846 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124847
124848 trace
124849 (p_msg => 'BEGIN of AcctLineType_202'
124850 ,p_level => C_LEVEL_PROCEDURE
124851 ,p_module => l_log_module);
124852
124853 END IF;
124854 --
124855 l_component_type := 'AMB_JLT';
124856 l_component_code := 'AP_SELF_ASSESSED_TAX_LIB_PP';
124857 l_component_type_code := 'S';
124858 l_component_appl_id := 200;
124859 l_amb_context_code := 'DEFAULT';
124860 l_entity_code := 'AP_INVOICES';
124861 l_event_class_code := 'PREPAYMENTS';
124862 l_event_type_code := 'PREPAYMENTS_ALL';
124863 l_line_definition_owner_code := 'S';
124864 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
124865 --
124866 l_balance_type_code := 'A';
124867 l_segment := NULL;
124868 l_ccid := NULL;
124869 l_adr_transaction_coa_id := NULL;
124870 l_adr_accounting_coa_id := NULL;
124871 l_adr_flexfield_segment_code := NULL;
124872 l_adr_flex_value_set_id := NULL;
124873 l_adr_value_type_code := NULL;
124874 l_adr_value_combination_id := NULL;
124875 l_adr_value_segment_code := NULL;
124876
124877 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124878 l_bflow_class_code := ''; -- 4219869 Business Flow
124879 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124880 l_budgetary_control_flag := 'N';
124881
124882 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124883 l_bflow_applied_to_amt := NULL; -- 5132302
124884 l_entered_amt_idx := NULL; -- 4262811
124885 l_accted_amt_idx := NULL; -- 4262811
124886 l_acc_rev_flag := NULL; -- 4262811
124887 l_accrual_line_num := NULL; -- 4262811
124888 l_tmp_amt := NULL; -- 4262811
124889 --
124890
124891 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124892 l_balance_type_code <> 'B' THEN
124893 IF (NVL(p_source_33,'
124894 ') = 'REC_TAX' OR
124895 NVL(p_source_33,'
124896 ') = 'NONREC_TAX') AND
124897 NVL(p_source_135,'
124898 ') = 'Y'
124899 THEN
124900
124901 --
124902 XLA_AE_LINES_PKG.SetNewLine;
124903
124904 p_balance_type_code := l_balance_type_code;
124905 -- set the flag so later we will know whether the gain loss line needs to be created
124906
124907 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124908 p_actual_flag :='A';
124909 END IF;
124910
124911 --
124912 -- bulk performance
124913 --
124914 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124915 p_header_num => 0); -- 4262811
124916 --
124917 -- set accounting line options
124918 --
124919 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124920 p_natural_side_code => 'C'
124921 , p_gain_or_loss_flag => 'N'
124922 , p_gl_transfer_mode_code => 'S'
124923 , p_acct_entry_type_code => 'A'
124924 , p_switch_side_flag => 'Y'
124925 , p_merge_duplicate_code => 'A'
124926 );
124927 --
124928 l_acc_rev_natural_side_code := 'D'; -- 4262811
124929 --
124930 --
124931 -- set accounting line type info
124932 --
124933 xla_ae_lines_pkg.SetAcctLineType
124934 (p_component_type => l_component_type
124935 ,p_event_type_code => l_event_type_code
124936 ,p_line_definition_owner_code => l_line_definition_owner_code
124937 ,p_line_definition_code => l_line_definition_code
124938 ,p_accounting_line_code => l_component_code
124939 ,p_accounting_line_type_code => l_component_type_code
124940 ,p_accounting_line_appl_id => l_component_appl_id
124944 --
124941 ,p_amb_context_code => l_amb_context_code
124942 ,p_entity_code => l_entity_code
124943 ,p_event_class_code => l_event_class_code);
124945 -- set accounting class
124946 --
124947 xla_ae_lines_pkg.SetAcctClass(
124948 p_accounting_class_code => 'SELF_ASSESSED_TAX'
124949 , p_ae_header_id => l_ae_header_id
124950 );
124951
124952 --
124953 -- set rounding class
124954 --
124955 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124956 'SELF_ASSESSED_TAX';
124957
124958 --
124959 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124960 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124961 --
124962 -- bulk performance
124963 --
124964 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124965
124966 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124967 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124968
124969 -- 4955764
124970 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124971 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124972
124973 -- 4458381 Public Sector Enh
124974
124975 --
124976 -- set accounting attributes for the line type
124977 --
124978 l_entered_amt_idx := 23;
124979 l_accted_amt_idx := 28;
124980 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124981 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124982 l_rec_acct_attrs.array_char_value(1) := p_source_52;
124983 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124984 l_rec_acct_attrs.array_num_value(2) :=
124985 xla_ae_sources_pkg.GetSystemSourceNum(
124986 p_source_code => 'XLA_EVENT_APPL_ID'
124987 , p_source_type_code => 'Y'
124988 , p_source_application_id => 602
124989 );
124990 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124991 l_rec_acct_attrs.array_char_value(3) := p_source_54;
124992 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124993 l_rec_acct_attrs.array_char_value(4) :=
124994 xla_ae_sources_pkg.GetSystemSourceChar(
124995 p_source_code => 'XLA_ENTITY_CODE'
124996 , p_source_type_code => 'Y'
124997 , p_source_application_id => 602
124998 );
124999 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125000 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
125001 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125002 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
125003 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
125004 l_rec_acct_attrs.array_num_value(7) := p_source_90;
125005 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125006 l_rec_acct_attrs.array_char_value(8) := p_source_91;
125007 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
125008 l_rec_acct_attrs.array_char_value(9) := p_source_92;
125009 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
125010 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
125011 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125012 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
125013 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
125014 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
125015 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
125016 l_rec_acct_attrs.array_char_value(13) := p_source_54;
125017 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
125018 l_rec_acct_attrs.array_num_value(14) := p_source_64;
125019 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
125020 l_rec_acct_attrs.array_num_value(15) := p_source_65;
125021 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
125022 l_rec_acct_attrs.array_char_value(16) := p_source_66;
125023 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
125024 l_rec_acct_attrs.array_num_value(17) := p_source_67;
125025 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
125026 l_rec_acct_attrs.array_num_value(18) := p_source_68;
125027 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
125028 l_rec_acct_attrs.array_num_value(19) := p_source_69;
125029 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
125030 l_rec_acct_attrs.array_char_value(20) := p_source_66;
125031 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
125032 l_rec_acct_attrs.array_num_value(21) := p_source_70;
125033 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
125034 l_rec_acct_attrs.array_char_value(22) := p_source_71;
125035 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
125036 l_rec_acct_attrs.array_num_value(23) := p_source_72;
125037 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
125038 l_rec_acct_attrs.array_char_value(24) := p_source_66;
125039 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
125040 l_rec_acct_attrs.array_date_value(25) := p_source_136;
125044 l_rec_acct_attrs.array_char_value(27) := p_source_138;
125041 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
125042 l_rec_acct_attrs.array_num_value(26) := p_source_137;
125043 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
125045 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
125046 l_rec_acct_attrs.array_num_value(28) := p_source_21;
125047 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
125048 l_rec_acct_attrs.array_date_value(29) := p_source_76;
125049 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
125050 l_rec_acct_attrs.array_char_value(30) := p_source_77;
125051 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
125052 l_rec_acct_attrs.array_date_value(31) := p_source_78;
125053 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
125054 l_rec_acct_attrs.array_char_value(32) := p_source_79;
125055 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
125056 l_rec_acct_attrs.array_num_value(33) := p_source_80;
125057 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
125058 l_rec_acct_attrs.array_num_value(34) := p_source_81;
125059 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
125060 l_rec_acct_attrs.array_char_value(35) := p_source_82;
125061 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
125062 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
125063 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
125064 l_rec_acct_attrs.array_char_value(37) := p_source_54;
125065 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
125066 l_rec_acct_attrs.array_num_value(38) := p_source_84;
125067 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
125068 l_rec_acct_attrs.array_num_value(39) := p_source_85;
125069 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
125070 l_rec_acct_attrs.array_num_value(40) := p_source_86;
125071 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
125072 l_rec_acct_attrs.array_num_value(41) := p_source_87;
125073 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
125074 l_rec_acct_attrs.array_num_value(42) := p_source_88;
125075 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
125076 l_rec_acct_attrs.array_num_value(43) := p_source_89;
125077
125078 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125079 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125080
125081 ---------------------------------------------------------------------------------------------------------------
125082 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125083 ---------------------------------------------------------------------------------------------------------------
125084 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125085
125086 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125087 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125088
125089 IF xla_accounting_cache_pkg.GetValueChar
125090 (p_source_code => 'LEDGER_CATEGORY_CODE'
125091 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125092 AND l_bflow_method_code = 'PRIOR_ENTRY'
125093 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125094 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125095 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125096 )
125097 THEN
125098 xla_ae_lines_pkg.BflowUpgEntry
125099 (p_business_method_code => l_bflow_method_code
125100 ,p_business_class_code => l_bflow_class_code
125101 ,p_balance_type => l_balance_type_code);
125102 ELSE
125103 NULL;
125104 -- No business flow processing for business flow method of NONE.
125105 END IF;
125106
125107 --
125108 -- call analytical criteria
125109 --
125110
125111 --
125112 -- call description
125113 --
125114
125115 xla_ae_lines_pkg.SetLineDescription(
125116 p_ae_header_id => l_ae_header_id
125117 ,p_description => Description_1 (
125118 p_application_id => p_application_id
125119 , p_ae_header_id => l_ae_header_id
125120 , p_source_1 => p_source_1
125121 )
125122 );
125123
125124
125125 --
125126 -- call ADRs
125127 -- Bug 4922099
125128 --
125129 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125130 (NVL(l_actual_upg_option, 'N') = 'O') OR
125131 (NVL(l_enc_upg_option, 'N') = 'O')
125132 )
125133 THEN
125134 NULL;
125135 --
125136 --
125137
125138 l_ccid := AcctDerRule_42(
125139 p_application_id => p_application_id
125140 , p_ae_header_id => l_ae_header_id
125141 , p_source_50 => p_source_50
125142 , x_transaction_coa_id => l_adr_transaction_coa_id
125143 , x_accounting_coa_id => l_adr_accounting_coa_id
125144 , x_value_type_code => l_adr_value_type_code
125145 , p_side => 'NA'
125146 );
125147
125148 xla_ae_lines_pkg.set_ccid(
125149 p_code_combination_id => l_ccid
125153 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125150 , p_value_type_code => l_adr_value_type_code
125151 , p_transaction_coa_id => l_adr_transaction_coa_id
125152 , p_accounting_coa_id => l_adr_accounting_coa_id
125154 , p_adr_type_code => 'S'
125155 , p_component_type => l_component_type
125156 , p_component_code => l_component_code
125157 , p_component_type_code => l_component_type_code
125158 , p_component_appl_id => l_component_appl_id
125159 , p_amb_context_code => l_amb_context_code
125160 , p_side => 'NA'
125161 );
125162
125163
125164 --
125165 --
125166 END IF;
125167 --
125168 -- Bug 4922099
125169 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125170 (NVL(l_enc_upg_option, 'N') = 'O')
125171 ) AND
125172 (l_bflow_method_code = 'PRIOR_ENTRY')
125173 )
125174 THEN
125175 IF
125176 --
125177 1 = 2
125178 --
125179 THEN
125180 xla_accounting_err_pkg.build_message
125181 (p_appli_s_name => 'XLA'
125182 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125183 ,p_token_1 => 'LINE_NUMBER'
125184 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125185 ,p_token_2 => 'LINE_TYPE_NAME'
125186 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125187 l_component_type
125188 ,l_component_code
125189 ,l_component_type_code
125190 ,l_component_appl_id
125191 ,l_amb_context_code
125192 ,l_entity_code
125193 ,l_event_class_code
125194 )
125195 ,p_token_3 => 'OWNER'
125196 ,p_value_3 => xla_lookups_pkg.get_meaning(
125197 p_lookup_type => 'XLA_OWNER_TYPE'
125198 ,p_lookup_code => l_component_type_code
125199 )
125200 ,p_token_4 => 'PRODUCT_NAME'
125201 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125202 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125203 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125204 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125205 ,p_ae_header_id => NULL
125206 );
125207
125208 IF (C_LEVEL_ERROR>= g_log_level) THEN
125209 trace
125210 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125211 ,p_level => C_LEVEL_ERROR
125212 ,p_module => l_log_module);
125213 END IF;
125214 END IF;
125215 END IF;
125216 --
125217 --
125218 ------------------------------------------------------------------------------------------------
125219 -- 4219869 Business Flow
125220 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125221 -- Prior Entry. Currently, the following code is always generated.
125222 ------------------------------------------------------------------------------------------------
125223 XLA_AE_LINES_PKG.ValidateCurrentLine;
125224
125225 ------------------------------------------------------------------------------------
125226 -- 4219869 Business Flow
125227 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125228 ------------------------------------------------------------------------------------
125229 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125230
125231 ----------------------------------------------------------------------------------
125232 -- 4219869 Business Flow
125233 -- Update journal entry status -- Need to generate this within IF <condition>
125234 ----------------------------------------------------------------------------------
125235 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125236 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125237 ,p_balance_type_code => l_balance_type_code
125238 );
125239
125240 -------------------------------------------------------------------------------------------
125241 -- 4262811 - Generate the Accrual Reversal lines
125242 -------------------------------------------------------------------------------------------
125243 BEGIN
125244 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125248 END IF;
125245 (g_array_event(p_event_id).array_value_num('header_index'));
125246 IF l_acc_rev_flag IS NULL THEN
125247 l_acc_rev_flag := 'N';
125249 EXCEPTION
125250 WHEN OTHERS THEN
125251 l_acc_rev_flag := 'N';
125252 END;
125253 --
125254 IF (l_acc_rev_flag = 'Y') THEN
125255
125256 -- 4645092 ------------------------------------------------------------------------------
125257 -- To allow MPA report to determine if it should generate report process
125258 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125259 ------------------------------------------------------------------------------------------
125260
125261 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125262 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125263 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125264 -- call ADRs
125265 -- Bug 4922099
125266 --
125267 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125268 (NVL(l_actual_upg_option, 'N') = 'O') OR
125269 (NVL(l_enc_upg_option, 'N') = 'O')
125270 )
125271 THEN
125272 NULL;
125273 --
125274 --
125275
125276 l_ccid := AcctDerRule_42(
125277 p_application_id => p_application_id
125278 , p_ae_header_id => l_ae_header_id
125279 , p_source_50 => p_source_50
125280 , x_transaction_coa_id => l_adr_transaction_coa_id
125281 , x_accounting_coa_id => l_adr_accounting_coa_id
125282 , x_value_type_code => l_adr_value_type_code
125283 , p_side => 'NA'
125284 );
125285
125286 xla_ae_lines_pkg.set_ccid(
125287 p_code_combination_id => l_ccid
125288 , p_value_type_code => l_adr_value_type_code
125289 , p_transaction_coa_id => l_adr_transaction_coa_id
125290 , p_accounting_coa_id => l_adr_accounting_coa_id
125291 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125292 , p_adr_type_code => 'S'
125293 , p_component_type => l_component_type
125294 , p_component_code => l_component_code
125295 , p_component_type_code => l_component_type_code
125296 , p_component_appl_id => l_component_appl_id
125297 , p_amb_context_code => l_amb_context_code
125298 , p_side => 'NA'
125299 );
125300
125301
125302 --
125303 --
125304 END IF;
125305
125306 --
125307 -- Update the line information that should be overwritten
125308 --
125309 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
125310 p_header_num => 1);
125311 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
125312
125313 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
125314
125315 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
125316 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
125317 END IF;
125318
125319 --
125320 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
125321 --
125322 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
125323 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
125324 ELSE
125325 ---------------------------------------------------------------------------------------------------
125326 -- 4262811a Switch Sign
125327 ---------------------------------------------------------------------------------------------------
125328 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
125329 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125330 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125331 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125332 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125333 -- 5132302
125334 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
125335 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125336
125337 END IF;
125338
125339 -- 4955764
125340 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125341 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
125342
125343
125344 XLA_AE_LINES_PKG.ValidateCurrentLine;
125345 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125346
125347 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125348 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
125349 ,p_balance_type_code => l_balance_type_code);
125350
125351 END IF;
125352
125353 -----------------------------------------------------------------------------------------
125354 -- 4262811 Multiperiod Accounting
125355 -----------------------------------------------------------------------------------------
125359 END IF;
125356 -- No MPA option is assigned.
125357
125358
125360 END IF;
125361 --
125362
125363 --
125364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125365 trace
125366 (p_msg => 'END of AcctLineType_202'
125367 ,p_level => C_LEVEL_PROCEDURE
125368 ,p_module => l_log_module);
125369 END IF;
125370 --
125371 EXCEPTION
125372 WHEN xla_exceptions_pkg.application_exception THEN
125373 RAISE;
125374 WHEN OTHERS THEN
125375 xla_exceptions_pkg.raise_message
125376 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_202');
125377 END AcctLineType_202;
125378 --
125379
125380 ---------------------------------------
125381 --
125382 -- PRIVATE FUNCTION
125383 -- AcctLineType_203
125384 --
125385 ---------------------------------------
125386 PROCEDURE AcctLineType_203 (
125387 p_application_id IN NUMBER
125388 ,p_event_id IN NUMBER
125389 ,p_calculate_acctd_flag IN VARCHAR2
125390 ,p_calculate_g_l_flag IN VARCHAR2
125391 ,p_actual_flag IN OUT VARCHAR2
125392 ,p_balance_type_code OUT VARCHAR2
125393 ,p_gain_or_loss_ref OUT VARCHAR2
125394
125395 --Invoice Distribution Description
125396 , p_source_1 IN VARCHAR2
125397 --Invoice Distribution Ledger Amount
125398 , p_source_21 IN NUMBER
125399 --Invoice Distribution Type
125400 , p_source_33 IN VARCHAR2
125401 , p_source_33_meaning IN VARCHAR2
125402 --Self-Assessed Tax Account
125403 , p_source_49 IN NUMBER
125404 --Accounting Reversal Indicator
125405 , p_source_52 IN VARCHAR2
125406 --Distribution Link Type
125407 , p_source_54 IN VARCHAR2
125408 --Allocation to Main Distribution Identifier
125409 , p_source_56 IN NUMBER
125410 --Invoice Identifier
125411 , p_source_57 IN NUMBER
125412 --Invoice Distribution Identifier
125413 , p_source_63 IN NUMBER
125414 --Payables Encumbrance Upgrade Credit Account
125415 , p_source_64 IN NUMBER
125416 --Payables Encumbrance Upgrade Credit Amount
125417 , p_source_65 IN NUMBER
125418 --Invoice Currency Code
125419 , p_source_66 IN VARCHAR2
125420 --Payables Encumbrance Upgrade Credit Base Amount
125421 , p_source_67 IN NUMBER
125422 --Payables Encumbrance Upgrade Debit Account
125423 , p_source_68 IN NUMBER
125424 --Payables Encumbrance Upgrade Debit Amount
125425 , p_source_69 IN NUMBER
125426 --Payables Encumbrance Upgrade Debit Base Amount
125427 , p_source_70 IN NUMBER
125428 --Payables Encumbrance Upgrade Option
125429 , p_source_71 IN VARCHAR2
125430 --Invoice Distribution Amount
125431 , p_source_72 IN NUMBER
125432 --Purchase Order Exchange Rate Date
125433 , p_source_73 IN DATE
125434 --Purchase Order Exchange Rate
125435 , p_source_74 IN NUMBER
125436 --Purchase Order Exchange Rate Type
125437 , p_source_75 IN VARCHAR2
125438 --Deferred Accounting End Date
125439 , p_source_76 IN DATE
125440 --Deferred Accounting Option
125441 , p_source_77 IN VARCHAR2
125442 --Deferred Accounting Start Date
125443 , p_source_78 IN DATE
125444 --Override Accounted Amount Indicator
125445 , p_source_79 IN VARCHAR2
125446 , p_source_79_meaning IN VARCHAR2
125447 --Invoice Supplier Identifier
125448 , p_source_80 IN NUMBER
125449 --Invoice Supplier Site Identifier
125450 , p_source_81 IN NUMBER
125451 --Third Party Type
125452 , p_source_82 IN VARCHAR2
125453 --Parent Reversal Identifier
125454 , p_source_83 IN NUMBER
125455 --Invoice Distribution Statistical Amount
125456 , p_source_84 IN NUMBER
125457 --Invoice Distribution Tax Line Identifier
125458 , p_source_85 IN NUMBER
125459 --Invoice Distribution Tax Distribution Identifier from Tax
125460 , p_source_86 IN NUMBER
125461 --Invoice Distribution Summary Tax Line Identifier
125462 , p_source_87 IN NUMBER
125463 --Payables Upgrade Credit Encumbrance Type Identifier
125464 , p_source_88 IN NUMBER
125465 --Payables Upgrade Debit Encumbrance Type Identifier
125466 , p_source_89 IN NUMBER
125467 --Business Flow Accounts Payable Application Identifier
125468 , p_source_90 IN NUMBER
125469 --Business Flow Invoice Distribution Type
125470 , p_source_91 IN VARCHAR2
125471 --Business Flow Invoice Entity Code
125472 , p_source_92 IN VARCHAR2
125473 --Business Flow Invoice Distribution Identifier
125474 , p_source_93 IN NUMBER
125475 --Business Flow Invoice Identifier
125476 , p_source_94 IN NUMBER
125477 --Accrue on Receipt Option
125478 , p_source_95 IN VARCHAR2
125479 , p_source_95_meaning IN VARCHAR2
125480 --Self-Assessed Tax Flag
125481 , p_source_135 IN VARCHAR2
125482 , p_source_135_meaning IN VARCHAR2
125483 )
125484 IS
125485
125486 l_component_type VARCHAR2(80);
125487 l_component_code VARCHAR2(30);
125488 l_component_type_code VARCHAR2(1);
125489 l_component_appl_id INTEGER;
125490 l_amb_context_code VARCHAR2(30);
125491 l_entity_code VARCHAR2(30);
125492 l_event_class_code VARCHAR2(30);
125493 l_ae_header_id NUMBER;
125494 l_event_type_code VARCHAR2(30);
125495 l_line_definition_code VARCHAR2(30);
125499 l_segment VARCHAR2(30);
125496 l_line_definition_owner_code VARCHAR2(1);
125497 --
125498 -- adr variables
125500 l_ccid NUMBER;
125501 l_adr_transaction_coa_id NUMBER;
125502 l_adr_accounting_coa_id NUMBER;
125503 l_adr_flexfield_segment_code VARCHAR2(30);
125504 l_adr_flex_value_set_id NUMBER;
125505 l_adr_value_type_code VARCHAR2(30);
125506 l_adr_value_combination_id NUMBER;
125507 l_adr_value_segment_code VARCHAR2(30);
125508
125509 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
125510 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
125511 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
125512 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
125513
125514 -- 4262811 Variables ------------------------------------------------------------------------------------------
125515 l_entered_amt_idx NUMBER;
125516 l_accted_amt_idx NUMBER;
125517 l_acc_rev_flag VARCHAR2(1);
125518 l_accrual_line_num NUMBER;
125519 l_tmp_amt NUMBER;
125520 l_acc_rev_natural_side_code VARCHAR2(1);
125521
125522 l_num_entries NUMBER;
125523 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
125524 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
125525 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
125526 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
125527 l_recog_line_1 NUMBER;
125528 l_recog_line_2 NUMBER;
125529
125530 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
125531 l_bflow_applied_to_amt NUMBER; -- 5132302
125532 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
125533
125534 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
125535
125536 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
125537 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
125538
125539 ---------------------------------------------------------------------------------------------------------------
125540
125541
125542 --
125543 -- bulk performance
125544 --
125545 l_balance_type_code VARCHAR2(1);
125546 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125547 l_log_module VARCHAR2(240);
125548
125549 --
125550 -- Upgrade strategy
125551 --
125552 l_actual_upg_option VARCHAR2(1);
125553 l_enc_upg_option VARCHAR2(1);
125554
125555 --
125556 BEGIN
125557 --
125558 IF g_log_enabled THEN
125559 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_203';
125560 END IF;
125561 --
125562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125563
125564 trace
125565 (p_msg => 'BEGIN of AcctLineType_203'
125566 ,p_level => C_LEVEL_PROCEDURE
125567 ,p_module => l_log_module);
125568
125569 END IF;
125570 --
125571 l_component_type := 'AMB_JLT';
125572 l_component_code := 'AP_SELF_NONREC_ACCRUAL_PREPAY';
125573 l_component_type_code := 'S';
125574 l_component_appl_id := 200;
125575 l_amb_context_code := 'DEFAULT';
125576 l_entity_code := 'AP_INVOICES';
125577 l_event_class_code := 'PREPAYMENTS';
125578 l_event_type_code := 'PREPAYMENTS_ALL';
125579 l_line_definition_owner_code := 'S';
125580 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
125581 --
125582 l_balance_type_code := 'A';
125583 l_segment := NULL;
125584 l_ccid := NULL;
125585 l_adr_transaction_coa_id := NULL;
125586 l_adr_accounting_coa_id := NULL;
125587 l_adr_flexfield_segment_code := NULL;
125588 l_adr_flex_value_set_id := NULL;
125589 l_adr_value_type_code := NULL;
125590 l_adr_value_combination_id := NULL;
125591 l_adr_value_segment_code := NULL;
125592
125593 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125594 l_bflow_class_code := ''; -- 4219869 Business Flow
125595 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125596 l_budgetary_control_flag := 'N';
125597
125598 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125599 l_bflow_applied_to_amt := NULL; -- 5132302
125600 l_entered_amt_idx := NULL; -- 4262811
125601 l_accted_amt_idx := NULL; -- 4262811
125602 l_acc_rev_flag := NULL; -- 4262811
125603 l_accrual_line_num := NULL; -- 4262811
125604 l_tmp_amt := NULL; -- 4262811
125605 --
125606
125607 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125608 l_balance_type_code <> 'B' THEN
125609 IF NVL(p_source_33,'
125610 ') = 'NONREC_TAX' AND
125611 NVL(p_source_135,'
125612 ') = 'Y' AND
125613 NVL(p_source_95,'
125614 ') = 'Y'
125615 THEN
125616
125617 --
125618 XLA_AE_LINES_PKG.SetNewLine;
125619
125620 p_balance_type_code := l_balance_type_code;
125621 -- set the flag so later we will know whether the gain loss line needs to be created
125622
125626
125623 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125624 p_actual_flag :='A';
125625 END IF;
125627 --
125628 -- bulk performance
125629 --
125630 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125631 p_header_num => 0); -- 4262811
125632 --
125633 -- set accounting line options
125634 --
125635 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125636 p_natural_side_code => 'D'
125637 , p_gain_or_loss_flag => 'N'
125638 , p_gl_transfer_mode_code => 'S'
125639 , p_acct_entry_type_code => 'A'
125640 , p_switch_side_flag => 'Y'
125641 , p_merge_duplicate_code => 'A'
125642 );
125643 --
125644 l_acc_rev_natural_side_code := 'C'; -- 4262811
125645 --
125646 --
125647 -- set accounting line type info
125648 --
125649 xla_ae_lines_pkg.SetAcctLineType
125650 (p_component_type => l_component_type
125651 ,p_event_type_code => l_event_type_code
125652 ,p_line_definition_owner_code => l_line_definition_owner_code
125653 ,p_line_definition_code => l_line_definition_code
125654 ,p_accounting_line_code => l_component_code
125655 ,p_accounting_line_type_code => l_component_type_code
125656 ,p_accounting_line_appl_id => l_component_appl_id
125657 ,p_amb_context_code => l_amb_context_code
125658 ,p_entity_code => l_entity_code
125659 ,p_event_class_code => l_event_class_code);
125660 --
125661 -- set accounting class
125662 --
125663 xla_ae_lines_pkg.SetAcctClass(
125664 p_accounting_class_code => 'SELF_ASSESSED_TAX'
125665 , p_ae_header_id => l_ae_header_id
125666 );
125667
125668 --
125669 -- set rounding class
125670 --
125671 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125672 'SELF_ASSESSED_TAX';
125673
125674 --
125675 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125676 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125677 --
125678 -- bulk performance
125679 --
125680 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125681
125682 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125683 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125684
125685 -- 4955764
125686 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125687 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125688
125689 -- 4458381 Public Sector Enh
125690
125691 --
125692 -- set accounting attributes for the line type
125693 --
125694 l_entered_amt_idx := 23;
125695 l_accted_amt_idx := 28;
125696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125697 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125698 l_rec_acct_attrs.array_char_value(1) := p_source_52;
125699 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
125700 l_rec_acct_attrs.array_num_value(2) :=
125701 xla_ae_sources_pkg.GetSystemSourceNum(
125702 p_source_code => 'XLA_EVENT_APPL_ID'
125703 , p_source_type_code => 'Y'
125704 , p_source_application_id => 602
125705 );
125706 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
125707 l_rec_acct_attrs.array_char_value(3) := p_source_54;
125708 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
125709 l_rec_acct_attrs.array_char_value(4) :=
125710 xla_ae_sources_pkg.GetSystemSourceChar(
125711 p_source_code => 'XLA_ENTITY_CODE'
125712 , p_source_type_code => 'Y'
125713 , p_source_application_id => 602
125714 );
125715 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125716 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
125717 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125718 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
125719 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
125720 l_rec_acct_attrs.array_num_value(7) := p_source_90;
125721 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125722 l_rec_acct_attrs.array_char_value(8) := p_source_91;
125723 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
125724 l_rec_acct_attrs.array_char_value(9) := p_source_92;
125725 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
125726 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
125727 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125728 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
125729 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
125730 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
125731 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
125732 l_rec_acct_attrs.array_char_value(13) := p_source_54;
125733 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
125734 l_rec_acct_attrs.array_num_value(14) := p_source_64;
125738 l_rec_acct_attrs.array_char_value(16) := p_source_66;
125735 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
125736 l_rec_acct_attrs.array_num_value(15) := p_source_65;
125737 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
125739 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
125740 l_rec_acct_attrs.array_num_value(17) := p_source_67;
125741 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
125742 l_rec_acct_attrs.array_num_value(18) := p_source_68;
125743 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
125744 l_rec_acct_attrs.array_num_value(19) := p_source_69;
125745 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
125746 l_rec_acct_attrs.array_char_value(20) := p_source_66;
125747 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
125748 l_rec_acct_attrs.array_num_value(21) := p_source_70;
125749 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
125750 l_rec_acct_attrs.array_char_value(22) := p_source_71;
125751 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
125752 l_rec_acct_attrs.array_num_value(23) := p_source_72;
125753 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
125754 l_rec_acct_attrs.array_char_value(24) := p_source_66;
125755 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
125756 l_rec_acct_attrs.array_date_value(25) := p_source_73;
125757 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
125758 l_rec_acct_attrs.array_num_value(26) := p_source_74;
125759 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
125760 l_rec_acct_attrs.array_char_value(27) := p_source_75;
125761 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
125762 l_rec_acct_attrs.array_num_value(28) := p_source_21;
125763 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
125764 l_rec_acct_attrs.array_date_value(29) := p_source_76;
125765 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
125766 l_rec_acct_attrs.array_char_value(30) := p_source_77;
125767 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
125768 l_rec_acct_attrs.array_date_value(31) := p_source_78;
125769 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
125770 l_rec_acct_attrs.array_char_value(32) := p_source_79;
125771 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
125772 l_rec_acct_attrs.array_num_value(33) := p_source_80;
125773 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
125774 l_rec_acct_attrs.array_num_value(34) := p_source_81;
125775 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
125776 l_rec_acct_attrs.array_char_value(35) := p_source_82;
125777 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
125778 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
125779 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
125780 l_rec_acct_attrs.array_char_value(37) := p_source_54;
125781 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
125782 l_rec_acct_attrs.array_num_value(38) := p_source_84;
125783 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
125784 l_rec_acct_attrs.array_num_value(39) := p_source_85;
125785 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
125786 l_rec_acct_attrs.array_num_value(40) := p_source_86;
125787 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
125788 l_rec_acct_attrs.array_num_value(41) := p_source_87;
125789 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
125790 l_rec_acct_attrs.array_num_value(42) := p_source_88;
125791 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
125792 l_rec_acct_attrs.array_num_value(43) := p_source_89;
125793
125794 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125795 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125796
125797 ---------------------------------------------------------------------------------------------------------------
125798 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125799 ---------------------------------------------------------------------------------------------------------------
125800 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125801
125802 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125803 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125804
125805 IF xla_accounting_cache_pkg.GetValueChar
125806 (p_source_code => 'LEDGER_CATEGORY_CODE'
125807 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125808 AND l_bflow_method_code = 'PRIOR_ENTRY'
125809 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125810 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125811 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125812 )
125813 THEN
125814 xla_ae_lines_pkg.BflowUpgEntry
125815 (p_business_method_code => l_bflow_method_code
125816 ,p_business_class_code => l_bflow_class_code
125817 ,p_balance_type => l_balance_type_code);
125818 ELSE
125819 NULL;
125820 -- No business flow processing for business flow method of NONE.
125821 END IF;
125822
125823 --
125824 -- call analytical criteria
125825 --
125826
125830
125827 --
125828 -- call description
125829 --
125831 xla_ae_lines_pkg.SetLineDescription(
125832 p_ae_header_id => l_ae_header_id
125833 ,p_description => Description_1 (
125834 p_application_id => p_application_id
125835 , p_ae_header_id => l_ae_header_id
125836 , p_source_1 => p_source_1
125837 )
125838 );
125839
125840
125841 --
125842 -- call ADRs
125843 -- Bug 4922099
125844 --
125845 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125846 (NVL(l_actual_upg_option, 'N') = 'O') OR
125847 (NVL(l_enc_upg_option, 'N') = 'O')
125848 )
125849 THEN
125850 NULL;
125851 --
125852 --
125853
125854 l_ccid := AcctDerRule_41(
125855 p_application_id => p_application_id
125856 , p_ae_header_id => l_ae_header_id
125857 , p_source_49 => p_source_49
125858 , x_transaction_coa_id => l_adr_transaction_coa_id
125859 , x_accounting_coa_id => l_adr_accounting_coa_id
125860 , x_value_type_code => l_adr_value_type_code
125861 , p_side => 'NA'
125862 );
125863
125864 xla_ae_lines_pkg.set_ccid(
125865 p_code_combination_id => l_ccid
125866 , p_value_type_code => l_adr_value_type_code
125867 , p_transaction_coa_id => l_adr_transaction_coa_id
125868 , p_accounting_coa_id => l_adr_accounting_coa_id
125869 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
125870 , p_adr_type_code => 'S'
125871 , p_component_type => l_component_type
125872 , p_component_code => l_component_code
125873 , p_component_type_code => l_component_type_code
125874 , p_component_appl_id => l_component_appl_id
125875 , p_amb_context_code => l_amb_context_code
125876 , p_side => 'NA'
125877 );
125878
125879
125880 --
125881 --
125882 END IF;
125883 --
125884 -- Bug 4922099
125885 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125886 (NVL(l_enc_upg_option, 'N') = 'O')
125887 ) AND
125888 (l_bflow_method_code = 'PRIOR_ENTRY')
125889 )
125890 THEN
125891 IF
125892 --
125893 1 = 2
125894 --
125895 THEN
125896 xla_accounting_err_pkg.build_message
125897 (p_appli_s_name => 'XLA'
125898 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125899 ,p_token_1 => 'LINE_NUMBER'
125900 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125901 ,p_token_2 => 'LINE_TYPE_NAME'
125902 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125903 l_component_type
125904 ,l_component_code
125905 ,l_component_type_code
125906 ,l_component_appl_id
125907 ,l_amb_context_code
125908 ,l_entity_code
125909 ,l_event_class_code
125910 )
125911 ,p_token_3 => 'OWNER'
125912 ,p_value_3 => xla_lookups_pkg.get_meaning(
125913 p_lookup_type => 'XLA_OWNER_TYPE'
125914 ,p_lookup_code => l_component_type_code
125915 )
125916 ,p_token_4 => 'PRODUCT_NAME'
125917 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125918 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125919 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125920 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125921 ,p_ae_header_id => NULL
125922 );
125923
125924 IF (C_LEVEL_ERROR>= g_log_level) THEN
125925 trace
125926 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125927 ,p_level => C_LEVEL_ERROR
125928 ,p_module => l_log_module);
125929 END IF;
125930 END IF;
125931 END IF;
125932 --
125933 --
125934 ------------------------------------------------------------------------------------------------
125935 -- 4219869 Business Flow
125936 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125937 -- Prior Entry. Currently, the following code is always generated.
125938 ------------------------------------------------------------------------------------------------
125942 -- 4219869 Business Flow
125939 XLA_AE_LINES_PKG.ValidateCurrentLine;
125940
125941 ------------------------------------------------------------------------------------
125943 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125944 ------------------------------------------------------------------------------------
125945 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125946
125947 ----------------------------------------------------------------------------------
125948 -- 4219869 Business Flow
125949 -- Update journal entry status -- Need to generate this within IF <condition>
125950 ----------------------------------------------------------------------------------
125951 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125952 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125953 ,p_balance_type_code => l_balance_type_code
125954 );
125955
125956 -------------------------------------------------------------------------------------------
125957 -- 4262811 - Generate the Accrual Reversal lines
125958 -------------------------------------------------------------------------------------------
125959 BEGIN
125960 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125961 (g_array_event(p_event_id).array_value_num('header_index'));
125962 IF l_acc_rev_flag IS NULL THEN
125963 l_acc_rev_flag := 'N';
125964 END IF;
125965 EXCEPTION
125966 WHEN OTHERS THEN
125967 l_acc_rev_flag := 'N';
125968 END;
125969 --
125970 IF (l_acc_rev_flag = 'Y') THEN
125971
125972 -- 4645092 ------------------------------------------------------------------------------
125973 -- To allow MPA report to determine if it should generate report process
125974 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125975 ------------------------------------------------------------------------------------------
125976
125977 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125978 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125979 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125980 -- call ADRs
125981 -- Bug 4922099
125982 --
125983 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125984 (NVL(l_actual_upg_option, 'N') = 'O') OR
125985 (NVL(l_enc_upg_option, 'N') = 'O')
125986 )
125987 THEN
125988 NULL;
125989 --
125990 --
125991
125992 l_ccid := AcctDerRule_41(
125993 p_application_id => p_application_id
125994 , p_ae_header_id => l_ae_header_id
125995 , p_source_49 => p_source_49
125996 , x_transaction_coa_id => l_adr_transaction_coa_id
125997 , x_accounting_coa_id => l_adr_accounting_coa_id
125998 , x_value_type_code => l_adr_value_type_code
125999 , p_side => 'NA'
126000 );
126001
126002 xla_ae_lines_pkg.set_ccid(
126003 p_code_combination_id => l_ccid
126004 , p_value_type_code => l_adr_value_type_code
126005 , p_transaction_coa_id => l_adr_transaction_coa_id
126006 , p_accounting_coa_id => l_adr_accounting_coa_id
126007 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126008 , p_adr_type_code => 'S'
126009 , p_component_type => l_component_type
126010 , p_component_code => l_component_code
126011 , p_component_type_code => l_component_type_code
126012 , p_component_appl_id => l_component_appl_id
126013 , p_amb_context_code => l_amb_context_code
126014 , p_side => 'NA'
126015 );
126016
126017
126018 --
126019 --
126020 END IF;
126021
126022 --
126023 -- Update the line information that should be overwritten
126024 --
126025 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126026 p_header_num => 1);
126027 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126028
126029 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126030
126031 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126032 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126033 END IF;
126034
126035 --
126036 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126037 --
126038 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126039 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126040 ELSE
126041 ---------------------------------------------------------------------------------------------------
126042 -- 4262811a Switch Sign
126043 ---------------------------------------------------------------------------------------------------
126044 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126045 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126046 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126047 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126051 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126048 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126049 -- 5132302
126050 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126052
126053 END IF;
126054
126055 -- 4955764
126056 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126057 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126058
126059
126060 XLA_AE_LINES_PKG.ValidateCurrentLine;
126061 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126062
126063 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126064 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126065 ,p_balance_type_code => l_balance_type_code);
126066
126067 END IF;
126068
126069 -----------------------------------------------------------------------------------------
126070 -- 4262811 Multiperiod Accounting
126071 -----------------------------------------------------------------------------------------
126072 -- No MPA option is assigned.
126073
126074
126075 END IF;
126076 END IF;
126077 --
126078
126079 --
126080 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126081 trace
126082 (p_msg => 'END of AcctLineType_203'
126083 ,p_level => C_LEVEL_PROCEDURE
126084 ,p_module => l_log_module);
126085 END IF;
126086 --
126087 EXCEPTION
126088 WHEN xla_exceptions_pkg.application_exception THEN
126089 RAISE;
126090 WHEN OTHERS THEN
126091 xla_exceptions_pkg.raise_message
126092 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_203');
126093 END AcctLineType_203;
126094 --
126095
126096 ---------------------------------------
126097 --
126098 -- PRIVATE FUNCTION
126099 -- AcctLineType_204
126100 --
126101 ---------------------------------------
126102 PROCEDURE AcctLineType_204 (
126103 p_application_id IN NUMBER
126104 ,p_event_id IN NUMBER
126105 ,p_calculate_acctd_flag IN VARCHAR2
126106 ,p_calculate_g_l_flag IN VARCHAR2
126107 ,p_actual_flag IN OUT VARCHAR2
126108 ,p_balance_type_code OUT VARCHAR2
126109 ,p_gain_or_loss_ref OUT VARCHAR2
126110
126111 --Invoice Distribution Description
126112 , p_source_1 IN VARCHAR2
126113 --Invoice Distribution Ledger Amount
126114 , p_source_21 IN NUMBER
126115 --Invoice Distribution Type
126116 , p_source_33 IN VARCHAR2
126117 , p_source_33_meaning IN VARCHAR2
126118 --Self-Assessed Tax Account
126119 , p_source_49 IN NUMBER
126120 --Accounting Reversal Indicator
126121 , p_source_52 IN VARCHAR2
126122 --Distribution Link Type
126123 , p_source_54 IN VARCHAR2
126124 --Allocation to Main Distribution Identifier
126125 , p_source_56 IN NUMBER
126126 --Invoice Identifier
126127 , p_source_57 IN NUMBER
126128 --Invoice Distribution Identifier
126129 , p_source_63 IN NUMBER
126130 --Payables Encumbrance Upgrade Credit Account
126131 , p_source_64 IN NUMBER
126132 --Payables Encumbrance Upgrade Credit Amount
126133 , p_source_65 IN NUMBER
126134 --Invoice Currency Code
126135 , p_source_66 IN VARCHAR2
126136 --Payables Encumbrance Upgrade Credit Base Amount
126137 , p_source_67 IN NUMBER
126138 --Payables Encumbrance Upgrade Debit Account
126139 , p_source_68 IN NUMBER
126140 --Payables Encumbrance Upgrade Debit Amount
126141 , p_source_69 IN NUMBER
126142 --Payables Encumbrance Upgrade Debit Base Amount
126143 , p_source_70 IN NUMBER
126144 --Payables Encumbrance Upgrade Option
126145 , p_source_71 IN VARCHAR2
126146 --Invoice Distribution Amount
126147 , p_source_72 IN NUMBER
126148 --Purchase Order Exchange Rate Date
126149 , p_source_73 IN DATE
126150 --Purchase Order Exchange Rate
126151 , p_source_74 IN NUMBER
126152 --Purchase Order Exchange Rate Type
126153 , p_source_75 IN VARCHAR2
126154 --Deferred Accounting End Date
126155 , p_source_76 IN DATE
126156 --Deferred Accounting Option
126157 , p_source_77 IN VARCHAR2
126158 --Deferred Accounting Start Date
126159 , p_source_78 IN DATE
126160 --Override Accounted Amount Indicator
126161 , p_source_79 IN VARCHAR2
126162 , p_source_79_meaning IN VARCHAR2
126163 --Invoice Supplier Identifier
126164 , p_source_80 IN NUMBER
126165 --Invoice Supplier Site Identifier
126166 , p_source_81 IN NUMBER
126167 --Third Party Type
126168 , p_source_82 IN VARCHAR2
126169 --Parent Reversal Identifier
126170 , p_source_83 IN NUMBER
126171 --Invoice Distribution Statistical Amount
126172 , p_source_84 IN NUMBER
126173 --Invoice Distribution Tax Line Identifier
126174 , p_source_85 IN NUMBER
126175 --Invoice Distribution Tax Distribution Identifier from Tax
126176 , p_source_86 IN NUMBER
126177 --Invoice Distribution Summary Tax Line Identifier
126178 , p_source_87 IN NUMBER
126179 --Payables Upgrade Credit Encumbrance Type Identifier
126180 , p_source_88 IN NUMBER
126184 , p_source_90 IN NUMBER
126181 --Payables Upgrade Debit Encumbrance Type Identifier
126182 , p_source_89 IN NUMBER
126183 --Business Flow Accounts Payable Application Identifier
126185 --Business Flow Invoice Distribution Type
126186 , p_source_91 IN VARCHAR2
126187 --Business Flow Invoice Entity Code
126188 , p_source_92 IN VARCHAR2
126189 --Business Flow Invoice Distribution Identifier
126190 , p_source_93 IN NUMBER
126191 --Business Flow Invoice Identifier
126192 , p_source_94 IN NUMBER
126193 --Accrue on Receipt Option
126194 , p_source_95 IN VARCHAR2
126195 , p_source_95_meaning IN VARCHAR2
126196 --Self-Assessed Tax Flag
126197 , p_source_135 IN VARCHAR2
126198 , p_source_135_meaning IN VARCHAR2
126199 )
126200 IS
126201
126202 l_component_type VARCHAR2(80);
126203 l_component_code VARCHAR2(30);
126204 l_component_type_code VARCHAR2(1);
126205 l_component_appl_id INTEGER;
126206 l_amb_context_code VARCHAR2(30);
126207 l_entity_code VARCHAR2(30);
126208 l_event_class_code VARCHAR2(30);
126209 l_ae_header_id NUMBER;
126210 l_event_type_code VARCHAR2(30);
126211 l_line_definition_code VARCHAR2(30);
126212 l_line_definition_owner_code VARCHAR2(1);
126213 --
126214 -- adr variables
126215 l_segment VARCHAR2(30);
126216 l_ccid NUMBER;
126217 l_adr_transaction_coa_id NUMBER;
126218 l_adr_accounting_coa_id NUMBER;
126219 l_adr_flexfield_segment_code VARCHAR2(30);
126220 l_adr_flex_value_set_id NUMBER;
126221 l_adr_value_type_code VARCHAR2(30);
126222 l_adr_value_combination_id NUMBER;
126223 l_adr_value_segment_code VARCHAR2(30);
126224
126225 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126226 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126227 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126228 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126229
126230 -- 4262811 Variables ------------------------------------------------------------------------------------------
126231 l_entered_amt_idx NUMBER;
126232 l_accted_amt_idx NUMBER;
126233 l_acc_rev_flag VARCHAR2(1);
126234 l_accrual_line_num NUMBER;
126235 l_tmp_amt NUMBER;
126236 l_acc_rev_natural_side_code VARCHAR2(1);
126237
126238 l_num_entries NUMBER;
126239 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126240 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126241 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126242 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126243 l_recog_line_1 NUMBER;
126244 l_recog_line_2 NUMBER;
126245
126246 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126247 l_bflow_applied_to_amt NUMBER; -- 5132302
126248 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126249
126250 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126251
126252 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126253 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126254
126255 ---------------------------------------------------------------------------------------------------------------
126256
126257
126258 --
126259 -- bulk performance
126260 --
126261 l_balance_type_code VARCHAR2(1);
126262 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126263 l_log_module VARCHAR2(240);
126264
126265 --
126266 -- Upgrade strategy
126267 --
126268 l_actual_upg_option VARCHAR2(1);
126269 l_enc_upg_option VARCHAR2(1);
126270
126271 --
126272 BEGIN
126273 --
126274 IF g_log_enabled THEN
126275 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_204';
126276 END IF;
126277 --
126278 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126279
126280 trace
126281 (p_msg => 'BEGIN of AcctLineType_204'
126282 ,p_level => C_LEVEL_PROCEDURE
126283 ,p_module => l_log_module);
126284
126285 END IF;
126286 --
126287 l_component_type := 'AMB_JLT';
126288 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_CM';
126289 l_component_type_code := 'S';
126290 l_component_appl_id := 200;
126291 l_amb_context_code := 'DEFAULT';
126292 l_entity_code := 'AP_INVOICES';
126293 l_event_class_code := 'CREDIT MEMOS';
126294 l_event_type_code := 'CREDIT MEMOS_ALL';
126295 l_line_definition_owner_code := 'S';
126296 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
126297 --
126298 l_balance_type_code := 'A';
126299 l_segment := NULL;
126300 l_ccid := NULL;
126301 l_adr_transaction_coa_id := NULL;
126302 l_adr_accounting_coa_id := NULL;
126303 l_adr_flexfield_segment_code := NULL;
126304 l_adr_flex_value_set_id := NULL;
126305 l_adr_value_type_code := NULL;
126306 l_adr_value_combination_id := NULL;
126307 l_adr_value_segment_code := NULL;
126308
126312 l_budgetary_control_flag := 'N';
126309 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
126310 l_bflow_class_code := ''; -- 4219869 Business Flow
126311 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
126313
126314 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126315 l_bflow_applied_to_amt := NULL; -- 5132302
126316 l_entered_amt_idx := NULL; -- 4262811
126317 l_accted_amt_idx := NULL; -- 4262811
126318 l_acc_rev_flag := NULL; -- 4262811
126319 l_accrual_line_num := NULL; -- 4262811
126320 l_tmp_amt := NULL; -- 4262811
126321 --
126322
126323 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
126324 l_balance_type_code <> 'B' THEN
126325 IF NVL(p_source_33,'
126326 ') = 'NONREC_TAX' AND
126327 NVL(p_source_135,'
126328 ') = 'Y' AND
126329 NVL(p_source_95,'
126330 ') = 'Y'
126331 THEN
126332
126333 --
126334 XLA_AE_LINES_PKG.SetNewLine;
126335
126336 p_balance_type_code := l_balance_type_code;
126337 -- set the flag so later we will know whether the gain loss line needs to be created
126338
126339 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
126340 p_actual_flag :='A';
126341 END IF;
126342
126343 --
126344 -- bulk performance
126345 --
126346 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
126347 p_header_num => 0); -- 4262811
126348 --
126349 -- set accounting line options
126350 --
126351 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
126352 p_natural_side_code => 'D'
126353 , p_gain_or_loss_flag => 'N'
126354 , p_gl_transfer_mode_code => 'S'
126355 , p_acct_entry_type_code => 'A'
126356 , p_switch_side_flag => 'Y'
126357 , p_merge_duplicate_code => 'A'
126358 );
126359 --
126360 l_acc_rev_natural_side_code := 'C'; -- 4262811
126361 --
126362 --
126363 -- set accounting line type info
126364 --
126365 xla_ae_lines_pkg.SetAcctLineType
126366 (p_component_type => l_component_type
126367 ,p_event_type_code => l_event_type_code
126368 ,p_line_definition_owner_code => l_line_definition_owner_code
126369 ,p_line_definition_code => l_line_definition_code
126370 ,p_accounting_line_code => l_component_code
126371 ,p_accounting_line_type_code => l_component_type_code
126372 ,p_accounting_line_appl_id => l_component_appl_id
126373 ,p_amb_context_code => l_amb_context_code
126374 ,p_entity_code => l_entity_code
126375 ,p_event_class_code => l_event_class_code);
126376 --
126377 -- set accounting class
126378 --
126379 xla_ae_lines_pkg.SetAcctClass(
126380 p_accounting_class_code => 'SELF_ASSESSED_TAX'
126381 , p_ae_header_id => l_ae_header_id
126382 );
126383
126384 --
126385 -- set rounding class
126386 --
126387 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
126388 'SELF_ASSESSED_TAX';
126389
126390 --
126391 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
126392 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
126393 --
126394 -- bulk performance
126395 --
126396 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
126397
126398 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
126399 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
126400
126401 -- 4955764
126402 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126403 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
126404
126405 -- 4458381 Public Sector Enh
126406
126407 --
126408 -- set accounting attributes for the line type
126409 --
126410 l_entered_amt_idx := 23;
126411 l_accted_amt_idx := 28;
126412 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126413 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
126414 l_rec_acct_attrs.array_char_value(1) := p_source_52;
126415 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
126416 l_rec_acct_attrs.array_num_value(2) :=
126417 xla_ae_sources_pkg.GetSystemSourceNum(
126418 p_source_code => 'XLA_EVENT_APPL_ID'
126419 , p_source_type_code => 'Y'
126420 , p_source_application_id => 602
126421 );
126422 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
126423 l_rec_acct_attrs.array_char_value(3) := p_source_54;
126424 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
126425 l_rec_acct_attrs.array_char_value(4) :=
126426 xla_ae_sources_pkg.GetSystemSourceChar(
126427 p_source_code => 'XLA_ENTITY_CODE'
126428 , p_source_type_code => 'Y'
126429 , p_source_application_id => 602
126430 );
126431 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
126432 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
126436 l_rec_acct_attrs.array_num_value(7) := p_source_90;
126433 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
126434 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
126435 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
126437 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
126438 l_rec_acct_attrs.array_char_value(8) := p_source_91;
126439 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
126440 l_rec_acct_attrs.array_char_value(9) := p_source_92;
126441 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
126442 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
126443 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
126444 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
126445 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
126446 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
126447 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
126448 l_rec_acct_attrs.array_char_value(13) := p_source_54;
126449 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
126450 l_rec_acct_attrs.array_num_value(14) := p_source_64;
126451 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
126452 l_rec_acct_attrs.array_num_value(15) := p_source_65;
126453 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
126454 l_rec_acct_attrs.array_char_value(16) := p_source_66;
126455 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
126456 l_rec_acct_attrs.array_num_value(17) := p_source_67;
126457 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
126458 l_rec_acct_attrs.array_num_value(18) := p_source_68;
126459 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
126460 l_rec_acct_attrs.array_num_value(19) := p_source_69;
126461 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
126462 l_rec_acct_attrs.array_char_value(20) := p_source_66;
126463 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
126464 l_rec_acct_attrs.array_num_value(21) := p_source_70;
126465 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
126466 l_rec_acct_attrs.array_char_value(22) := p_source_71;
126467 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
126468 l_rec_acct_attrs.array_num_value(23) := p_source_72;
126469 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
126470 l_rec_acct_attrs.array_char_value(24) := p_source_66;
126471 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
126472 l_rec_acct_attrs.array_date_value(25) := p_source_73;
126473 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
126474 l_rec_acct_attrs.array_num_value(26) := p_source_74;
126475 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
126476 l_rec_acct_attrs.array_char_value(27) := p_source_75;
126477 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
126478 l_rec_acct_attrs.array_num_value(28) := p_source_21;
126479 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
126480 l_rec_acct_attrs.array_date_value(29) := p_source_76;
126481 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
126482 l_rec_acct_attrs.array_char_value(30) := p_source_77;
126483 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
126484 l_rec_acct_attrs.array_date_value(31) := p_source_78;
126485 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
126486 l_rec_acct_attrs.array_char_value(32) := p_source_79;
126487 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
126488 l_rec_acct_attrs.array_num_value(33) := p_source_80;
126489 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
126490 l_rec_acct_attrs.array_num_value(34) := p_source_81;
126491 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
126492 l_rec_acct_attrs.array_char_value(35) := p_source_82;
126493 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
126494 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
126495 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
126496 l_rec_acct_attrs.array_char_value(37) := p_source_54;
126497 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
126498 l_rec_acct_attrs.array_num_value(38) := p_source_84;
126499 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
126500 l_rec_acct_attrs.array_num_value(39) := p_source_85;
126501 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
126502 l_rec_acct_attrs.array_num_value(40) := p_source_86;
126503 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
126504 l_rec_acct_attrs.array_num_value(41) := p_source_87;
126505 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
126506 l_rec_acct_attrs.array_num_value(42) := p_source_88;
126507 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
126508 l_rec_acct_attrs.array_num_value(43) := p_source_89;
126509
126510 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
126511 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
126512
126513 ---------------------------------------------------------------------------------------------------------------
126514 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
126515 ---------------------------------------------------------------------------------------------------------------
126519 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126516 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
126517
126518 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126520
126521 IF xla_accounting_cache_pkg.GetValueChar
126522 (p_source_code => 'LEDGER_CATEGORY_CODE'
126523 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
126524 AND l_bflow_method_code = 'PRIOR_ENTRY'
126525 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
126526 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
126527 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
126528 )
126529 THEN
126530 xla_ae_lines_pkg.BflowUpgEntry
126531 (p_business_method_code => l_bflow_method_code
126532 ,p_business_class_code => l_bflow_class_code
126533 ,p_balance_type => l_balance_type_code);
126534 ELSE
126535 NULL;
126536 -- No business flow processing for business flow method of NONE.
126537 END IF;
126538
126539 --
126540 -- call analytical criteria
126541 --
126542
126543 --
126544 -- call description
126545 --
126546
126547 xla_ae_lines_pkg.SetLineDescription(
126548 p_ae_header_id => l_ae_header_id
126549 ,p_description => Description_1 (
126550 p_application_id => p_application_id
126551 , p_ae_header_id => l_ae_header_id
126552 , p_source_1 => p_source_1
126553 )
126554 );
126555
126556
126557 --
126558 -- call ADRs
126559 -- Bug 4922099
126560 --
126561 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126562 (NVL(l_actual_upg_option, 'N') = 'O') OR
126563 (NVL(l_enc_upg_option, 'N') = 'O')
126564 )
126565 THEN
126566 NULL;
126567 --
126568 --
126569
126570 l_ccid := AcctDerRule_41(
126571 p_application_id => p_application_id
126572 , p_ae_header_id => l_ae_header_id
126573 , p_source_49 => p_source_49
126574 , x_transaction_coa_id => l_adr_transaction_coa_id
126575 , x_accounting_coa_id => l_adr_accounting_coa_id
126576 , x_value_type_code => l_adr_value_type_code
126577 , p_side => 'NA'
126578 );
126579
126580 xla_ae_lines_pkg.set_ccid(
126581 p_code_combination_id => l_ccid
126582 , p_value_type_code => l_adr_value_type_code
126583 , p_transaction_coa_id => l_adr_transaction_coa_id
126584 , p_accounting_coa_id => l_adr_accounting_coa_id
126585 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126586 , p_adr_type_code => 'S'
126587 , p_component_type => l_component_type
126588 , p_component_code => l_component_code
126589 , p_component_type_code => l_component_type_code
126590 , p_component_appl_id => l_component_appl_id
126591 , p_amb_context_code => l_amb_context_code
126592 , p_side => 'NA'
126593 );
126594
126595
126596 --
126597 --
126598 END IF;
126599 --
126600 -- Bug 4922099
126601 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
126602 (NVL(l_enc_upg_option, 'N') = 'O')
126603 ) AND
126604 (l_bflow_method_code = 'PRIOR_ENTRY')
126605 )
126606 THEN
126607 IF
126608 --
126609 1 = 2
126610 --
126611 THEN
126612 xla_accounting_err_pkg.build_message
126613 (p_appli_s_name => 'XLA'
126614 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126615 ,p_token_1 => 'LINE_NUMBER'
126616 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
126617 ,p_token_2 => 'LINE_TYPE_NAME'
126618 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
126619 l_component_type
126620 ,l_component_code
126621 ,l_component_type_code
126622 ,l_component_appl_id
126623 ,l_amb_context_code
126624 ,l_entity_code
126625 ,l_event_class_code
126626 )
126627 ,p_token_3 => 'OWNER'
126628 ,p_value_3 => xla_lookups_pkg.get_meaning(
126629 p_lookup_type => 'XLA_OWNER_TYPE'
126630 ,p_lookup_code => l_component_type_code
126631 )
126632 ,p_token_4 => 'PRODUCT_NAME'
126636 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126633 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126634 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126635 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126637 ,p_ae_header_id => NULL
126638 );
126639
126640 IF (C_LEVEL_ERROR>= g_log_level) THEN
126641 trace
126642 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126643 ,p_level => C_LEVEL_ERROR
126644 ,p_module => l_log_module);
126645 END IF;
126646 END IF;
126647 END IF;
126648 --
126649 --
126650 ------------------------------------------------------------------------------------------------
126651 -- 4219869 Business Flow
126652 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126653 -- Prior Entry. Currently, the following code is always generated.
126654 ------------------------------------------------------------------------------------------------
126655 XLA_AE_LINES_PKG.ValidateCurrentLine;
126656
126657 ------------------------------------------------------------------------------------
126658 -- 4219869 Business Flow
126659 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126660 ------------------------------------------------------------------------------------
126661 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126662
126663 ----------------------------------------------------------------------------------
126664 -- 4219869 Business Flow
126665 -- Update journal entry status -- Need to generate this within IF <condition>
126666 ----------------------------------------------------------------------------------
126667 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126668 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126669 ,p_balance_type_code => l_balance_type_code
126670 );
126671
126672 -------------------------------------------------------------------------------------------
126673 -- 4262811 - Generate the Accrual Reversal lines
126674 -------------------------------------------------------------------------------------------
126675 BEGIN
126676 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126677 (g_array_event(p_event_id).array_value_num('header_index'));
126678 IF l_acc_rev_flag IS NULL THEN
126679 l_acc_rev_flag := 'N';
126680 END IF;
126681 EXCEPTION
126682 WHEN OTHERS THEN
126683 l_acc_rev_flag := 'N';
126684 END;
126685 --
126686 IF (l_acc_rev_flag = 'Y') THEN
126687
126688 -- 4645092 ------------------------------------------------------------------------------
126689 -- To allow MPA report to determine if it should generate report process
126690 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126691 ------------------------------------------------------------------------------------------
126692
126693 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126694 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126695 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126696 -- call ADRs
126697 -- Bug 4922099
126698 --
126699 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126700 (NVL(l_actual_upg_option, 'N') = 'O') OR
126701 (NVL(l_enc_upg_option, 'N') = 'O')
126702 )
126703 THEN
126704 NULL;
126705 --
126706 --
126707
126708 l_ccid := AcctDerRule_41(
126709 p_application_id => p_application_id
126710 , p_ae_header_id => l_ae_header_id
126711 , p_source_49 => p_source_49
126712 , x_transaction_coa_id => l_adr_transaction_coa_id
126713 , x_accounting_coa_id => l_adr_accounting_coa_id
126714 , x_value_type_code => l_adr_value_type_code
126715 , p_side => 'NA'
126716 );
126717
126718 xla_ae_lines_pkg.set_ccid(
126719 p_code_combination_id => l_ccid
126720 , p_value_type_code => l_adr_value_type_code
126721 , p_transaction_coa_id => l_adr_transaction_coa_id
126722 , p_accounting_coa_id => l_adr_accounting_coa_id
126723 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126724 , p_adr_type_code => 'S'
126725 , p_component_type => l_component_type
126726 , p_component_code => l_component_code
126727 , p_component_type_code => l_component_type_code
126728 , p_component_appl_id => l_component_appl_id
126729 , p_amb_context_code => l_amb_context_code
126730 , p_side => 'NA'
126731 );
126732
126733
126734 --
126735 --
126736 END IF;
126737
126738 --
126739 -- Update the line information that should be overwritten
126740 --
126741 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126742 p_header_num => 1);
126746
126743 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126744
126745 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126747 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126748 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126749 END IF;
126750
126751 --
126752 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126753 --
126754 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126755 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126756 ELSE
126757 ---------------------------------------------------------------------------------------------------
126758 -- 4262811a Switch Sign
126759 ---------------------------------------------------------------------------------------------------
126760 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126761 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126762 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126763 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126764 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126765 -- 5132302
126766 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126767 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126768
126769 END IF;
126770
126771 -- 4955764
126772 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126773 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126774
126775
126776 XLA_AE_LINES_PKG.ValidateCurrentLine;
126777 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126778
126779 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126780 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126781 ,p_balance_type_code => l_balance_type_code);
126782
126783 END IF;
126784
126785 -----------------------------------------------------------------------------------------
126786 -- 4262811 Multiperiod Accounting
126787 -----------------------------------------------------------------------------------------
126788 -- No MPA option is assigned.
126789
126790
126791 END IF;
126792 END IF;
126793 --
126794
126795 --
126796 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126797 trace
126798 (p_msg => 'END of AcctLineType_204'
126799 ,p_level => C_LEVEL_PROCEDURE
126800 ,p_module => l_log_module);
126801 END IF;
126802 --
126803 EXCEPTION
126804 WHEN xla_exceptions_pkg.application_exception THEN
126805 RAISE;
126806 WHEN OTHERS THEN
126807 xla_exceptions_pkg.raise_message
126808 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_204');
126809 END AcctLineType_204;
126810 --
126811
126812 ---------------------------------------
126813 --
126814 -- PRIVATE FUNCTION
126815 -- AcctLineType_205
126816 --
126817 ---------------------------------------
126818 PROCEDURE AcctLineType_205 (
126819 p_application_id IN NUMBER
126820 ,p_event_id IN NUMBER
126821 ,p_calculate_acctd_flag IN VARCHAR2
126822 ,p_calculate_g_l_flag IN VARCHAR2
126823 ,p_actual_flag IN OUT VARCHAR2
126824 ,p_balance_type_code OUT VARCHAR2
126825 ,p_gain_or_loss_ref OUT VARCHAR2
126826
126827 --Invoice Distribution Description
126828 , p_source_1 IN VARCHAR2
126829 --Invoice Distribution Ledger Amount
126830 , p_source_21 IN NUMBER
126831 --Invoice Distribution Type
126832 , p_source_33 IN VARCHAR2
126833 , p_source_33_meaning IN VARCHAR2
126834 --Self-Assessed Tax Account
126835 , p_source_49 IN NUMBER
126836 --Accounting Reversal Indicator
126837 , p_source_52 IN VARCHAR2
126838 --Distribution Link Type
126839 , p_source_54 IN VARCHAR2
126840 --Allocation to Main Distribution Identifier
126841 , p_source_56 IN NUMBER
126842 --Invoice Identifier
126843 , p_source_57 IN NUMBER
126844 --Invoice Distribution Identifier
126845 , p_source_63 IN NUMBER
126846 --Payables Encumbrance Upgrade Credit Account
126847 , p_source_64 IN NUMBER
126848 --Payables Encumbrance Upgrade Credit Amount
126849 , p_source_65 IN NUMBER
126850 --Invoice Currency Code
126851 , p_source_66 IN VARCHAR2
126852 --Payables Encumbrance Upgrade Credit Base Amount
126853 , p_source_67 IN NUMBER
126854 --Payables Encumbrance Upgrade Debit Account
126855 , p_source_68 IN NUMBER
126856 --Payables Encumbrance Upgrade Debit Amount
126857 , p_source_69 IN NUMBER
126858 --Payables Encumbrance Upgrade Debit Base Amount
126859 , p_source_70 IN NUMBER
126860 --Payables Encumbrance Upgrade Option
126861 , p_source_71 IN VARCHAR2
126862 --Invoice Distribution Amount
126866 --Purchase Order Exchange Rate
126863 , p_source_72 IN NUMBER
126864 --Purchase Order Exchange Rate Date
126865 , p_source_73 IN DATE
126867 , p_source_74 IN NUMBER
126868 --Purchase Order Exchange Rate Type
126869 , p_source_75 IN VARCHAR2
126870 --Deferred Accounting End Date
126871 , p_source_76 IN DATE
126872 --Deferred Accounting Option
126873 , p_source_77 IN VARCHAR2
126874 --Deferred Accounting Start Date
126875 , p_source_78 IN DATE
126876 --Override Accounted Amount Indicator
126877 , p_source_79 IN VARCHAR2
126878 , p_source_79_meaning IN VARCHAR2
126879 --Invoice Supplier Identifier
126880 , p_source_80 IN NUMBER
126881 --Invoice Supplier Site Identifier
126882 , p_source_81 IN NUMBER
126883 --Third Party Type
126884 , p_source_82 IN VARCHAR2
126885 --Parent Reversal Identifier
126886 , p_source_83 IN NUMBER
126887 --Invoice Distribution Tax Line Identifier
126888 , p_source_85 IN NUMBER
126889 --Invoice Distribution Tax Distribution Identifier from Tax
126890 , p_source_86 IN NUMBER
126891 --Invoice Distribution Summary Tax Line Identifier
126892 , p_source_87 IN NUMBER
126893 --Payables Upgrade Credit Encumbrance Type Identifier
126894 , p_source_88 IN NUMBER
126895 --Payables Upgrade Debit Encumbrance Type Identifier
126896 , p_source_89 IN NUMBER
126897 --Business Flow Accounts Payable Application Identifier
126898 , p_source_90 IN NUMBER
126899 --Business Flow Invoice Distribution Type
126900 , p_source_91 IN VARCHAR2
126901 --Business Flow Invoice Entity Code
126902 , p_source_92 IN VARCHAR2
126903 --Business Flow Invoice Distribution Identifier
126904 , p_source_93 IN NUMBER
126905 --Business Flow Invoice Identifier
126906 , p_source_94 IN NUMBER
126907 --Accrue on Receipt Option
126908 , p_source_95 IN VARCHAR2
126909 , p_source_95_meaning IN VARCHAR2
126910 --Self-Assessed Tax Flag
126911 , p_source_135 IN VARCHAR2
126912 , p_source_135_meaning IN VARCHAR2
126913 )
126914 IS
126915
126916 l_component_type VARCHAR2(80);
126917 l_component_code VARCHAR2(30);
126918 l_component_type_code VARCHAR2(1);
126919 l_component_appl_id INTEGER;
126920 l_amb_context_code VARCHAR2(30);
126921 l_entity_code VARCHAR2(30);
126922 l_event_class_code VARCHAR2(30);
126923 l_ae_header_id NUMBER;
126924 l_event_type_code VARCHAR2(30);
126925 l_line_definition_code VARCHAR2(30);
126926 l_line_definition_owner_code VARCHAR2(1);
126927 --
126928 -- adr variables
126929 l_segment VARCHAR2(30);
126930 l_ccid NUMBER;
126931 l_adr_transaction_coa_id NUMBER;
126932 l_adr_accounting_coa_id NUMBER;
126933 l_adr_flexfield_segment_code VARCHAR2(30);
126934 l_adr_flex_value_set_id NUMBER;
126935 l_adr_value_type_code VARCHAR2(30);
126936 l_adr_value_combination_id NUMBER;
126937 l_adr_value_segment_code VARCHAR2(30);
126938
126939 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126940 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126941 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126942 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126943
126944 -- 4262811 Variables ------------------------------------------------------------------------------------------
126945 l_entered_amt_idx NUMBER;
126946 l_accted_amt_idx NUMBER;
126947 l_acc_rev_flag VARCHAR2(1);
126948 l_accrual_line_num NUMBER;
126949 l_tmp_amt NUMBER;
126950 l_acc_rev_natural_side_code VARCHAR2(1);
126951
126952 l_num_entries NUMBER;
126953 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126954 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126955 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126956 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126957 l_recog_line_1 NUMBER;
126958 l_recog_line_2 NUMBER;
126959
126960 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126961 l_bflow_applied_to_amt NUMBER; -- 5132302
126962 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126963
126964 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126965
126966 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126967 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126968
126969 ---------------------------------------------------------------------------------------------------------------
126970
126971
126972 --
126973 -- bulk performance
126974 --
126975 l_balance_type_code VARCHAR2(1);
126976 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126977 l_log_module VARCHAR2(240);
126978
126979 --
126980 -- Upgrade strategy
126981 --
126982 l_actual_upg_option VARCHAR2(1);
126983 l_enc_upg_option VARCHAR2(1);
126984
126985 --
126986 BEGIN
126987 --
126988 IF g_log_enabled THEN
126989 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_205';
126990 END IF;
126991 --
126995 (p_msg => 'BEGIN of AcctLineType_205'
126992 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126993
126994 trace
126996 ,p_level => C_LEVEL_PROCEDURE
126997 ,p_module => l_log_module);
126998
126999 END IF;
127000 --
127001 l_component_type := 'AMB_JLT';
127002 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_DM';
127003 l_component_type_code := 'S';
127004 l_component_appl_id := 200;
127005 l_amb_context_code := 'DEFAULT';
127006 l_entity_code := 'AP_INVOICES';
127007 l_event_class_code := 'DEBIT MEMOS';
127008 l_event_type_code := 'DEBIT MEMOS_ALL';
127009 l_line_definition_owner_code := 'S';
127010 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
127011 --
127012 l_balance_type_code := 'A';
127013 l_segment := NULL;
127014 l_ccid := NULL;
127015 l_adr_transaction_coa_id := NULL;
127016 l_adr_accounting_coa_id := NULL;
127017 l_adr_flexfield_segment_code := NULL;
127018 l_adr_flex_value_set_id := NULL;
127019 l_adr_value_type_code := NULL;
127020 l_adr_value_combination_id := NULL;
127021 l_adr_value_segment_code := NULL;
127022
127023 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127024 l_bflow_class_code := ''; -- 4219869 Business Flow
127025 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127026 l_budgetary_control_flag := 'N';
127027
127028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127029 l_bflow_applied_to_amt := NULL; -- 5132302
127030 l_entered_amt_idx := NULL; -- 4262811
127031 l_accted_amt_idx := NULL; -- 4262811
127032 l_acc_rev_flag := NULL; -- 4262811
127033 l_accrual_line_num := NULL; -- 4262811
127034 l_tmp_amt := NULL; -- 4262811
127035 --
127036
127037 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127038 l_balance_type_code <> 'B' THEN
127039 IF NVL(p_source_33,'
127040 ') = 'NONREC_TAX' AND
127041 NVL(p_source_135,'
127042 ') = 'Y' AND
127043 NVL(p_source_95,'
127044 ') = 'Y'
127045 THEN
127046
127047 --
127048 XLA_AE_LINES_PKG.SetNewLine;
127049
127050 p_balance_type_code := l_balance_type_code;
127051 -- set the flag so later we will know whether the gain loss line needs to be created
127052
127053 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127054 p_actual_flag :='A';
127055 END IF;
127056
127057 --
127058 -- bulk performance
127059 --
127060 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127061 p_header_num => 0); -- 4262811
127062 --
127063 -- set accounting line options
127064 --
127065 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127066 p_natural_side_code => 'D'
127067 , p_gain_or_loss_flag => 'N'
127068 , p_gl_transfer_mode_code => 'S'
127069 , p_acct_entry_type_code => 'A'
127070 , p_switch_side_flag => 'Y'
127071 , p_merge_duplicate_code => 'A'
127072 );
127073 --
127074 l_acc_rev_natural_side_code := 'C'; -- 4262811
127075 --
127076 --
127077 -- set accounting line type info
127078 --
127079 xla_ae_lines_pkg.SetAcctLineType
127080 (p_component_type => l_component_type
127081 ,p_event_type_code => l_event_type_code
127082 ,p_line_definition_owner_code => l_line_definition_owner_code
127083 ,p_line_definition_code => l_line_definition_code
127084 ,p_accounting_line_code => l_component_code
127085 ,p_accounting_line_type_code => l_component_type_code
127086 ,p_accounting_line_appl_id => l_component_appl_id
127087 ,p_amb_context_code => l_amb_context_code
127088 ,p_entity_code => l_entity_code
127089 ,p_event_class_code => l_event_class_code);
127090 --
127091 -- set accounting class
127092 --
127093 xla_ae_lines_pkg.SetAcctClass(
127094 p_accounting_class_code => 'SELF_ASSESSED_TAX'
127095 , p_ae_header_id => l_ae_header_id
127096 );
127097
127098 --
127099 -- set rounding class
127100 --
127101 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127102 'SELF_ASSESSED_TAX';
127103
127104 --
127105 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127106 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127107 --
127108 -- bulk performance
127109 --
127110 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127111
127112 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127113 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127114
127115 -- 4955764
127116 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127117 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127118
127119 -- 4458381 Public Sector Enh
127120
127121 --
127125 l_accted_amt_idx := 28;
127122 -- set accounting attributes for the line type
127123 --
127124 l_entered_amt_idx := 23;
127126 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127127 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127128 l_rec_acct_attrs.array_char_value(1) := p_source_52;
127129 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127130 l_rec_acct_attrs.array_num_value(2) :=
127131 xla_ae_sources_pkg.GetSystemSourceNum(
127132 p_source_code => 'XLA_EVENT_APPL_ID'
127133 , p_source_type_code => 'Y'
127134 , p_source_application_id => 602
127135 );
127136 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127137 l_rec_acct_attrs.array_char_value(3) := p_source_54;
127138 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127139 l_rec_acct_attrs.array_char_value(4) :=
127140 xla_ae_sources_pkg.GetSystemSourceChar(
127141 p_source_code => 'XLA_ENTITY_CODE'
127142 , p_source_type_code => 'Y'
127143 , p_source_application_id => 602
127144 );
127145 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127146 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
127147 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127148 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
127149 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127150 l_rec_acct_attrs.array_num_value(7) := p_source_90;
127151 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127152 l_rec_acct_attrs.array_char_value(8) := p_source_91;
127153 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127154 l_rec_acct_attrs.array_char_value(9) := p_source_92;
127155 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127156 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
127157 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127158 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
127159 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127160 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
127161 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127162 l_rec_acct_attrs.array_char_value(13) := p_source_54;
127163 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
127164 l_rec_acct_attrs.array_num_value(14) := p_source_64;
127165 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
127166 l_rec_acct_attrs.array_num_value(15) := p_source_65;
127167 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
127168 l_rec_acct_attrs.array_char_value(16) := p_source_66;
127169 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
127170 l_rec_acct_attrs.array_num_value(17) := p_source_67;
127171 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
127172 l_rec_acct_attrs.array_num_value(18) := p_source_68;
127173 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
127174 l_rec_acct_attrs.array_num_value(19) := p_source_69;
127175 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
127176 l_rec_acct_attrs.array_char_value(20) := p_source_66;
127177 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
127178 l_rec_acct_attrs.array_num_value(21) := p_source_70;
127179 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
127180 l_rec_acct_attrs.array_char_value(22) := p_source_71;
127181 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
127182 l_rec_acct_attrs.array_num_value(23) := p_source_72;
127183 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
127184 l_rec_acct_attrs.array_char_value(24) := p_source_66;
127185 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
127186 l_rec_acct_attrs.array_date_value(25) := p_source_73;
127187 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
127188 l_rec_acct_attrs.array_num_value(26) := p_source_74;
127189 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
127190 l_rec_acct_attrs.array_char_value(27) := p_source_75;
127191 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
127192 l_rec_acct_attrs.array_num_value(28) := p_source_21;
127193 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
127194 l_rec_acct_attrs.array_date_value(29) := p_source_76;
127195 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
127196 l_rec_acct_attrs.array_char_value(30) := p_source_77;
127197 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
127198 l_rec_acct_attrs.array_date_value(31) := p_source_78;
127199 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
127200 l_rec_acct_attrs.array_char_value(32) := p_source_79;
127201 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
127202 l_rec_acct_attrs.array_num_value(33) := p_source_80;
127203 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
127204 l_rec_acct_attrs.array_num_value(34) := p_source_81;
127205 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
127206 l_rec_acct_attrs.array_char_value(35) := p_source_82;
127207 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
127208 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
127209 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
127210 l_rec_acct_attrs.array_char_value(37) := p_source_54;
127211 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
127215 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
127212 l_rec_acct_attrs.array_num_value(38) := p_source_85;
127213 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
127214 l_rec_acct_attrs.array_num_value(39) := p_source_86;
127216 l_rec_acct_attrs.array_num_value(40) := p_source_87;
127217 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
127218 l_rec_acct_attrs.array_num_value(41) := p_source_88;
127219 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
127220 l_rec_acct_attrs.array_num_value(42) := p_source_89;
127221
127222 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127223 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127224
127225 ---------------------------------------------------------------------------------------------------------------
127226 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127227 ---------------------------------------------------------------------------------------------------------------
127228 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127229
127230 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127231 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127232
127233 IF xla_accounting_cache_pkg.GetValueChar
127234 (p_source_code => 'LEDGER_CATEGORY_CODE'
127235 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127236 AND l_bflow_method_code = 'PRIOR_ENTRY'
127237 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127238 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127239 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127240 )
127241 THEN
127242 xla_ae_lines_pkg.BflowUpgEntry
127243 (p_business_method_code => l_bflow_method_code
127244 ,p_business_class_code => l_bflow_class_code
127245 ,p_balance_type => l_balance_type_code);
127246 ELSE
127247 NULL;
127248 -- No business flow processing for business flow method of NONE.
127249 END IF;
127250
127251 --
127252 -- call analytical criteria
127253 --
127254
127255 --
127256 -- call description
127257 --
127258
127259 xla_ae_lines_pkg.SetLineDescription(
127260 p_ae_header_id => l_ae_header_id
127261 ,p_description => Description_1 (
127262 p_application_id => p_application_id
127263 , p_ae_header_id => l_ae_header_id
127264 , p_source_1 => p_source_1
127265 )
127266 );
127267
127268
127269 --
127270 -- call ADRs
127271 -- Bug 4922099
127272 --
127273 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127274 (NVL(l_actual_upg_option, 'N') = 'O') OR
127275 (NVL(l_enc_upg_option, 'N') = 'O')
127276 )
127277 THEN
127278 NULL;
127279 --
127280 --
127281
127282 l_ccid := AcctDerRule_41(
127283 p_application_id => p_application_id
127284 , p_ae_header_id => l_ae_header_id
127285 , p_source_49 => p_source_49
127286 , x_transaction_coa_id => l_adr_transaction_coa_id
127287 , x_accounting_coa_id => l_adr_accounting_coa_id
127288 , x_value_type_code => l_adr_value_type_code
127289 , p_side => 'NA'
127290 );
127291
127292 xla_ae_lines_pkg.set_ccid(
127293 p_code_combination_id => l_ccid
127294 , p_value_type_code => l_adr_value_type_code
127295 , p_transaction_coa_id => l_adr_transaction_coa_id
127296 , p_accounting_coa_id => l_adr_accounting_coa_id
127297 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127298 , p_adr_type_code => 'S'
127299 , p_component_type => l_component_type
127300 , p_component_code => l_component_code
127301 , p_component_type_code => l_component_type_code
127302 , p_component_appl_id => l_component_appl_id
127303 , p_amb_context_code => l_amb_context_code
127304 , p_side => 'NA'
127305 );
127306
127307
127308 --
127309 --
127310 END IF;
127311 --
127312 -- Bug 4922099
127313 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
127314 (NVL(l_enc_upg_option, 'N') = 'O')
127315 ) AND
127316 (l_bflow_method_code = 'PRIOR_ENTRY')
127317 )
127318 THEN
127319 IF
127320 --
127321 1 = 2
127322 --
127323 THEN
127324 xla_accounting_err_pkg.build_message
127325 (p_appli_s_name => 'XLA'
127326 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127327 ,p_token_1 => 'LINE_NUMBER'
127328 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
127329 ,p_token_2 => 'LINE_TYPE_NAME'
127330 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
127334 ,l_component_appl_id
127331 l_component_type
127332 ,l_component_code
127333 ,l_component_type_code
127335 ,l_amb_context_code
127336 ,l_entity_code
127337 ,l_event_class_code
127338 )
127339 ,p_token_3 => 'OWNER'
127340 ,p_value_3 => xla_lookups_pkg.get_meaning(
127341 p_lookup_type => 'XLA_OWNER_TYPE'
127342 ,p_lookup_code => l_component_type_code
127343 )
127344 ,p_token_4 => 'PRODUCT_NAME'
127345 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
127346 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
127347 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
127348 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
127349 ,p_ae_header_id => NULL
127350 );
127351
127352 IF (C_LEVEL_ERROR>= g_log_level) THEN
127353 trace
127354 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127355 ,p_level => C_LEVEL_ERROR
127356 ,p_module => l_log_module);
127357 END IF;
127358 END IF;
127359 END IF;
127360 --
127361 --
127362 ------------------------------------------------------------------------------------------------
127363 -- 4219869 Business Flow
127364 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
127365 -- Prior Entry. Currently, the following code is always generated.
127366 ------------------------------------------------------------------------------------------------
127367 XLA_AE_LINES_PKG.ValidateCurrentLine;
127368
127369 ------------------------------------------------------------------------------------
127370 -- 4219869 Business Flow
127371 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
127372 ------------------------------------------------------------------------------------
127373 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127374
127375 ----------------------------------------------------------------------------------
127376 -- 4219869 Business Flow
127377 -- Update journal entry status -- Need to generate this within IF <condition>
127378 ----------------------------------------------------------------------------------
127379 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127380 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
127381 ,p_balance_type_code => l_balance_type_code
127382 );
127383
127384 -------------------------------------------------------------------------------------------
127385 -- 4262811 - Generate the Accrual Reversal lines
127386 -------------------------------------------------------------------------------------------
127387 BEGIN
127388 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
127389 (g_array_event(p_event_id).array_value_num('header_index'));
127390 IF l_acc_rev_flag IS NULL THEN
127391 l_acc_rev_flag := 'N';
127392 END IF;
127393 EXCEPTION
127394 WHEN OTHERS THEN
127395 l_acc_rev_flag := 'N';
127396 END;
127397 --
127398 IF (l_acc_rev_flag = 'Y') THEN
127399
127400 -- 4645092 ------------------------------------------------------------------------------
127401 -- To allow MPA report to determine if it should generate report process
127402 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
127403 ------------------------------------------------------------------------------------------
127404
127405 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
127406 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
127407 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
127408 -- call ADRs
127409 -- Bug 4922099
127410 --
127411 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127412 (NVL(l_actual_upg_option, 'N') = 'O') OR
127413 (NVL(l_enc_upg_option, 'N') = 'O')
127414 )
127415 THEN
127416 NULL;
127417 --
127418 --
127419
127420 l_ccid := AcctDerRule_41(
127421 p_application_id => p_application_id
127422 , p_ae_header_id => l_ae_header_id
127423 , p_source_49 => p_source_49
127424 , x_transaction_coa_id => l_adr_transaction_coa_id
127425 , x_accounting_coa_id => l_adr_accounting_coa_id
127429
127426 , x_value_type_code => l_adr_value_type_code
127427 , p_side => 'NA'
127428 );
127430 xla_ae_lines_pkg.set_ccid(
127431 p_code_combination_id => l_ccid
127432 , p_value_type_code => l_adr_value_type_code
127433 , p_transaction_coa_id => l_adr_transaction_coa_id
127434 , p_accounting_coa_id => l_adr_accounting_coa_id
127435 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127436 , p_adr_type_code => 'S'
127437 , p_component_type => l_component_type
127438 , p_component_code => l_component_code
127439 , p_component_type_code => l_component_type_code
127440 , p_component_appl_id => l_component_appl_id
127441 , p_amb_context_code => l_amb_context_code
127442 , p_side => 'NA'
127443 );
127444
127445
127446 --
127447 --
127448 END IF;
127449
127450 --
127451 -- Update the line information that should be overwritten
127452 --
127453 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
127454 p_header_num => 1);
127455 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
127456
127457 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
127458
127459 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
127460 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
127461 END IF;
127462
127463 --
127464 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
127465 --
127466 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
127467 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
127468 ELSE
127469 ---------------------------------------------------------------------------------------------------
127470 -- 4262811a Switch Sign
127471 ---------------------------------------------------------------------------------------------------
127472 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
127473 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127474 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127475 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127476 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127477 -- 5132302
127478 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
127479 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127480
127481 END IF;
127482
127483 -- 4955764
127484 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127485 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
127486
127487
127488 XLA_AE_LINES_PKG.ValidateCurrentLine;
127489 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127490
127491 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127492 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
127493 ,p_balance_type_code => l_balance_type_code);
127494
127495 END IF;
127496
127497 -----------------------------------------------------------------------------------------
127498 -- 4262811 Multiperiod Accounting
127499 -----------------------------------------------------------------------------------------
127500 -- No MPA option is assigned.
127501
127502
127503 END IF;
127504 END IF;
127505 --
127506
127507 --
127508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127509 trace
127510 (p_msg => 'END of AcctLineType_205'
127511 ,p_level => C_LEVEL_PROCEDURE
127512 ,p_module => l_log_module);
127513 END IF;
127514 --
127515 EXCEPTION
127516 WHEN xla_exceptions_pkg.application_exception THEN
127517 RAISE;
127518 WHEN OTHERS THEN
127519 xla_exceptions_pkg.raise_message
127520 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_205');
127521 END AcctLineType_205;
127522 --
127523
127524 ---------------------------------------
127525 --
127526 -- PRIVATE FUNCTION
127527 -- AcctLineType_206
127528 --
127529 ---------------------------------------
127530 PROCEDURE AcctLineType_206 (
127531 p_application_id IN NUMBER
127532 ,p_event_id IN NUMBER
127533 ,p_calculate_acctd_flag IN VARCHAR2
127534 ,p_calculate_g_l_flag IN VARCHAR2
127535 ,p_actual_flag IN OUT VARCHAR2
127536 ,p_balance_type_code OUT VARCHAR2
127537 ,p_gain_or_loss_ref OUT VARCHAR2
127538
127539 --Invoice Distribution Description
127540 , p_source_1 IN VARCHAR2
127541 --Invoice Distribution Ledger Amount
127542 , p_source_21 IN NUMBER
127543 --Invoice Distribution Type
127544 , p_source_33 IN VARCHAR2
127545 , p_source_33_meaning IN VARCHAR2
127546 --Self-Assessed Tax Account
127547 , p_source_49 IN NUMBER
127548 --Accounting Reversal Indicator
127549 , p_source_52 IN VARCHAR2
127553 , p_source_56 IN NUMBER
127550 --Distribution Link Type
127551 , p_source_54 IN VARCHAR2
127552 --Allocation to Main Distribution Identifier
127554 --Invoice Identifier
127555 , p_source_57 IN NUMBER
127556 --Invoice Distribution Identifier
127557 , p_source_63 IN NUMBER
127558 --Payables Encumbrance Upgrade Credit Account
127559 , p_source_64 IN NUMBER
127560 --Payables Encumbrance Upgrade Credit Amount
127561 , p_source_65 IN NUMBER
127562 --Invoice Currency Code
127563 , p_source_66 IN VARCHAR2
127564 --Payables Encumbrance Upgrade Credit Base Amount
127565 , p_source_67 IN NUMBER
127566 --Payables Encumbrance Upgrade Debit Account
127567 , p_source_68 IN NUMBER
127568 --Payables Encumbrance Upgrade Debit Amount
127569 , p_source_69 IN NUMBER
127570 --Payables Encumbrance Upgrade Debit Base Amount
127571 , p_source_70 IN NUMBER
127572 --Payables Encumbrance Upgrade Option
127573 , p_source_71 IN VARCHAR2
127574 --Invoice Distribution Amount
127575 , p_source_72 IN NUMBER
127576 --Purchase Order Exchange Rate Date
127577 , p_source_73 IN DATE
127578 --Purchase Order Exchange Rate
127579 , p_source_74 IN NUMBER
127580 --Purchase Order Exchange Rate Type
127581 , p_source_75 IN VARCHAR2
127582 --Deferred Accounting End Date
127583 , p_source_76 IN DATE
127584 --Deferred Accounting Option
127585 , p_source_77 IN VARCHAR2
127586 --Deferred Accounting Start Date
127587 , p_source_78 IN DATE
127588 --Override Accounted Amount Indicator
127589 , p_source_79 IN VARCHAR2
127590 , p_source_79_meaning IN VARCHAR2
127591 --Invoice Supplier Identifier
127592 , p_source_80 IN NUMBER
127593 --Invoice Supplier Site Identifier
127594 , p_source_81 IN NUMBER
127595 --Third Party Type
127596 , p_source_82 IN VARCHAR2
127597 --Parent Reversal Identifier
127598 , p_source_83 IN NUMBER
127599 --Invoice Distribution Statistical Amount
127600 , p_source_84 IN NUMBER
127601 --Invoice Distribution Tax Line Identifier
127602 , p_source_85 IN NUMBER
127603 --Invoice Distribution Tax Distribution Identifier from Tax
127604 , p_source_86 IN NUMBER
127605 --Invoice Distribution Summary Tax Line Identifier
127606 , p_source_87 IN NUMBER
127607 --Payables Upgrade Credit Encumbrance Type Identifier
127608 , p_source_88 IN NUMBER
127609 --Payables Upgrade Debit Encumbrance Type Identifier
127610 , p_source_89 IN NUMBER
127611 --Business Flow Accounts Payable Application Identifier
127612 , p_source_90 IN NUMBER
127613 --Business Flow Invoice Distribution Type
127614 , p_source_91 IN VARCHAR2
127615 --Business Flow Invoice Entity Code
127616 , p_source_92 IN VARCHAR2
127617 --Business Flow Invoice Distribution Identifier
127618 , p_source_93 IN NUMBER
127619 --Business Flow Invoice Identifier
127620 , p_source_94 IN NUMBER
127621 --Accrue on Receipt Option
127622 , p_source_95 IN VARCHAR2
127623 , p_source_95_meaning IN VARCHAR2
127624 --Self-Assessed Tax Flag
127625 , p_source_135 IN VARCHAR2
127626 , p_source_135_meaning IN VARCHAR2
127627 )
127628 IS
127629
127630 l_component_type VARCHAR2(80);
127631 l_component_code VARCHAR2(30);
127632 l_component_type_code VARCHAR2(1);
127633 l_component_appl_id INTEGER;
127634 l_amb_context_code VARCHAR2(30);
127635 l_entity_code VARCHAR2(30);
127636 l_event_class_code VARCHAR2(30);
127637 l_ae_header_id NUMBER;
127638 l_event_type_code VARCHAR2(30);
127639 l_line_definition_code VARCHAR2(30);
127640 l_line_definition_owner_code VARCHAR2(1);
127641 --
127642 -- adr variables
127643 l_segment VARCHAR2(30);
127644 l_ccid NUMBER;
127645 l_adr_transaction_coa_id NUMBER;
127646 l_adr_accounting_coa_id NUMBER;
127647 l_adr_flexfield_segment_code VARCHAR2(30);
127648 l_adr_flex_value_set_id NUMBER;
127649 l_adr_value_type_code VARCHAR2(30);
127650 l_adr_value_combination_id NUMBER;
127651 l_adr_value_segment_code VARCHAR2(30);
127652
127653 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
127654 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
127655 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
127656 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
127657
127658 -- 4262811 Variables ------------------------------------------------------------------------------------------
127659 l_entered_amt_idx NUMBER;
127660 l_accted_amt_idx NUMBER;
127661 l_acc_rev_flag VARCHAR2(1);
127662 l_accrual_line_num NUMBER;
127663 l_tmp_amt NUMBER;
127664 l_acc_rev_natural_side_code VARCHAR2(1);
127665
127666 l_num_entries NUMBER;
127667 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
127668 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
127669 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
127670 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
127671 l_recog_line_1 NUMBER;
127672 l_recog_line_2 NUMBER;
127673
127677
127674 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
127675 l_bflow_applied_to_amt NUMBER; -- 5132302
127676 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
127678 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
127679
127680 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
127681 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
127682
127683 ---------------------------------------------------------------------------------------------------------------
127684
127685
127686 --
127687 -- bulk performance
127688 --
127689 l_balance_type_code VARCHAR2(1);
127690 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
127691 l_log_module VARCHAR2(240);
127692
127693 --
127694 -- Upgrade strategy
127695 --
127696 l_actual_upg_option VARCHAR2(1);
127697 l_enc_upg_option VARCHAR2(1);
127698
127699 --
127700 BEGIN
127701 --
127702 IF g_log_enabled THEN
127703 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_206';
127704 END IF;
127705 --
127706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127707
127708 trace
127709 (p_msg => 'BEGIN of AcctLineType_206'
127710 ,p_level => C_LEVEL_PROCEDURE
127711 ,p_module => l_log_module);
127712
127713 END IF;
127714 --
127715 l_component_type := 'AMB_JLT';
127716 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_INV';
127717 l_component_type_code := 'S';
127718 l_component_appl_id := 200;
127719 l_amb_context_code := 'DEFAULT';
127720 l_entity_code := 'AP_INVOICES';
127721 l_event_class_code := 'INVOICES';
127722 l_event_type_code := 'INVOICES_ALL';
127723 l_line_definition_owner_code := 'S';
127724 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
127725 --
127726 l_balance_type_code := 'A';
127727 l_segment := NULL;
127728 l_ccid := NULL;
127729 l_adr_transaction_coa_id := NULL;
127730 l_adr_accounting_coa_id := NULL;
127731 l_adr_flexfield_segment_code := NULL;
127732 l_adr_flex_value_set_id := NULL;
127733 l_adr_value_type_code := NULL;
127734 l_adr_value_combination_id := NULL;
127735 l_adr_value_segment_code := NULL;
127736
127737 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127738 l_bflow_class_code := ''; -- 4219869 Business Flow
127739 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127740 l_budgetary_control_flag := 'N';
127741
127742 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127743 l_bflow_applied_to_amt := NULL; -- 5132302
127744 l_entered_amt_idx := NULL; -- 4262811
127745 l_accted_amt_idx := NULL; -- 4262811
127746 l_acc_rev_flag := NULL; -- 4262811
127747 l_accrual_line_num := NULL; -- 4262811
127748 l_tmp_amt := NULL; -- 4262811
127749 --
127750
127751 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127752 l_balance_type_code <> 'B' THEN
127753 IF NVL(p_source_33,'
127754 ') = 'NONREC_TAX' AND
127755 NVL(p_source_135,'
127756 ') = 'Y' AND
127757 NVL(p_source_95,'
127758 ') = 'Y'
127759 THEN
127760
127761 --
127762 XLA_AE_LINES_PKG.SetNewLine;
127763
127764 p_balance_type_code := l_balance_type_code;
127765 -- set the flag so later we will know whether the gain loss line needs to be created
127766
127767 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127768 p_actual_flag :='A';
127769 END IF;
127770
127771 --
127772 -- bulk performance
127773 --
127774 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127775 p_header_num => 0); -- 4262811
127776 --
127777 -- set accounting line options
127778 --
127779 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127780 p_natural_side_code => 'D'
127781 , p_gain_or_loss_flag => 'N'
127782 , p_gl_transfer_mode_code => 'S'
127783 , p_acct_entry_type_code => 'A'
127784 , p_switch_side_flag => 'Y'
127785 , p_merge_duplicate_code => 'A'
127786 );
127787 --
127788 l_acc_rev_natural_side_code := 'C'; -- 4262811
127789 --
127790 --
127791 -- set accounting line type info
127792 --
127793 xla_ae_lines_pkg.SetAcctLineType
127794 (p_component_type => l_component_type
127795 ,p_event_type_code => l_event_type_code
127796 ,p_line_definition_owner_code => l_line_definition_owner_code
127797 ,p_line_definition_code => l_line_definition_code
127798 ,p_accounting_line_code => l_component_code
127799 ,p_accounting_line_type_code => l_component_type_code
127800 ,p_accounting_line_appl_id => l_component_appl_id
127801 ,p_amb_context_code => l_amb_context_code
127802 ,p_entity_code => l_entity_code
127803 ,p_event_class_code => l_event_class_code);
127804 --
127805 -- set accounting class
127806 --
127807 xla_ae_lines_pkg.SetAcctClass(
127808 p_accounting_class_code => 'SELF_ASSESSED_TAX'
127812 --
127809 , p_ae_header_id => l_ae_header_id
127810 );
127811
127813 -- set rounding class
127814 --
127815 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127816 'SELF_ASSESSED_TAX';
127817
127818 --
127819 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127820 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127821 --
127822 -- bulk performance
127823 --
127824 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127825
127826 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127827 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127828
127829 -- 4955764
127830 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127831 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127832
127833 -- 4458381 Public Sector Enh
127834
127835 --
127836 -- set accounting attributes for the line type
127837 --
127838 l_entered_amt_idx := 24;
127839 l_accted_amt_idx := 29;
127840 l_bflow_applied_to_amt_idx := 7; -- 5132302
127841 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127842 l_rec_acct_attrs.array_char_value(1) := p_source_52;
127843 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127844 l_rec_acct_attrs.array_num_value(2) :=
127845 xla_ae_sources_pkg.GetSystemSourceNum(
127846 p_source_code => 'XLA_EVENT_APPL_ID'
127847 , p_source_type_code => 'Y'
127848 , p_source_application_id => 602
127849 );
127850 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127851 l_rec_acct_attrs.array_char_value(3) := p_source_54;
127852 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127853 l_rec_acct_attrs.array_char_value(4) :=
127854 xla_ae_sources_pkg.GetSystemSourceChar(
127855 p_source_code => 'XLA_ENTITY_CODE'
127856 , p_source_type_code => 'Y'
127857 , p_source_application_id => 602
127858 );
127859 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127860 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
127861 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127862 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
127863 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
127864 l_rec_acct_attrs.array_num_value(7) := p_source_72;
127865 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
127866 l_rec_acct_attrs.array_num_value(8) := p_source_90;
127867 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127868 l_rec_acct_attrs.array_char_value(9) := p_source_91;
127869 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
127870 l_rec_acct_attrs.array_char_value(10) := p_source_92;
127871 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
127872 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
127873 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127874 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
127875 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
127876 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
127877 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
127878 l_rec_acct_attrs.array_char_value(14) := p_source_54;
127879 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
127880 l_rec_acct_attrs.array_num_value(15) := p_source_64;
127881 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
127882 l_rec_acct_attrs.array_num_value(16) := p_source_65;
127883 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
127884 l_rec_acct_attrs.array_char_value(17) := p_source_66;
127885 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
127886 l_rec_acct_attrs.array_num_value(18) := p_source_67;
127887 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
127888 l_rec_acct_attrs.array_num_value(19) := p_source_68;
127889 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
127890 l_rec_acct_attrs.array_num_value(20) := p_source_69;
127891 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
127892 l_rec_acct_attrs.array_char_value(21) := p_source_66;
127893 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
127894 l_rec_acct_attrs.array_num_value(22) := p_source_70;
127895 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
127896 l_rec_acct_attrs.array_char_value(23) := p_source_71;
127897 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
127898 l_rec_acct_attrs.array_num_value(24) := p_source_72;
127899 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
127900 l_rec_acct_attrs.array_char_value(25) := p_source_66;
127901 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
127902 l_rec_acct_attrs.array_date_value(26) := p_source_73;
127903 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
127904 l_rec_acct_attrs.array_num_value(27) := p_source_74;
127905 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
127909 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
127906 l_rec_acct_attrs.array_char_value(28) := p_source_75;
127907 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
127908 l_rec_acct_attrs.array_num_value(29) := p_source_21;
127910 l_rec_acct_attrs.array_date_value(30) := p_source_76;
127911 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
127912 l_rec_acct_attrs.array_char_value(31) := p_source_77;
127913 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
127914 l_rec_acct_attrs.array_date_value(32) := p_source_78;
127915 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
127916 l_rec_acct_attrs.array_char_value(33) := p_source_79;
127917 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
127918 l_rec_acct_attrs.array_num_value(34) := p_source_80;
127919 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
127920 l_rec_acct_attrs.array_num_value(35) := p_source_81;
127921 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
127922 l_rec_acct_attrs.array_char_value(36) := p_source_82;
127923 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
127924 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
127925 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
127926 l_rec_acct_attrs.array_char_value(38) := p_source_54;
127927 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
127928 l_rec_acct_attrs.array_num_value(39) := p_source_84;
127929 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
127930 l_rec_acct_attrs.array_num_value(40) := p_source_85;
127931 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
127932 l_rec_acct_attrs.array_num_value(41) := p_source_86;
127933 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
127934 l_rec_acct_attrs.array_num_value(42) := p_source_87;
127935 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
127936 l_rec_acct_attrs.array_num_value(43) := p_source_88;
127937 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
127938 l_rec_acct_attrs.array_num_value(44) := p_source_89;
127939
127940 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127941 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127942
127943 ---------------------------------------------------------------------------------------------------------------
127944 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127945 ---------------------------------------------------------------------------------------------------------------
127946 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127947
127948 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127949 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127950
127951 IF xla_accounting_cache_pkg.GetValueChar
127952 (p_source_code => 'LEDGER_CATEGORY_CODE'
127953 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127954 AND l_bflow_method_code = 'PRIOR_ENTRY'
127955 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127956 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127957 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127958 )
127959 THEN
127960 xla_ae_lines_pkg.BflowUpgEntry
127961 (p_business_method_code => l_bflow_method_code
127962 ,p_business_class_code => l_bflow_class_code
127963 ,p_balance_type => l_balance_type_code);
127964 ELSE
127965 NULL;
127966 -- No business flow processing for business flow method of NONE.
127967 END IF;
127968
127969 --
127970 -- call analytical criteria
127971 --
127972
127973 --
127974 -- call description
127975 --
127976
127977 xla_ae_lines_pkg.SetLineDescription(
127978 p_ae_header_id => l_ae_header_id
127979 ,p_description => Description_1 (
127980 p_application_id => p_application_id
127981 , p_ae_header_id => l_ae_header_id
127982 , p_source_1 => p_source_1
127983 )
127984 );
127985
127986
127987 --
127988 -- call ADRs
127989 -- Bug 4922099
127990 --
127991 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127992 (NVL(l_actual_upg_option, 'N') = 'O') OR
127993 (NVL(l_enc_upg_option, 'N') = 'O')
127994 )
127995 THEN
127996 NULL;
127997 --
127998 --
127999
128000 l_ccid := AcctDerRule_41(
128001 p_application_id => p_application_id
128002 , p_ae_header_id => l_ae_header_id
128003 , p_source_49 => p_source_49
128004 , x_transaction_coa_id => l_adr_transaction_coa_id
128005 , x_accounting_coa_id => l_adr_accounting_coa_id
128006 , x_value_type_code => l_adr_value_type_code
128007 , p_side => 'NA'
128008 );
128009
128010 xla_ae_lines_pkg.set_ccid(
128011 p_code_combination_id => l_ccid
128012 , p_value_type_code => l_adr_value_type_code
128013 , p_transaction_coa_id => l_adr_transaction_coa_id
128017 , p_component_type => l_component_type
128014 , p_accounting_coa_id => l_adr_accounting_coa_id
128015 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128016 , p_adr_type_code => 'S'
128018 , p_component_code => l_component_code
128019 , p_component_type_code => l_component_type_code
128020 , p_component_appl_id => l_component_appl_id
128021 , p_amb_context_code => l_amb_context_code
128022 , p_side => 'NA'
128023 );
128024
128025
128026 --
128027 --
128028 END IF;
128029 --
128030 -- Bug 4922099
128031 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128032 (NVL(l_enc_upg_option, 'N') = 'O')
128033 ) AND
128034 (l_bflow_method_code = 'PRIOR_ENTRY')
128035 )
128036 THEN
128037 IF
128038 --
128039 1 = 2
128040 --
128041 THEN
128042 xla_accounting_err_pkg.build_message
128043 (p_appli_s_name => 'XLA'
128044 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128045 ,p_token_1 => 'LINE_NUMBER'
128046 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128047 ,p_token_2 => 'LINE_TYPE_NAME'
128048 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128049 l_component_type
128050 ,l_component_code
128051 ,l_component_type_code
128052 ,l_component_appl_id
128053 ,l_amb_context_code
128054 ,l_entity_code
128055 ,l_event_class_code
128056 )
128057 ,p_token_3 => 'OWNER'
128058 ,p_value_3 => xla_lookups_pkg.get_meaning(
128059 p_lookup_type => 'XLA_OWNER_TYPE'
128060 ,p_lookup_code => l_component_type_code
128061 )
128062 ,p_token_4 => 'PRODUCT_NAME'
128063 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128064 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128065 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128066 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128067 ,p_ae_header_id => NULL
128068 );
128069
128070 IF (C_LEVEL_ERROR>= g_log_level) THEN
128071 trace
128072 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128073 ,p_level => C_LEVEL_ERROR
128074 ,p_module => l_log_module);
128075 END IF;
128076 END IF;
128077 END IF;
128078 --
128079 --
128080 ------------------------------------------------------------------------------------------------
128081 -- 4219869 Business Flow
128082 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128083 -- Prior Entry. Currently, the following code is always generated.
128084 ------------------------------------------------------------------------------------------------
128085 XLA_AE_LINES_PKG.ValidateCurrentLine;
128086
128087 ------------------------------------------------------------------------------------
128088 -- 4219869 Business Flow
128089 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128090 ------------------------------------------------------------------------------------
128091 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128092
128093 ----------------------------------------------------------------------------------
128094 -- 4219869 Business Flow
128095 -- Update journal entry status -- Need to generate this within IF <condition>
128096 ----------------------------------------------------------------------------------
128097 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128098 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128099 ,p_balance_type_code => l_balance_type_code
128100 );
128101
128102 -------------------------------------------------------------------------------------------
128103 -- 4262811 - Generate the Accrual Reversal lines
128104 -------------------------------------------------------------------------------------------
128105 BEGIN
128106 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128107 (g_array_event(p_event_id).array_value_num('header_index'));
128108 IF l_acc_rev_flag IS NULL THEN
128109 l_acc_rev_flag := 'N';
128110 END IF;
128114 END;
128111 EXCEPTION
128112 WHEN OTHERS THEN
128113 l_acc_rev_flag := 'N';
128115 --
128116 IF (l_acc_rev_flag = 'Y') THEN
128117
128118 -- 4645092 ------------------------------------------------------------------------------
128119 -- To allow MPA report to determine if it should generate report process
128120 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128121 ------------------------------------------------------------------------------------------
128122
128123 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128124 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128125 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128126 -- call ADRs
128127 -- Bug 4922099
128128 --
128129 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128130 (NVL(l_actual_upg_option, 'N') = 'O') OR
128131 (NVL(l_enc_upg_option, 'N') = 'O')
128132 )
128133 THEN
128134 NULL;
128135 --
128136 --
128137
128138 l_ccid := AcctDerRule_41(
128139 p_application_id => p_application_id
128140 , p_ae_header_id => l_ae_header_id
128141 , p_source_49 => p_source_49
128142 , x_transaction_coa_id => l_adr_transaction_coa_id
128143 , x_accounting_coa_id => l_adr_accounting_coa_id
128144 , x_value_type_code => l_adr_value_type_code
128145 , p_side => 'NA'
128146 );
128147
128148 xla_ae_lines_pkg.set_ccid(
128149 p_code_combination_id => l_ccid
128150 , p_value_type_code => l_adr_value_type_code
128151 , p_transaction_coa_id => l_adr_transaction_coa_id
128152 , p_accounting_coa_id => l_adr_accounting_coa_id
128153 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128154 , p_adr_type_code => 'S'
128155 , p_component_type => l_component_type
128156 , p_component_code => l_component_code
128157 , p_component_type_code => l_component_type_code
128158 , p_component_appl_id => l_component_appl_id
128159 , p_amb_context_code => l_amb_context_code
128160 , p_side => 'NA'
128161 );
128162
128163
128164 --
128165 --
128166 END IF;
128167
128168 --
128169 -- Update the line information that should be overwritten
128170 --
128171 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128172 p_header_num => 1);
128173 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128174
128175 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128176
128177 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128178 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128179 END IF;
128180
128181 --
128182 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128183 --
128184 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128185 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128186 ELSE
128187 ---------------------------------------------------------------------------------------------------
128188 -- 4262811a Switch Sign
128189 ---------------------------------------------------------------------------------------------------
128190 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128191 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128192 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128193 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128194 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128195 -- 5132302
128196 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128197 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128198
128199 END IF;
128200
128201 -- 4955764
128202 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128203 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128204
128205
128206 XLA_AE_LINES_PKG.ValidateCurrentLine;
128207 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128208
128209 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128210 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128211 ,p_balance_type_code => l_balance_type_code);
128212
128213 END IF;
128214
128215 -----------------------------------------------------------------------------------------
128216 -- 4262811 Multiperiod Accounting
128217 -----------------------------------------------------------------------------------------
128218 -- No MPA option is assigned.
128219
128220
128221 END IF;
128222 END IF;
128223 --
128224
128225 --
128226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128227 trace
128228 (p_msg => 'END of AcctLineType_206'
128232 --
128229 ,p_level => C_LEVEL_PROCEDURE
128230 ,p_module => l_log_module);
128231 END IF;
128233 EXCEPTION
128234 WHEN xla_exceptions_pkg.application_exception THEN
128235 RAISE;
128236 WHEN OTHERS THEN
128237 xla_exceptions_pkg.raise_message
128238 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_206');
128239 END AcctLineType_206;
128240 --
128241
128242 ---------------------------------------
128243 --
128244 -- PRIVATE FUNCTION
128245 -- AcctLineType_207
128246 --
128247 ---------------------------------------
128248 PROCEDURE AcctLineType_207 (
128249 p_application_id IN NUMBER
128250 ,p_event_id IN NUMBER
128251 ,p_calculate_acctd_flag IN VARCHAR2
128252 ,p_calculate_g_l_flag IN VARCHAR2
128253 ,p_actual_flag IN OUT VARCHAR2
128254 ,p_balance_type_code OUT VARCHAR2
128255 ,p_gain_or_loss_ref OUT VARCHAR2
128256
128257 --Automatic Offsets Value
128258 , p_source_15 IN VARCHAR2
128259 , p_source_15_meaning IN VARCHAR2
128260 --Invoice Distribution Account
128261 , p_source_30 IN NUMBER
128262 --Payables Options Tax Difference Account
128263 , p_source_41 IN NUMBER
128264 --Accounting Reversal Indicator
128265 , p_source_52 IN VARCHAR2
128266 --Distribution Link Type
128267 , p_source_54 IN VARCHAR2
128268 --Invoice Identifier
128269 , p_source_57 IN NUMBER
128270 --Payables Encumbrance Upgrade Credit Account
128271 , p_source_64 IN NUMBER
128272 --Payables Encumbrance Upgrade Credit Amount
128273 , p_source_65 IN NUMBER
128274 --Invoice Currency Code
128275 , p_source_66 IN VARCHAR2
128276 --Payables Encumbrance Upgrade Credit Base Amount
128277 , p_source_67 IN NUMBER
128278 --Payables Encumbrance Upgrade Debit Account
128279 , p_source_68 IN NUMBER
128280 --Payables Encumbrance Upgrade Debit Amount
128281 , p_source_69 IN NUMBER
128282 --Payables Encumbrance Upgrade Debit Base Amount
128283 , p_source_70 IN NUMBER
128284 --Payables Encumbrance Upgrade Option
128285 , p_source_71 IN VARCHAR2
128286 --Deferred Accounting End Date
128287 , p_source_76 IN DATE
128288 --Deferred Accounting Option
128289 , p_source_77 IN VARCHAR2
128290 --Deferred Accounting Start Date
128291 , p_source_78 IN DATE
128292 --Override Accounted Amount Indicator
128293 , p_source_79 IN VARCHAR2
128294 , p_source_79_meaning IN VARCHAR2
128295 --Invoice Supplier Identifier
128296 , p_source_80 IN NUMBER
128297 --Invoice Supplier Site Identifier
128298 , p_source_81 IN NUMBER
128299 --Third Party Type
128300 , p_source_82 IN VARCHAR2
128301 --Invoice Distribution Tax Line Identifier
128302 , p_source_85 IN NUMBER
128303 --Invoice Distribution Tax Distribution Identifier from Tax
128304 , p_source_86 IN NUMBER
128305 --Invoice Distribution Summary Tax Line Identifier
128306 , p_source_87 IN NUMBER
128307 --Payables Upgrade Credit Encumbrance Type Identifier
128308 , p_source_88 IN NUMBER
128309 --Payables Upgrade Debit Encumbrance Type Identifier
128310 , p_source_89 IN NUMBER
128311 --Business Flow Accounts Payable Application Identifier
128312 , p_source_90 IN NUMBER
128313 --Prepayment Application Distribution Identifier
128314 , p_source_127 IN NUMBER
128315 --Upgrade Encumbrance Credit Account Class
128316 , p_source_130 IN VARCHAR2
128317 --Upgrade Encumbrance Debit Account Class
128318 , p_source_131 IN VARCHAR2
128319 --Prepayment Distribution Amount
128320 , p_source_132 IN NUMBER
128321 --Prepayment Distribution (Invoice Rate) Ledger Amount
128322 , p_source_133 IN NUMBER
128323 --Identifier of the Prepayment Application Reversed
128324 , p_source_134 IN NUMBER
128325 --Invoice Exchange Date
128326 , p_source_136 IN DATE
128327 --Invoice Exchange Rate
128328 , p_source_137 IN NUMBER
128329 --Invoice Exchange Rate Type
128330 , p_source_138 IN VARCHAR2
128331 --Business Flow Prepayment Invoice Distribution Type
128332 , p_source_139 IN VARCHAR2
128333 --Business Flow Prepayment Invoice Entity Code
128334 , p_source_140 IN VARCHAR2
128335 --Business Flow Prepayment Invoice Distribution Identifier
128336 , p_source_141 IN NUMBER
128337 --Business Flow Prepayment Invoice Identifier
128338 , p_source_142 IN NUMBER
128339 --Prepayment Distribution Type
128340 , p_source_143 IN VARCHAR2
128341 )
128342 IS
128343
128344 l_component_type VARCHAR2(80);
128345 l_component_code VARCHAR2(30);
128346 l_component_type_code VARCHAR2(1);
128347 l_component_appl_id INTEGER;
128348 l_amb_context_code VARCHAR2(30);
128349 l_entity_code VARCHAR2(30);
128350 l_event_class_code VARCHAR2(30);
128351 l_ae_header_id NUMBER;
128352 l_event_type_code VARCHAR2(30);
128353 l_line_definition_code VARCHAR2(30);
128354 l_line_definition_owner_code VARCHAR2(1);
128355 --
128356 -- adr variables
128357 l_segment VARCHAR2(30);
128358 l_ccid NUMBER;
128359 l_adr_transaction_coa_id NUMBER;
128360 l_adr_accounting_coa_id NUMBER;
128361 l_adr_flexfield_segment_code VARCHAR2(30);
128365 l_adr_value_segment_code VARCHAR2(30);
128362 l_adr_flex_value_set_id NUMBER;
128363 l_adr_value_type_code VARCHAR2(30);
128364 l_adr_value_combination_id NUMBER;
128366
128367 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
128368 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
128369 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
128370 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
128371
128372 -- 4262811 Variables ------------------------------------------------------------------------------------------
128373 l_entered_amt_idx NUMBER;
128374 l_accted_amt_idx NUMBER;
128375 l_acc_rev_flag VARCHAR2(1);
128376 l_accrual_line_num NUMBER;
128377 l_tmp_amt NUMBER;
128378 l_acc_rev_natural_side_code VARCHAR2(1);
128379
128380 l_num_entries NUMBER;
128381 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
128382 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
128383 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
128384 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
128385 l_recog_line_1 NUMBER;
128386 l_recog_line_2 NUMBER;
128387
128388 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
128389 l_bflow_applied_to_amt NUMBER; -- 5132302
128390 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
128391
128392 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
128393
128394 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
128395 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
128396
128397 ---------------------------------------------------------------------------------------------------------------
128398
128399
128400 --
128401 -- bulk performance
128402 --
128403 l_balance_type_code VARCHAR2(1);
128404 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
128405 l_log_module VARCHAR2(240);
128406
128407 --
128408 -- Upgrade strategy
128409 --
128410 l_actual_upg_option VARCHAR2(1);
128411 l_enc_upg_option VARCHAR2(1);
128412
128413 --
128414 BEGIN
128415 --
128416 IF g_log_enabled THEN
128417 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_207';
128418 END IF;
128419 --
128420 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128421
128422 trace
128423 (p_msg => 'BEGIN of AcctLineType_207'
128424 ,p_level => C_LEVEL_PROCEDURE
128425 ,p_module => l_log_module);
128426
128427 END IF;
128428 --
128429 l_component_type := 'AMB_JLT';
128430 l_component_code := 'AP_TAX_DIFF_PREPAY_APP';
128431 l_component_type_code := 'S';
128432 l_component_appl_id := 200;
128433 l_amb_context_code := 'DEFAULT';
128434 l_entity_code := 'AP_INVOICES';
128435 l_event_class_code := 'PREPAYMENT APPLICATIONS';
128436 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
128437 l_line_definition_owner_code := 'S';
128438 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT_APP';
128439 --
128440 l_balance_type_code := 'A';
128441 l_segment := NULL;
128442 l_ccid := NULL;
128443 l_adr_transaction_coa_id := NULL;
128444 l_adr_accounting_coa_id := NULL;
128445 l_adr_flexfield_segment_code := NULL;
128446 l_adr_flex_value_set_id := NULL;
128447 l_adr_value_type_code := NULL;
128448 l_adr_value_combination_id := NULL;
128449 l_adr_value_segment_code := NULL;
128450
128451 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
128452 l_bflow_class_code := ''; -- 4219869 Business Flow
128453 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
128454 l_budgetary_control_flag := 'N';
128455
128456 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128457 l_bflow_applied_to_amt := NULL; -- 5132302
128458 l_entered_amt_idx := NULL; -- 4262811
128459 l_accted_amt_idx := NULL; -- 4262811
128460 l_acc_rev_flag := NULL; -- 4262811
128461 l_accrual_line_num := NULL; -- 4262811
128462 l_tmp_amt := NULL; -- 4262811
128463 --
128464
128465 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
128466 l_balance_type_code <> 'B' THEN
128467 IF NVL(p_source_143,'
128468 ') = 'TAX DIFF'
128469 THEN
128470
128471 --
128472 XLA_AE_LINES_PKG.SetNewLine;
128473
128474 p_balance_type_code := l_balance_type_code;
128475 -- set the flag so later we will know whether the gain loss line needs to be created
128476
128477 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
128478 p_actual_flag :='A';
128479 END IF;
128480
128481 --
128482 -- bulk performance
128483 --
128484 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
128485 p_header_num => 0); -- 4262811
128486 --
128487 -- set accounting line options
128488 --
128489 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
128493 , p_acct_entry_type_code => 'A'
128490 p_natural_side_code => 'C'
128491 , p_gain_or_loss_flag => 'N'
128492 , p_gl_transfer_mode_code => 'S'
128494 , p_switch_side_flag => 'Y'
128495 , p_merge_duplicate_code => 'A'
128496 );
128497 --
128498 l_acc_rev_natural_side_code := 'D'; -- 4262811
128499 --
128500 --
128501 -- set accounting line type info
128502 --
128503 xla_ae_lines_pkg.SetAcctLineType
128504 (p_component_type => l_component_type
128505 ,p_event_type_code => l_event_type_code
128506 ,p_line_definition_owner_code => l_line_definition_owner_code
128507 ,p_line_definition_code => l_line_definition_code
128508 ,p_accounting_line_code => l_component_code
128509 ,p_accounting_line_type_code => l_component_type_code
128510 ,p_accounting_line_appl_id => l_component_appl_id
128511 ,p_amb_context_code => l_amb_context_code
128512 ,p_entity_code => l_entity_code
128513 ,p_event_class_code => l_event_class_code);
128514 --
128515 -- set accounting class
128516 --
128517 xla_ae_lines_pkg.SetAcctClass(
128518 p_accounting_class_code => 'TAX_DIFF'
128519 , p_ae_header_id => l_ae_header_id
128520 );
128521
128522 --
128523 -- set rounding class
128524 --
128525 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
128526 'TAX_DIFF';
128527
128528 --
128529 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
128530 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
128531 --
128532 -- bulk performance
128533 --
128534 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
128535
128536 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
128537 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
128538
128539 -- 4955764
128540 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128541 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
128542
128543 -- 4458381 Public Sector Enh
128544
128545 --
128546 -- set accounting attributes for the line type
128547 --
128548 l_entered_amt_idx := 25;
128549 l_accted_amt_idx := 30;
128550 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128551 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
128552 l_rec_acct_attrs.array_char_value(1) := p_source_52;
128553 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
128554 l_rec_acct_attrs.array_num_value(2) :=
128555 xla_ae_sources_pkg.GetSystemSourceNum(
128556 p_source_code => 'XLA_EVENT_APPL_ID'
128557 , p_source_type_code => 'Y'
128558 , p_source_application_id => 602
128559 );
128560 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
128561 l_rec_acct_attrs.array_char_value(3) := p_source_54;
128562 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
128563 l_rec_acct_attrs.array_char_value(4) :=
128564 xla_ae_sources_pkg.GetSystemSourceChar(
128565 p_source_code => 'XLA_ENTITY_CODE'
128566 , p_source_type_code => 'Y'
128567 , p_source_application_id => 602
128568 );
128569 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
128570 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
128571 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
128572 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
128573 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
128574 l_rec_acct_attrs.array_num_value(7) := p_source_90;
128575 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
128576 l_rec_acct_attrs.array_char_value(8) := p_source_139;
128577 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
128578 l_rec_acct_attrs.array_char_value(9) := p_source_140;
128579 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
128580 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
128581 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
128582 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
128583 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
128584 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
128585 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
128586 l_rec_acct_attrs.array_char_value(13) := p_source_54;
128587 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
128588 l_rec_acct_attrs.array_char_value(14) := p_source_130;
128589 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
128590 l_rec_acct_attrs.array_num_value(15) := p_source_64;
128591 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
128592 l_rec_acct_attrs.array_num_value(16) := p_source_65;
128593 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
128594 l_rec_acct_attrs.array_char_value(17) := p_source_66;
128595 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
128599 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
128596 l_rec_acct_attrs.array_num_value(18) := p_source_67;
128597 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
128598 l_rec_acct_attrs.array_char_value(19) := p_source_131;
128600 l_rec_acct_attrs.array_num_value(20) := p_source_68;
128601 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
128602 l_rec_acct_attrs.array_num_value(21) := p_source_69;
128603 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
128604 l_rec_acct_attrs.array_char_value(22) := p_source_66;
128605 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
128606 l_rec_acct_attrs.array_num_value(23) := p_source_70;
128607 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
128608 l_rec_acct_attrs.array_char_value(24) := p_source_71;
128609 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
128610 l_rec_acct_attrs.array_num_value(25) := p_source_132;
128611 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
128612 l_rec_acct_attrs.array_char_value(26) := p_source_66;
128613 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
128614 l_rec_acct_attrs.array_date_value(27) := p_source_136;
128615 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
128616 l_rec_acct_attrs.array_num_value(28) := p_source_137;
128617 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
128618 l_rec_acct_attrs.array_char_value(29) := p_source_138;
128619 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
128620 l_rec_acct_attrs.array_num_value(30) := p_source_133;
128621 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
128622 l_rec_acct_attrs.array_date_value(31) := p_source_76;
128623 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
128624 l_rec_acct_attrs.array_char_value(32) := p_source_77;
128625 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
128626 l_rec_acct_attrs.array_date_value(33) := p_source_78;
128627 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
128628 l_rec_acct_attrs.array_char_value(34) := p_source_79;
128629 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
128630 l_rec_acct_attrs.array_num_value(35) := p_source_80;
128631 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
128632 l_rec_acct_attrs.array_num_value(36) := p_source_81;
128633 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
128634 l_rec_acct_attrs.array_char_value(37) := p_source_82;
128635 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
128636 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_134);
128637 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
128638 l_rec_acct_attrs.array_char_value(39) := p_source_54;
128639 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
128640 l_rec_acct_attrs.array_num_value(40) := p_source_85;
128641 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
128642 l_rec_acct_attrs.array_num_value(41) := p_source_86;
128643 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
128644 l_rec_acct_attrs.array_num_value(42) := p_source_87;
128645 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
128646 l_rec_acct_attrs.array_num_value(43) := p_source_88;
128647 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
128648 l_rec_acct_attrs.array_num_value(44) := p_source_89;
128649
128650 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128651 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128652
128653 ---------------------------------------------------------------------------------------------------------------
128654 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128655 ---------------------------------------------------------------------------------------------------------------
128656 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128657
128658 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128659 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128660
128661 IF xla_accounting_cache_pkg.GetValueChar
128662 (p_source_code => 'LEDGER_CATEGORY_CODE'
128663 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128664 AND l_bflow_method_code = 'PRIOR_ENTRY'
128665 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128666 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128667 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128668 )
128669 THEN
128670 xla_ae_lines_pkg.BflowUpgEntry
128671 (p_business_method_code => l_bflow_method_code
128672 ,p_business_class_code => l_bflow_class_code
128673 ,p_balance_type => l_balance_type_code);
128674 ELSE
128675 NULL;
128676 -- No business flow processing for business flow method of NONE.
128677 END IF;
128678
128679 --
128680 -- call analytical criteria
128681 --
128682
128683 --
128684 -- call description
128685 --
128686 -- No description or it is inherited.
128687 --
128688 -- call ADRs
128689 -- Bug 4922099
128690 --
128694 )
128691 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128692 (NVL(l_actual_upg_option, 'N') = 'O') OR
128693 (NVL(l_enc_upg_option, 'N') = 'O')
128695 THEN
128696 NULL;
128697 --
128698 --
128699
128700 l_ccid := AcctDerRule_44(
128701 p_application_id => p_application_id
128702 , p_ae_header_id => l_ae_header_id
128703 , p_source_15 => p_source_15
128704 , p_source_15_meaning => p_source_15_meaning
128705 , p_source_30 => p_source_30
128706 , p_source_41 => p_source_41
128707 , x_transaction_coa_id => l_adr_transaction_coa_id
128708 , x_accounting_coa_id => l_adr_accounting_coa_id
128709 , x_value_type_code => l_adr_value_type_code
128710 , p_side => 'NA'
128711 );
128712
128713 xla_ae_lines_pkg.set_ccid(
128714 p_code_combination_id => l_ccid
128715 , p_value_type_code => l_adr_value_type_code
128716 , p_transaction_coa_id => l_adr_transaction_coa_id
128717 , p_accounting_coa_id => l_adr_accounting_coa_id
128718 , p_adr_code => 'AP_TAX_DIFFERENCE'
128719 , p_adr_type_code => 'S'
128720 , p_component_type => l_component_type
128721 , p_component_code => l_component_code
128722 , p_component_type_code => l_component_type_code
128723 , p_component_appl_id => l_component_appl_id
128724 , p_amb_context_code => l_amb_context_code
128725 , p_side => 'NA'
128726 );
128727
128728
128729 l_segment := AcctDerRule_22(
128730 p_application_id => p_application_id
128731 , p_ae_header_id => l_ae_header_id
128732 , p_source_15 => p_source_15
128733 , p_source_15_meaning => p_source_15_meaning
128734 , p_source_30 => p_source_30
128735 , x_transaction_coa_id => l_adr_transaction_coa_id
128736 , x_accounting_coa_id => l_adr_accounting_coa_id
128737 , x_flexfield_segment_code => l_adr_flexfield_segment_code
128738 , x_flex_value_set_id => l_adr_flex_value_set_id
128739 , x_value_type_code => l_adr_value_type_code
128740 , x_value_combination_id => l_adr_value_combination_id
128741 , x_value_segment_code => l_adr_value_segment_code
128742 , p_side => 'NA'
128743 , p_override_seg_flag => 'Y'
128744 );
128745
128746 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
128747
128748 xla_ae_lines_pkg.set_segment(
128749 p_to_segment_code => 'GL_BALANCING'
128750 , p_segment_value => l_segment
128751 , p_from_segment_code => l_adr_value_segment_code
128752 , p_from_combination_id => l_adr_value_combination_id
128753 , p_value_type_code => l_adr_value_type_code
128754 , p_transaction_coa_id => l_adr_transaction_coa_id
128755 , p_accounting_coa_id => l_adr_accounting_coa_id
128756 , p_flexfield_segment_code => l_adr_flexfield_segment_code
128757 , p_flex_value_set_id => l_adr_flex_value_set_id
128758 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
128759 , p_adr_type_code => 'S'
128760 , p_component_type => l_component_type
128761 , p_component_code => l_component_code
128762 , p_component_type_code => l_component_type_code
128763 , p_component_appl_id => l_component_appl_id
128764 , p_amb_context_code => l_amb_context_code
128765 , p_entity_code => 'AP_INVOICES'
128766 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
128767 , p_side => 'NA'
128768 );
128769
128770 END IF;
128771
128772 l_segment := AcctDerRule_20(
128773 p_application_id => p_application_id
128774 , p_ae_header_id => l_ae_header_id
128775 , p_source_41 => p_source_41
128776 , x_transaction_coa_id => l_adr_transaction_coa_id
128777 , x_accounting_coa_id => l_adr_accounting_coa_id
128778 , x_flexfield_segment_code => l_adr_flexfield_segment_code
128779 , x_flex_value_set_id => l_adr_flex_value_set_id
128780 , x_value_type_code => l_adr_value_type_code
128781 , x_value_combination_id => l_adr_value_combination_id
128782 , x_value_segment_code => l_adr_value_segment_code
128783 , p_side => 'NA'
128784 , p_override_seg_flag => 'Y'
128785 );
128786
128787 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
128788
128789 xla_ae_lines_pkg.set_segment(
128790 p_to_segment_code => 'GL_ACCOUNT'
128791 , p_segment_value => l_segment
128792 , p_from_segment_code => l_adr_value_segment_code
128793 , p_from_combination_id => l_adr_value_combination_id
128794 , p_value_type_code => l_adr_value_type_code
128795 , p_transaction_coa_id => l_adr_transaction_coa_id
128796 , p_accounting_coa_id => l_adr_accounting_coa_id
128797 , p_flexfield_segment_code => l_adr_flexfield_segment_code
128798 , p_flex_value_set_id => l_adr_flex_value_set_id
128799 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
128800 , p_adr_type_code => 'S'
128801 , p_component_type => l_component_type
128802 , p_component_code => l_component_code
128806 , p_entity_code => 'AP_INVOICES'
128803 , p_component_type_code => l_component_type_code
128804 , p_component_appl_id => l_component_appl_id
128805 , p_amb_context_code => l_amb_context_code
128807 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
128808 , p_side => 'NA'
128809 );
128810
128811 END IF;
128812
128813 --
128814 --
128815 END IF;
128816 --
128817 -- Bug 4922099
128818 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128819 (NVL(l_enc_upg_option, 'N') = 'O')
128820 ) AND
128821 (l_bflow_method_code = 'PRIOR_ENTRY')
128822 )
128823 THEN
128824 IF
128825 --
128826 1 = 2
128827 --
128828 THEN
128829 xla_accounting_err_pkg.build_message
128830 (p_appli_s_name => 'XLA'
128831 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128832 ,p_token_1 => 'LINE_NUMBER'
128833 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128834 ,p_token_2 => 'LINE_TYPE_NAME'
128835 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128836 l_component_type
128837 ,l_component_code
128838 ,l_component_type_code
128839 ,l_component_appl_id
128840 ,l_amb_context_code
128841 ,l_entity_code
128842 ,l_event_class_code
128843 )
128844 ,p_token_3 => 'OWNER'
128845 ,p_value_3 => xla_lookups_pkg.get_meaning(
128846 p_lookup_type => 'XLA_OWNER_TYPE'
128847 ,p_lookup_code => l_component_type_code
128848 )
128849 ,p_token_4 => 'PRODUCT_NAME'
128850 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128851 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128852 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128853 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128854 ,p_ae_header_id => NULL
128855 );
128856
128857 IF (C_LEVEL_ERROR>= g_log_level) THEN
128858 trace
128859 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128860 ,p_level => C_LEVEL_ERROR
128861 ,p_module => l_log_module);
128862 END IF;
128863 END IF;
128864 END IF;
128865 --
128866 --
128867 ------------------------------------------------------------------------------------------------
128868 -- 4219869 Business Flow
128869 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128870 -- Prior Entry. Currently, the following code is always generated.
128871 ------------------------------------------------------------------------------------------------
128872 XLA_AE_LINES_PKG.ValidateCurrentLine;
128873
128874 ------------------------------------------------------------------------------------
128875 -- 4219869 Business Flow
128876 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128877 ------------------------------------------------------------------------------------
128878 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128879
128880 ----------------------------------------------------------------------------------
128881 -- 4219869 Business Flow
128882 -- Update journal entry status -- Need to generate this within IF <condition>
128883 ----------------------------------------------------------------------------------
128884 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128885 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128886 ,p_balance_type_code => l_balance_type_code
128887 );
128888
128889 -------------------------------------------------------------------------------------------
128890 -- 4262811 - Generate the Accrual Reversal lines
128891 -------------------------------------------------------------------------------------------
128892 BEGIN
128893 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128894 (g_array_event(p_event_id).array_value_num('header_index'));
128895 IF l_acc_rev_flag IS NULL THEN
128896 l_acc_rev_flag := 'N';
128897 END IF;
128898 EXCEPTION
128899 WHEN OTHERS THEN
128900 l_acc_rev_flag := 'N';
128904
128901 END;
128902 --
128903 IF (l_acc_rev_flag = 'Y') THEN
128905 -- 4645092 ------------------------------------------------------------------------------
128906 -- To allow MPA report to determine if it should generate report process
128907 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128908 ------------------------------------------------------------------------------------------
128909
128910 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128911 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128912 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128913 -- call ADRs
128914 -- Bug 4922099
128915 --
128916 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128917 (NVL(l_actual_upg_option, 'N') = 'O') OR
128918 (NVL(l_enc_upg_option, 'N') = 'O')
128919 )
128920 THEN
128921 NULL;
128922 --
128923 --
128924
128925 l_ccid := AcctDerRule_44(
128926 p_application_id => p_application_id
128927 , p_ae_header_id => l_ae_header_id
128928 , p_source_15 => p_source_15
128929 , p_source_15_meaning => p_source_15_meaning
128930 , p_source_30 => p_source_30
128931 , p_source_41 => p_source_41
128932 , x_transaction_coa_id => l_adr_transaction_coa_id
128933 , x_accounting_coa_id => l_adr_accounting_coa_id
128934 , x_value_type_code => l_adr_value_type_code
128935 , p_side => 'NA'
128936 );
128937
128938 xla_ae_lines_pkg.set_ccid(
128939 p_code_combination_id => l_ccid
128940 , p_value_type_code => l_adr_value_type_code
128941 , p_transaction_coa_id => l_adr_transaction_coa_id
128942 , p_accounting_coa_id => l_adr_accounting_coa_id
128943 , p_adr_code => 'AP_TAX_DIFFERENCE'
128944 , p_adr_type_code => 'S'
128945 , p_component_type => l_component_type
128946 , p_component_code => l_component_code
128947 , p_component_type_code => l_component_type_code
128948 , p_component_appl_id => l_component_appl_id
128949 , p_amb_context_code => l_amb_context_code
128950 , p_side => 'NA'
128951 );
128952
128953
128954 l_segment := AcctDerRule_22(
128955 p_application_id => p_application_id
128956 , p_ae_header_id => l_ae_header_id
128957 , p_source_15 => p_source_15
128958 , p_source_15_meaning => p_source_15_meaning
128959 , p_source_30 => p_source_30
128960 , x_transaction_coa_id => l_adr_transaction_coa_id
128961 , x_accounting_coa_id => l_adr_accounting_coa_id
128962 , x_flexfield_segment_code => l_adr_flexfield_segment_code
128963 , x_flex_value_set_id => l_adr_flex_value_set_id
128964 , x_value_type_code => l_adr_value_type_code
128965 , x_value_combination_id => l_adr_value_combination_id
128966 , x_value_segment_code => l_adr_value_segment_code
128967 , p_side => 'NA'
128968 , p_override_seg_flag => 'Y'
128969 );
128970
128971 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
128972
128973 xla_ae_lines_pkg.set_segment(
128974 p_to_segment_code => 'GL_BALANCING'
128975 , p_segment_value => l_segment
128976 , p_from_segment_code => l_adr_value_segment_code
128977 , p_from_combination_id => l_adr_value_combination_id
128978 , p_value_type_code => l_adr_value_type_code
128979 , p_transaction_coa_id => l_adr_transaction_coa_id
128980 , p_accounting_coa_id => l_adr_accounting_coa_id
128981 , p_flexfield_segment_code => l_adr_flexfield_segment_code
128982 , p_flex_value_set_id => l_adr_flex_value_set_id
128983 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
128984 , p_adr_type_code => 'S'
128985 , p_component_type => l_component_type
128986 , p_component_code => l_component_code
128987 , p_component_type_code => l_component_type_code
128988 , p_component_appl_id => l_component_appl_id
128989 , p_amb_context_code => l_amb_context_code
128990 , p_entity_code => 'AP_INVOICES'
128991 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
128992 , p_side => 'NA'
128993 );
128994
128995 END IF;
128996
128997 l_segment := AcctDerRule_20(
128998 p_application_id => p_application_id
128999 , p_ae_header_id => l_ae_header_id
129000 , p_source_41 => p_source_41
129001 , x_transaction_coa_id => l_adr_transaction_coa_id
129002 , x_accounting_coa_id => l_adr_accounting_coa_id
129003 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129004 , x_flex_value_set_id => l_adr_flex_value_set_id
129005 , x_value_type_code => l_adr_value_type_code
129006 , x_value_combination_id => l_adr_value_combination_id
129007 , x_value_segment_code => l_adr_value_segment_code
129008 , p_side => 'NA'
129009 , p_override_seg_flag => 'Y'
129010 );
129011
129012 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129013
129014 xla_ae_lines_pkg.set_segment(
129015 p_to_segment_code => 'GL_ACCOUNT'
129019 , p_value_type_code => l_adr_value_type_code
129016 , p_segment_value => l_segment
129017 , p_from_segment_code => l_adr_value_segment_code
129018 , p_from_combination_id => l_adr_value_combination_id
129020 , p_transaction_coa_id => l_adr_transaction_coa_id
129021 , p_accounting_coa_id => l_adr_accounting_coa_id
129022 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129023 , p_flex_value_set_id => l_adr_flex_value_set_id
129024 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
129025 , p_adr_type_code => 'S'
129026 , p_component_type => l_component_type
129027 , p_component_code => l_component_code
129028 , p_component_type_code => l_component_type_code
129029 , p_component_appl_id => l_component_appl_id
129030 , p_amb_context_code => l_amb_context_code
129031 , p_entity_code => 'AP_INVOICES'
129032 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
129033 , p_side => 'NA'
129034 );
129035
129036 END IF;
129037
129038 --
129039 --
129040 END IF;
129041
129042 --
129043 -- Update the line information that should be overwritten
129044 --
129045 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
129046 p_header_num => 1);
129047 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
129048
129049 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
129050
129051 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
129052 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
129053 END IF;
129054
129055 --
129056 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
129057 --
129058 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
129059 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
129060 ELSE
129061 ---------------------------------------------------------------------------------------------------
129062 -- 4262811a Switch Sign
129063 ---------------------------------------------------------------------------------------------------
129064 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
129065 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129066 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129067 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129068 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129069 -- 5132302
129070 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
129071 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129072
129073 END IF;
129074
129075 -- 4955764
129076 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129077 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
129078
129079
129080 XLA_AE_LINES_PKG.ValidateCurrentLine;
129081 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129082
129083 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129084 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
129085 ,p_balance_type_code => l_balance_type_code);
129086
129087 END IF;
129088
129089 -----------------------------------------------------------------------------------------
129090 -- 4262811 Multiperiod Accounting
129091 -----------------------------------------------------------------------------------------
129092 -- No MPA option is assigned.
129093
129094
129095 END IF;
129096 END IF;
129097 --
129098
129099 --
129100 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129101 trace
129102 (p_msg => 'END of AcctLineType_207'
129103 ,p_level => C_LEVEL_PROCEDURE
129104 ,p_module => l_log_module);
129105 END IF;
129106 --
129107 EXCEPTION
129108 WHEN xla_exceptions_pkg.application_exception THEN
129109 RAISE;
129110 WHEN OTHERS THEN
129111 xla_exceptions_pkg.raise_message
129112 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_207');
129113 END AcctLineType_207;
129114 --
129115
129116 ---------------------------------------
129117 --
129118 -- PRIVATE FUNCTION
129119 -- AcctLineType_208
129120 --
129121 ---------------------------------------
129122 PROCEDURE AcctLineType_208 (
129123 p_application_id IN NUMBER
129124 ,p_event_id IN NUMBER
129125 ,p_calculate_acctd_flag IN VARCHAR2
129126 ,p_calculate_g_l_flag IN VARCHAR2
129127 ,p_actual_flag IN OUT VARCHAR2
129128 ,p_balance_type_code OUT VARCHAR2
129129 ,p_gain_or_loss_ref OUT VARCHAR2
129130
129131 --Invoice Distribution Description
129132 , p_source_1 IN VARCHAR2
129136 --Purchase Order Rate Variance Gain Account
129133 --Automatic Offsets Value
129134 , p_source_15 IN VARCHAR2
129135 , p_source_15_meaning IN VARCHAR2
129137 , p_source_20 IN NUMBER
129138 --Invoice Distribution Ledger Amount
129139 , p_source_21 IN NUMBER
129140 --Destination Type of the PO Distribution
129141 , p_source_22 IN VARCHAR2
129142 , p_source_22_meaning IN VARCHAR2
129143 --Purchase Order Rate Variance Loss Account
129144 , p_source_23 IN NUMBER
129145 --Invoice Distribution Account
129146 , p_source_30 IN NUMBER
129147 --Invoice Distribution Type
129148 , p_source_33 IN VARCHAR2
129149 , p_source_33_meaning IN VARCHAR2
129150 --Automatic Offsets Flag
129151 , p_source_47 IN VARCHAR2
129152 , p_source_47_meaning IN VARCHAR2
129153 --Accounting Reversal Indicator
129154 , p_source_52 IN VARCHAR2
129155 --Distribution Link Type
129156 , p_source_54 IN VARCHAR2
129157 --Allocation to Main Distribution Identifier
129158 , p_source_56 IN NUMBER
129159 --Invoice Identifier
129160 , p_source_57 IN NUMBER
129161 --Invoice Distribution Identifier
129162 , p_source_63 IN NUMBER
129163 --Payables Encumbrance Upgrade Credit Account
129164 , p_source_64 IN NUMBER
129165 --Payables Encumbrance Upgrade Credit Amount
129166 , p_source_65 IN NUMBER
129167 --Invoice Currency Code
129168 , p_source_66 IN VARCHAR2
129169 --Payables Encumbrance Upgrade Credit Base Amount
129170 , p_source_67 IN NUMBER
129171 --Payables Encumbrance Upgrade Debit Account
129172 , p_source_68 IN NUMBER
129173 --Payables Encumbrance Upgrade Debit Amount
129174 , p_source_69 IN NUMBER
129175 --Payables Encumbrance Upgrade Debit Base Amount
129176 , p_source_70 IN NUMBER
129177 --Payables Encumbrance Upgrade Option
129178 , p_source_71 IN VARCHAR2
129179 --Invoice Distribution Amount
129180 , p_source_72 IN NUMBER
129181 --Deferred Accounting End Date
129182 , p_source_76 IN DATE
129183 --Deferred Accounting Option
129184 , p_source_77 IN VARCHAR2
129185 --Deferred Accounting Start Date
129186 , p_source_78 IN DATE
129187 --Override Accounted Amount Indicator
129188 , p_source_79 IN VARCHAR2
129189 , p_source_79_meaning IN VARCHAR2
129190 --Invoice Supplier Identifier
129191 , p_source_80 IN NUMBER
129192 --Invoice Supplier Site Identifier
129193 , p_source_81 IN NUMBER
129194 --Third Party Type
129195 , p_source_82 IN VARCHAR2
129196 --Parent Reversal Identifier
129197 , p_source_83 IN NUMBER
129198 --Invoice Distribution Statistical Amount
129199 , p_source_84 IN NUMBER
129200 --Invoice Distribution Tax Line Identifier
129201 , p_source_85 IN NUMBER
129202 --Invoice Distribution Tax Distribution Identifier from Tax
129203 , p_source_86 IN NUMBER
129204 --Invoice Distribution Summary Tax Line Identifier
129205 , p_source_87 IN NUMBER
129206 --Payables Upgrade Credit Encumbrance Type Identifier
129207 , p_source_88 IN NUMBER
129208 --Payables Upgrade Debit Encumbrance Type Identifier
129209 , p_source_89 IN NUMBER
129210 --Business Flow Accounts Payable Application Identifier
129211 , p_source_90 IN NUMBER
129212 --Business Flow Invoice Distribution Type
129213 , p_source_91 IN VARCHAR2
129214 --Business Flow Invoice Entity Code
129215 , p_source_92 IN VARCHAR2
129216 --Business Flow Invoice Distribution Identifier
129217 , p_source_93 IN NUMBER
129218 --Business Flow Invoice Identifier
129219 , p_source_94 IN NUMBER
129220 --Accrue on Receipt Option
129221 , p_source_95 IN VARCHAR2
129222 , p_source_95_meaning IN VARCHAR2
129223 --Invoice Exchange Date
129224 , p_source_136 IN DATE
129225 --Invoice Exchange Rate
129226 , p_source_137 IN NUMBER
129227 --Invoice Exchange Rate Type
129228 , p_source_138 IN VARCHAR2
129229 )
129230 IS
129231
129232 l_component_type VARCHAR2(80);
129233 l_component_code VARCHAR2(30);
129234 l_component_type_code VARCHAR2(1);
129235 l_component_appl_id INTEGER;
129236 l_amb_context_code VARCHAR2(30);
129237 l_entity_code VARCHAR2(30);
129238 l_event_class_code VARCHAR2(30);
129239 l_ae_header_id NUMBER;
129240 l_event_type_code VARCHAR2(30);
129241 l_line_definition_code VARCHAR2(30);
129242 l_line_definition_owner_code VARCHAR2(1);
129243 --
129244 -- adr variables
129245 l_segment VARCHAR2(30);
129246 l_ccid NUMBER;
129247 l_adr_transaction_coa_id NUMBER;
129248 l_adr_accounting_coa_id NUMBER;
129249 l_adr_flexfield_segment_code VARCHAR2(30);
129250 l_adr_flex_value_set_id NUMBER;
129251 l_adr_value_type_code VARCHAR2(30);
129252 l_adr_value_combination_id NUMBER;
129253 l_adr_value_segment_code VARCHAR2(30);
129254
129255 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
129256 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
129257 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
129258 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
129259
129263 l_acc_rev_flag VARCHAR2(1);
129260 -- 4262811 Variables ------------------------------------------------------------------------------------------
129261 l_entered_amt_idx NUMBER;
129262 l_accted_amt_idx NUMBER;
129264 l_accrual_line_num NUMBER;
129265 l_tmp_amt NUMBER;
129266 l_acc_rev_natural_side_code VARCHAR2(1);
129267
129268 l_num_entries NUMBER;
129269 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
129270 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
129271 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
129272 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
129273 l_recog_line_1 NUMBER;
129274 l_recog_line_2 NUMBER;
129275
129276 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
129277 l_bflow_applied_to_amt NUMBER; -- 5132302
129278 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
129279
129280 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
129281
129282 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
129283 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
129284
129285 ---------------------------------------------------------------------------------------------------------------
129286
129287
129288 --
129289 -- bulk performance
129290 --
129291 l_balance_type_code VARCHAR2(1);
129292 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
129293 l_log_module VARCHAR2(240);
129294
129295 --
129296 -- Upgrade strategy
129297 --
129298 l_actual_upg_option VARCHAR2(1);
129299 l_enc_upg_option VARCHAR2(1);
129300
129301 --
129302 BEGIN
129303 --
129304 IF g_log_enabled THEN
129305 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_208';
129306 END IF;
129307 --
129308 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129309
129310 trace
129311 (p_msg => 'BEGIN of AcctLineType_208'
129312 ,p_level => C_LEVEL_PROCEDURE
129313 ,p_module => l_log_module);
129314
129315 END IF;
129316 --
129317 l_component_type := 'AMB_JLT';
129318 l_component_code := 'AP_TAX_EX_RATE_VAR_CM';
129319 l_component_type_code := 'S';
129320 l_component_appl_id := 200;
129321 l_amb_context_code := 'DEFAULT';
129322 l_entity_code := 'AP_INVOICES';
129323 l_event_class_code := 'CREDIT MEMOS';
129324 l_event_type_code := 'CREDIT MEMOS_ALL';
129325 l_line_definition_owner_code := 'S';
129326 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
129327 --
129328 l_balance_type_code := 'A';
129329 l_segment := NULL;
129330 l_ccid := NULL;
129331 l_adr_transaction_coa_id := NULL;
129332 l_adr_accounting_coa_id := NULL;
129333 l_adr_flexfield_segment_code := NULL;
129334 l_adr_flex_value_set_id := NULL;
129335 l_adr_value_type_code := NULL;
129336 l_adr_value_combination_id := NULL;
129337 l_adr_value_segment_code := NULL;
129338
129339 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
129340 l_bflow_class_code := ''; -- 4219869 Business Flow
129341 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129342 l_budgetary_control_flag := 'N';
129343
129344 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129345 l_bflow_applied_to_amt := NULL; -- 5132302
129346 l_entered_amt_idx := NULL; -- 4262811
129347 l_accted_amt_idx := NULL; -- 4262811
129348 l_acc_rev_flag := NULL; -- 4262811
129349 l_accrual_line_num := NULL; -- 4262811
129350 l_tmp_amt := NULL; -- 4262811
129351 --
129352 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
129353 (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
129354 return;
129355 END IF;
129356
129357 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129358 l_balance_type_code <> 'B' THEN
129359 IF NVL(p_source_33,'
129360 ') = 'TERV' AND
129361 NVL(p_source_95,'
129362 ') = 'Y'
129363 THEN
129364
129365 --
129366 XLA_AE_LINES_PKG.SetNewLine;
129367
129368 p_balance_type_code := l_balance_type_code;
129369 -- set the flag so later we will know whether the gain loss line needs to be created
129370
129371 IF(l_balance_type_code = 'A' ) THEN
129372 p_actual_flag :='G';
129373 END IF;
129374
129375 --
129376 -- bulk performance
129377 --
129378 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129379 p_header_num => 0); -- 4262811
129380 --
129381 -- set accounting line options
129382 --
129383 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129384 p_natural_side_code => 'D'
129385 , p_gain_or_loss_flag => 'Y'
129386 , p_gl_transfer_mode_code => 'S'
129387 , p_acct_entry_type_code => 'A'
129391 --
129388 , p_switch_side_flag => 'Y'
129389 , p_merge_duplicate_code => 'A'
129390 );
129392 l_acc_rev_natural_side_code := 'C'; -- 4262811
129393 --
129394 --
129395 -- set accounting line type info
129396 --
129397 xla_ae_lines_pkg.SetAcctLineType
129398 (p_component_type => l_component_type
129399 ,p_event_type_code => l_event_type_code
129400 ,p_line_definition_owner_code => l_line_definition_owner_code
129401 ,p_line_definition_code => l_line_definition_code
129402 ,p_accounting_line_code => l_component_code
129403 ,p_accounting_line_type_code => l_component_type_code
129404 ,p_accounting_line_appl_id => l_component_appl_id
129405 ,p_amb_context_code => l_amb_context_code
129406 ,p_entity_code => l_entity_code
129407 ,p_event_class_code => l_event_class_code);
129408 --
129409 -- set accounting class
129410 --
129411 xla_ae_lines_pkg.SetAcctClass(
129412 p_accounting_class_code => 'TERV'
129413 , p_ae_header_id => l_ae_header_id
129414 );
129415
129416 --
129417 -- set rounding class
129418 --
129419 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129420 'TERV';
129421
129422 --
129423 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129424 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129425 --
129426 -- bulk performance
129427 --
129428 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129429
129430 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129431 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129432
129433 -- 4955764
129434 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129435 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129436
129437 -- 4458381 Public Sector Enh
129438
129439 --
129440 -- set accounting attributes for the line type
129441 --
129442 l_entered_amt_idx := 23;
129443 l_accted_amt_idx := 28;
129444 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129445 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129446 l_rec_acct_attrs.array_char_value(1) := p_source_52;
129447 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129448 l_rec_acct_attrs.array_num_value(2) :=
129449 xla_ae_sources_pkg.GetSystemSourceNum(
129450 p_source_code => 'XLA_EVENT_APPL_ID'
129451 , p_source_type_code => 'Y'
129452 , p_source_application_id => 602
129453 );
129454 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129455 l_rec_acct_attrs.array_char_value(3) := p_source_54;
129456 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129457 l_rec_acct_attrs.array_char_value(4) :=
129458 xla_ae_sources_pkg.GetSystemSourceChar(
129459 p_source_code => 'XLA_ENTITY_CODE'
129460 , p_source_type_code => 'Y'
129461 , p_source_application_id => 602
129462 );
129463 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129464 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
129465 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129466 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
129467 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
129468 l_rec_acct_attrs.array_num_value(7) := p_source_90;
129469 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129470 l_rec_acct_attrs.array_char_value(8) := p_source_91;
129471 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
129472 l_rec_acct_attrs.array_char_value(9) := p_source_92;
129473 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
129474 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
129475 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129476 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
129477 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
129478 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
129479 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
129480 l_rec_acct_attrs.array_char_value(13) := p_source_54;
129481 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
129482 l_rec_acct_attrs.array_num_value(14) := p_source_64;
129483 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
129484 l_rec_acct_attrs.array_num_value(15) := p_source_65;
129485 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
129486 l_rec_acct_attrs.array_char_value(16) := p_source_66;
129487 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
129488 l_rec_acct_attrs.array_num_value(17) := p_source_67;
129489 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
129490 l_rec_acct_attrs.array_num_value(18) := p_source_68;
129491 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
129492 l_rec_acct_attrs.array_num_value(19) := p_source_69;
129493 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
129494 l_rec_acct_attrs.array_char_value(20) := p_source_66;
129498 l_rec_acct_attrs.array_char_value(22) := p_source_71;
129495 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
129496 l_rec_acct_attrs.array_num_value(21) := p_source_70;
129497 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
129499 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
129500 l_rec_acct_attrs.array_num_value(23) := p_source_72;
129501 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
129502 l_rec_acct_attrs.array_char_value(24) := p_source_66;
129503 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
129504 l_rec_acct_attrs.array_date_value(25) := p_source_136;
129505 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
129506 l_rec_acct_attrs.array_num_value(26) := p_source_137;
129507 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
129508 l_rec_acct_attrs.array_char_value(27) := p_source_138;
129509 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
129510 l_rec_acct_attrs.array_num_value(28) := p_source_21;
129511 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
129512 l_rec_acct_attrs.array_date_value(29) := p_source_76;
129513 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
129514 l_rec_acct_attrs.array_char_value(30) := p_source_77;
129515 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
129516 l_rec_acct_attrs.array_date_value(31) := p_source_78;
129517 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
129518 l_rec_acct_attrs.array_char_value(32) := p_source_79;
129519 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
129520 l_rec_acct_attrs.array_num_value(33) := p_source_80;
129521 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
129522 l_rec_acct_attrs.array_num_value(34) := p_source_81;
129523 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
129524 l_rec_acct_attrs.array_char_value(35) := p_source_82;
129525 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
129526 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
129527 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
129528 l_rec_acct_attrs.array_char_value(37) := p_source_54;
129529 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
129530 l_rec_acct_attrs.array_num_value(38) := p_source_84;
129531 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
129532 l_rec_acct_attrs.array_num_value(39) := p_source_85;
129533 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
129534 l_rec_acct_attrs.array_num_value(40) := p_source_86;
129535 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
129536 l_rec_acct_attrs.array_num_value(41) := p_source_87;
129537 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
129538 l_rec_acct_attrs.array_num_value(42) := p_source_88;
129539 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
129540 l_rec_acct_attrs.array_num_value(43) := p_source_89;
129541
129542 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
129543 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
129544
129545 ---------------------------------------------------------------------------------------------------------------
129546 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
129547 ---------------------------------------------------------------------------------------------------------------
129548 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
129549
129550 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129551 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129552
129553 IF xla_accounting_cache_pkg.GetValueChar
129554 (p_source_code => 'LEDGER_CATEGORY_CODE'
129555 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
129556 AND l_bflow_method_code = 'PRIOR_ENTRY'
129557 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
129558 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
129559 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
129560 )
129561 THEN
129562 xla_ae_lines_pkg.BflowUpgEntry
129563 (p_business_method_code => l_bflow_method_code
129564 ,p_business_class_code => l_bflow_class_code
129565 ,p_balance_type => l_balance_type_code);
129566 ELSE
129567 NULL;
129568 -- No business flow processing for business flow method of NONE.
129569 END IF;
129570
129571 --
129572 -- call analytical criteria
129573 --
129574
129575 --
129576 -- call description
129577 --
129578
129579 xla_ae_lines_pkg.SetLineDescription(
129580 p_ae_header_id => l_ae_header_id
129581 ,p_description => Description_1 (
129582 p_application_id => p_application_id
129583 , p_ae_header_id => l_ae_header_id
129584 , p_source_1 => p_source_1
129585 )
129586 );
129587
129588
129589 --
129590 -- call ADRs
129591 -- Bug 4922099
129592 --
129593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129594 (NVL(l_actual_upg_option, 'N') = 'O') OR
129595 (NVL(l_enc_upg_option, 'N') = 'O')
129596 )
129597 THEN
129601
129598 NULL;
129599 --
129600 --
129602 l_ccid := AcctDerRule_30(
129603 p_application_id => p_application_id
129604 , p_ae_header_id => l_ae_header_id
129605 , p_source_15 => p_source_15
129606 , p_source_15_meaning => p_source_15_meaning
129607 , p_source_20 => p_source_20
129608 , p_source_21 => p_source_21
129609 , p_source_22 => p_source_22
129610 , p_source_22_meaning => p_source_22_meaning
129611 , p_source_23 => p_source_23
129612 , p_source_30 => p_source_30
129613 , p_source_47 => p_source_47
129614 , p_source_47_meaning => p_source_47_meaning
129615 , x_transaction_coa_id => l_adr_transaction_coa_id
129616 , x_accounting_coa_id => l_adr_accounting_coa_id
129617 , x_value_type_code => l_adr_value_type_code
129618 , p_side => 'NA'
129619 );
129620
129621 xla_ae_lines_pkg.set_ccid(
129622 p_code_combination_id => l_ccid
129623 , p_value_type_code => l_adr_value_type_code
129624 , p_transaction_coa_id => l_adr_transaction_coa_id
129625 , p_accounting_coa_id => l_adr_accounting_coa_id
129626 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
129627 , p_adr_type_code => 'S'
129628 , p_component_type => l_component_type
129629 , p_component_code => l_component_code
129630 , p_component_type_code => l_component_type_code
129631 , p_component_appl_id => l_component_appl_id
129632 , p_amb_context_code => l_amb_context_code
129633 , p_side => 'NA'
129634 );
129635
129636
129637 l_segment := AcctDerRule_8(
129638 p_application_id => p_application_id
129639 , p_ae_header_id => l_ae_header_id
129640 , p_source_15 => p_source_15
129641 , p_source_15_meaning => p_source_15_meaning
129642 , p_source_20 => p_source_20
129643 , p_source_21 => p_source_21
129644 , p_source_22 => p_source_22
129645 , p_source_22_meaning => p_source_22_meaning
129646 , p_source_23 => p_source_23
129647 , x_transaction_coa_id => l_adr_transaction_coa_id
129648 , x_accounting_coa_id => l_adr_accounting_coa_id
129649 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129650 , x_flex_value_set_id => l_adr_flex_value_set_id
129651 , x_value_type_code => l_adr_value_type_code
129652 , x_value_combination_id => l_adr_value_combination_id
129653 , x_value_segment_code => l_adr_value_segment_code
129654 , p_side => 'NA'
129655 , p_override_seg_flag => 'Y'
129656 );
129657
129658 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129659
129660 xla_ae_lines_pkg.set_segment(
129661 p_to_segment_code => 'GL_ACCOUNT'
129662 , p_segment_value => l_segment
129663 , p_from_segment_code => l_adr_value_segment_code
129664 , p_from_combination_id => l_adr_value_combination_id
129665 , p_value_type_code => l_adr_value_type_code
129666 , p_transaction_coa_id => l_adr_transaction_coa_id
129667 , p_accounting_coa_id => l_adr_accounting_coa_id
129668 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129669 , p_flex_value_set_id => l_adr_flex_value_set_id
129670 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
129671 , p_adr_type_code => 'S'
129672 , p_component_type => l_component_type
129673 , p_component_code => l_component_code
129674 , p_component_type_code => l_component_type_code
129675 , p_component_appl_id => l_component_appl_id
129676 , p_amb_context_code => l_amb_context_code
129677 , p_entity_code => 'AP_INVOICES'
129678 , p_event_class_code => 'CREDIT MEMOS'
129679 , p_side => 'NA'
129680 );
129681
129682 END IF;
129683
129684 l_segment := AcctDerRule_23(
129685 p_application_id => p_application_id
129686 , p_ae_header_id => l_ae_header_id
129687 , p_source_15 => p_source_15
129688 , p_source_15_meaning => p_source_15_meaning
129689 , p_source_22 => p_source_22
129690 , p_source_22_meaning => p_source_22_meaning
129691 , p_source_30 => p_source_30
129692 , x_transaction_coa_id => l_adr_transaction_coa_id
129693 , x_accounting_coa_id => l_adr_accounting_coa_id
129694 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129695 , x_flex_value_set_id => l_adr_flex_value_set_id
129696 , x_value_type_code => l_adr_value_type_code
129697 , x_value_combination_id => l_adr_value_combination_id
129698 , x_value_segment_code => l_adr_value_segment_code
129699 , p_side => 'NA'
129700 , p_override_seg_flag => 'Y'
129701 );
129702
129703 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129704
129705 xla_ae_lines_pkg.set_segment(
129706 p_to_segment_code => 'GL_BALANCING'
129707 , p_segment_value => l_segment
129708 , p_from_segment_code => l_adr_value_segment_code
129709 , p_from_combination_id => l_adr_value_combination_id
129710 , p_value_type_code => l_adr_value_type_code
129711 , p_transaction_coa_id => l_adr_transaction_coa_id
129712 , p_accounting_coa_id => l_adr_accounting_coa_id
129716 , p_adr_type_code => 'S'
129713 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129714 , p_flex_value_set_id => l_adr_flex_value_set_id
129715 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
129717 , p_component_type => l_component_type
129718 , p_component_code => l_component_code
129719 , p_component_type_code => l_component_type_code
129720 , p_component_appl_id => l_component_appl_id
129721 , p_amb_context_code => l_amb_context_code
129722 , p_entity_code => 'AP_INVOICES'
129723 , p_event_class_code => 'CREDIT MEMOS'
129724 , p_side => 'NA'
129725 );
129726
129727 END IF;
129728
129729 --
129730 --
129731 END IF;
129732 --
129733 -- Bug 4922099
129734 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
129735 (NVL(l_enc_upg_option, 'N') = 'O')
129736 ) AND
129737 (l_bflow_method_code = 'PRIOR_ENTRY')
129738 )
129739 THEN
129740 IF
129741 --
129742 1 = 2
129743 --
129744 THEN
129745 xla_accounting_err_pkg.build_message
129746 (p_appli_s_name => 'XLA'
129747 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129748 ,p_token_1 => 'LINE_NUMBER'
129749 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
129750 ,p_token_2 => 'LINE_TYPE_NAME'
129751 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
129752 l_component_type
129753 ,l_component_code
129754 ,l_component_type_code
129755 ,l_component_appl_id
129756 ,l_amb_context_code
129757 ,l_entity_code
129758 ,l_event_class_code
129759 )
129760 ,p_token_3 => 'OWNER'
129761 ,p_value_3 => xla_lookups_pkg.get_meaning(
129762 p_lookup_type => 'XLA_OWNER_TYPE'
129763 ,p_lookup_code => l_component_type_code
129764 )
129765 ,p_token_4 => 'PRODUCT_NAME'
129766 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
129767 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
129768 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
129769 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
129770 ,p_ae_header_id => NULL
129771 );
129772
129773 IF (C_LEVEL_ERROR>= g_log_level) THEN
129774 trace
129775 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129776 ,p_level => C_LEVEL_ERROR
129777 ,p_module => l_log_module);
129778 END IF;
129779 END IF;
129780 END IF;
129781 --
129782 --
129783 ------------------------------------------------------------------------------------------------
129784 -- 4219869 Business Flow
129785 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
129786 -- Prior Entry. Currently, the following code is always generated.
129787 ------------------------------------------------------------------------------------------------
129788 XLA_AE_LINES_PKG.ValidateCurrentLine;
129789
129790 ------------------------------------------------------------------------------------
129791 -- 4219869 Business Flow
129792 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
129793 ------------------------------------------------------------------------------------
129794 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129795
129796 ----------------------------------------------------------------------------------
129797 -- 4219869 Business Flow
129798 -- Update journal entry status -- Need to generate this within IF <condition>
129799 ----------------------------------------------------------------------------------
129800 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129801 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
129802 ,p_balance_type_code => l_balance_type_code
129803 );
129804
129805 -------------------------------------------------------------------------------------------
129806 -- 4262811 - Generate the Accrual Reversal lines
129810 (g_array_event(p_event_id).array_value_num('header_index'));
129807 -------------------------------------------------------------------------------------------
129808 BEGIN
129809 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
129811 IF l_acc_rev_flag IS NULL THEN
129812 l_acc_rev_flag := 'N';
129813 END IF;
129814 EXCEPTION
129815 WHEN OTHERS THEN
129816 l_acc_rev_flag := 'N';
129817 END;
129818 --
129819 IF (l_acc_rev_flag = 'Y') THEN
129820
129821 -- 4645092 ------------------------------------------------------------------------------
129822 -- To allow MPA report to determine if it should generate report process
129823 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
129824 ------------------------------------------------------------------------------------------
129825
129826 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
129827 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
129828 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
129829 -- call ADRs
129830 -- Bug 4922099
129831 --
129832 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129833 (NVL(l_actual_upg_option, 'N') = 'O') OR
129834 (NVL(l_enc_upg_option, 'N') = 'O')
129835 )
129836 THEN
129837 NULL;
129838 --
129839 --
129840
129841 l_ccid := AcctDerRule_30(
129842 p_application_id => p_application_id
129843 , p_ae_header_id => l_ae_header_id
129844 , p_source_15 => p_source_15
129845 , p_source_15_meaning => p_source_15_meaning
129846 , p_source_20 => p_source_20
129847 , p_source_21 => p_source_21
129848 , p_source_22 => p_source_22
129849 , p_source_22_meaning => p_source_22_meaning
129850 , p_source_23 => p_source_23
129851 , p_source_30 => p_source_30
129852 , p_source_47 => p_source_47
129853 , p_source_47_meaning => p_source_47_meaning
129854 , x_transaction_coa_id => l_adr_transaction_coa_id
129855 , x_accounting_coa_id => l_adr_accounting_coa_id
129856 , x_value_type_code => l_adr_value_type_code
129857 , p_side => 'NA'
129858 );
129859
129860 xla_ae_lines_pkg.set_ccid(
129861 p_code_combination_id => l_ccid
129862 , p_value_type_code => l_adr_value_type_code
129863 , p_transaction_coa_id => l_adr_transaction_coa_id
129864 , p_accounting_coa_id => l_adr_accounting_coa_id
129865 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
129866 , p_adr_type_code => 'S'
129867 , p_component_type => l_component_type
129868 , p_component_code => l_component_code
129869 , p_component_type_code => l_component_type_code
129870 , p_component_appl_id => l_component_appl_id
129871 , p_amb_context_code => l_amb_context_code
129872 , p_side => 'NA'
129873 );
129874
129875
129876 l_segment := AcctDerRule_8(
129877 p_application_id => p_application_id
129878 , p_ae_header_id => l_ae_header_id
129879 , p_source_15 => p_source_15
129880 , p_source_15_meaning => p_source_15_meaning
129881 , p_source_20 => p_source_20
129882 , p_source_21 => p_source_21
129883 , p_source_22 => p_source_22
129884 , p_source_22_meaning => p_source_22_meaning
129885 , p_source_23 => p_source_23
129886 , x_transaction_coa_id => l_adr_transaction_coa_id
129887 , x_accounting_coa_id => l_adr_accounting_coa_id
129888 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129889 , x_flex_value_set_id => l_adr_flex_value_set_id
129890 , x_value_type_code => l_adr_value_type_code
129891 , x_value_combination_id => l_adr_value_combination_id
129892 , x_value_segment_code => l_adr_value_segment_code
129893 , p_side => 'NA'
129894 , p_override_seg_flag => 'Y'
129895 );
129896
129897 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129898
129899 xla_ae_lines_pkg.set_segment(
129900 p_to_segment_code => 'GL_ACCOUNT'
129901 , p_segment_value => l_segment
129902 , p_from_segment_code => l_adr_value_segment_code
129903 , p_from_combination_id => l_adr_value_combination_id
129904 , p_value_type_code => l_adr_value_type_code
129905 , p_transaction_coa_id => l_adr_transaction_coa_id
129906 , p_accounting_coa_id => l_adr_accounting_coa_id
129907 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129908 , p_flex_value_set_id => l_adr_flex_value_set_id
129909 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
129910 , p_adr_type_code => 'S'
129911 , p_component_type => l_component_type
129912 , p_component_code => l_component_code
129913 , p_component_type_code => l_component_type_code
129914 , p_component_appl_id => l_component_appl_id
129915 , p_amb_context_code => l_amb_context_code
129916 , p_entity_code => 'AP_INVOICES'
129917 , p_event_class_code => 'CREDIT MEMOS'
129918 , p_side => 'NA'
129919 );
129920
129921 END IF;
129925 , p_ae_header_id => l_ae_header_id
129922
129923 l_segment := AcctDerRule_23(
129924 p_application_id => p_application_id
129926 , p_source_15 => p_source_15
129927 , p_source_15_meaning => p_source_15_meaning
129928 , p_source_22 => p_source_22
129929 , p_source_22_meaning => p_source_22_meaning
129930 , p_source_30 => p_source_30
129931 , x_transaction_coa_id => l_adr_transaction_coa_id
129932 , x_accounting_coa_id => l_adr_accounting_coa_id
129933 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129934 , x_flex_value_set_id => l_adr_flex_value_set_id
129935 , x_value_type_code => l_adr_value_type_code
129936 , x_value_combination_id => l_adr_value_combination_id
129937 , x_value_segment_code => l_adr_value_segment_code
129938 , p_side => 'NA'
129939 , p_override_seg_flag => 'Y'
129940 );
129941
129942 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129943
129944 xla_ae_lines_pkg.set_segment(
129945 p_to_segment_code => 'GL_BALANCING'
129946 , p_segment_value => l_segment
129947 , p_from_segment_code => l_adr_value_segment_code
129948 , p_from_combination_id => l_adr_value_combination_id
129949 , p_value_type_code => l_adr_value_type_code
129950 , p_transaction_coa_id => l_adr_transaction_coa_id
129951 , p_accounting_coa_id => l_adr_accounting_coa_id
129952 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129953 , p_flex_value_set_id => l_adr_flex_value_set_id
129954 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
129955 , p_adr_type_code => 'S'
129956 , p_component_type => l_component_type
129957 , p_component_code => l_component_code
129958 , p_component_type_code => l_component_type_code
129959 , p_component_appl_id => l_component_appl_id
129960 , p_amb_context_code => l_amb_context_code
129961 , p_entity_code => 'AP_INVOICES'
129962 , p_event_class_code => 'CREDIT MEMOS'
129963 , p_side => 'NA'
129964 );
129965
129966 END IF;
129967
129968 --
129969 --
129970 END IF;
129971
129972 --
129973 -- Update the line information that should be overwritten
129974 --
129975 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
129976 p_header_num => 1);
129977 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
129978
129979 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
129980
129981 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
129982 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
129983 END IF;
129984
129985 --
129986 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
129987 --
129988 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
129989 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
129990 ELSE
129991 ---------------------------------------------------------------------------------------------------
129992 -- 4262811a Switch Sign
129993 ---------------------------------------------------------------------------------------------------
129994 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
129995 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129996 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129997 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129998 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129999 -- 5132302
130000 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130001 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130002
130003 END IF;
130004
130005 -- 4955764
130006 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130007 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130008
130009
130010 XLA_AE_LINES_PKG.ValidateCurrentLine;
130011 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130012
130013 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130014 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130015 ,p_balance_type_code => l_balance_type_code);
130016
130017 END IF;
130018
130019 -----------------------------------------------------------------------------------------
130020 -- 4262811 Multiperiod Accounting
130021 -----------------------------------------------------------------------------------------
130022 -- No MPA option is assigned.
130023
130024
130025 END IF;
130026 END IF;
130027 --
130028
130029 --
130030 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130031 trace
130032 (p_msg => 'END of AcctLineType_208'
130033 ,p_level => C_LEVEL_PROCEDURE
130037 EXCEPTION
130034 ,p_module => l_log_module);
130035 END IF;
130036 --
130038 WHEN xla_exceptions_pkg.application_exception THEN
130039 RAISE;
130040 WHEN OTHERS THEN
130041 xla_exceptions_pkg.raise_message
130042 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_208');
130043 END AcctLineType_208;
130044 --
130045
130046 ---------------------------------------
130047 --
130048 -- PRIVATE FUNCTION
130049 -- AcctLineType_209
130050 --
130051 ---------------------------------------
130052 PROCEDURE AcctLineType_209 (
130053 p_application_id IN NUMBER
130054 ,p_event_id IN NUMBER
130055 ,p_calculate_acctd_flag IN VARCHAR2
130056 ,p_calculate_g_l_flag IN VARCHAR2
130057 ,p_actual_flag IN OUT VARCHAR2
130058 ,p_balance_type_code OUT VARCHAR2
130059 ,p_gain_or_loss_ref OUT VARCHAR2
130060
130061 --Invoice Distribution Description
130062 , p_source_1 IN VARCHAR2
130063 --Automatic Offsets Value
130064 , p_source_15 IN VARCHAR2
130065 , p_source_15_meaning IN VARCHAR2
130066 --Purchase Order Rate Variance Gain Account
130067 , p_source_20 IN NUMBER
130068 --Invoice Distribution Ledger Amount
130069 , p_source_21 IN NUMBER
130070 --Destination Type of the PO Distribution
130071 , p_source_22 IN VARCHAR2
130072 , p_source_22_meaning IN VARCHAR2
130073 --Purchase Order Rate Variance Loss Account
130074 , p_source_23 IN NUMBER
130075 --Invoice Distribution Account
130076 , p_source_30 IN NUMBER
130077 --Invoice Distribution Type
130078 , p_source_33 IN VARCHAR2
130079 , p_source_33_meaning IN VARCHAR2
130080 --Automatic Offsets Flag
130081 , p_source_47 IN VARCHAR2
130082 , p_source_47_meaning IN VARCHAR2
130083 --Accounting Reversal Indicator
130084 , p_source_52 IN VARCHAR2
130085 --Distribution Link Type
130086 , p_source_54 IN VARCHAR2
130087 --Allocation to Main Distribution Identifier
130088 , p_source_56 IN NUMBER
130089 --Invoice Identifier
130090 , p_source_57 IN NUMBER
130091 --Invoice Distribution Identifier
130092 , p_source_63 IN NUMBER
130093 --Payables Encumbrance Upgrade Credit Account
130094 , p_source_64 IN NUMBER
130095 --Payables Encumbrance Upgrade Credit Amount
130096 , p_source_65 IN NUMBER
130097 --Invoice Currency Code
130098 , p_source_66 IN VARCHAR2
130099 --Payables Encumbrance Upgrade Credit Base Amount
130100 , p_source_67 IN NUMBER
130101 --Payables Encumbrance Upgrade Debit Account
130102 , p_source_68 IN NUMBER
130103 --Payables Encumbrance Upgrade Debit Amount
130104 , p_source_69 IN NUMBER
130105 --Payables Encumbrance Upgrade Debit Base Amount
130106 , p_source_70 IN NUMBER
130107 --Payables Encumbrance Upgrade Option
130108 , p_source_71 IN VARCHAR2
130109 --Invoice Distribution Amount
130110 , p_source_72 IN NUMBER
130111 --Deferred Accounting End Date
130112 , p_source_76 IN DATE
130113 --Deferred Accounting Option
130114 , p_source_77 IN VARCHAR2
130115 --Deferred Accounting Start Date
130116 , p_source_78 IN DATE
130117 --Override Accounted Amount Indicator
130118 , p_source_79 IN VARCHAR2
130119 , p_source_79_meaning IN VARCHAR2
130120 --Invoice Supplier Identifier
130121 , p_source_80 IN NUMBER
130122 --Invoice Supplier Site Identifier
130123 , p_source_81 IN NUMBER
130124 --Third Party Type
130125 , p_source_82 IN VARCHAR2
130126 --Parent Reversal Identifier
130127 , p_source_83 IN NUMBER
130128 --Invoice Distribution Tax Line Identifier
130129 , p_source_85 IN NUMBER
130130 --Invoice Distribution Tax Distribution Identifier from Tax
130131 , p_source_86 IN NUMBER
130132 --Invoice Distribution Summary Tax Line Identifier
130133 , p_source_87 IN NUMBER
130134 --Payables Upgrade Credit Encumbrance Type Identifier
130135 , p_source_88 IN NUMBER
130136 --Payables Upgrade Debit Encumbrance Type Identifier
130137 , p_source_89 IN NUMBER
130138 --Business Flow Accounts Payable Application Identifier
130139 , p_source_90 IN NUMBER
130140 --Business Flow Invoice Distribution Type
130141 , p_source_91 IN VARCHAR2
130142 --Business Flow Invoice Entity Code
130143 , p_source_92 IN VARCHAR2
130144 --Business Flow Invoice Distribution Identifier
130145 , p_source_93 IN NUMBER
130146 --Business Flow Invoice Identifier
130147 , p_source_94 IN NUMBER
130148 --Accrue on Receipt Option
130149 , p_source_95 IN VARCHAR2
130150 , p_source_95_meaning IN VARCHAR2
130151 --Invoice Exchange Date
130152 , p_source_136 IN DATE
130153 --Invoice Exchange Rate
130154 , p_source_137 IN NUMBER
130155 --Invoice Exchange Rate Type
130156 , p_source_138 IN VARCHAR2
130157 )
130158 IS
130159
130160 l_component_type VARCHAR2(80);
130161 l_component_code VARCHAR2(30);
130162 l_component_type_code VARCHAR2(1);
130163 l_component_appl_id INTEGER;
130164 l_amb_context_code VARCHAR2(30);
130165 l_entity_code VARCHAR2(30);
130166 l_event_class_code VARCHAR2(30);
130167 l_ae_header_id NUMBER;
130168 l_event_type_code VARCHAR2(30);
130172 -- adr variables
130169 l_line_definition_code VARCHAR2(30);
130170 l_line_definition_owner_code VARCHAR2(1);
130171 --
130173 l_segment VARCHAR2(30);
130174 l_ccid NUMBER;
130175 l_adr_transaction_coa_id NUMBER;
130176 l_adr_accounting_coa_id NUMBER;
130177 l_adr_flexfield_segment_code VARCHAR2(30);
130178 l_adr_flex_value_set_id NUMBER;
130179 l_adr_value_type_code VARCHAR2(30);
130180 l_adr_value_combination_id NUMBER;
130181 l_adr_value_segment_code VARCHAR2(30);
130182
130183 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
130184 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
130185 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
130186 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
130187
130188 -- 4262811 Variables ------------------------------------------------------------------------------------------
130189 l_entered_amt_idx NUMBER;
130190 l_accted_amt_idx NUMBER;
130191 l_acc_rev_flag VARCHAR2(1);
130192 l_accrual_line_num NUMBER;
130193 l_tmp_amt NUMBER;
130194 l_acc_rev_natural_side_code VARCHAR2(1);
130195
130196 l_num_entries NUMBER;
130197 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
130198 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
130199 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
130200 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
130201 l_recog_line_1 NUMBER;
130202 l_recog_line_2 NUMBER;
130203
130204 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
130205 l_bflow_applied_to_amt NUMBER; -- 5132302
130206 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
130207
130208 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
130209
130210 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
130211 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
130212
130213 ---------------------------------------------------------------------------------------------------------------
130214
130215
130216 --
130217 -- bulk performance
130218 --
130219 l_balance_type_code VARCHAR2(1);
130220 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
130221 l_log_module VARCHAR2(240);
130222
130223 --
130224 -- Upgrade strategy
130225 --
130226 l_actual_upg_option VARCHAR2(1);
130227 l_enc_upg_option VARCHAR2(1);
130228
130229 --
130230 BEGIN
130231 --
130232 IF g_log_enabled THEN
130233 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_209';
130234 END IF;
130235 --
130236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130237
130238 trace
130239 (p_msg => 'BEGIN of AcctLineType_209'
130240 ,p_level => C_LEVEL_PROCEDURE
130241 ,p_module => l_log_module);
130242
130243 END IF;
130244 --
130245 l_component_type := 'AMB_JLT';
130246 l_component_code := 'AP_TAX_EX_RATE_VAR_DM';
130247 l_component_type_code := 'S';
130248 l_component_appl_id := 200;
130249 l_amb_context_code := 'DEFAULT';
130250 l_entity_code := 'AP_INVOICES';
130251 l_event_class_code := 'DEBIT MEMOS';
130252 l_event_type_code := 'DEBIT MEMOS_ALL';
130253 l_line_definition_owner_code := 'S';
130254 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
130255 --
130256 l_balance_type_code := 'A';
130257 l_segment := NULL;
130258 l_ccid := NULL;
130259 l_adr_transaction_coa_id := NULL;
130260 l_adr_accounting_coa_id := NULL;
130261 l_adr_flexfield_segment_code := NULL;
130262 l_adr_flex_value_set_id := NULL;
130263 l_adr_value_type_code := NULL;
130264 l_adr_value_combination_id := NULL;
130265 l_adr_value_segment_code := NULL;
130266
130267 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
130268 l_bflow_class_code := ''; -- 4219869 Business Flow
130269 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
130270 l_budgetary_control_flag := 'N';
130271
130272 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130273 l_bflow_applied_to_amt := NULL; -- 5132302
130274 l_entered_amt_idx := NULL; -- 4262811
130275 l_accted_amt_idx := NULL; -- 4262811
130276 l_acc_rev_flag := NULL; -- 4262811
130277 l_accrual_line_num := NULL; -- 4262811
130278 l_tmp_amt := NULL; -- 4262811
130279 --
130280 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
130281 (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
130282 return;
130283 END IF;
130284
130285 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
130286 l_balance_type_code <> 'B' THEN
130287 IF NVL(p_source_33,'
130288 ') = 'TERV' AND
130289 NVL(p_source_95,'
130290 ') = 'Y'
130291 THEN
130295
130292
130293 --
130294 XLA_AE_LINES_PKG.SetNewLine;
130296 p_balance_type_code := l_balance_type_code;
130297 -- set the flag so later we will know whether the gain loss line needs to be created
130298
130299 IF(l_balance_type_code = 'A' ) THEN
130300 p_actual_flag :='G';
130301 END IF;
130302
130303 --
130304 -- bulk performance
130305 --
130306 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
130307 p_header_num => 0); -- 4262811
130308 --
130309 -- set accounting line options
130310 --
130311 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
130312 p_natural_side_code => 'D'
130313 , p_gain_or_loss_flag => 'Y'
130314 , p_gl_transfer_mode_code => 'S'
130315 , p_acct_entry_type_code => 'A'
130316 , p_switch_side_flag => 'Y'
130317 , p_merge_duplicate_code => 'A'
130318 );
130319 --
130320 l_acc_rev_natural_side_code := 'C'; -- 4262811
130321 --
130322 --
130323 -- set accounting line type info
130324 --
130325 xla_ae_lines_pkg.SetAcctLineType
130326 (p_component_type => l_component_type
130327 ,p_event_type_code => l_event_type_code
130328 ,p_line_definition_owner_code => l_line_definition_owner_code
130329 ,p_line_definition_code => l_line_definition_code
130330 ,p_accounting_line_code => l_component_code
130331 ,p_accounting_line_type_code => l_component_type_code
130332 ,p_accounting_line_appl_id => l_component_appl_id
130333 ,p_amb_context_code => l_amb_context_code
130334 ,p_entity_code => l_entity_code
130335 ,p_event_class_code => l_event_class_code);
130336 --
130337 -- set accounting class
130338 --
130339 xla_ae_lines_pkg.SetAcctClass(
130340 p_accounting_class_code => 'TERV'
130341 , p_ae_header_id => l_ae_header_id
130342 );
130343
130344 --
130345 -- set rounding class
130346 --
130347 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
130348 'TERV';
130349
130350 --
130351 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
130352 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
130353 --
130354 -- bulk performance
130355 --
130356 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
130357
130358 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
130359 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
130360
130361 -- 4955764
130362 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130363 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
130364
130365 -- 4458381 Public Sector Enh
130366
130367 --
130368 -- set accounting attributes for the line type
130369 --
130370 l_entered_amt_idx := 23;
130371 l_accted_amt_idx := 28;
130372 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130373 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
130374 l_rec_acct_attrs.array_char_value(1) := p_source_52;
130375 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
130376 l_rec_acct_attrs.array_num_value(2) :=
130377 xla_ae_sources_pkg.GetSystemSourceNum(
130378 p_source_code => 'XLA_EVENT_APPL_ID'
130379 , p_source_type_code => 'Y'
130380 , p_source_application_id => 602
130381 );
130382 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
130383 l_rec_acct_attrs.array_char_value(3) := p_source_54;
130384 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
130385 l_rec_acct_attrs.array_char_value(4) :=
130386 xla_ae_sources_pkg.GetSystemSourceChar(
130387 p_source_code => 'XLA_ENTITY_CODE'
130388 , p_source_type_code => 'Y'
130389 , p_source_application_id => 602
130390 );
130391 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
130392 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
130393 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
130394 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
130395 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
130396 l_rec_acct_attrs.array_num_value(7) := p_source_90;
130397 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
130398 l_rec_acct_attrs.array_char_value(8) := p_source_91;
130399 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
130400 l_rec_acct_attrs.array_char_value(9) := p_source_92;
130401 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
130402 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
130403 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
130404 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
130405 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
130406 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
130407 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
130408 l_rec_acct_attrs.array_char_value(13) := p_source_54;
130409 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
130413 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
130410 l_rec_acct_attrs.array_num_value(14) := p_source_64;
130411 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
130412 l_rec_acct_attrs.array_num_value(15) := p_source_65;
130414 l_rec_acct_attrs.array_char_value(16) := p_source_66;
130415 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
130416 l_rec_acct_attrs.array_num_value(17) := p_source_67;
130417 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
130418 l_rec_acct_attrs.array_num_value(18) := p_source_68;
130419 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
130420 l_rec_acct_attrs.array_num_value(19) := p_source_69;
130421 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
130422 l_rec_acct_attrs.array_char_value(20) := p_source_66;
130423 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
130424 l_rec_acct_attrs.array_num_value(21) := p_source_70;
130425 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
130426 l_rec_acct_attrs.array_char_value(22) := p_source_71;
130427 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
130428 l_rec_acct_attrs.array_num_value(23) := p_source_72;
130429 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
130430 l_rec_acct_attrs.array_char_value(24) := p_source_66;
130431 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
130432 l_rec_acct_attrs.array_date_value(25) := p_source_136;
130433 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
130434 l_rec_acct_attrs.array_num_value(26) := p_source_137;
130435 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
130436 l_rec_acct_attrs.array_char_value(27) := p_source_138;
130437 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
130438 l_rec_acct_attrs.array_num_value(28) := p_source_21;
130439 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
130440 l_rec_acct_attrs.array_date_value(29) := p_source_76;
130441 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
130442 l_rec_acct_attrs.array_char_value(30) := p_source_77;
130443 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
130444 l_rec_acct_attrs.array_date_value(31) := p_source_78;
130445 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
130446 l_rec_acct_attrs.array_char_value(32) := p_source_79;
130447 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
130448 l_rec_acct_attrs.array_num_value(33) := p_source_80;
130449 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
130450 l_rec_acct_attrs.array_num_value(34) := p_source_81;
130451 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
130452 l_rec_acct_attrs.array_char_value(35) := p_source_82;
130453 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
130454 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
130455 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
130456 l_rec_acct_attrs.array_char_value(37) := p_source_54;
130457 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
130458 l_rec_acct_attrs.array_num_value(38) := p_source_85;
130459 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
130460 l_rec_acct_attrs.array_num_value(39) := p_source_86;
130461 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
130462 l_rec_acct_attrs.array_num_value(40) := p_source_87;
130463 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
130464 l_rec_acct_attrs.array_num_value(41) := p_source_88;
130465 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
130466 l_rec_acct_attrs.array_num_value(42) := p_source_89;
130467
130468 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
130469 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
130470
130471 ---------------------------------------------------------------------------------------------------------------
130472 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
130473 ---------------------------------------------------------------------------------------------------------------
130474 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
130475
130476 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130477 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130478
130479 IF xla_accounting_cache_pkg.GetValueChar
130480 (p_source_code => 'LEDGER_CATEGORY_CODE'
130481 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
130482 AND l_bflow_method_code = 'PRIOR_ENTRY'
130483 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
130484 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
130485 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
130486 )
130487 THEN
130488 xla_ae_lines_pkg.BflowUpgEntry
130489 (p_business_method_code => l_bflow_method_code
130490 ,p_business_class_code => l_bflow_class_code
130491 ,p_balance_type => l_balance_type_code);
130492 ELSE
130493 NULL;
130494 -- No business flow processing for business flow method of NONE.
130495 END IF;
130496
130497 --
130498 -- call analytical criteria
130499 --
130503 --
130500
130501 --
130502 -- call description
130504
130505 xla_ae_lines_pkg.SetLineDescription(
130506 p_ae_header_id => l_ae_header_id
130507 ,p_description => Description_1 (
130508 p_application_id => p_application_id
130509 , p_ae_header_id => l_ae_header_id
130510 , p_source_1 => p_source_1
130511 )
130512 );
130513
130514
130515 --
130516 -- call ADRs
130517 -- Bug 4922099
130518 --
130519 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130520 (NVL(l_actual_upg_option, 'N') = 'O') OR
130521 (NVL(l_enc_upg_option, 'N') = 'O')
130522 )
130523 THEN
130524 NULL;
130525 --
130526 --
130527
130528 l_ccid := AcctDerRule_30(
130529 p_application_id => p_application_id
130530 , p_ae_header_id => l_ae_header_id
130531 , p_source_15 => p_source_15
130532 , p_source_15_meaning => p_source_15_meaning
130533 , p_source_20 => p_source_20
130534 , p_source_21 => p_source_21
130535 , p_source_22 => p_source_22
130536 , p_source_22_meaning => p_source_22_meaning
130537 , p_source_23 => p_source_23
130538 , p_source_30 => p_source_30
130539 , p_source_47 => p_source_47
130540 , p_source_47_meaning => p_source_47_meaning
130541 , x_transaction_coa_id => l_adr_transaction_coa_id
130542 , x_accounting_coa_id => l_adr_accounting_coa_id
130543 , x_value_type_code => l_adr_value_type_code
130544 , p_side => 'NA'
130545 );
130546
130547 xla_ae_lines_pkg.set_ccid(
130548 p_code_combination_id => l_ccid
130549 , p_value_type_code => l_adr_value_type_code
130550 , p_transaction_coa_id => l_adr_transaction_coa_id
130551 , p_accounting_coa_id => l_adr_accounting_coa_id
130552 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130553 , p_adr_type_code => 'S'
130554 , p_component_type => l_component_type
130555 , p_component_code => l_component_code
130556 , p_component_type_code => l_component_type_code
130557 , p_component_appl_id => l_component_appl_id
130558 , p_amb_context_code => l_amb_context_code
130559 , p_side => 'NA'
130560 );
130561
130562
130563 l_segment := AcctDerRule_8(
130564 p_application_id => p_application_id
130565 , p_ae_header_id => l_ae_header_id
130566 , p_source_15 => p_source_15
130567 , p_source_15_meaning => p_source_15_meaning
130568 , p_source_20 => p_source_20
130569 , p_source_21 => p_source_21
130570 , p_source_22 => p_source_22
130571 , p_source_22_meaning => p_source_22_meaning
130572 , p_source_23 => p_source_23
130573 , x_transaction_coa_id => l_adr_transaction_coa_id
130574 , x_accounting_coa_id => l_adr_accounting_coa_id
130575 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130576 , x_flex_value_set_id => l_adr_flex_value_set_id
130577 , x_value_type_code => l_adr_value_type_code
130578 , x_value_combination_id => l_adr_value_combination_id
130579 , x_value_segment_code => l_adr_value_segment_code
130580 , p_side => 'NA'
130581 , p_override_seg_flag => 'Y'
130582 );
130583
130584 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130585
130586 xla_ae_lines_pkg.set_segment(
130587 p_to_segment_code => 'GL_ACCOUNT'
130588 , p_segment_value => l_segment
130589 , p_from_segment_code => l_adr_value_segment_code
130590 , p_from_combination_id => l_adr_value_combination_id
130591 , p_value_type_code => l_adr_value_type_code
130592 , p_transaction_coa_id => l_adr_transaction_coa_id
130593 , p_accounting_coa_id => l_adr_accounting_coa_id
130594 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130595 , p_flex_value_set_id => l_adr_flex_value_set_id
130596 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
130597 , p_adr_type_code => 'S'
130598 , p_component_type => l_component_type
130599 , p_component_code => l_component_code
130600 , p_component_type_code => l_component_type_code
130601 , p_component_appl_id => l_component_appl_id
130602 , p_amb_context_code => l_amb_context_code
130603 , p_entity_code => 'AP_INVOICES'
130604 , p_event_class_code => 'DEBIT MEMOS'
130605 , p_side => 'NA'
130606 );
130607
130608 END IF;
130609
130610 l_segment := AcctDerRule_23(
130611 p_application_id => p_application_id
130612 , p_ae_header_id => l_ae_header_id
130613 , p_source_15 => p_source_15
130614 , p_source_15_meaning => p_source_15_meaning
130615 , p_source_22 => p_source_22
130616 , p_source_22_meaning => p_source_22_meaning
130617 , p_source_30 => p_source_30
130618 , x_transaction_coa_id => l_adr_transaction_coa_id
130619 , x_accounting_coa_id => l_adr_accounting_coa_id
130620 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130621 , x_flex_value_set_id => l_adr_flex_value_set_id
130625 , p_side => 'NA'
130622 , x_value_type_code => l_adr_value_type_code
130623 , x_value_combination_id => l_adr_value_combination_id
130624 , x_value_segment_code => l_adr_value_segment_code
130626 , p_override_seg_flag => 'Y'
130627 );
130628
130629 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130630
130631 xla_ae_lines_pkg.set_segment(
130632 p_to_segment_code => 'GL_BALANCING'
130633 , p_segment_value => l_segment
130634 , p_from_segment_code => l_adr_value_segment_code
130635 , p_from_combination_id => l_adr_value_combination_id
130636 , p_value_type_code => l_adr_value_type_code
130637 , p_transaction_coa_id => l_adr_transaction_coa_id
130638 , p_accounting_coa_id => l_adr_accounting_coa_id
130639 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130640 , p_flex_value_set_id => l_adr_flex_value_set_id
130641 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
130642 , p_adr_type_code => 'S'
130643 , p_component_type => l_component_type
130644 , p_component_code => l_component_code
130645 , p_component_type_code => l_component_type_code
130646 , p_component_appl_id => l_component_appl_id
130647 , p_amb_context_code => l_amb_context_code
130648 , p_entity_code => 'AP_INVOICES'
130649 , p_event_class_code => 'DEBIT MEMOS'
130650 , p_side => 'NA'
130651 );
130652
130653 END IF;
130654
130655 --
130656 --
130657 END IF;
130658 --
130659 -- Bug 4922099
130660 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
130661 (NVL(l_enc_upg_option, 'N') = 'O')
130662 ) AND
130663 (l_bflow_method_code = 'PRIOR_ENTRY')
130664 )
130665 THEN
130666 IF
130667 --
130668 1 = 2
130669 --
130670 THEN
130671 xla_accounting_err_pkg.build_message
130672 (p_appli_s_name => 'XLA'
130673 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130674 ,p_token_1 => 'LINE_NUMBER'
130675 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
130676 ,p_token_2 => 'LINE_TYPE_NAME'
130677 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
130678 l_component_type
130679 ,l_component_code
130680 ,l_component_type_code
130681 ,l_component_appl_id
130682 ,l_amb_context_code
130683 ,l_entity_code
130684 ,l_event_class_code
130685 )
130686 ,p_token_3 => 'OWNER'
130687 ,p_value_3 => xla_lookups_pkg.get_meaning(
130688 p_lookup_type => 'XLA_OWNER_TYPE'
130689 ,p_lookup_code => l_component_type_code
130690 )
130691 ,p_token_4 => 'PRODUCT_NAME'
130692 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
130693 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
130694 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
130695 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
130696 ,p_ae_header_id => NULL
130697 );
130698
130699 IF (C_LEVEL_ERROR>= g_log_level) THEN
130700 trace
130701 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130702 ,p_level => C_LEVEL_ERROR
130703 ,p_module => l_log_module);
130704 END IF;
130705 END IF;
130706 END IF;
130707 --
130708 --
130709 ------------------------------------------------------------------------------------------------
130710 -- 4219869 Business Flow
130711 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
130712 -- Prior Entry. Currently, the following code is always generated.
130713 ------------------------------------------------------------------------------------------------
130714 XLA_AE_LINES_PKG.ValidateCurrentLine;
130715
130716 ------------------------------------------------------------------------------------
130717 -- 4219869 Business Flow
130718 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
130722 ----------------------------------------------------------------------------------
130719 ------------------------------------------------------------------------------------
130720 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130721
130723 -- 4219869 Business Flow
130724 -- Update journal entry status -- Need to generate this within IF <condition>
130725 ----------------------------------------------------------------------------------
130726 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130727 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
130728 ,p_balance_type_code => l_balance_type_code
130729 );
130730
130731 -------------------------------------------------------------------------------------------
130732 -- 4262811 - Generate the Accrual Reversal lines
130733 -------------------------------------------------------------------------------------------
130734 BEGIN
130735 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
130736 (g_array_event(p_event_id).array_value_num('header_index'));
130737 IF l_acc_rev_flag IS NULL THEN
130738 l_acc_rev_flag := 'N';
130739 END IF;
130740 EXCEPTION
130741 WHEN OTHERS THEN
130742 l_acc_rev_flag := 'N';
130743 END;
130744 --
130745 IF (l_acc_rev_flag = 'Y') THEN
130746
130747 -- 4645092 ------------------------------------------------------------------------------
130748 -- To allow MPA report to determine if it should generate report process
130749 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
130750 ------------------------------------------------------------------------------------------
130751
130752 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130753 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130754 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130755 -- call ADRs
130756 -- Bug 4922099
130757 --
130758 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130759 (NVL(l_actual_upg_option, 'N') = 'O') OR
130760 (NVL(l_enc_upg_option, 'N') = 'O')
130761 )
130762 THEN
130763 NULL;
130764 --
130765 --
130766
130767 l_ccid := AcctDerRule_30(
130768 p_application_id => p_application_id
130769 , p_ae_header_id => l_ae_header_id
130770 , p_source_15 => p_source_15
130771 , p_source_15_meaning => p_source_15_meaning
130772 , p_source_20 => p_source_20
130773 , p_source_21 => p_source_21
130774 , p_source_22 => p_source_22
130775 , p_source_22_meaning => p_source_22_meaning
130776 , p_source_23 => p_source_23
130777 , p_source_30 => p_source_30
130778 , p_source_47 => p_source_47
130779 , p_source_47_meaning => p_source_47_meaning
130780 , x_transaction_coa_id => l_adr_transaction_coa_id
130781 , x_accounting_coa_id => l_adr_accounting_coa_id
130782 , x_value_type_code => l_adr_value_type_code
130783 , p_side => 'NA'
130784 );
130785
130786 xla_ae_lines_pkg.set_ccid(
130787 p_code_combination_id => l_ccid
130788 , p_value_type_code => l_adr_value_type_code
130789 , p_transaction_coa_id => l_adr_transaction_coa_id
130790 , p_accounting_coa_id => l_adr_accounting_coa_id
130791 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130792 , p_adr_type_code => 'S'
130793 , p_component_type => l_component_type
130794 , p_component_code => l_component_code
130795 , p_component_type_code => l_component_type_code
130796 , p_component_appl_id => l_component_appl_id
130797 , p_amb_context_code => l_amb_context_code
130798 , p_side => 'NA'
130799 );
130800
130801
130802 l_segment := AcctDerRule_8(
130803 p_application_id => p_application_id
130804 , p_ae_header_id => l_ae_header_id
130805 , p_source_15 => p_source_15
130806 , p_source_15_meaning => p_source_15_meaning
130807 , p_source_20 => p_source_20
130808 , p_source_21 => p_source_21
130809 , p_source_22 => p_source_22
130810 , p_source_22_meaning => p_source_22_meaning
130811 , p_source_23 => p_source_23
130812 , x_transaction_coa_id => l_adr_transaction_coa_id
130813 , x_accounting_coa_id => l_adr_accounting_coa_id
130814 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130815 , x_flex_value_set_id => l_adr_flex_value_set_id
130816 , x_value_type_code => l_adr_value_type_code
130817 , x_value_combination_id => l_adr_value_combination_id
130818 , x_value_segment_code => l_adr_value_segment_code
130819 , p_side => 'NA'
130820 , p_override_seg_flag => 'Y'
130821 );
130822
130823 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130824
130825 xla_ae_lines_pkg.set_segment(
130826 p_to_segment_code => 'GL_ACCOUNT'
130827 , p_segment_value => l_segment
130828 , p_from_segment_code => l_adr_value_segment_code
130829 , p_from_combination_id => l_adr_value_combination_id
130830 , p_value_type_code => l_adr_value_type_code
130831 , p_transaction_coa_id => l_adr_transaction_coa_id
130832 , p_accounting_coa_id => l_adr_accounting_coa_id
130833 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130837 , p_component_type => l_component_type
130834 , p_flex_value_set_id => l_adr_flex_value_set_id
130835 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
130836 , p_adr_type_code => 'S'
130838 , p_component_code => l_component_code
130839 , p_component_type_code => l_component_type_code
130840 , p_component_appl_id => l_component_appl_id
130841 , p_amb_context_code => l_amb_context_code
130842 , p_entity_code => 'AP_INVOICES'
130843 , p_event_class_code => 'DEBIT MEMOS'
130844 , p_side => 'NA'
130845 );
130846
130847 END IF;
130848
130849 l_segment := AcctDerRule_23(
130850 p_application_id => p_application_id
130851 , p_ae_header_id => l_ae_header_id
130852 , p_source_15 => p_source_15
130853 , p_source_15_meaning => p_source_15_meaning
130854 , p_source_22 => p_source_22
130855 , p_source_22_meaning => p_source_22_meaning
130856 , p_source_30 => p_source_30
130857 , x_transaction_coa_id => l_adr_transaction_coa_id
130858 , x_accounting_coa_id => l_adr_accounting_coa_id
130859 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130860 , x_flex_value_set_id => l_adr_flex_value_set_id
130861 , x_value_type_code => l_adr_value_type_code
130862 , x_value_combination_id => l_adr_value_combination_id
130863 , x_value_segment_code => l_adr_value_segment_code
130864 , p_side => 'NA'
130865 , p_override_seg_flag => 'Y'
130866 );
130867
130868 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130869
130870 xla_ae_lines_pkg.set_segment(
130871 p_to_segment_code => 'GL_BALANCING'
130872 , p_segment_value => l_segment
130873 , p_from_segment_code => l_adr_value_segment_code
130874 , p_from_combination_id => l_adr_value_combination_id
130875 , p_value_type_code => l_adr_value_type_code
130876 , p_transaction_coa_id => l_adr_transaction_coa_id
130877 , p_accounting_coa_id => l_adr_accounting_coa_id
130878 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130879 , p_flex_value_set_id => l_adr_flex_value_set_id
130880 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
130881 , p_adr_type_code => 'S'
130882 , p_component_type => l_component_type
130883 , p_component_code => l_component_code
130884 , p_component_type_code => l_component_type_code
130885 , p_component_appl_id => l_component_appl_id
130886 , p_amb_context_code => l_amb_context_code
130887 , p_entity_code => 'AP_INVOICES'
130888 , p_event_class_code => 'DEBIT MEMOS'
130889 , p_side => 'NA'
130890 );
130891
130892 END IF;
130893
130894 --
130895 --
130896 END IF;
130897
130898 --
130899 -- Update the line information that should be overwritten
130900 --
130901 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
130902 p_header_num => 1);
130903 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
130904
130905 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
130906
130907 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
130908 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
130909 END IF;
130910
130911 --
130912 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
130913 --
130914 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
130915 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
130916 ELSE
130917 ---------------------------------------------------------------------------------------------------
130918 -- 4262811a Switch Sign
130919 ---------------------------------------------------------------------------------------------------
130920 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
130921 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130922 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130923 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130924 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130925 -- 5132302
130926 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130927 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130928
130929 END IF;
130930
130931 -- 4955764
130932 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130933 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130934
130935
130936 XLA_AE_LINES_PKG.ValidateCurrentLine;
130937 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130938
130942
130939 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130940 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130941 ,p_balance_type_code => l_balance_type_code);
130943 END IF;
130944
130945 -----------------------------------------------------------------------------------------
130946 -- 4262811 Multiperiod Accounting
130947 -----------------------------------------------------------------------------------------
130948 -- No MPA option is assigned.
130949
130950
130951 END IF;
130952 END IF;
130953 --
130954
130955 --
130956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130957 trace
130958 (p_msg => 'END of AcctLineType_209'
130959 ,p_level => C_LEVEL_PROCEDURE
130960 ,p_module => l_log_module);
130961 END IF;
130962 --
130963 EXCEPTION
130964 WHEN xla_exceptions_pkg.application_exception THEN
130965 RAISE;
130966 WHEN OTHERS THEN
130967 xla_exceptions_pkg.raise_message
130968 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_209');
130969 END AcctLineType_209;
130970 --
130971
130972 ---------------------------------------
130973 --
130974 -- PRIVATE FUNCTION
130975 -- AcctLineType_210
130976 --
130977 ---------------------------------------
130978 PROCEDURE AcctLineType_210 (
130979 p_application_id IN NUMBER
130980 ,p_event_id IN NUMBER
130981 ,p_calculate_acctd_flag IN VARCHAR2
130982 ,p_calculate_g_l_flag IN VARCHAR2
130983 ,p_actual_flag IN OUT VARCHAR2
130984 ,p_balance_type_code OUT VARCHAR2
130985 ,p_gain_or_loss_ref OUT VARCHAR2
130986
130987 --Invoice Distribution Description
130988 , p_source_1 IN VARCHAR2
130989 --Automatic Offsets Value
130990 , p_source_15 IN VARCHAR2
130991 , p_source_15_meaning IN VARCHAR2
130992 --Purchase Order Rate Variance Gain Account
130993 , p_source_20 IN NUMBER
130994 --Invoice Distribution Ledger Amount
130995 , p_source_21 IN NUMBER
130996 --Destination Type of the PO Distribution
130997 , p_source_22 IN VARCHAR2
130998 , p_source_22_meaning IN VARCHAR2
130999 --Purchase Order Rate Variance Loss Account
131000 , p_source_23 IN NUMBER
131001 --Invoice Distribution Account
131002 , p_source_30 IN NUMBER
131003 --Invoice Distribution Type
131004 , p_source_33 IN VARCHAR2
131005 , p_source_33_meaning IN VARCHAR2
131006 --Automatic Offsets Flag
131007 , p_source_47 IN VARCHAR2
131008 , p_source_47_meaning IN VARCHAR2
131009 --Accounting Reversal Indicator
131010 , p_source_52 IN VARCHAR2
131011 --Distribution Link Type
131012 , p_source_54 IN VARCHAR2
131013 --Allocation to Main Distribution Identifier
131014 , p_source_56 IN NUMBER
131015 --Invoice Identifier
131016 , p_source_57 IN NUMBER
131017 --Invoice Distribution Identifier
131018 , p_source_63 IN NUMBER
131019 --Payables Encumbrance Upgrade Credit Account
131020 , p_source_64 IN NUMBER
131021 --Payables Encumbrance Upgrade Credit Amount
131022 , p_source_65 IN NUMBER
131023 --Invoice Currency Code
131024 , p_source_66 IN VARCHAR2
131025 --Payables Encumbrance Upgrade Credit Base Amount
131026 , p_source_67 IN NUMBER
131027 --Payables Encumbrance Upgrade Debit Account
131028 , p_source_68 IN NUMBER
131029 --Payables Encumbrance Upgrade Debit Amount
131030 , p_source_69 IN NUMBER
131031 --Payables Encumbrance Upgrade Debit Base Amount
131032 , p_source_70 IN NUMBER
131033 --Payables Encumbrance Upgrade Option
131034 , p_source_71 IN VARCHAR2
131035 --Invoice Distribution Amount
131036 , p_source_72 IN NUMBER
131037 --Deferred Accounting End Date
131038 , p_source_76 IN DATE
131039 --Deferred Accounting Option
131040 , p_source_77 IN VARCHAR2
131041 --Deferred Accounting Start Date
131042 , p_source_78 IN DATE
131043 --Override Accounted Amount Indicator
131044 , p_source_79 IN VARCHAR2
131045 , p_source_79_meaning IN VARCHAR2
131046 --Invoice Supplier Identifier
131047 , p_source_80 IN NUMBER
131048 --Invoice Supplier Site Identifier
131049 , p_source_81 IN NUMBER
131050 --Third Party Type
131051 , p_source_82 IN VARCHAR2
131052 --Parent Reversal Identifier
131053 , p_source_83 IN NUMBER
131054 --Invoice Distribution Statistical Amount
131055 , p_source_84 IN NUMBER
131056 --Invoice Distribution Tax Line Identifier
131057 , p_source_85 IN NUMBER
131058 --Invoice Distribution Tax Distribution Identifier from Tax
131059 , p_source_86 IN NUMBER
131060 --Invoice Distribution Summary Tax Line Identifier
131061 , p_source_87 IN NUMBER
131062 --Payables Upgrade Credit Encumbrance Type Identifier
131063 , p_source_88 IN NUMBER
131064 --Payables Upgrade Debit Encumbrance Type Identifier
131065 , p_source_89 IN NUMBER
131066 --Business Flow Accounts Payable Application Identifier
131067 , p_source_90 IN NUMBER
131068 --Business Flow Invoice Distribution Type
131069 , p_source_91 IN VARCHAR2
131070 --Business Flow Invoice Entity Code
131071 , p_source_92 IN VARCHAR2
131072 --Business Flow Invoice Distribution Identifier
131073 , p_source_93 IN NUMBER
131077 , p_source_95 IN VARCHAR2
131074 --Business Flow Invoice Identifier
131075 , p_source_94 IN NUMBER
131076 --Accrue on Receipt Option
131078 , p_source_95_meaning IN VARCHAR2
131079 --Invoice Exchange Date
131080 , p_source_136 IN DATE
131081 --Invoice Exchange Rate
131082 , p_source_137 IN NUMBER
131083 --Invoice Exchange Rate Type
131084 , p_source_138 IN VARCHAR2
131085 )
131086 IS
131087
131088 l_component_type VARCHAR2(80);
131089 l_component_code VARCHAR2(30);
131090 l_component_type_code VARCHAR2(1);
131091 l_component_appl_id INTEGER;
131092 l_amb_context_code VARCHAR2(30);
131093 l_entity_code VARCHAR2(30);
131094 l_event_class_code VARCHAR2(30);
131095 l_ae_header_id NUMBER;
131096 l_event_type_code VARCHAR2(30);
131097 l_line_definition_code VARCHAR2(30);
131098 l_line_definition_owner_code VARCHAR2(1);
131099 --
131100 -- adr variables
131101 l_segment VARCHAR2(30);
131102 l_ccid NUMBER;
131103 l_adr_transaction_coa_id NUMBER;
131104 l_adr_accounting_coa_id NUMBER;
131105 l_adr_flexfield_segment_code VARCHAR2(30);
131106 l_adr_flex_value_set_id NUMBER;
131107 l_adr_value_type_code VARCHAR2(30);
131108 l_adr_value_combination_id NUMBER;
131109 l_adr_value_segment_code VARCHAR2(30);
131110
131111 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
131112 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
131113 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
131114 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
131115
131116 -- 4262811 Variables ------------------------------------------------------------------------------------------
131117 l_entered_amt_idx NUMBER;
131118 l_accted_amt_idx NUMBER;
131119 l_acc_rev_flag VARCHAR2(1);
131120 l_accrual_line_num NUMBER;
131121 l_tmp_amt NUMBER;
131122 l_acc_rev_natural_side_code VARCHAR2(1);
131123
131124 l_num_entries NUMBER;
131125 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
131126 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
131127 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
131128 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
131129 l_recog_line_1 NUMBER;
131130 l_recog_line_2 NUMBER;
131131
131132 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
131133 l_bflow_applied_to_amt NUMBER; -- 5132302
131134 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
131135
131136 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
131137
131138 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
131139 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
131140
131141 ---------------------------------------------------------------------------------------------------------------
131142
131143
131144 --
131145 -- bulk performance
131146 --
131147 l_balance_type_code VARCHAR2(1);
131148 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
131149 l_log_module VARCHAR2(240);
131150
131151 --
131152 -- Upgrade strategy
131153 --
131154 l_actual_upg_option VARCHAR2(1);
131155 l_enc_upg_option VARCHAR2(1);
131156
131157 --
131158 BEGIN
131159 --
131160 IF g_log_enabled THEN
131161 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_210';
131162 END IF;
131163 --
131164 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131165
131166 trace
131167 (p_msg => 'BEGIN of AcctLineType_210'
131168 ,p_level => C_LEVEL_PROCEDURE
131169 ,p_module => l_log_module);
131170
131171 END IF;
131172 --
131173 l_component_type := 'AMB_JLT';
131174 l_component_code := 'AP_TAX_EX_RATE_VAR_INV';
131175 l_component_type_code := 'S';
131176 l_component_appl_id := 200;
131177 l_amb_context_code := 'DEFAULT';
131178 l_entity_code := 'AP_INVOICES';
131179 l_event_class_code := 'INVOICES';
131180 l_event_type_code := 'INVOICES_ALL';
131181 l_line_definition_owner_code := 'S';
131182 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
131183 --
131184 l_balance_type_code := 'A';
131185 l_segment := NULL;
131186 l_ccid := NULL;
131187 l_adr_transaction_coa_id := NULL;
131188 l_adr_accounting_coa_id := NULL;
131189 l_adr_flexfield_segment_code := NULL;
131190 l_adr_flex_value_set_id := NULL;
131191 l_adr_value_type_code := NULL;
131192 l_adr_value_combination_id := NULL;
131193 l_adr_value_segment_code := NULL;
131194
131195 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
131196 l_bflow_class_code := ''; -- 4219869 Business Flow
131197 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
131198 l_budgetary_control_flag := 'N';
131199
131200 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131201 l_bflow_applied_to_amt := NULL; -- 5132302
131202 l_entered_amt_idx := NULL; -- 4262811
131203 l_accted_amt_idx := NULL; -- 4262811
131207 --
131204 l_acc_rev_flag := NULL; -- 4262811
131205 l_accrual_line_num := NULL; -- 4262811
131206 l_tmp_amt := NULL; -- 4262811
131208 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
131209 (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
131210 return;
131211 END IF;
131212
131213 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
131214 l_balance_type_code <> 'B' THEN
131215 IF NVL(p_source_33,'
131216 ') = 'TERV' AND
131217 NVL(p_source_95,'
131218 ') = 'Y'
131219 THEN
131220
131221 --
131222 XLA_AE_LINES_PKG.SetNewLine;
131223
131224 p_balance_type_code := l_balance_type_code;
131225 -- set the flag so later we will know whether the gain loss line needs to be created
131226
131227 IF(l_balance_type_code = 'A' ) THEN
131228 p_actual_flag :='G';
131229 END IF;
131230
131231 --
131232 -- bulk performance
131233 --
131234 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
131235 p_header_num => 0); -- 4262811
131236 --
131237 -- set accounting line options
131238 --
131239 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
131240 p_natural_side_code => 'D'
131241 , p_gain_or_loss_flag => 'Y'
131242 , p_gl_transfer_mode_code => 'S'
131243 , p_acct_entry_type_code => 'A'
131244 , p_switch_side_flag => 'Y'
131245 , p_merge_duplicate_code => 'A'
131246 );
131247 --
131248 l_acc_rev_natural_side_code := 'C'; -- 4262811
131249 --
131250 --
131251 -- set accounting line type info
131252 --
131253 xla_ae_lines_pkg.SetAcctLineType
131254 (p_component_type => l_component_type
131255 ,p_event_type_code => l_event_type_code
131256 ,p_line_definition_owner_code => l_line_definition_owner_code
131257 ,p_line_definition_code => l_line_definition_code
131258 ,p_accounting_line_code => l_component_code
131259 ,p_accounting_line_type_code => l_component_type_code
131260 ,p_accounting_line_appl_id => l_component_appl_id
131261 ,p_amb_context_code => l_amb_context_code
131262 ,p_entity_code => l_entity_code
131263 ,p_event_class_code => l_event_class_code);
131264 --
131265 -- set accounting class
131266 --
131267 xla_ae_lines_pkg.SetAcctClass(
131268 p_accounting_class_code => 'TERV'
131269 , p_ae_header_id => l_ae_header_id
131270 );
131271
131272 --
131273 -- set rounding class
131274 --
131275 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
131276 'TERV';
131277
131278 --
131279 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
131280 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
131281 --
131282 -- bulk performance
131283 --
131284 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
131285
131286 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
131287 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
131288
131289 -- 4955764
131290 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131291 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
131292
131293 -- 4458381 Public Sector Enh
131294
131295 --
131296 -- set accounting attributes for the line type
131297 --
131298 l_entered_amt_idx := 24;
131299 l_accted_amt_idx := 29;
131300 l_bflow_applied_to_amt_idx := 7; -- 5132302
131301 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
131302 l_rec_acct_attrs.array_char_value(1) := p_source_52;
131303 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
131304 l_rec_acct_attrs.array_num_value(2) :=
131305 xla_ae_sources_pkg.GetSystemSourceNum(
131306 p_source_code => 'XLA_EVENT_APPL_ID'
131307 , p_source_type_code => 'Y'
131308 , p_source_application_id => 602
131309 );
131310 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
131311 l_rec_acct_attrs.array_char_value(3) := p_source_54;
131312 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
131313 l_rec_acct_attrs.array_char_value(4) :=
131314 xla_ae_sources_pkg.GetSystemSourceChar(
131315 p_source_code => 'XLA_ENTITY_CODE'
131316 , p_source_type_code => 'Y'
131317 , p_source_application_id => 602
131318 );
131319 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
131320 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
131321 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
131322 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
131323 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
131327 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
131324 l_rec_acct_attrs.array_num_value(7) := p_source_72;
131325 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
131326 l_rec_acct_attrs.array_num_value(8) := p_source_90;
131328 l_rec_acct_attrs.array_char_value(9) := p_source_91;
131329 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
131330 l_rec_acct_attrs.array_char_value(10) := p_source_92;
131331 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
131332 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
131333 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
131334 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
131335 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
131336 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
131337 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
131338 l_rec_acct_attrs.array_char_value(14) := p_source_54;
131339 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
131340 l_rec_acct_attrs.array_num_value(15) := p_source_64;
131341 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
131342 l_rec_acct_attrs.array_num_value(16) := p_source_65;
131343 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
131344 l_rec_acct_attrs.array_char_value(17) := p_source_66;
131345 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
131346 l_rec_acct_attrs.array_num_value(18) := p_source_67;
131347 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
131348 l_rec_acct_attrs.array_num_value(19) := p_source_68;
131349 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
131350 l_rec_acct_attrs.array_num_value(20) := p_source_69;
131351 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
131352 l_rec_acct_attrs.array_char_value(21) := p_source_66;
131353 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
131354 l_rec_acct_attrs.array_num_value(22) := p_source_70;
131355 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
131356 l_rec_acct_attrs.array_char_value(23) := p_source_71;
131357 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
131358 l_rec_acct_attrs.array_num_value(24) := p_source_72;
131359 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
131360 l_rec_acct_attrs.array_char_value(25) := p_source_66;
131361 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
131362 l_rec_acct_attrs.array_date_value(26) := p_source_136;
131363 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
131364 l_rec_acct_attrs.array_num_value(27) := p_source_137;
131365 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
131366 l_rec_acct_attrs.array_char_value(28) := p_source_138;
131367 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
131368 l_rec_acct_attrs.array_num_value(29) := p_source_21;
131369 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
131370 l_rec_acct_attrs.array_date_value(30) := p_source_76;
131371 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
131372 l_rec_acct_attrs.array_char_value(31) := p_source_77;
131373 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
131374 l_rec_acct_attrs.array_date_value(32) := p_source_78;
131375 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
131376 l_rec_acct_attrs.array_char_value(33) := p_source_79;
131377 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
131378 l_rec_acct_attrs.array_num_value(34) := p_source_80;
131379 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
131380 l_rec_acct_attrs.array_num_value(35) := p_source_81;
131381 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
131382 l_rec_acct_attrs.array_char_value(36) := p_source_82;
131383 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
131384 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
131385 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
131386 l_rec_acct_attrs.array_char_value(38) := p_source_54;
131387 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
131388 l_rec_acct_attrs.array_num_value(39) := p_source_84;
131389 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
131390 l_rec_acct_attrs.array_num_value(40) := p_source_85;
131391 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
131392 l_rec_acct_attrs.array_num_value(41) := p_source_86;
131393 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
131394 l_rec_acct_attrs.array_num_value(42) := p_source_87;
131395 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
131396 l_rec_acct_attrs.array_num_value(43) := p_source_88;
131397 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
131398 l_rec_acct_attrs.array_num_value(44) := p_source_89;
131399
131400 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
131401 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
131402
131403 ---------------------------------------------------------------------------------------------------------------
131404 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
131405 ---------------------------------------------------------------------------------------------------------------
131409 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131406 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
131407
131408 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131410
131411 IF xla_accounting_cache_pkg.GetValueChar
131412 (p_source_code => 'LEDGER_CATEGORY_CODE'
131413 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
131414 AND l_bflow_method_code = 'PRIOR_ENTRY'
131415 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
131416 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
131417 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
131418 )
131419 THEN
131420 xla_ae_lines_pkg.BflowUpgEntry
131421 (p_business_method_code => l_bflow_method_code
131422 ,p_business_class_code => l_bflow_class_code
131423 ,p_balance_type => l_balance_type_code);
131424 ELSE
131425 NULL;
131426 -- No business flow processing for business flow method of NONE.
131427 END IF;
131428
131429 --
131430 -- call analytical criteria
131431 --
131432
131433 --
131434 -- call description
131435 --
131436
131437 xla_ae_lines_pkg.SetLineDescription(
131438 p_ae_header_id => l_ae_header_id
131439 ,p_description => Description_1 (
131440 p_application_id => p_application_id
131441 , p_ae_header_id => l_ae_header_id
131442 , p_source_1 => p_source_1
131443 )
131444 );
131445
131446
131447 --
131448 -- call ADRs
131449 -- Bug 4922099
131450 --
131451 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131452 (NVL(l_actual_upg_option, 'N') = 'O') OR
131453 (NVL(l_enc_upg_option, 'N') = 'O')
131454 )
131455 THEN
131456 NULL;
131457 --
131458 --
131459
131460 l_ccid := AcctDerRule_30(
131461 p_application_id => p_application_id
131462 , p_ae_header_id => l_ae_header_id
131463 , p_source_15 => p_source_15
131464 , p_source_15_meaning => p_source_15_meaning
131465 , p_source_20 => p_source_20
131466 , p_source_21 => p_source_21
131467 , p_source_22 => p_source_22
131468 , p_source_22_meaning => p_source_22_meaning
131469 , p_source_23 => p_source_23
131470 , p_source_30 => p_source_30
131471 , p_source_47 => p_source_47
131472 , p_source_47_meaning => p_source_47_meaning
131473 , x_transaction_coa_id => l_adr_transaction_coa_id
131474 , x_accounting_coa_id => l_adr_accounting_coa_id
131475 , x_value_type_code => l_adr_value_type_code
131476 , p_side => 'NA'
131477 );
131478
131479 xla_ae_lines_pkg.set_ccid(
131480 p_code_combination_id => l_ccid
131481 , p_value_type_code => l_adr_value_type_code
131482 , p_transaction_coa_id => l_adr_transaction_coa_id
131483 , p_accounting_coa_id => l_adr_accounting_coa_id
131484 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131485 , p_adr_type_code => 'S'
131486 , p_component_type => l_component_type
131487 , p_component_code => l_component_code
131488 , p_component_type_code => l_component_type_code
131489 , p_component_appl_id => l_component_appl_id
131490 , p_amb_context_code => l_amb_context_code
131491 , p_side => 'NA'
131492 );
131493
131494
131495 l_segment := AcctDerRule_8(
131496 p_application_id => p_application_id
131497 , p_ae_header_id => l_ae_header_id
131498 , p_source_15 => p_source_15
131499 , p_source_15_meaning => p_source_15_meaning
131500 , p_source_20 => p_source_20
131501 , p_source_21 => p_source_21
131502 , p_source_22 => p_source_22
131503 , p_source_22_meaning => p_source_22_meaning
131504 , p_source_23 => p_source_23
131505 , x_transaction_coa_id => l_adr_transaction_coa_id
131506 , x_accounting_coa_id => l_adr_accounting_coa_id
131507 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131508 , x_flex_value_set_id => l_adr_flex_value_set_id
131509 , x_value_type_code => l_adr_value_type_code
131510 , x_value_combination_id => l_adr_value_combination_id
131511 , x_value_segment_code => l_adr_value_segment_code
131512 , p_side => 'NA'
131513 , p_override_seg_flag => 'Y'
131514 );
131515
131516 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131517
131518 xla_ae_lines_pkg.set_segment(
131519 p_to_segment_code => 'GL_ACCOUNT'
131520 , p_segment_value => l_segment
131521 , p_from_segment_code => l_adr_value_segment_code
131522 , p_from_combination_id => l_adr_value_combination_id
131523 , p_value_type_code => l_adr_value_type_code
131524 , p_transaction_coa_id => l_adr_transaction_coa_id
131525 , p_accounting_coa_id => l_adr_accounting_coa_id
131526 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131527 , p_flex_value_set_id => l_adr_flex_value_set_id
131528 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131529 , p_adr_type_code => 'S'
131533 , p_component_appl_id => l_component_appl_id
131530 , p_component_type => l_component_type
131531 , p_component_code => l_component_code
131532 , p_component_type_code => l_component_type_code
131534 , p_amb_context_code => l_amb_context_code
131535 , p_entity_code => 'AP_INVOICES'
131536 , p_event_class_code => 'INVOICES'
131537 , p_side => 'NA'
131538 );
131539
131540 END IF;
131541
131542 l_segment := AcctDerRule_23(
131543 p_application_id => p_application_id
131544 , p_ae_header_id => l_ae_header_id
131545 , p_source_15 => p_source_15
131546 , p_source_15_meaning => p_source_15_meaning
131547 , p_source_22 => p_source_22
131548 , p_source_22_meaning => p_source_22_meaning
131549 , p_source_30 => p_source_30
131550 , x_transaction_coa_id => l_adr_transaction_coa_id
131551 , x_accounting_coa_id => l_adr_accounting_coa_id
131552 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131553 , x_flex_value_set_id => l_adr_flex_value_set_id
131554 , x_value_type_code => l_adr_value_type_code
131555 , x_value_combination_id => l_adr_value_combination_id
131556 , x_value_segment_code => l_adr_value_segment_code
131557 , p_side => 'NA'
131558 , p_override_seg_flag => 'Y'
131559 );
131560
131561 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131562
131563 xla_ae_lines_pkg.set_segment(
131564 p_to_segment_code => 'GL_BALANCING'
131565 , p_segment_value => l_segment
131566 , p_from_segment_code => l_adr_value_segment_code
131567 , p_from_combination_id => l_adr_value_combination_id
131568 , p_value_type_code => l_adr_value_type_code
131569 , p_transaction_coa_id => l_adr_transaction_coa_id
131570 , p_accounting_coa_id => l_adr_accounting_coa_id
131571 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131572 , p_flex_value_set_id => l_adr_flex_value_set_id
131573 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131574 , p_adr_type_code => 'S'
131575 , p_component_type => l_component_type
131576 , p_component_code => l_component_code
131577 , p_component_type_code => l_component_type_code
131578 , p_component_appl_id => l_component_appl_id
131579 , p_amb_context_code => l_amb_context_code
131580 , p_entity_code => 'AP_INVOICES'
131581 , p_event_class_code => 'INVOICES'
131582 , p_side => 'NA'
131583 );
131584
131585 END IF;
131586
131587 --
131588 --
131589 END IF;
131590 --
131591 -- Bug 4922099
131592 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
131593 (NVL(l_enc_upg_option, 'N') = 'O')
131594 ) AND
131595 (l_bflow_method_code = 'PRIOR_ENTRY')
131596 )
131597 THEN
131598 IF
131599 --
131600 1 = 2
131601 --
131602 THEN
131603 xla_accounting_err_pkg.build_message
131604 (p_appli_s_name => 'XLA'
131605 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131606 ,p_token_1 => 'LINE_NUMBER'
131607 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
131608 ,p_token_2 => 'LINE_TYPE_NAME'
131609 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
131610 l_component_type
131611 ,l_component_code
131612 ,l_component_type_code
131613 ,l_component_appl_id
131614 ,l_amb_context_code
131615 ,l_entity_code
131616 ,l_event_class_code
131617 )
131618 ,p_token_3 => 'OWNER'
131619 ,p_value_3 => xla_lookups_pkg.get_meaning(
131620 p_lookup_type => 'XLA_OWNER_TYPE'
131621 ,p_lookup_code => l_component_type_code
131622 )
131623 ,p_token_4 => 'PRODUCT_NAME'
131624 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
131625 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
131626 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
131627 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
131628 ,p_ae_header_id => NULL
131632 trace
131629 );
131630
131631 IF (C_LEVEL_ERROR>= g_log_level) THEN
131633 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131634 ,p_level => C_LEVEL_ERROR
131635 ,p_module => l_log_module);
131636 END IF;
131637 END IF;
131638 END IF;
131639 --
131640 --
131641 ------------------------------------------------------------------------------------------------
131642 -- 4219869 Business Flow
131643 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
131644 -- Prior Entry. Currently, the following code is always generated.
131645 ------------------------------------------------------------------------------------------------
131646 XLA_AE_LINES_PKG.ValidateCurrentLine;
131647
131648 ------------------------------------------------------------------------------------
131649 -- 4219869 Business Flow
131650 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
131651 ------------------------------------------------------------------------------------
131652 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131653
131654 ----------------------------------------------------------------------------------
131655 -- 4219869 Business Flow
131656 -- Update journal entry status -- Need to generate this within IF <condition>
131657 ----------------------------------------------------------------------------------
131658 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131659 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
131660 ,p_balance_type_code => l_balance_type_code
131661 );
131662
131663 -------------------------------------------------------------------------------------------
131664 -- 4262811 - Generate the Accrual Reversal lines
131665 -------------------------------------------------------------------------------------------
131666 BEGIN
131667 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
131668 (g_array_event(p_event_id).array_value_num('header_index'));
131669 IF l_acc_rev_flag IS NULL THEN
131670 l_acc_rev_flag := 'N';
131671 END IF;
131672 EXCEPTION
131673 WHEN OTHERS THEN
131674 l_acc_rev_flag := 'N';
131675 END;
131676 --
131677 IF (l_acc_rev_flag = 'Y') THEN
131678
131679 -- 4645092 ------------------------------------------------------------------------------
131680 -- To allow MPA report to determine if it should generate report process
131681 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
131682 ------------------------------------------------------------------------------------------
131683
131684 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
131685 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
131686 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
131687 -- call ADRs
131688 -- Bug 4922099
131689 --
131690 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131691 (NVL(l_actual_upg_option, 'N') = 'O') OR
131692 (NVL(l_enc_upg_option, 'N') = 'O')
131693 )
131694 THEN
131695 NULL;
131696 --
131697 --
131698
131699 l_ccid := AcctDerRule_30(
131700 p_application_id => p_application_id
131701 , p_ae_header_id => l_ae_header_id
131702 , p_source_15 => p_source_15
131703 , p_source_15_meaning => p_source_15_meaning
131704 , p_source_20 => p_source_20
131705 , p_source_21 => p_source_21
131706 , p_source_22 => p_source_22
131707 , p_source_22_meaning => p_source_22_meaning
131708 , p_source_23 => p_source_23
131709 , p_source_30 => p_source_30
131710 , p_source_47 => p_source_47
131711 , p_source_47_meaning => p_source_47_meaning
131712 , x_transaction_coa_id => l_adr_transaction_coa_id
131713 , x_accounting_coa_id => l_adr_accounting_coa_id
131714 , x_value_type_code => l_adr_value_type_code
131715 , p_side => 'NA'
131716 );
131717
131718 xla_ae_lines_pkg.set_ccid(
131719 p_code_combination_id => l_ccid
131720 , p_value_type_code => l_adr_value_type_code
131721 , p_transaction_coa_id => l_adr_transaction_coa_id
131722 , p_accounting_coa_id => l_adr_accounting_coa_id
131723 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131724 , p_adr_type_code => 'S'
131725 , p_component_type => l_component_type
131726 , p_component_code => l_component_code
131727 , p_component_type_code => l_component_type_code
131728 , p_component_appl_id => l_component_appl_id
131729 , p_amb_context_code => l_amb_context_code
131730 , p_side => 'NA'
131731 );
131732
131733
131734 l_segment := AcctDerRule_8(
131735 p_application_id => p_application_id
131736 , p_ae_header_id => l_ae_header_id
131737 , p_source_15 => p_source_15
131738 , p_source_15_meaning => p_source_15_meaning
131739 , p_source_20 => p_source_20
131740 , p_source_21 => p_source_21
131741 , p_source_22 => p_source_22
131742 , p_source_22_meaning => p_source_22_meaning
131743 , p_source_23 => p_source_23
131744 , x_transaction_coa_id => l_adr_transaction_coa_id
131745 , x_accounting_coa_id => l_adr_accounting_coa_id
131749 , x_value_combination_id => l_adr_value_combination_id
131746 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131747 , x_flex_value_set_id => l_adr_flex_value_set_id
131748 , x_value_type_code => l_adr_value_type_code
131750 , x_value_segment_code => l_adr_value_segment_code
131751 , p_side => 'NA'
131752 , p_override_seg_flag => 'Y'
131753 );
131754
131755 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131756
131757 xla_ae_lines_pkg.set_segment(
131758 p_to_segment_code => 'GL_ACCOUNT'
131759 , p_segment_value => l_segment
131760 , p_from_segment_code => l_adr_value_segment_code
131761 , p_from_combination_id => l_adr_value_combination_id
131762 , p_value_type_code => l_adr_value_type_code
131763 , p_transaction_coa_id => l_adr_transaction_coa_id
131764 , p_accounting_coa_id => l_adr_accounting_coa_id
131765 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131766 , p_flex_value_set_id => l_adr_flex_value_set_id
131767 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131768 , p_adr_type_code => 'S'
131769 , p_component_type => l_component_type
131770 , p_component_code => l_component_code
131771 , p_component_type_code => l_component_type_code
131772 , p_component_appl_id => l_component_appl_id
131773 , p_amb_context_code => l_amb_context_code
131774 , p_entity_code => 'AP_INVOICES'
131775 , p_event_class_code => 'INVOICES'
131776 , p_side => 'NA'
131777 );
131778
131779 END IF;
131780
131781 l_segment := AcctDerRule_23(
131782 p_application_id => p_application_id
131783 , p_ae_header_id => l_ae_header_id
131784 , p_source_15 => p_source_15
131785 , p_source_15_meaning => p_source_15_meaning
131786 , p_source_22 => p_source_22
131787 , p_source_22_meaning => p_source_22_meaning
131788 , p_source_30 => p_source_30
131789 , x_transaction_coa_id => l_adr_transaction_coa_id
131790 , x_accounting_coa_id => l_adr_accounting_coa_id
131791 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131792 , x_flex_value_set_id => l_adr_flex_value_set_id
131793 , x_value_type_code => l_adr_value_type_code
131794 , x_value_combination_id => l_adr_value_combination_id
131795 , x_value_segment_code => l_adr_value_segment_code
131796 , p_side => 'NA'
131797 , p_override_seg_flag => 'Y'
131798 );
131799
131800 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131801
131802 xla_ae_lines_pkg.set_segment(
131803 p_to_segment_code => 'GL_BALANCING'
131804 , p_segment_value => l_segment
131805 , p_from_segment_code => l_adr_value_segment_code
131806 , p_from_combination_id => l_adr_value_combination_id
131807 , p_value_type_code => l_adr_value_type_code
131808 , p_transaction_coa_id => l_adr_transaction_coa_id
131809 , p_accounting_coa_id => l_adr_accounting_coa_id
131810 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131811 , p_flex_value_set_id => l_adr_flex_value_set_id
131812 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131813 , p_adr_type_code => 'S'
131814 , p_component_type => l_component_type
131815 , p_component_code => l_component_code
131816 , p_component_type_code => l_component_type_code
131817 , p_component_appl_id => l_component_appl_id
131818 , p_amb_context_code => l_amb_context_code
131819 , p_entity_code => 'AP_INVOICES'
131820 , p_event_class_code => 'INVOICES'
131821 , p_side => 'NA'
131822 );
131823
131824 END IF;
131825
131826 --
131827 --
131828 END IF;
131829
131830 --
131831 -- Update the line information that should be overwritten
131832 --
131833 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
131834 p_header_num => 1);
131835 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
131836
131837 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
131838
131839 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
131840 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
131841 END IF;
131842
131843 --
131844 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
131845 --
131846 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
131847 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
131848 ELSE
131849 ---------------------------------------------------------------------------------------------------
131850 -- 4262811a Switch Sign
131851 ---------------------------------------------------------------------------------------------------
131855 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131852 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
131853 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131854 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131856 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131857 -- 5132302
131858 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
131859 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131860
131861 END IF;
131862
131863 -- 4955764
131864 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131865 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
131866
131867
131868 XLA_AE_LINES_PKG.ValidateCurrentLine;
131869 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131870
131871 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131872 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
131873 ,p_balance_type_code => l_balance_type_code);
131874
131875 END IF;
131876
131877 -----------------------------------------------------------------------------------------
131878 -- 4262811 Multiperiod Accounting
131879 -----------------------------------------------------------------------------------------
131880 -- No MPA option is assigned.
131881
131882
131883 END IF;
131884 END IF;
131885 --
131886
131887 --
131888 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131889 trace
131890 (p_msg => 'END of AcctLineType_210'
131891 ,p_level => C_LEVEL_PROCEDURE
131892 ,p_module => l_log_module);
131893 END IF;
131894 --
131895 EXCEPTION
131896 WHEN xla_exceptions_pkg.application_exception THEN
131897 RAISE;
131898 WHEN OTHERS THEN
131899 xla_exceptions_pkg.raise_message
131900 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_210');
131901 END AcctLineType_210;
131902 --
131903
131904 ---------------------------------------
131905 --
131906 -- PRIVATE FUNCTION
131907 -- AcctLineType_211
131908 --
131909 ---------------------------------------
131910 PROCEDURE AcctLineType_211 (
131911 p_application_id IN NUMBER
131912 ,p_event_id IN NUMBER
131913 ,p_calculate_acctd_flag IN VARCHAR2
131914 ,p_calculate_g_l_flag IN VARCHAR2
131915 ,p_actual_flag IN OUT VARCHAR2
131916 ,p_balance_type_code OUT VARCHAR2
131917 ,p_gain_or_loss_ref OUT VARCHAR2
131918
131919 --Invoice Distribution Description
131920 , p_source_1 IN VARCHAR2
131921 --Automatic Offsets Value
131922 , p_source_15 IN VARCHAR2
131923 , p_source_15_meaning IN VARCHAR2
131924 --Purchase Order Rate Variance Gain Account
131925 , p_source_20 IN NUMBER
131926 --Invoice Distribution Ledger Amount
131927 , p_source_21 IN NUMBER
131928 --Destination Type of the PO Distribution
131929 , p_source_22 IN VARCHAR2
131930 , p_source_22_meaning IN VARCHAR2
131931 --Purchase Order Rate Variance Loss Account
131932 , p_source_23 IN NUMBER
131933 --Invoice Distribution Account
131934 , p_source_30 IN NUMBER
131935 --Invoice Distribution Type
131936 , p_source_33 IN VARCHAR2
131937 , p_source_33_meaning IN VARCHAR2
131938 --Automatic Offsets Flag
131939 , p_source_47 IN VARCHAR2
131940 , p_source_47_meaning IN VARCHAR2
131941 --Accounting Reversal Indicator
131942 , p_source_52 IN VARCHAR2
131943 --Distribution Link Type
131944 , p_source_54 IN VARCHAR2
131945 --Allocation to Main Distribution Identifier
131946 , p_source_56 IN NUMBER
131947 --Invoice Identifier
131948 , p_source_57 IN NUMBER
131949 --Invoice Distribution Identifier
131950 , p_source_63 IN NUMBER
131951 --Payables Encumbrance Upgrade Credit Account
131952 , p_source_64 IN NUMBER
131953 --Payables Encumbrance Upgrade Credit Amount
131954 , p_source_65 IN NUMBER
131955 --Invoice Currency Code
131956 , p_source_66 IN VARCHAR2
131957 --Payables Encumbrance Upgrade Credit Base Amount
131958 , p_source_67 IN NUMBER
131959 --Payables Encumbrance Upgrade Debit Account
131960 , p_source_68 IN NUMBER
131961 --Payables Encumbrance Upgrade Debit Amount
131962 , p_source_69 IN NUMBER
131963 --Payables Encumbrance Upgrade Debit Base Amount
131964 , p_source_70 IN NUMBER
131965 --Payables Encumbrance Upgrade Option
131966 , p_source_71 IN VARCHAR2
131967 --Invoice Distribution Amount
131968 , p_source_72 IN NUMBER
131969 --Deferred Accounting End Date
131970 , p_source_76 IN DATE
131971 --Deferred Accounting Option
131972 , p_source_77 IN VARCHAR2
131973 --Deferred Accounting Start Date
131974 , p_source_78 IN DATE
131975 --Override Accounted Amount Indicator
131976 , p_source_79 IN VARCHAR2
131977 , p_source_79_meaning IN VARCHAR2
131978 --Invoice Supplier Identifier
131979 , p_source_80 IN NUMBER
131980 --Invoice Supplier Site Identifier
131984 --Parent Reversal Identifier
131981 , p_source_81 IN NUMBER
131982 --Third Party Type
131983 , p_source_82 IN VARCHAR2
131985 , p_source_83 IN NUMBER
131986 --Invoice Distribution Statistical Amount
131987 , p_source_84 IN NUMBER
131988 --Invoice Distribution Tax Line Identifier
131989 , p_source_85 IN NUMBER
131990 --Invoice Distribution Tax Distribution Identifier from Tax
131991 , p_source_86 IN NUMBER
131992 --Invoice Distribution Summary Tax Line Identifier
131993 , p_source_87 IN NUMBER
131994 --Payables Upgrade Credit Encumbrance Type Identifier
131995 , p_source_88 IN NUMBER
131996 --Payables Upgrade Debit Encumbrance Type Identifier
131997 , p_source_89 IN NUMBER
131998 --Business Flow Accounts Payable Application Identifier
131999 , p_source_90 IN NUMBER
132000 --Business Flow Invoice Distribution Type
132001 , p_source_91 IN VARCHAR2
132002 --Business Flow Invoice Entity Code
132003 , p_source_92 IN VARCHAR2
132004 --Business Flow Invoice Distribution Identifier
132005 , p_source_93 IN NUMBER
132006 --Business Flow Invoice Identifier
132007 , p_source_94 IN NUMBER
132008 --Accrue on Receipt Option
132009 , p_source_95 IN VARCHAR2
132010 , p_source_95_meaning IN VARCHAR2
132011 --Invoice Exchange Date
132012 , p_source_136 IN DATE
132013 --Invoice Exchange Rate
132014 , p_source_137 IN NUMBER
132015 --Invoice Exchange Rate Type
132016 , p_source_138 IN VARCHAR2
132017 )
132018 IS
132019
132020 l_component_type VARCHAR2(80);
132021 l_component_code VARCHAR2(30);
132022 l_component_type_code VARCHAR2(1);
132023 l_component_appl_id INTEGER;
132024 l_amb_context_code VARCHAR2(30);
132025 l_entity_code VARCHAR2(30);
132026 l_event_class_code VARCHAR2(30);
132027 l_ae_header_id NUMBER;
132028 l_event_type_code VARCHAR2(30);
132029 l_line_definition_code VARCHAR2(30);
132030 l_line_definition_owner_code VARCHAR2(1);
132031 --
132032 -- adr variables
132033 l_segment VARCHAR2(30);
132034 l_ccid NUMBER;
132035 l_adr_transaction_coa_id NUMBER;
132036 l_adr_accounting_coa_id NUMBER;
132037 l_adr_flexfield_segment_code VARCHAR2(30);
132038 l_adr_flex_value_set_id NUMBER;
132039 l_adr_value_type_code VARCHAR2(30);
132040 l_adr_value_combination_id NUMBER;
132041 l_adr_value_segment_code VARCHAR2(30);
132042
132043 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
132044 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
132045 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
132046 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
132047
132048 -- 4262811 Variables ------------------------------------------------------------------------------------------
132049 l_entered_amt_idx NUMBER;
132050 l_accted_amt_idx NUMBER;
132051 l_acc_rev_flag VARCHAR2(1);
132052 l_accrual_line_num NUMBER;
132053 l_tmp_amt NUMBER;
132054 l_acc_rev_natural_side_code VARCHAR2(1);
132055
132056 l_num_entries NUMBER;
132057 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
132058 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
132059 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
132060 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
132061 l_recog_line_1 NUMBER;
132062 l_recog_line_2 NUMBER;
132063
132064 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
132065 l_bflow_applied_to_amt NUMBER; -- 5132302
132066 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
132067
132068 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
132069
132070 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
132071 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
132072
132073 ---------------------------------------------------------------------------------------------------------------
132074
132075
132076 --
132077 -- bulk performance
132078 --
132079 l_balance_type_code VARCHAR2(1);
132080 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
132081 l_log_module VARCHAR2(240);
132082
132083 --
132084 -- Upgrade strategy
132085 --
132086 l_actual_upg_option VARCHAR2(1);
132087 l_enc_upg_option VARCHAR2(1);
132088
132089 --
132090 BEGIN
132091 --
132092 IF g_log_enabled THEN
132093 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_211';
132094 END IF;
132095 --
132096 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132097
132098 trace
132099 (p_msg => 'BEGIN of AcctLineType_211'
132100 ,p_level => C_LEVEL_PROCEDURE
132101 ,p_module => l_log_module);
132102
132103 END IF;
132104 --
132105 l_component_type := 'AMB_JLT';
132106 l_component_code := 'AP_TAX_EX_RATE_VAR_PREPAY';
132107 l_component_type_code := 'S';
132108 l_component_appl_id := 200;
132112 l_event_type_code := 'PREPAYMENTS_ALL';
132109 l_amb_context_code := 'DEFAULT';
132110 l_entity_code := 'AP_INVOICES';
132111 l_event_class_code := 'PREPAYMENTS';
132113 l_line_definition_owner_code := 'S';
132114 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
132115 --
132116 l_balance_type_code := 'A';
132117 l_segment := NULL;
132118 l_ccid := NULL;
132119 l_adr_transaction_coa_id := NULL;
132120 l_adr_accounting_coa_id := NULL;
132121 l_adr_flexfield_segment_code := NULL;
132122 l_adr_flex_value_set_id := NULL;
132123 l_adr_value_type_code := NULL;
132124 l_adr_value_combination_id := NULL;
132125 l_adr_value_segment_code := NULL;
132126
132127 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
132128 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
132129 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
132130 l_budgetary_control_flag := 'N';
132131
132132 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132133 l_bflow_applied_to_amt := NULL; -- 5132302
132134 l_entered_amt_idx := NULL; -- 4262811
132135 l_accted_amt_idx := NULL; -- 4262811
132136 l_acc_rev_flag := NULL; -- 4262811
132137 l_accrual_line_num := NULL; -- 4262811
132138 l_tmp_amt := NULL; -- 4262811
132139 --
132140 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
132141 (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
132142 return;
132143 END IF;
132144
132145 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
132146 l_balance_type_code <> 'B' THEN
132147 IF NVL(p_source_33,'
132148 ') = 'TERV' AND
132149 NVL(p_source_95,'
132150 ') = 'Y'
132151 THEN
132152
132153 --
132154 XLA_AE_LINES_PKG.SetNewLine;
132155
132156 p_balance_type_code := l_balance_type_code;
132157 -- set the flag so later we will know whether the gain loss line needs to be created
132158
132159 IF(l_balance_type_code = 'A' ) THEN
132160 p_actual_flag :='G';
132161 END IF;
132162
132163 --
132164 -- bulk performance
132165 --
132166 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
132167 p_header_num => 0); -- 4262811
132168 --
132169 -- set accounting line options
132170 --
132171 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
132172 p_natural_side_code => 'D'
132173 , p_gain_or_loss_flag => 'Y'
132174 , p_gl_transfer_mode_code => 'S'
132175 , p_acct_entry_type_code => 'A'
132176 , p_switch_side_flag => 'Y'
132177 , p_merge_duplicate_code => 'A'
132178 );
132179 --
132180 l_acc_rev_natural_side_code := 'C'; -- 4262811
132181 --
132182 --
132183 -- set accounting line type info
132184 --
132185 xla_ae_lines_pkg.SetAcctLineType
132186 (p_component_type => l_component_type
132187 ,p_event_type_code => l_event_type_code
132188 ,p_line_definition_owner_code => l_line_definition_owner_code
132189 ,p_line_definition_code => l_line_definition_code
132190 ,p_accounting_line_code => l_component_code
132191 ,p_accounting_line_type_code => l_component_type_code
132192 ,p_accounting_line_appl_id => l_component_appl_id
132193 ,p_amb_context_code => l_amb_context_code
132194 ,p_entity_code => l_entity_code
132195 ,p_event_class_code => l_event_class_code);
132196 --
132197 -- set accounting class
132198 --
132199 xla_ae_lines_pkg.SetAcctClass(
132200 p_accounting_class_code => 'TERV'
132201 , p_ae_header_id => l_ae_header_id
132202 );
132203
132204 --
132205 -- set rounding class
132206 --
132207 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
132208 'TERV';
132209
132210 --
132211 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
132212 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
132213 --
132214 -- bulk performance
132215 --
132216 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
132217
132218 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
132219 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
132220
132221 -- 4955764
132222 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132223 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
132224
132225 -- 4458381 Public Sector Enh
132226
132227 --
132228 -- set accounting attributes for the line type
132229 --
132230 l_entered_amt_idx := 23;
132231 l_accted_amt_idx := 28;
132232 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132236 l_rec_acct_attrs.array_num_value(2) :=
132233 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
132234 l_rec_acct_attrs.array_char_value(1) := p_source_52;
132235 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
132237 xla_ae_sources_pkg.GetSystemSourceNum(
132238 p_source_code => 'XLA_EVENT_APPL_ID'
132239 , p_source_type_code => 'Y'
132240 , p_source_application_id => 602
132241 );
132242 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
132243 l_rec_acct_attrs.array_char_value(3) := p_source_54;
132244 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
132245 l_rec_acct_attrs.array_char_value(4) :=
132246 xla_ae_sources_pkg.GetSystemSourceChar(
132247 p_source_code => 'XLA_ENTITY_CODE'
132248 , p_source_type_code => 'Y'
132249 , p_source_application_id => 602
132250 );
132251 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
132252 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
132253 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
132254 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
132255 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
132256 l_rec_acct_attrs.array_num_value(7) := p_source_90;
132257 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
132258 l_rec_acct_attrs.array_char_value(8) := p_source_91;
132259 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
132260 l_rec_acct_attrs.array_char_value(9) := p_source_92;
132261 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
132262 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
132263 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
132264 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
132265 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
132266 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
132267 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
132268 l_rec_acct_attrs.array_char_value(13) := p_source_54;
132269 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
132270 l_rec_acct_attrs.array_num_value(14) := p_source_64;
132271 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
132272 l_rec_acct_attrs.array_num_value(15) := p_source_65;
132273 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
132274 l_rec_acct_attrs.array_char_value(16) := p_source_66;
132275 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
132276 l_rec_acct_attrs.array_num_value(17) := p_source_67;
132277 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
132278 l_rec_acct_attrs.array_num_value(18) := p_source_68;
132279 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
132280 l_rec_acct_attrs.array_num_value(19) := p_source_69;
132281 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
132282 l_rec_acct_attrs.array_char_value(20) := p_source_66;
132283 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
132284 l_rec_acct_attrs.array_num_value(21) := p_source_70;
132285 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
132286 l_rec_acct_attrs.array_char_value(22) := p_source_71;
132287 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
132288 l_rec_acct_attrs.array_num_value(23) := p_source_72;
132289 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
132290 l_rec_acct_attrs.array_char_value(24) := p_source_66;
132291 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
132292 l_rec_acct_attrs.array_date_value(25) := p_source_136;
132293 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
132294 l_rec_acct_attrs.array_num_value(26) := p_source_137;
132295 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
132296 l_rec_acct_attrs.array_char_value(27) := p_source_138;
132297 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
132298 l_rec_acct_attrs.array_num_value(28) := p_source_21;
132299 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
132300 l_rec_acct_attrs.array_date_value(29) := p_source_76;
132301 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
132302 l_rec_acct_attrs.array_char_value(30) := p_source_77;
132303 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
132304 l_rec_acct_attrs.array_date_value(31) := p_source_78;
132305 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
132306 l_rec_acct_attrs.array_char_value(32) := p_source_79;
132307 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
132308 l_rec_acct_attrs.array_num_value(33) := p_source_80;
132309 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
132310 l_rec_acct_attrs.array_num_value(34) := p_source_81;
132311 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
132312 l_rec_acct_attrs.array_char_value(35) := p_source_82;
132313 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
132314 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
132315 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
132316 l_rec_acct_attrs.array_char_value(37) := p_source_54;
132317 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
132318 l_rec_acct_attrs.array_num_value(38) := p_source_84;
132319 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
132320 l_rec_acct_attrs.array_num_value(39) := p_source_85;
132321 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
132325 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
132322 l_rec_acct_attrs.array_num_value(40) := p_source_86;
132323 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
132324 l_rec_acct_attrs.array_num_value(41) := p_source_87;
132326 l_rec_acct_attrs.array_num_value(42) := p_source_88;
132327 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
132328 l_rec_acct_attrs.array_num_value(43) := p_source_89;
132329
132330 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
132331 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
132332
132333 ---------------------------------------------------------------------------------------------------------------
132334 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
132335 ---------------------------------------------------------------------------------------------------------------
132336 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
132337
132338 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132339 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132340
132341 IF xla_accounting_cache_pkg.GetValueChar
132342 (p_source_code => 'LEDGER_CATEGORY_CODE'
132343 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
132344 AND l_bflow_method_code = 'PRIOR_ENTRY'
132345 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
132346 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
132347 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
132348 )
132349 THEN
132350 xla_ae_lines_pkg.BflowUpgEntry
132351 (p_business_method_code => l_bflow_method_code
132352 ,p_business_class_code => l_bflow_class_code
132353 ,p_balance_type => l_balance_type_code);
132354 ELSE
132355 NULL;
132356 -- No business flow processing for business flow method of NONE.
132357 END IF;
132358
132359 --
132360 -- call analytical criteria
132361 --
132362
132363 --
132364 -- call description
132365 --
132366
132367 xla_ae_lines_pkg.SetLineDescription(
132368 p_ae_header_id => l_ae_header_id
132369 ,p_description => Description_1 (
132370 p_application_id => p_application_id
132371 , p_ae_header_id => l_ae_header_id
132372 , p_source_1 => p_source_1
132373 )
132374 );
132375
132376
132377 --
132378 -- call ADRs
132379 -- Bug 4922099
132380 --
132381 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132382 (NVL(l_actual_upg_option, 'N') = 'O') OR
132383 (NVL(l_enc_upg_option, 'N') = 'O')
132384 )
132385 THEN
132386 NULL;
132387 --
132388 --
132389
132390 l_ccid := AcctDerRule_30(
132391 p_application_id => p_application_id
132392 , p_ae_header_id => l_ae_header_id
132393 , p_source_15 => p_source_15
132394 , p_source_15_meaning => p_source_15_meaning
132395 , p_source_20 => p_source_20
132396 , p_source_21 => p_source_21
132397 , p_source_22 => p_source_22
132398 , p_source_22_meaning => p_source_22_meaning
132399 , p_source_23 => p_source_23
132400 , p_source_30 => p_source_30
132401 , p_source_47 => p_source_47
132402 , p_source_47_meaning => p_source_47_meaning
132403 , x_transaction_coa_id => l_adr_transaction_coa_id
132404 , x_accounting_coa_id => l_adr_accounting_coa_id
132405 , x_value_type_code => l_adr_value_type_code
132406 , p_side => 'NA'
132407 );
132408
132409 xla_ae_lines_pkg.set_ccid(
132410 p_code_combination_id => l_ccid
132411 , p_value_type_code => l_adr_value_type_code
132412 , p_transaction_coa_id => l_adr_transaction_coa_id
132413 , p_accounting_coa_id => l_adr_accounting_coa_id
132414 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132415 , p_adr_type_code => 'S'
132416 , p_component_type => l_component_type
132417 , p_component_code => l_component_code
132418 , p_component_type_code => l_component_type_code
132419 , p_component_appl_id => l_component_appl_id
132420 , p_amb_context_code => l_amb_context_code
132421 , p_side => 'NA'
132422 );
132423
132424
132425 l_segment := AcctDerRule_8(
132426 p_application_id => p_application_id
132427 , p_ae_header_id => l_ae_header_id
132428 , p_source_15 => p_source_15
132429 , p_source_15_meaning => p_source_15_meaning
132430 , p_source_20 => p_source_20
132431 , p_source_21 => p_source_21
132432 , p_source_22 => p_source_22
132433 , p_source_22_meaning => p_source_22_meaning
132434 , p_source_23 => p_source_23
132435 , x_transaction_coa_id => l_adr_transaction_coa_id
132436 , x_accounting_coa_id => l_adr_accounting_coa_id
132437 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132438 , x_flex_value_set_id => l_adr_flex_value_set_id
132439 , x_value_type_code => l_adr_value_type_code
132440 , x_value_combination_id => l_adr_value_combination_id
132441 , x_value_segment_code => l_adr_value_segment_code
132445
132442 , p_side => 'NA'
132443 , p_override_seg_flag => 'Y'
132444 );
132446 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132447
132448 xla_ae_lines_pkg.set_segment(
132449 p_to_segment_code => 'GL_ACCOUNT'
132450 , p_segment_value => l_segment
132451 , p_from_segment_code => l_adr_value_segment_code
132452 , p_from_combination_id => l_adr_value_combination_id
132453 , p_value_type_code => l_adr_value_type_code
132454 , p_transaction_coa_id => l_adr_transaction_coa_id
132455 , p_accounting_coa_id => l_adr_accounting_coa_id
132456 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132457 , p_flex_value_set_id => l_adr_flex_value_set_id
132458 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132459 , p_adr_type_code => 'S'
132460 , p_component_type => l_component_type
132461 , p_component_code => l_component_code
132462 , p_component_type_code => l_component_type_code
132463 , p_component_appl_id => l_component_appl_id
132464 , p_amb_context_code => l_amb_context_code
132465 , p_entity_code => 'AP_INVOICES'
132466 , p_event_class_code => 'PREPAYMENTS'
132467 , p_side => 'NA'
132468 );
132469
132470 END IF;
132471
132472 l_segment := AcctDerRule_23(
132473 p_application_id => p_application_id
132474 , p_ae_header_id => l_ae_header_id
132475 , p_source_15 => p_source_15
132476 , p_source_15_meaning => p_source_15_meaning
132477 , p_source_22 => p_source_22
132478 , p_source_22_meaning => p_source_22_meaning
132479 , p_source_30 => p_source_30
132480 , x_transaction_coa_id => l_adr_transaction_coa_id
132481 , x_accounting_coa_id => l_adr_accounting_coa_id
132482 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132483 , x_flex_value_set_id => l_adr_flex_value_set_id
132484 , x_value_type_code => l_adr_value_type_code
132485 , x_value_combination_id => l_adr_value_combination_id
132486 , x_value_segment_code => l_adr_value_segment_code
132487 , p_side => 'NA'
132488 , p_override_seg_flag => 'Y'
132489 );
132490
132491 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132492
132493 xla_ae_lines_pkg.set_segment(
132494 p_to_segment_code => 'GL_BALANCING'
132495 , p_segment_value => l_segment
132496 , p_from_segment_code => l_adr_value_segment_code
132497 , p_from_combination_id => l_adr_value_combination_id
132498 , p_value_type_code => l_adr_value_type_code
132499 , p_transaction_coa_id => l_adr_transaction_coa_id
132500 , p_accounting_coa_id => l_adr_accounting_coa_id
132501 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132502 , p_flex_value_set_id => l_adr_flex_value_set_id
132503 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132504 , p_adr_type_code => 'S'
132505 , p_component_type => l_component_type
132506 , p_component_code => l_component_code
132507 , p_component_type_code => l_component_type_code
132508 , p_component_appl_id => l_component_appl_id
132509 , p_amb_context_code => l_amb_context_code
132510 , p_entity_code => 'AP_INVOICES'
132511 , p_event_class_code => 'PREPAYMENTS'
132512 , p_side => 'NA'
132513 );
132514
132515 END IF;
132516
132517 --
132518 --
132519 END IF;
132520 --
132521 -- Bug 4922099
132522 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
132523 (NVL(l_enc_upg_option, 'N') = 'O')
132524 ) AND
132525 (l_bflow_method_code = 'PRIOR_ENTRY')
132526 )
132527 THEN
132528 IF
132529 --
132530 1 = 2
132531 --
132532 THEN
132533 xla_accounting_err_pkg.build_message
132534 (p_appli_s_name => 'XLA'
132535 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132536 ,p_token_1 => 'LINE_NUMBER'
132537 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
132538 ,p_token_2 => 'LINE_TYPE_NAME'
132539 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
132540 l_component_type
132541 ,l_component_code
132542 ,l_component_type_code
132543 ,l_component_appl_id
132544 ,l_amb_context_code
132545 ,l_entity_code
132546 ,l_event_class_code
132547 )
132551 ,p_lookup_code => l_component_type_code
132548 ,p_token_3 => 'OWNER'
132549 ,p_value_3 => xla_lookups_pkg.get_meaning(
132550 p_lookup_type => 'XLA_OWNER_TYPE'
132552 )
132553 ,p_token_4 => 'PRODUCT_NAME'
132554 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
132555 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
132556 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
132557 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
132558 ,p_ae_header_id => NULL
132559 );
132560
132561 IF (C_LEVEL_ERROR>= g_log_level) THEN
132562 trace
132563 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132564 ,p_level => C_LEVEL_ERROR
132565 ,p_module => l_log_module);
132566 END IF;
132567 END IF;
132568 END IF;
132569 --
132570 --
132571 ------------------------------------------------------------------------------------------------
132572 -- 4219869 Business Flow
132573 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132574 -- Prior Entry. Currently, the following code is always generated.
132575 ------------------------------------------------------------------------------------------------
132576 XLA_AE_LINES_PKG.ValidateCurrentLine;
132577
132578 ------------------------------------------------------------------------------------
132579 -- 4219869 Business Flow
132580 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132581 ------------------------------------------------------------------------------------
132582 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132583
132584 ----------------------------------------------------------------------------------
132585 -- 4219869 Business Flow
132586 -- Update journal entry status -- Need to generate this within IF <condition>
132587 ----------------------------------------------------------------------------------
132588 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132589 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132590 ,p_balance_type_code => l_balance_type_code
132591 );
132592
132593 -------------------------------------------------------------------------------------------
132594 -- 4262811 - Generate the Accrual Reversal lines
132595 -------------------------------------------------------------------------------------------
132596 BEGIN
132597 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132598 (g_array_event(p_event_id).array_value_num('header_index'));
132599 IF l_acc_rev_flag IS NULL THEN
132600 l_acc_rev_flag := 'N';
132601 END IF;
132602 EXCEPTION
132603 WHEN OTHERS THEN
132604 l_acc_rev_flag := 'N';
132605 END;
132606 --
132607 IF (l_acc_rev_flag = 'Y') THEN
132608
132609 -- 4645092 ------------------------------------------------------------------------------
132610 -- To allow MPA report to determine if it should generate report process
132611 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132612 ------------------------------------------------------------------------------------------
132613
132614 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132615 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132616 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132617 -- call ADRs
132618 -- Bug 4922099
132619 --
132620 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132621 (NVL(l_actual_upg_option, 'N') = 'O') OR
132622 (NVL(l_enc_upg_option, 'N') = 'O')
132623 )
132624 THEN
132625 NULL;
132626 --
132627 --
132628
132629 l_ccid := AcctDerRule_30(
132630 p_application_id => p_application_id
132631 , p_ae_header_id => l_ae_header_id
132632 , p_source_15 => p_source_15
132633 , p_source_15_meaning => p_source_15_meaning
132634 , p_source_20 => p_source_20
132635 , p_source_21 => p_source_21
132636 , p_source_22 => p_source_22
132637 , p_source_22_meaning => p_source_22_meaning
132638 , p_source_23 => p_source_23
132639 , p_source_30 => p_source_30
132640 , p_source_47 => p_source_47
132641 , p_source_47_meaning => p_source_47_meaning
132642 , x_transaction_coa_id => l_adr_transaction_coa_id
132643 , x_accounting_coa_id => l_adr_accounting_coa_id
132644 , x_value_type_code => l_adr_value_type_code
132645 , p_side => 'NA'
132646 );
132647
132648 xla_ae_lines_pkg.set_ccid(
132649 p_code_combination_id => l_ccid
132650 , p_value_type_code => l_adr_value_type_code
132651 , p_transaction_coa_id => l_adr_transaction_coa_id
132652 , p_accounting_coa_id => l_adr_accounting_coa_id
132653 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132654 , p_adr_type_code => 'S'
132658 , p_component_appl_id => l_component_appl_id
132655 , p_component_type => l_component_type
132656 , p_component_code => l_component_code
132657 , p_component_type_code => l_component_type_code
132659 , p_amb_context_code => l_amb_context_code
132660 , p_side => 'NA'
132661 );
132662
132663
132664 l_segment := AcctDerRule_8(
132665 p_application_id => p_application_id
132666 , p_ae_header_id => l_ae_header_id
132667 , p_source_15 => p_source_15
132668 , p_source_15_meaning => p_source_15_meaning
132669 , p_source_20 => p_source_20
132670 , p_source_21 => p_source_21
132671 , p_source_22 => p_source_22
132672 , p_source_22_meaning => p_source_22_meaning
132673 , p_source_23 => p_source_23
132674 , x_transaction_coa_id => l_adr_transaction_coa_id
132675 , x_accounting_coa_id => l_adr_accounting_coa_id
132676 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132677 , x_flex_value_set_id => l_adr_flex_value_set_id
132678 , x_value_type_code => l_adr_value_type_code
132679 , x_value_combination_id => l_adr_value_combination_id
132680 , x_value_segment_code => l_adr_value_segment_code
132681 , p_side => 'NA'
132682 , p_override_seg_flag => 'Y'
132683 );
132684
132685 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132686
132687 xla_ae_lines_pkg.set_segment(
132688 p_to_segment_code => 'GL_ACCOUNT'
132689 , p_segment_value => l_segment
132690 , p_from_segment_code => l_adr_value_segment_code
132691 , p_from_combination_id => l_adr_value_combination_id
132692 , p_value_type_code => l_adr_value_type_code
132693 , p_transaction_coa_id => l_adr_transaction_coa_id
132694 , p_accounting_coa_id => l_adr_accounting_coa_id
132695 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132696 , p_flex_value_set_id => l_adr_flex_value_set_id
132697 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132698 , p_adr_type_code => 'S'
132699 , p_component_type => l_component_type
132700 , p_component_code => l_component_code
132701 , p_component_type_code => l_component_type_code
132702 , p_component_appl_id => l_component_appl_id
132703 , p_amb_context_code => l_amb_context_code
132704 , p_entity_code => 'AP_INVOICES'
132705 , p_event_class_code => 'PREPAYMENTS'
132706 , p_side => 'NA'
132707 );
132708
132709 END IF;
132710
132711 l_segment := AcctDerRule_23(
132712 p_application_id => p_application_id
132713 , p_ae_header_id => l_ae_header_id
132714 , p_source_15 => p_source_15
132715 , p_source_15_meaning => p_source_15_meaning
132716 , p_source_22 => p_source_22
132717 , p_source_22_meaning => p_source_22_meaning
132718 , p_source_30 => p_source_30
132719 , x_transaction_coa_id => l_adr_transaction_coa_id
132720 , x_accounting_coa_id => l_adr_accounting_coa_id
132721 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132722 , x_flex_value_set_id => l_adr_flex_value_set_id
132723 , x_value_type_code => l_adr_value_type_code
132724 , x_value_combination_id => l_adr_value_combination_id
132725 , x_value_segment_code => l_adr_value_segment_code
132726 , p_side => 'NA'
132727 , p_override_seg_flag => 'Y'
132728 );
132729
132730 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132731
132732 xla_ae_lines_pkg.set_segment(
132733 p_to_segment_code => 'GL_BALANCING'
132734 , p_segment_value => l_segment
132735 , p_from_segment_code => l_adr_value_segment_code
132736 , p_from_combination_id => l_adr_value_combination_id
132737 , p_value_type_code => l_adr_value_type_code
132738 , p_transaction_coa_id => l_adr_transaction_coa_id
132739 , p_accounting_coa_id => l_adr_accounting_coa_id
132740 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132741 , p_flex_value_set_id => l_adr_flex_value_set_id
132742 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132743 , p_adr_type_code => 'S'
132744 , p_component_type => l_component_type
132745 , p_component_code => l_component_code
132746 , p_component_type_code => l_component_type_code
132747 , p_component_appl_id => l_component_appl_id
132748 , p_amb_context_code => l_amb_context_code
132749 , p_entity_code => 'AP_INVOICES'
132750 , p_event_class_code => 'PREPAYMENTS'
132751 , p_side => 'NA'
132752 );
132753
132754 END IF;
132755
132756 --
132757 --
132758 END IF;
132759
132760 --
132761 -- Update the line information that should be overwritten
132762 --
132763 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132764 p_header_num => 1);
132765 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132766
132770 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132767 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132768
132769 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132771 END IF;
132772
132773 --
132774 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132775 --
132776 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132777 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132778 ELSE
132779 ---------------------------------------------------------------------------------------------------
132780 -- 4262811a Switch Sign
132781 ---------------------------------------------------------------------------------------------------
132782 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132783 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132784 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132785 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132786 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132787 -- 5132302
132788 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132789 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132790
132791 END IF;
132792
132793 -- 4955764
132794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132796
132797
132798 XLA_AE_LINES_PKG.ValidateCurrentLine;
132799 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132800
132801 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132802 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132803 ,p_balance_type_code => l_balance_type_code);
132804
132805 END IF;
132806
132807 -----------------------------------------------------------------------------------------
132808 -- 4262811 Multiperiod Accounting
132809 -----------------------------------------------------------------------------------------
132810 -- No MPA option is assigned.
132811
132812
132813 END IF;
132814 END IF;
132815 --
132816
132817 --
132818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132819 trace
132820 (p_msg => 'END of AcctLineType_211'
132821 ,p_level => C_LEVEL_PROCEDURE
132822 ,p_module => l_log_module);
132823 END IF;
132824 --
132825 EXCEPTION
132826 WHEN xla_exceptions_pkg.application_exception THEN
132827 RAISE;
132828 WHEN OTHERS THEN
132829 xla_exceptions_pkg.raise_message
132830 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_211');
132831 END AcctLineType_211;
132832 --
132833
132834 ---------------------------------------
132835 --
132836 -- PRIVATE FUNCTION
132837 -- AcctLineType_212
132838 --
132839 ---------------------------------------
132840 PROCEDURE AcctLineType_212 (
132841 p_application_id IN NUMBER
132842 ,p_event_id IN NUMBER
132843 ,p_calculate_acctd_flag IN VARCHAR2
132844 ,p_calculate_g_l_flag IN VARCHAR2
132845 ,p_actual_flag IN OUT VARCHAR2
132846 ,p_balance_type_code OUT VARCHAR2
132847 ,p_gain_or_loss_ref OUT VARCHAR2
132848
132849 --Invoice Distribution Description
132850 , p_source_1 IN VARCHAR2
132851 --Invoice Distribution Ledger Amount
132852 , p_source_21 IN NUMBER
132853 --Invoice Distribution Account
132854 , p_source_30 IN NUMBER
132855 --Invoice Distribution Type
132856 , p_source_33 IN VARCHAR2
132857 , p_source_33_meaning IN VARCHAR2
132858 --Accounting Reversal Indicator
132859 , p_source_52 IN VARCHAR2
132860 --Distribution Link Type
132861 , p_source_54 IN VARCHAR2
132862 --Allocation to Main Distribution Identifier
132863 , p_source_56 IN NUMBER
132864 --Invoice Identifier
132865 , p_source_57 IN NUMBER
132866 --Invoice Distribution Identifier
132867 , p_source_63 IN NUMBER
132868 --Payables Encumbrance Upgrade Credit Account
132869 , p_source_64 IN NUMBER
132870 --Payables Encumbrance Upgrade Credit Amount
132871 , p_source_65 IN NUMBER
132872 --Invoice Currency Code
132873 , p_source_66 IN VARCHAR2
132874 --Payables Encumbrance Upgrade Credit Base Amount
132875 , p_source_67 IN NUMBER
132876 --Payables Encumbrance Upgrade Debit Account
132877 , p_source_68 IN NUMBER
132878 --Payables Encumbrance Upgrade Debit Amount
132879 , p_source_69 IN NUMBER
132880 --Payables Encumbrance Upgrade Debit Base Amount
132881 , p_source_70 IN NUMBER
132882 --Payables Encumbrance Upgrade Option
132883 , p_source_71 IN VARCHAR2
132884 --Invoice Distribution Amount
132885 , p_source_72 IN NUMBER
132886 --Deferred Accounting End Date
132887 , p_source_76 IN DATE
132891 , p_source_78 IN DATE
132888 --Deferred Accounting Option
132889 , p_source_77 IN VARCHAR2
132890 --Deferred Accounting Start Date
132892 --Override Accounted Amount Indicator
132893 , p_source_79 IN VARCHAR2
132894 , p_source_79_meaning IN VARCHAR2
132895 --Invoice Supplier Identifier
132896 , p_source_80 IN NUMBER
132897 --Invoice Supplier Site Identifier
132898 , p_source_81 IN NUMBER
132899 --Third Party Type
132900 , p_source_82 IN VARCHAR2
132901 --Parent Reversal Identifier
132902 , p_source_83 IN NUMBER
132903 --Invoice Distribution Statistical Amount
132904 , p_source_84 IN NUMBER
132905 --Invoice Distribution Tax Line Identifier
132906 , p_source_85 IN NUMBER
132907 --Invoice Distribution Tax Distribution Identifier from Tax
132908 , p_source_86 IN NUMBER
132909 --Invoice Distribution Summary Tax Line Identifier
132910 , p_source_87 IN NUMBER
132911 --Payables Upgrade Credit Encumbrance Type Identifier
132912 , p_source_88 IN NUMBER
132913 --Payables Upgrade Debit Encumbrance Type Identifier
132914 , p_source_89 IN NUMBER
132915 --Business Flow Accounts Payable Application Identifier
132916 , p_source_90 IN NUMBER
132917 --Business Flow Invoice Distribution Type
132918 , p_source_91 IN VARCHAR2
132919 --Business Flow Invoice Entity Code
132920 , p_source_92 IN VARCHAR2
132921 --Business Flow Invoice Distribution Identifier
132922 , p_source_93 IN NUMBER
132923 --Business Flow Invoice Identifier
132924 , p_source_94 IN NUMBER
132925 --Accrue on Receipt Option
132926 , p_source_95 IN VARCHAR2
132927 , p_source_95_meaning IN VARCHAR2
132928 --Invoice Exchange Date
132929 , p_source_136 IN DATE
132930 --Invoice Exchange Rate
132931 , p_source_137 IN NUMBER
132932 --Invoice Exchange Rate Type
132933 , p_source_138 IN VARCHAR2
132934 )
132935 IS
132936
132937 l_component_type VARCHAR2(80);
132938 l_component_code VARCHAR2(30);
132939 l_component_type_code VARCHAR2(1);
132940 l_component_appl_id INTEGER;
132941 l_amb_context_code VARCHAR2(30);
132942 l_entity_code VARCHAR2(30);
132943 l_event_class_code VARCHAR2(30);
132944 l_ae_header_id NUMBER;
132945 l_event_type_code VARCHAR2(30);
132946 l_line_definition_code VARCHAR2(30);
132947 l_line_definition_owner_code VARCHAR2(1);
132948 --
132949 -- adr variables
132950 l_segment VARCHAR2(30);
132951 l_ccid NUMBER;
132952 l_adr_transaction_coa_id NUMBER;
132953 l_adr_accounting_coa_id NUMBER;
132954 l_adr_flexfield_segment_code VARCHAR2(30);
132955 l_adr_flex_value_set_id NUMBER;
132956 l_adr_value_type_code VARCHAR2(30);
132957 l_adr_value_combination_id NUMBER;
132958 l_adr_value_segment_code VARCHAR2(30);
132959
132960 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
132961 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
132962 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
132963 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
132964
132965 -- 4262811 Variables ------------------------------------------------------------------------------------------
132966 l_entered_amt_idx NUMBER;
132967 l_accted_amt_idx NUMBER;
132968 l_acc_rev_flag VARCHAR2(1);
132969 l_accrual_line_num NUMBER;
132970 l_tmp_amt NUMBER;
132971 l_acc_rev_natural_side_code VARCHAR2(1);
132972
132973 l_num_entries NUMBER;
132974 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
132975 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
132976 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
132977 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
132978 l_recog_line_1 NUMBER;
132979 l_recog_line_2 NUMBER;
132980
132981 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
132982 l_bflow_applied_to_amt NUMBER; -- 5132302
132983 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
132984
132985 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
132986
132987 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
132988 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
132989
132990 ---------------------------------------------------------------------------------------------------------------
132991
132992
132993 --
132994 -- bulk performance
132995 --
132996 l_balance_type_code VARCHAR2(1);
132997 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
132998 l_log_module VARCHAR2(240);
132999
133000 --
133001 -- Upgrade strategy
133002 --
133003 l_actual_upg_option VARCHAR2(1);
133004 l_enc_upg_option VARCHAR2(1);
133005
133006 --
133007 BEGIN
133008 --
133009 IF g_log_enabled THEN
133010 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_212';
133011 END IF;
133012 --
133013 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133014
133015 trace
133019
133016 (p_msg => 'BEGIN of AcctLineType_212'
133017 ,p_level => C_LEVEL_PROCEDURE
133018 ,p_module => l_log_module);
133020 END IF;
133021 --
133022 l_component_type := 'AMB_JLT';
133023 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM';
133024 l_component_type_code := 'S';
133025 l_component_appl_id := 200;
133026 l_amb_context_code := 'DEFAULT';
133027 l_entity_code := 'AP_INVOICES';
133028 l_event_class_code := 'CREDIT MEMOS';
133029 l_event_type_code := 'CREDIT MEMOS_ALL';
133030 l_line_definition_owner_code := 'S';
133031 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
133032 --
133033 l_balance_type_code := 'A';
133034 l_segment := NULL;
133035 l_ccid := NULL;
133036 l_adr_transaction_coa_id := NULL;
133037 l_adr_accounting_coa_id := NULL;
133038 l_adr_flexfield_segment_code := NULL;
133039 l_adr_flex_value_set_id := NULL;
133040 l_adr_value_type_code := NULL;
133041 l_adr_value_combination_id := NULL;
133042 l_adr_value_segment_code := NULL;
133043
133044 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133045 l_bflow_class_code := ''; -- 4219869 Business Flow
133046 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133047 l_budgetary_control_flag := 'N';
133048
133049 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133050 l_bflow_applied_to_amt := NULL; -- 5132302
133051 l_entered_amt_idx := NULL; -- 4262811
133052 l_accted_amt_idx := NULL; -- 4262811
133053 l_acc_rev_flag := NULL; -- 4262811
133054 l_accrual_line_num := NULL; -- 4262811
133055 l_tmp_amt := NULL; -- 4262811
133056 --
133057
133058 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133059 l_balance_type_code <> 'B' THEN
133060 IF NVL(p_source_33,'
133061 ') = 'TIPV' AND
133062 NVL(p_source_95,'
133063 ') = 'Y'
133064 THEN
133065
133066 --
133067 XLA_AE_LINES_PKG.SetNewLine;
133068
133069 p_balance_type_code := l_balance_type_code;
133070 -- set the flag so later we will know whether the gain loss line needs to be created
133071
133072 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133073 p_actual_flag :='A';
133074 END IF;
133075
133076 --
133077 -- bulk performance
133078 --
133079 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133080 p_header_num => 0); -- 4262811
133081 --
133082 -- set accounting line options
133083 --
133084 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133085 p_natural_side_code => 'D'
133086 , p_gain_or_loss_flag => 'N'
133087 , p_gl_transfer_mode_code => 'S'
133088 , p_acct_entry_type_code => 'A'
133089 , p_switch_side_flag => 'Y'
133090 , p_merge_duplicate_code => 'A'
133091 );
133092 --
133093 l_acc_rev_natural_side_code := 'C'; -- 4262811
133094 --
133095 --
133096 -- set accounting line type info
133097 --
133098 xla_ae_lines_pkg.SetAcctLineType
133099 (p_component_type => l_component_type
133100 ,p_event_type_code => l_event_type_code
133101 ,p_line_definition_owner_code => l_line_definition_owner_code
133102 ,p_line_definition_code => l_line_definition_code
133103 ,p_accounting_line_code => l_component_code
133104 ,p_accounting_line_type_code => l_component_type_code
133105 ,p_accounting_line_appl_id => l_component_appl_id
133106 ,p_amb_context_code => l_amb_context_code
133107 ,p_entity_code => l_entity_code
133108 ,p_event_class_code => l_event_class_code);
133109 --
133110 -- set accounting class
133111 --
133112 xla_ae_lines_pkg.SetAcctClass(
133113 p_accounting_class_code => 'TIPV'
133114 , p_ae_header_id => l_ae_header_id
133115 );
133116
133117 --
133118 -- set rounding class
133119 --
133120 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133121 'TIPV';
133122
133123 --
133124 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133125 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133126 --
133127 -- bulk performance
133128 --
133129 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133130
133131 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133132 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133133
133134 -- 4955764
133135 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133136 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133137
133138 -- 4458381 Public Sector Enh
133139
133140 --
133141 -- set accounting attributes for the line type
133142 --
133143 l_entered_amt_idx := 23;
133144 l_accted_amt_idx := 28;
133145 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133149 l_rec_acct_attrs.array_num_value(2) :=
133146 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133147 l_rec_acct_attrs.array_char_value(1) := p_source_52;
133148 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133150 xla_ae_sources_pkg.GetSystemSourceNum(
133151 p_source_code => 'XLA_EVENT_APPL_ID'
133152 , p_source_type_code => 'Y'
133153 , p_source_application_id => 602
133154 );
133155 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133156 l_rec_acct_attrs.array_char_value(3) := p_source_54;
133157 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133158 l_rec_acct_attrs.array_char_value(4) :=
133159 xla_ae_sources_pkg.GetSystemSourceChar(
133160 p_source_code => 'XLA_ENTITY_CODE'
133161 , p_source_type_code => 'Y'
133162 , p_source_application_id => 602
133163 );
133164 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133165 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
133166 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133167 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
133168 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133169 l_rec_acct_attrs.array_num_value(7) := p_source_90;
133170 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133171 l_rec_acct_attrs.array_char_value(8) := p_source_91;
133172 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133173 l_rec_acct_attrs.array_char_value(9) := p_source_92;
133174 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133175 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
133176 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133177 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
133178 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133179 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
133180 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133181 l_rec_acct_attrs.array_char_value(13) := p_source_54;
133182 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133183 l_rec_acct_attrs.array_num_value(14) := p_source_64;
133184 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133185 l_rec_acct_attrs.array_num_value(15) := p_source_65;
133186 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133187 l_rec_acct_attrs.array_char_value(16) := p_source_66;
133188 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133189 l_rec_acct_attrs.array_num_value(17) := p_source_67;
133190 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133191 l_rec_acct_attrs.array_num_value(18) := p_source_68;
133192 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133193 l_rec_acct_attrs.array_num_value(19) := p_source_69;
133194 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133195 l_rec_acct_attrs.array_char_value(20) := p_source_66;
133196 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133197 l_rec_acct_attrs.array_num_value(21) := p_source_70;
133198 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133199 l_rec_acct_attrs.array_char_value(22) := p_source_71;
133200 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133201 l_rec_acct_attrs.array_num_value(23) := p_source_72;
133202 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133203 l_rec_acct_attrs.array_char_value(24) := p_source_66;
133204 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
133205 l_rec_acct_attrs.array_date_value(25) := p_source_136;
133206 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
133207 l_rec_acct_attrs.array_num_value(26) := p_source_137;
133208 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
133209 l_rec_acct_attrs.array_char_value(27) := p_source_138;
133210 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
133211 l_rec_acct_attrs.array_num_value(28) := p_source_21;
133212 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
133213 l_rec_acct_attrs.array_date_value(29) := p_source_76;
133214 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
133215 l_rec_acct_attrs.array_char_value(30) := p_source_77;
133216 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
133217 l_rec_acct_attrs.array_date_value(31) := p_source_78;
133218 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
133219 l_rec_acct_attrs.array_char_value(32) := p_source_79;
133220 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
133221 l_rec_acct_attrs.array_num_value(33) := p_source_80;
133222 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
133223 l_rec_acct_attrs.array_num_value(34) := p_source_81;
133224 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
133225 l_rec_acct_attrs.array_char_value(35) := p_source_82;
133226 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
133227 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
133228 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
133229 l_rec_acct_attrs.array_char_value(37) := p_source_54;
133230 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
133231 l_rec_acct_attrs.array_num_value(38) := p_source_84;
133232 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
133233 l_rec_acct_attrs.array_num_value(39) := p_source_85;
133237 l_rec_acct_attrs.array_num_value(41) := p_source_87;
133234 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
133235 l_rec_acct_attrs.array_num_value(40) := p_source_86;
133236 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
133238 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
133239 l_rec_acct_attrs.array_num_value(42) := p_source_88;
133240 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
133241 l_rec_acct_attrs.array_num_value(43) := p_source_89;
133242
133243 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
133244 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
133245
133246 ---------------------------------------------------------------------------------------------------------------
133247 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
133248 ---------------------------------------------------------------------------------------------------------------
133249 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
133250
133251 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133252 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133253
133254 IF xla_accounting_cache_pkg.GetValueChar
133255 (p_source_code => 'LEDGER_CATEGORY_CODE'
133256 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
133257 AND l_bflow_method_code = 'PRIOR_ENTRY'
133258 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
133259 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
133260 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
133261 )
133262 THEN
133263 xla_ae_lines_pkg.BflowUpgEntry
133264 (p_business_method_code => l_bflow_method_code
133265 ,p_business_class_code => l_bflow_class_code
133266 ,p_balance_type => l_balance_type_code);
133267 ELSE
133268 NULL;
133269 -- No business flow processing for business flow method of NONE.
133270 END IF;
133271
133272 --
133273 -- call analytical criteria
133274 --
133275
133276 --
133277 -- call description
133278 --
133279
133280 xla_ae_lines_pkg.SetLineDescription(
133281 p_ae_header_id => l_ae_header_id
133282 ,p_description => Description_1 (
133283 p_application_id => p_application_id
133284 , p_ae_header_id => l_ae_header_id
133285 , p_source_1 => p_source_1
133286 )
133287 );
133288
133289
133290 --
133291 -- call ADRs
133292 -- Bug 4922099
133293 --
133294 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133295 (NVL(l_actual_upg_option, 'N') = 'O') OR
133296 (NVL(l_enc_upg_option, 'N') = 'O')
133297 )
133298 THEN
133299 NULL;
133300 --
133301 --
133302
133303 l_ccid := AcctDerRule_33(
133304 p_application_id => p_application_id
133305 , p_ae_header_id => l_ae_header_id
133306 , p_source_30 => p_source_30
133307 , x_transaction_coa_id => l_adr_transaction_coa_id
133308 , x_accounting_coa_id => l_adr_accounting_coa_id
133309 , x_value_type_code => l_adr_value_type_code
133310 , p_side => 'NA'
133311 );
133312
133313 xla_ae_lines_pkg.set_ccid(
133314 p_code_combination_id => l_ccid
133315 , p_value_type_code => l_adr_value_type_code
133316 , p_transaction_coa_id => l_adr_transaction_coa_id
133317 , p_accounting_coa_id => l_adr_accounting_coa_id
133318 , p_adr_code => 'AP_INVOICE_DIST'
133319 , p_adr_type_code => 'S'
133320 , p_component_type => l_component_type
133321 , p_component_code => l_component_code
133322 , p_component_type_code => l_component_type_code
133323 , p_component_appl_id => l_component_appl_id
133324 , p_amb_context_code => l_amb_context_code
133325 , p_side => 'NA'
133326 );
133327
133328
133329 --
133330 --
133331 END IF;
133332 --
133333 -- Bug 4922099
133334 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
133335 (NVL(l_enc_upg_option, 'N') = 'O')
133336 ) AND
133337 (l_bflow_method_code = 'PRIOR_ENTRY')
133338 )
133339 THEN
133340 IF
133341 --
133342 1 = 2
133343 --
133344 THEN
133345 xla_accounting_err_pkg.build_message
133346 (p_appli_s_name => 'XLA'
133347 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133348 ,p_token_1 => 'LINE_NUMBER'
133349 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
133350 ,p_token_2 => 'LINE_TYPE_NAME'
133351 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
133352 l_component_type
133353 ,l_component_code
133357 ,l_entity_code
133354 ,l_component_type_code
133355 ,l_component_appl_id
133356 ,l_amb_context_code
133358 ,l_event_class_code
133359 )
133360 ,p_token_3 => 'OWNER'
133361 ,p_value_3 => xla_lookups_pkg.get_meaning(
133362 p_lookup_type => 'XLA_OWNER_TYPE'
133363 ,p_lookup_code => l_component_type_code
133364 )
133365 ,p_token_4 => 'PRODUCT_NAME'
133366 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
133367 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
133368 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
133369 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
133370 ,p_ae_header_id => NULL
133371 );
133372
133373 IF (C_LEVEL_ERROR>= g_log_level) THEN
133374 trace
133375 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133376 ,p_level => C_LEVEL_ERROR
133377 ,p_module => l_log_module);
133378 END IF;
133379 END IF;
133380 END IF;
133381 --
133382 --
133383 ------------------------------------------------------------------------------------------------
133384 -- 4219869 Business Flow
133385 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
133386 -- Prior Entry. Currently, the following code is always generated.
133387 ------------------------------------------------------------------------------------------------
133388 XLA_AE_LINES_PKG.ValidateCurrentLine;
133389
133390 ------------------------------------------------------------------------------------
133391 -- 4219869 Business Flow
133392 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
133393 ------------------------------------------------------------------------------------
133394 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133395
133396 ----------------------------------------------------------------------------------
133397 -- 4219869 Business Flow
133398 -- Update journal entry status -- Need to generate this within IF <condition>
133399 ----------------------------------------------------------------------------------
133400 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133401 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
133402 ,p_balance_type_code => l_balance_type_code
133403 );
133404
133405 -------------------------------------------------------------------------------------------
133406 -- 4262811 - Generate the Accrual Reversal lines
133407 -------------------------------------------------------------------------------------------
133408 BEGIN
133409 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
133410 (g_array_event(p_event_id).array_value_num('header_index'));
133411 IF l_acc_rev_flag IS NULL THEN
133412 l_acc_rev_flag := 'N';
133413 END IF;
133414 EXCEPTION
133415 WHEN OTHERS THEN
133416 l_acc_rev_flag := 'N';
133417 END;
133418 --
133419 IF (l_acc_rev_flag = 'Y') THEN
133420
133421 -- 4645092 ------------------------------------------------------------------------------
133422 -- To allow MPA report to determine if it should generate report process
133423 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
133424 ------------------------------------------------------------------------------------------
133425
133426 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
133427 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
133428 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
133429 -- call ADRs
133430 -- Bug 4922099
133431 --
133432 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133433 (NVL(l_actual_upg_option, 'N') = 'O') OR
133434 (NVL(l_enc_upg_option, 'N') = 'O')
133435 )
133436 THEN
133437 NULL;
133438 --
133439 --
133440
133441 l_ccid := AcctDerRule_33(
133442 p_application_id => p_application_id
133443 , p_ae_header_id => l_ae_header_id
133444 , p_source_30 => p_source_30
133445 , x_transaction_coa_id => l_adr_transaction_coa_id
133446 , x_accounting_coa_id => l_adr_accounting_coa_id
133447 , x_value_type_code => l_adr_value_type_code
133448 , p_side => 'NA'
133449 );
133450
133451 xla_ae_lines_pkg.set_ccid(
133452 p_code_combination_id => l_ccid
133453 , p_value_type_code => l_adr_value_type_code
133457 , p_adr_type_code => 'S'
133454 , p_transaction_coa_id => l_adr_transaction_coa_id
133455 , p_accounting_coa_id => l_adr_accounting_coa_id
133456 , p_adr_code => 'AP_INVOICE_DIST'
133458 , p_component_type => l_component_type
133459 , p_component_code => l_component_code
133460 , p_component_type_code => l_component_type_code
133461 , p_component_appl_id => l_component_appl_id
133462 , p_amb_context_code => l_amb_context_code
133463 , p_side => 'NA'
133464 );
133465
133466
133467 --
133468 --
133469 END IF;
133470
133471 --
133472 -- Update the line information that should be overwritten
133473 --
133474 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
133475 p_header_num => 1);
133476 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
133477
133478 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
133479
133480 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
133481 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
133482 END IF;
133483
133484 --
133485 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
133486 --
133487 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
133488 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
133489 ELSE
133490 ---------------------------------------------------------------------------------------------------
133491 -- 4262811a Switch Sign
133492 ---------------------------------------------------------------------------------------------------
133493 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
133494 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133495 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133496 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133497 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133498 -- 5132302
133499 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
133500 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133501
133502 END IF;
133503
133504 -- 4955764
133505 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133506 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
133507
133508
133509 XLA_AE_LINES_PKG.ValidateCurrentLine;
133510 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133511
133512 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133513 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
133514 ,p_balance_type_code => l_balance_type_code);
133515
133516 END IF;
133517
133518 -----------------------------------------------------------------------------------------
133519 -- 4262811 Multiperiod Accounting
133520 -----------------------------------------------------------------------------------------
133521 -- No MPA option is assigned.
133522
133523
133524 END IF;
133525 END IF;
133526 --
133527
133528 --
133529 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133530 trace
133531 (p_msg => 'END of AcctLineType_212'
133532 ,p_level => C_LEVEL_PROCEDURE
133533 ,p_module => l_log_module);
133534 END IF;
133535 --
133536 EXCEPTION
133537 WHEN xla_exceptions_pkg.application_exception THEN
133538 RAISE;
133539 WHEN OTHERS THEN
133540 xla_exceptions_pkg.raise_message
133541 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_212');
133542 END AcctLineType_212;
133543 --
133544
133545 ---------------------------------------
133546 --
133547 -- PRIVATE FUNCTION
133548 -- AcctLineType_213
133549 --
133550 ---------------------------------------
133551 PROCEDURE AcctLineType_213 (
133552 p_application_id IN NUMBER
133553 ,p_event_id IN NUMBER
133554 ,p_calculate_acctd_flag IN VARCHAR2
133555 ,p_calculate_g_l_flag IN VARCHAR2
133556 ,p_actual_flag IN OUT VARCHAR2
133557 ,p_balance_type_code OUT VARCHAR2
133558 ,p_gain_or_loss_ref OUT VARCHAR2
133559
133560 --Invoice Distribution Description
133561 , p_source_1 IN VARCHAR2
133562 --Invoice Distribution Ledger Amount
133563 , p_source_21 IN NUMBER
133564 --Invoice Distribution Account
133565 , p_source_30 IN NUMBER
133566 --Invoice Distribution Type
133567 , p_source_33 IN VARCHAR2
133568 , p_source_33_meaning IN VARCHAR2
133569 --Accounting Reversal Indicator
133570 , p_source_52 IN VARCHAR2
133571 --Distribution Link Type
133572 , p_source_54 IN VARCHAR2
133573 --Allocation to Main Distribution Identifier
133574 , p_source_56 IN NUMBER
133578 , p_source_63 IN NUMBER
133575 --Invoice Identifier
133576 , p_source_57 IN NUMBER
133577 --Invoice Distribution Identifier
133579 --Payables Encumbrance Upgrade Credit Account
133580 , p_source_64 IN NUMBER
133581 --Payables Encumbrance Upgrade Credit Amount
133582 , p_source_65 IN NUMBER
133583 --Invoice Currency Code
133584 , p_source_66 IN VARCHAR2
133585 --Payables Encumbrance Upgrade Credit Base Amount
133586 , p_source_67 IN NUMBER
133587 --Payables Encumbrance Upgrade Debit Account
133588 , p_source_68 IN NUMBER
133589 --Payables Encumbrance Upgrade Debit Amount
133590 , p_source_69 IN NUMBER
133591 --Payables Encumbrance Upgrade Debit Base Amount
133592 , p_source_70 IN NUMBER
133593 --Payables Encumbrance Upgrade Option
133594 , p_source_71 IN VARCHAR2
133595 --Invoice Distribution Amount
133596 , p_source_72 IN NUMBER
133597 --Deferred Accounting End Date
133598 , p_source_76 IN DATE
133599 --Deferred Accounting Option
133600 , p_source_77 IN VARCHAR2
133601 --Deferred Accounting Start Date
133602 , p_source_78 IN DATE
133603 --Override Accounted Amount Indicator
133604 , p_source_79 IN VARCHAR2
133605 , p_source_79_meaning IN VARCHAR2
133606 --Invoice Supplier Identifier
133607 , p_source_80 IN NUMBER
133608 --Invoice Supplier Site Identifier
133609 , p_source_81 IN NUMBER
133610 --Third Party Type
133611 , p_source_82 IN VARCHAR2
133612 --Parent Reversal Identifier
133613 , p_source_83 IN NUMBER
133614 --Invoice Distribution Tax Line Identifier
133615 , p_source_85 IN NUMBER
133616 --Invoice Distribution Tax Distribution Identifier from Tax
133617 , p_source_86 IN NUMBER
133618 --Invoice Distribution Summary Tax Line Identifier
133619 , p_source_87 IN NUMBER
133620 --Payables Upgrade Credit Encumbrance Type Identifier
133621 , p_source_88 IN NUMBER
133622 --Payables Upgrade Debit Encumbrance Type Identifier
133623 , p_source_89 IN NUMBER
133624 --Business Flow Accounts Payable Application Identifier
133625 , p_source_90 IN NUMBER
133626 --Business Flow Invoice Distribution Type
133627 , p_source_91 IN VARCHAR2
133628 --Business Flow Invoice Entity Code
133629 , p_source_92 IN VARCHAR2
133630 --Business Flow Invoice Distribution Identifier
133631 , p_source_93 IN NUMBER
133632 --Business Flow Invoice Identifier
133633 , p_source_94 IN NUMBER
133634 --Accrue on Receipt Option
133635 , p_source_95 IN VARCHAR2
133636 , p_source_95_meaning IN VARCHAR2
133637 --Invoice Exchange Date
133638 , p_source_136 IN DATE
133639 --Invoice Exchange Rate
133640 , p_source_137 IN NUMBER
133641 --Invoice Exchange Rate Type
133642 , p_source_138 IN VARCHAR2
133643 )
133644 IS
133645
133646 l_component_type VARCHAR2(80);
133647 l_component_code VARCHAR2(30);
133648 l_component_type_code VARCHAR2(1);
133649 l_component_appl_id INTEGER;
133650 l_amb_context_code VARCHAR2(30);
133651 l_entity_code VARCHAR2(30);
133652 l_event_class_code VARCHAR2(30);
133653 l_ae_header_id NUMBER;
133654 l_event_type_code VARCHAR2(30);
133655 l_line_definition_code VARCHAR2(30);
133656 l_line_definition_owner_code VARCHAR2(1);
133657 --
133658 -- adr variables
133659 l_segment VARCHAR2(30);
133660 l_ccid NUMBER;
133661 l_adr_transaction_coa_id NUMBER;
133662 l_adr_accounting_coa_id NUMBER;
133663 l_adr_flexfield_segment_code VARCHAR2(30);
133664 l_adr_flex_value_set_id NUMBER;
133665 l_adr_value_type_code VARCHAR2(30);
133666 l_adr_value_combination_id NUMBER;
133667 l_adr_value_segment_code VARCHAR2(30);
133668
133669 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133670 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133671 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133672 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133673
133674 -- 4262811 Variables ------------------------------------------------------------------------------------------
133675 l_entered_amt_idx NUMBER;
133676 l_accted_amt_idx NUMBER;
133677 l_acc_rev_flag VARCHAR2(1);
133678 l_accrual_line_num NUMBER;
133679 l_tmp_amt NUMBER;
133680 l_acc_rev_natural_side_code VARCHAR2(1);
133681
133682 l_num_entries NUMBER;
133683 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133684 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133685 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133686 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133687 l_recog_line_1 NUMBER;
133688 l_recog_line_2 NUMBER;
133689
133690 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133691 l_bflow_applied_to_amt NUMBER; -- 5132302
133692 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133693
133694 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133695
133699 ---------------------------------------------------------------------------------------------------------------
133696 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133697 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133698
133700
133701
133702 --
133703 -- bulk performance
133704 --
133705 l_balance_type_code VARCHAR2(1);
133706 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133707 l_log_module VARCHAR2(240);
133708
133709 --
133710 -- Upgrade strategy
133711 --
133712 l_actual_upg_option VARCHAR2(1);
133713 l_enc_upg_option VARCHAR2(1);
133714
133715 --
133716 BEGIN
133717 --
133718 IF g_log_enabled THEN
133719 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_213';
133720 END IF;
133721 --
133722 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133723
133724 trace
133725 (p_msg => 'BEGIN of AcctLineType_213'
133726 ,p_level => C_LEVEL_PROCEDURE
133727 ,p_module => l_log_module);
133728
133729 END IF;
133730 --
133731 l_component_type := 'AMB_JLT';
133732 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM';
133733 l_component_type_code := 'S';
133734 l_component_appl_id := 200;
133735 l_amb_context_code := 'DEFAULT';
133736 l_entity_code := 'AP_INVOICES';
133737 l_event_class_code := 'DEBIT MEMOS';
133738 l_event_type_code := 'DEBIT MEMOS_ALL';
133739 l_line_definition_owner_code := 'S';
133740 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
133741 --
133742 l_balance_type_code := 'A';
133743 l_segment := NULL;
133744 l_ccid := NULL;
133745 l_adr_transaction_coa_id := NULL;
133746 l_adr_accounting_coa_id := NULL;
133747 l_adr_flexfield_segment_code := NULL;
133748 l_adr_flex_value_set_id := NULL;
133749 l_adr_value_type_code := NULL;
133750 l_adr_value_combination_id := NULL;
133751 l_adr_value_segment_code := NULL;
133752
133753 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133754 l_bflow_class_code := ''; -- 4219869 Business Flow
133755 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133756 l_budgetary_control_flag := 'N';
133757
133758 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133759 l_bflow_applied_to_amt := NULL; -- 5132302
133760 l_entered_amt_idx := NULL; -- 4262811
133761 l_accted_amt_idx := NULL; -- 4262811
133762 l_acc_rev_flag := NULL; -- 4262811
133763 l_accrual_line_num := NULL; -- 4262811
133764 l_tmp_amt := NULL; -- 4262811
133765 --
133766
133767 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133768 l_balance_type_code <> 'B' THEN
133769 IF NVL(p_source_33,'
133770 ') = 'TIPV' AND
133771 NVL(p_source_95,'
133772 ') = 'Y'
133773 THEN
133774
133775 --
133776 XLA_AE_LINES_PKG.SetNewLine;
133777
133778 p_balance_type_code := l_balance_type_code;
133779 -- set the flag so later we will know whether the gain loss line needs to be created
133780
133781 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133782 p_actual_flag :='A';
133783 END IF;
133784
133785 --
133786 -- bulk performance
133787 --
133788 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133789 p_header_num => 0); -- 4262811
133790 --
133791 -- set accounting line options
133792 --
133793 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133794 p_natural_side_code => 'D'
133795 , p_gain_or_loss_flag => 'N'
133796 , p_gl_transfer_mode_code => 'S'
133797 , p_acct_entry_type_code => 'A'
133798 , p_switch_side_flag => 'Y'
133799 , p_merge_duplicate_code => 'A'
133800 );
133801 --
133802 l_acc_rev_natural_side_code := 'C'; -- 4262811
133803 --
133804 --
133805 -- set accounting line type info
133806 --
133807 xla_ae_lines_pkg.SetAcctLineType
133808 (p_component_type => l_component_type
133809 ,p_event_type_code => l_event_type_code
133810 ,p_line_definition_owner_code => l_line_definition_owner_code
133811 ,p_line_definition_code => l_line_definition_code
133812 ,p_accounting_line_code => l_component_code
133813 ,p_accounting_line_type_code => l_component_type_code
133814 ,p_accounting_line_appl_id => l_component_appl_id
133815 ,p_amb_context_code => l_amb_context_code
133816 ,p_entity_code => l_entity_code
133817 ,p_event_class_code => l_event_class_code);
133818 --
133819 -- set accounting class
133820 --
133821 xla_ae_lines_pkg.SetAcctClass(
133822 p_accounting_class_code => 'TIPV'
133823 , p_ae_header_id => l_ae_header_id
133824 );
133825
133826 --
133827 -- set rounding class
133828 --
133829 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133830 'TIPV';
133831
133832 --
133836 -- bulk performance
133833 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133834 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133835 --
133837 --
133838 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133839
133840 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133841 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133842
133843 -- 4955764
133844 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133845 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133846
133847 -- 4458381 Public Sector Enh
133848
133849 --
133850 -- set accounting attributes for the line type
133851 --
133852 l_entered_amt_idx := 23;
133853 l_accted_amt_idx := 28;
133854 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133855 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133856 l_rec_acct_attrs.array_char_value(1) := p_source_52;
133857 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133858 l_rec_acct_attrs.array_num_value(2) :=
133859 xla_ae_sources_pkg.GetSystemSourceNum(
133860 p_source_code => 'XLA_EVENT_APPL_ID'
133861 , p_source_type_code => 'Y'
133862 , p_source_application_id => 602
133863 );
133864 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133865 l_rec_acct_attrs.array_char_value(3) := p_source_54;
133866 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133867 l_rec_acct_attrs.array_char_value(4) :=
133868 xla_ae_sources_pkg.GetSystemSourceChar(
133869 p_source_code => 'XLA_ENTITY_CODE'
133870 , p_source_type_code => 'Y'
133871 , p_source_application_id => 602
133872 );
133873 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133874 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
133875 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133876 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
133877 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133878 l_rec_acct_attrs.array_num_value(7) := p_source_90;
133879 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133880 l_rec_acct_attrs.array_char_value(8) := p_source_91;
133881 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133882 l_rec_acct_attrs.array_char_value(9) := p_source_92;
133883 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133884 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
133885 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133886 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
133887 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133888 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
133889 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133890 l_rec_acct_attrs.array_char_value(13) := p_source_54;
133891 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133892 l_rec_acct_attrs.array_num_value(14) := p_source_64;
133893 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133894 l_rec_acct_attrs.array_num_value(15) := p_source_65;
133895 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133896 l_rec_acct_attrs.array_char_value(16) := p_source_66;
133897 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133898 l_rec_acct_attrs.array_num_value(17) := p_source_67;
133899 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133900 l_rec_acct_attrs.array_num_value(18) := p_source_68;
133901 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133902 l_rec_acct_attrs.array_num_value(19) := p_source_69;
133903 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133904 l_rec_acct_attrs.array_char_value(20) := p_source_66;
133905 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133906 l_rec_acct_attrs.array_num_value(21) := p_source_70;
133907 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133908 l_rec_acct_attrs.array_char_value(22) := p_source_71;
133909 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133910 l_rec_acct_attrs.array_num_value(23) := p_source_72;
133911 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133912 l_rec_acct_attrs.array_char_value(24) := p_source_66;
133913 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
133914 l_rec_acct_attrs.array_date_value(25) := p_source_136;
133915 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
133916 l_rec_acct_attrs.array_num_value(26) := p_source_137;
133917 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
133918 l_rec_acct_attrs.array_char_value(27) := p_source_138;
133919 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
133920 l_rec_acct_attrs.array_num_value(28) := p_source_21;
133921 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
133922 l_rec_acct_attrs.array_date_value(29) := p_source_76;
133923 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
133924 l_rec_acct_attrs.array_char_value(30) := p_source_77;
133925 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
133926 l_rec_acct_attrs.array_date_value(31) := p_source_78;
133930 l_rec_acct_attrs.array_num_value(33) := p_source_80;
133927 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
133928 l_rec_acct_attrs.array_char_value(32) := p_source_79;
133929 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
133931 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
133932 l_rec_acct_attrs.array_num_value(34) := p_source_81;
133933 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
133934 l_rec_acct_attrs.array_char_value(35) := p_source_82;
133935 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
133936 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
133937 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
133938 l_rec_acct_attrs.array_char_value(37) := p_source_54;
133939 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
133940 l_rec_acct_attrs.array_num_value(38) := p_source_85;
133941 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
133942 l_rec_acct_attrs.array_num_value(39) := p_source_86;
133943 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
133944 l_rec_acct_attrs.array_num_value(40) := p_source_87;
133945 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
133946 l_rec_acct_attrs.array_num_value(41) := p_source_88;
133947 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
133948 l_rec_acct_attrs.array_num_value(42) := p_source_89;
133949
133950 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
133951 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
133952
133953 ---------------------------------------------------------------------------------------------------------------
133954 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
133955 ---------------------------------------------------------------------------------------------------------------
133956 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
133957
133958 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133959 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133960
133961 IF xla_accounting_cache_pkg.GetValueChar
133962 (p_source_code => 'LEDGER_CATEGORY_CODE'
133963 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
133964 AND l_bflow_method_code = 'PRIOR_ENTRY'
133965 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
133966 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
133967 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
133968 )
133969 THEN
133970 xla_ae_lines_pkg.BflowUpgEntry
133971 (p_business_method_code => l_bflow_method_code
133972 ,p_business_class_code => l_bflow_class_code
133973 ,p_balance_type => l_balance_type_code);
133974 ELSE
133975 NULL;
133976 -- No business flow processing for business flow method of NONE.
133977 END IF;
133978
133979 --
133980 -- call analytical criteria
133981 --
133982
133983 --
133984 -- call description
133985 --
133986
133987 xla_ae_lines_pkg.SetLineDescription(
133988 p_ae_header_id => l_ae_header_id
133989 ,p_description => Description_1 (
133990 p_application_id => p_application_id
133991 , p_ae_header_id => l_ae_header_id
133992 , p_source_1 => p_source_1
133993 )
133994 );
133995
133996
133997 --
133998 -- call ADRs
133999 -- Bug 4922099
134000 --
134001 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134002 (NVL(l_actual_upg_option, 'N') = 'O') OR
134003 (NVL(l_enc_upg_option, 'N') = 'O')
134004 )
134005 THEN
134006 NULL;
134007 --
134008 --
134009
134010 l_ccid := AcctDerRule_33(
134011 p_application_id => p_application_id
134012 , p_ae_header_id => l_ae_header_id
134013 , p_source_30 => p_source_30
134014 , x_transaction_coa_id => l_adr_transaction_coa_id
134015 , x_accounting_coa_id => l_adr_accounting_coa_id
134016 , x_value_type_code => l_adr_value_type_code
134017 , p_side => 'NA'
134018 );
134019
134020 xla_ae_lines_pkg.set_ccid(
134021 p_code_combination_id => l_ccid
134022 , p_value_type_code => l_adr_value_type_code
134023 , p_transaction_coa_id => l_adr_transaction_coa_id
134024 , p_accounting_coa_id => l_adr_accounting_coa_id
134025 , p_adr_code => 'AP_INVOICE_DIST'
134026 , p_adr_type_code => 'S'
134027 , p_component_type => l_component_type
134028 , p_component_code => l_component_code
134029 , p_component_type_code => l_component_type_code
134030 , p_component_appl_id => l_component_appl_id
134031 , p_amb_context_code => l_amb_context_code
134032 , p_side => 'NA'
134033 );
134034
134035
134036 --
134037 --
134038 END IF;
134039 --
134040 -- Bug 4922099
134041 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134042 (NVL(l_enc_upg_option, 'N') = 'O')
134043 ) AND
134044 (l_bflow_method_code = 'PRIOR_ENTRY')
134045 )
134049 1 = 2
134046 THEN
134047 IF
134048 --
134050 --
134051 THEN
134052 xla_accounting_err_pkg.build_message
134053 (p_appli_s_name => 'XLA'
134054 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134055 ,p_token_1 => 'LINE_NUMBER'
134056 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134057 ,p_token_2 => 'LINE_TYPE_NAME'
134058 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134059 l_component_type
134060 ,l_component_code
134061 ,l_component_type_code
134062 ,l_component_appl_id
134063 ,l_amb_context_code
134064 ,l_entity_code
134065 ,l_event_class_code
134066 )
134067 ,p_token_3 => 'OWNER'
134068 ,p_value_3 => xla_lookups_pkg.get_meaning(
134069 p_lookup_type => 'XLA_OWNER_TYPE'
134070 ,p_lookup_code => l_component_type_code
134071 )
134072 ,p_token_4 => 'PRODUCT_NAME'
134073 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134074 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134075 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134076 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134077 ,p_ae_header_id => NULL
134078 );
134079
134080 IF (C_LEVEL_ERROR>= g_log_level) THEN
134081 trace
134082 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134083 ,p_level => C_LEVEL_ERROR
134084 ,p_module => l_log_module);
134085 END IF;
134086 END IF;
134087 END IF;
134088 --
134089 --
134090 ------------------------------------------------------------------------------------------------
134091 -- 4219869 Business Flow
134092 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134093 -- Prior Entry. Currently, the following code is always generated.
134094 ------------------------------------------------------------------------------------------------
134095 XLA_AE_LINES_PKG.ValidateCurrentLine;
134096
134097 ------------------------------------------------------------------------------------
134098 -- 4219869 Business Flow
134099 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134100 ------------------------------------------------------------------------------------
134101 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134102
134103 ----------------------------------------------------------------------------------
134104 -- 4219869 Business Flow
134105 -- Update journal entry status -- Need to generate this within IF <condition>
134106 ----------------------------------------------------------------------------------
134107 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134108 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134109 ,p_balance_type_code => l_balance_type_code
134110 );
134111
134112 -------------------------------------------------------------------------------------------
134113 -- 4262811 - Generate the Accrual Reversal lines
134114 -------------------------------------------------------------------------------------------
134115 BEGIN
134116 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134117 (g_array_event(p_event_id).array_value_num('header_index'));
134118 IF l_acc_rev_flag IS NULL THEN
134119 l_acc_rev_flag := 'N';
134120 END IF;
134121 EXCEPTION
134122 WHEN OTHERS THEN
134123 l_acc_rev_flag := 'N';
134124 END;
134125 --
134126 IF (l_acc_rev_flag = 'Y') THEN
134127
134128 -- 4645092 ------------------------------------------------------------------------------
134129 -- To allow MPA report to determine if it should generate report process
134130 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134131 ------------------------------------------------------------------------------------------
134132
134133 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134134 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134135 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134136 -- call ADRs
134137 -- Bug 4922099
134138 --
134142 )
134139 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134140 (NVL(l_actual_upg_option, 'N') = 'O') OR
134141 (NVL(l_enc_upg_option, 'N') = 'O')
134143 THEN
134144 NULL;
134145 --
134146 --
134147
134148 l_ccid := AcctDerRule_33(
134149 p_application_id => p_application_id
134150 , p_ae_header_id => l_ae_header_id
134151 , p_source_30 => p_source_30
134152 , x_transaction_coa_id => l_adr_transaction_coa_id
134153 , x_accounting_coa_id => l_adr_accounting_coa_id
134154 , x_value_type_code => l_adr_value_type_code
134155 , p_side => 'NA'
134156 );
134157
134158 xla_ae_lines_pkg.set_ccid(
134159 p_code_combination_id => l_ccid
134160 , p_value_type_code => l_adr_value_type_code
134161 , p_transaction_coa_id => l_adr_transaction_coa_id
134162 , p_accounting_coa_id => l_adr_accounting_coa_id
134163 , p_adr_code => 'AP_INVOICE_DIST'
134164 , p_adr_type_code => 'S'
134165 , p_component_type => l_component_type
134166 , p_component_code => l_component_code
134167 , p_component_type_code => l_component_type_code
134168 , p_component_appl_id => l_component_appl_id
134169 , p_amb_context_code => l_amb_context_code
134170 , p_side => 'NA'
134171 );
134172
134173
134174 --
134175 --
134176 END IF;
134177
134178 --
134179 -- Update the line information that should be overwritten
134180 --
134181 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134182 p_header_num => 1);
134183 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134184
134185 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134186
134187 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134188 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134189 END IF;
134190
134191 --
134192 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134193 --
134194 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134195 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134196 ELSE
134197 ---------------------------------------------------------------------------------------------------
134198 -- 4262811a Switch Sign
134199 ---------------------------------------------------------------------------------------------------
134200 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134201 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134203 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134204 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134205 -- 5132302
134206 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134207 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134208
134209 END IF;
134210
134211 -- 4955764
134212 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134213 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134214
134215
134216 XLA_AE_LINES_PKG.ValidateCurrentLine;
134217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134218
134219 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134220 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134221 ,p_balance_type_code => l_balance_type_code);
134222
134223 END IF;
134224
134225 -----------------------------------------------------------------------------------------
134226 -- 4262811 Multiperiod Accounting
134227 -----------------------------------------------------------------------------------------
134228 -- No MPA option is assigned.
134229
134230
134231 END IF;
134232 END IF;
134233 --
134234
134235 --
134236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134237 trace
134238 (p_msg => 'END of AcctLineType_213'
134239 ,p_level => C_LEVEL_PROCEDURE
134240 ,p_module => l_log_module);
134241 END IF;
134242 --
134243 EXCEPTION
134244 WHEN xla_exceptions_pkg.application_exception THEN
134245 RAISE;
134246 WHEN OTHERS THEN
134247 xla_exceptions_pkg.raise_message
134248 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_213');
134249 END AcctLineType_213;
134250 --
134251
134252 ---------------------------------------
134253 --
134254 -- PRIVATE FUNCTION
134255 -- AcctLineType_214
134256 --
134257 ---------------------------------------
134258 PROCEDURE AcctLineType_214 (
134259 p_application_id IN NUMBER
134260 ,p_event_id IN NUMBER
134264 ,p_balance_type_code OUT VARCHAR2
134261 ,p_calculate_acctd_flag IN VARCHAR2
134262 ,p_calculate_g_l_flag IN VARCHAR2
134263 ,p_actual_flag IN OUT VARCHAR2
134265 ,p_gain_or_loss_ref OUT VARCHAR2
134266
134267 --Invoice Distribution Description
134268 , p_source_1 IN VARCHAR2
134269 --Invoice Distribution Ledger Amount
134270 , p_source_21 IN NUMBER
134271 --Invoice Distribution Account
134272 , p_source_30 IN NUMBER
134273 --Invoice Distribution Type
134274 , p_source_33 IN VARCHAR2
134275 , p_source_33_meaning IN VARCHAR2
134276 --Accounting Reversal Indicator
134277 , p_source_52 IN VARCHAR2
134278 --Distribution Link Type
134279 , p_source_54 IN VARCHAR2
134280 --Allocation to Main Distribution Identifier
134281 , p_source_56 IN NUMBER
134282 --Invoice Identifier
134283 , p_source_57 IN NUMBER
134284 --Invoice Distribution Identifier
134285 , p_source_63 IN NUMBER
134286 --Payables Encumbrance Upgrade Credit Account
134287 , p_source_64 IN NUMBER
134288 --Payables Encumbrance Upgrade Credit Amount
134289 , p_source_65 IN NUMBER
134290 --Invoice Currency Code
134291 , p_source_66 IN VARCHAR2
134292 --Payables Encumbrance Upgrade Credit Base Amount
134293 , p_source_67 IN NUMBER
134294 --Payables Encumbrance Upgrade Debit Account
134295 , p_source_68 IN NUMBER
134296 --Payables Encumbrance Upgrade Debit Amount
134297 , p_source_69 IN NUMBER
134298 --Payables Encumbrance Upgrade Debit Base Amount
134299 , p_source_70 IN NUMBER
134300 --Payables Encumbrance Upgrade Option
134301 , p_source_71 IN VARCHAR2
134302 --Invoice Distribution Amount
134303 , p_source_72 IN NUMBER
134304 --Deferred Accounting End Date
134305 , p_source_76 IN DATE
134306 --Deferred Accounting Option
134307 , p_source_77 IN VARCHAR2
134308 --Deferred Accounting Start Date
134309 , p_source_78 IN DATE
134310 --Override Accounted Amount Indicator
134311 , p_source_79 IN VARCHAR2
134312 , p_source_79_meaning IN VARCHAR2
134313 --Invoice Supplier Identifier
134314 , p_source_80 IN NUMBER
134315 --Invoice Supplier Site Identifier
134316 , p_source_81 IN NUMBER
134317 --Third Party Type
134318 , p_source_82 IN VARCHAR2
134319 --Parent Reversal Identifier
134320 , p_source_83 IN NUMBER
134321 --Invoice Distribution Statistical Amount
134322 , p_source_84 IN NUMBER
134323 --Invoice Distribution Tax Line Identifier
134324 , p_source_85 IN NUMBER
134325 --Invoice Distribution Tax Distribution Identifier from Tax
134326 , p_source_86 IN NUMBER
134327 --Invoice Distribution Summary Tax Line Identifier
134328 , p_source_87 IN NUMBER
134329 --Payables Upgrade Credit Encumbrance Type Identifier
134330 , p_source_88 IN NUMBER
134331 --Payables Upgrade Debit Encumbrance Type Identifier
134332 , p_source_89 IN NUMBER
134333 --Business Flow Accounts Payable Application Identifier
134334 , p_source_90 IN NUMBER
134335 --Business Flow Invoice Distribution Type
134336 , p_source_91 IN VARCHAR2
134337 --Business Flow Invoice Entity Code
134338 , p_source_92 IN VARCHAR2
134339 --Business Flow Invoice Distribution Identifier
134340 , p_source_93 IN NUMBER
134341 --Business Flow Invoice Identifier
134342 , p_source_94 IN NUMBER
134343 --Accrue on Receipt Option
134344 , p_source_95 IN VARCHAR2
134345 , p_source_95_meaning IN VARCHAR2
134346 --Invoice Exchange Date
134347 , p_source_136 IN DATE
134348 --Invoice Exchange Rate
134349 , p_source_137 IN NUMBER
134350 --Invoice Exchange Rate Type
134351 , p_source_138 IN VARCHAR2
134352 )
134353 IS
134354
134355 l_component_type VARCHAR2(80);
134356 l_component_code VARCHAR2(30);
134357 l_component_type_code VARCHAR2(1);
134358 l_component_appl_id INTEGER;
134359 l_amb_context_code VARCHAR2(30);
134360 l_entity_code VARCHAR2(30);
134361 l_event_class_code VARCHAR2(30);
134362 l_ae_header_id NUMBER;
134363 l_event_type_code VARCHAR2(30);
134364 l_line_definition_code VARCHAR2(30);
134365 l_line_definition_owner_code VARCHAR2(1);
134366 --
134367 -- adr variables
134368 l_segment VARCHAR2(30);
134369 l_ccid NUMBER;
134370 l_adr_transaction_coa_id NUMBER;
134371 l_adr_accounting_coa_id NUMBER;
134372 l_adr_flexfield_segment_code VARCHAR2(30);
134373 l_adr_flex_value_set_id NUMBER;
134374 l_adr_value_type_code VARCHAR2(30);
134375 l_adr_value_combination_id NUMBER;
134376 l_adr_value_segment_code VARCHAR2(30);
134377
134378 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
134379 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
134380 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
134381 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
134382
134383 -- 4262811 Variables ------------------------------------------------------------------------------------------
134384 l_entered_amt_idx NUMBER;
134385 l_accted_amt_idx NUMBER;
134386 l_acc_rev_flag VARCHAR2(1);
134390
134387 l_accrual_line_num NUMBER;
134388 l_tmp_amt NUMBER;
134389 l_acc_rev_natural_side_code VARCHAR2(1);
134391 l_num_entries NUMBER;
134392 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
134393 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
134394 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
134395 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
134396 l_recog_line_1 NUMBER;
134397 l_recog_line_2 NUMBER;
134398
134399 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
134400 l_bflow_applied_to_amt NUMBER; -- 5132302
134401 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
134402
134403 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
134404
134405 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
134406 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
134407
134408 ---------------------------------------------------------------------------------------------------------------
134409
134410
134411 --
134412 -- bulk performance
134413 --
134414 l_balance_type_code VARCHAR2(1);
134415 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
134416 l_log_module VARCHAR2(240);
134417
134418 --
134419 -- Upgrade strategy
134420 --
134421 l_actual_upg_option VARCHAR2(1);
134422 l_enc_upg_option VARCHAR2(1);
134423
134424 --
134425 BEGIN
134426 --
134427 IF g_log_enabled THEN
134428 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_214';
134429 END IF;
134430 --
134431 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134432
134433 trace
134434 (p_msg => 'BEGIN of AcctLineType_214'
134435 ,p_level => C_LEVEL_PROCEDURE
134436 ,p_module => l_log_module);
134437
134438 END IF;
134439 --
134440 l_component_type := 'AMB_JLT';
134441 l_component_code := 'AP_TAX_INV_PRICE_VAR_INV';
134442 l_component_type_code := 'S';
134443 l_component_appl_id := 200;
134444 l_amb_context_code := 'DEFAULT';
134445 l_entity_code := 'AP_INVOICES';
134446 l_event_class_code := 'INVOICES';
134447 l_event_type_code := 'INVOICES_ALL';
134448 l_line_definition_owner_code := 'S';
134449 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
134450 --
134451 l_balance_type_code := 'A';
134452 l_segment := NULL;
134453 l_ccid := NULL;
134454 l_adr_transaction_coa_id := NULL;
134455 l_adr_accounting_coa_id := NULL;
134456 l_adr_flexfield_segment_code := NULL;
134457 l_adr_flex_value_set_id := NULL;
134458 l_adr_value_type_code := NULL;
134459 l_adr_value_combination_id := NULL;
134460 l_adr_value_segment_code := NULL;
134461
134462 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
134463 l_bflow_class_code := ''; -- 4219869 Business Flow
134464 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
134465 l_budgetary_control_flag := 'N';
134466
134467 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134468 l_bflow_applied_to_amt := NULL; -- 5132302
134469 l_entered_amt_idx := NULL; -- 4262811
134470 l_accted_amt_idx := NULL; -- 4262811
134471 l_acc_rev_flag := NULL; -- 4262811
134472 l_accrual_line_num := NULL; -- 4262811
134473 l_tmp_amt := NULL; -- 4262811
134474 --
134475
134476 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
134477 l_balance_type_code <> 'B' THEN
134478 IF NVL(p_source_33,'
134479 ') = 'TIPV' AND
134480 NVL(p_source_95,'
134481 ') = 'Y'
134482 THEN
134483
134484 --
134485 XLA_AE_LINES_PKG.SetNewLine;
134486
134487 p_balance_type_code := l_balance_type_code;
134488 -- set the flag so later we will know whether the gain loss line needs to be created
134489
134490 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
134491 p_actual_flag :='A';
134492 END IF;
134493
134494 --
134495 -- bulk performance
134496 --
134497 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
134498 p_header_num => 0); -- 4262811
134499 --
134500 -- set accounting line options
134501 --
134502 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
134503 p_natural_side_code => 'D'
134504 , p_gain_or_loss_flag => 'N'
134505 , p_gl_transfer_mode_code => 'S'
134506 , p_acct_entry_type_code => 'A'
134507 , p_switch_side_flag => 'Y'
134508 , p_merge_duplicate_code => 'A'
134509 );
134510 --
134511 l_acc_rev_natural_side_code := 'C'; -- 4262811
134512 --
134513 --
134514 -- set accounting line type info
134515 --
134516 xla_ae_lines_pkg.SetAcctLineType
134517 (p_component_type => l_component_type
134518 ,p_event_type_code => l_event_type_code
134522 ,p_accounting_line_type_code => l_component_type_code
134519 ,p_line_definition_owner_code => l_line_definition_owner_code
134520 ,p_line_definition_code => l_line_definition_code
134521 ,p_accounting_line_code => l_component_code
134523 ,p_accounting_line_appl_id => l_component_appl_id
134524 ,p_amb_context_code => l_amb_context_code
134525 ,p_entity_code => l_entity_code
134526 ,p_event_class_code => l_event_class_code);
134527 --
134528 -- set accounting class
134529 --
134530 xla_ae_lines_pkg.SetAcctClass(
134531 p_accounting_class_code => 'TIPV'
134532 , p_ae_header_id => l_ae_header_id
134533 );
134534
134535 --
134536 -- set rounding class
134537 --
134538 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
134539 'TIPV';
134540
134541 --
134542 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
134543 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
134544 --
134545 -- bulk performance
134546 --
134547 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
134548
134549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
134550 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
134551
134552 -- 4955764
134553 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134554 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
134555
134556 -- 4458381 Public Sector Enh
134557
134558 --
134559 -- set accounting attributes for the line type
134560 --
134561 l_entered_amt_idx := 24;
134562 l_accted_amt_idx := 29;
134563 l_bflow_applied_to_amt_idx := 7; -- 5132302
134564 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
134565 l_rec_acct_attrs.array_char_value(1) := p_source_52;
134566 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
134567 l_rec_acct_attrs.array_num_value(2) :=
134568 xla_ae_sources_pkg.GetSystemSourceNum(
134569 p_source_code => 'XLA_EVENT_APPL_ID'
134570 , p_source_type_code => 'Y'
134571 , p_source_application_id => 602
134572 );
134573 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
134574 l_rec_acct_attrs.array_char_value(3) := p_source_54;
134575 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
134576 l_rec_acct_attrs.array_char_value(4) :=
134577 xla_ae_sources_pkg.GetSystemSourceChar(
134578 p_source_code => 'XLA_ENTITY_CODE'
134579 , p_source_type_code => 'Y'
134580 , p_source_application_id => 602
134581 );
134582 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
134583 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
134584 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
134585 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
134586 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
134587 l_rec_acct_attrs.array_num_value(7) := p_source_72;
134588 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
134589 l_rec_acct_attrs.array_num_value(8) := p_source_90;
134590 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
134591 l_rec_acct_attrs.array_char_value(9) := p_source_91;
134592 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
134593 l_rec_acct_attrs.array_char_value(10) := p_source_92;
134594 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
134595 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
134596 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
134597 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
134598 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
134599 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
134600 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
134601 l_rec_acct_attrs.array_char_value(14) := p_source_54;
134602 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
134603 l_rec_acct_attrs.array_num_value(15) := p_source_64;
134604 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
134605 l_rec_acct_attrs.array_num_value(16) := p_source_65;
134606 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
134607 l_rec_acct_attrs.array_char_value(17) := p_source_66;
134608 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
134609 l_rec_acct_attrs.array_num_value(18) := p_source_67;
134610 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
134611 l_rec_acct_attrs.array_num_value(19) := p_source_68;
134612 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
134613 l_rec_acct_attrs.array_num_value(20) := p_source_69;
134614 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
134615 l_rec_acct_attrs.array_char_value(21) := p_source_66;
134616 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
134617 l_rec_acct_attrs.array_num_value(22) := p_source_70;
134618 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
134619 l_rec_acct_attrs.array_char_value(23) := p_source_71;
134620 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
134621 l_rec_acct_attrs.array_num_value(24) := p_source_72;
134625 l_rec_acct_attrs.array_date_value(26) := p_source_136;
134622 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
134623 l_rec_acct_attrs.array_char_value(25) := p_source_66;
134624 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
134626 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
134627 l_rec_acct_attrs.array_num_value(27) := p_source_137;
134628 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
134629 l_rec_acct_attrs.array_char_value(28) := p_source_138;
134630 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
134631 l_rec_acct_attrs.array_num_value(29) := p_source_21;
134632 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
134633 l_rec_acct_attrs.array_date_value(30) := p_source_76;
134634 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
134635 l_rec_acct_attrs.array_char_value(31) := p_source_77;
134636 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
134637 l_rec_acct_attrs.array_date_value(32) := p_source_78;
134638 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
134639 l_rec_acct_attrs.array_char_value(33) := p_source_79;
134640 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
134641 l_rec_acct_attrs.array_num_value(34) := p_source_80;
134642 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
134643 l_rec_acct_attrs.array_num_value(35) := p_source_81;
134644 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
134645 l_rec_acct_attrs.array_char_value(36) := p_source_82;
134646 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
134647 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
134648 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
134649 l_rec_acct_attrs.array_char_value(38) := p_source_54;
134650 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
134651 l_rec_acct_attrs.array_num_value(39) := p_source_84;
134652 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
134653 l_rec_acct_attrs.array_num_value(40) := p_source_85;
134654 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
134655 l_rec_acct_attrs.array_num_value(41) := p_source_86;
134656 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
134657 l_rec_acct_attrs.array_num_value(42) := p_source_87;
134658 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
134659 l_rec_acct_attrs.array_num_value(43) := p_source_88;
134660 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
134661 l_rec_acct_attrs.array_num_value(44) := p_source_89;
134662
134663 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134664 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134665
134666 ---------------------------------------------------------------------------------------------------------------
134667 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134668 ---------------------------------------------------------------------------------------------------------------
134669 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134670
134671 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134672 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134673
134674 IF xla_accounting_cache_pkg.GetValueChar
134675 (p_source_code => 'LEDGER_CATEGORY_CODE'
134676 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134677 AND l_bflow_method_code = 'PRIOR_ENTRY'
134678 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134679 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134680 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134681 )
134682 THEN
134683 xla_ae_lines_pkg.BflowUpgEntry
134684 (p_business_method_code => l_bflow_method_code
134685 ,p_business_class_code => l_bflow_class_code
134686 ,p_balance_type => l_balance_type_code);
134687 ELSE
134688 NULL;
134689 -- No business flow processing for business flow method of NONE.
134690 END IF;
134691
134692 --
134693 -- call analytical criteria
134694 --
134695
134696 --
134697 -- call description
134698 --
134699
134700 xla_ae_lines_pkg.SetLineDescription(
134701 p_ae_header_id => l_ae_header_id
134702 ,p_description => Description_1 (
134703 p_application_id => p_application_id
134704 , p_ae_header_id => l_ae_header_id
134705 , p_source_1 => p_source_1
134706 )
134707 );
134708
134709
134710 --
134711 -- call ADRs
134712 -- Bug 4922099
134713 --
134714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134715 (NVL(l_actual_upg_option, 'N') = 'O') OR
134716 (NVL(l_enc_upg_option, 'N') = 'O')
134717 )
134718 THEN
134719 NULL;
134720 --
134721 --
134722
134723 l_ccid := AcctDerRule_33(
134724 p_application_id => p_application_id
134725 , p_ae_header_id => l_ae_header_id
134726 , p_source_30 => p_source_30
134727 , x_transaction_coa_id => l_adr_transaction_coa_id
134728 , x_accounting_coa_id => l_adr_accounting_coa_id
134732
134729 , x_value_type_code => l_adr_value_type_code
134730 , p_side => 'NA'
134731 );
134733 xla_ae_lines_pkg.set_ccid(
134734 p_code_combination_id => l_ccid
134735 , p_value_type_code => l_adr_value_type_code
134736 , p_transaction_coa_id => l_adr_transaction_coa_id
134737 , p_accounting_coa_id => l_adr_accounting_coa_id
134738 , p_adr_code => 'AP_INVOICE_DIST'
134739 , p_adr_type_code => 'S'
134740 , p_component_type => l_component_type
134741 , p_component_code => l_component_code
134742 , p_component_type_code => l_component_type_code
134743 , p_component_appl_id => l_component_appl_id
134744 , p_amb_context_code => l_amb_context_code
134745 , p_side => 'NA'
134746 );
134747
134748
134749 --
134750 --
134751 END IF;
134752 --
134753 -- Bug 4922099
134754 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134755 (NVL(l_enc_upg_option, 'N') = 'O')
134756 ) AND
134757 (l_bflow_method_code = 'PRIOR_ENTRY')
134758 )
134759 THEN
134760 IF
134761 --
134762 1 = 2
134763 --
134764 THEN
134765 xla_accounting_err_pkg.build_message
134766 (p_appli_s_name => 'XLA'
134767 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134768 ,p_token_1 => 'LINE_NUMBER'
134769 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134770 ,p_token_2 => 'LINE_TYPE_NAME'
134771 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134772 l_component_type
134773 ,l_component_code
134774 ,l_component_type_code
134775 ,l_component_appl_id
134776 ,l_amb_context_code
134777 ,l_entity_code
134778 ,l_event_class_code
134779 )
134780 ,p_token_3 => 'OWNER'
134781 ,p_value_3 => xla_lookups_pkg.get_meaning(
134782 p_lookup_type => 'XLA_OWNER_TYPE'
134783 ,p_lookup_code => l_component_type_code
134784 )
134785 ,p_token_4 => 'PRODUCT_NAME'
134786 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134787 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134788 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134789 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134790 ,p_ae_header_id => NULL
134791 );
134792
134793 IF (C_LEVEL_ERROR>= g_log_level) THEN
134794 trace
134795 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134796 ,p_level => C_LEVEL_ERROR
134797 ,p_module => l_log_module);
134798 END IF;
134799 END IF;
134800 END IF;
134801 --
134802 --
134803 ------------------------------------------------------------------------------------------------
134804 -- 4219869 Business Flow
134805 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134806 -- Prior Entry. Currently, the following code is always generated.
134807 ------------------------------------------------------------------------------------------------
134808 XLA_AE_LINES_PKG.ValidateCurrentLine;
134809
134810 ------------------------------------------------------------------------------------
134811 -- 4219869 Business Flow
134812 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134813 ------------------------------------------------------------------------------------
134814 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134815
134816 ----------------------------------------------------------------------------------
134817 -- 4219869 Business Flow
134818 -- Update journal entry status -- Need to generate this within IF <condition>
134819 ----------------------------------------------------------------------------------
134820 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134821 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134822 ,p_balance_type_code => l_balance_type_code
134823 );
134824
134825 -------------------------------------------------------------------------------------------
134829 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134826 -- 4262811 - Generate the Accrual Reversal lines
134827 -------------------------------------------------------------------------------------------
134828 BEGIN
134830 (g_array_event(p_event_id).array_value_num('header_index'));
134831 IF l_acc_rev_flag IS NULL THEN
134832 l_acc_rev_flag := 'N';
134833 END IF;
134834 EXCEPTION
134835 WHEN OTHERS THEN
134836 l_acc_rev_flag := 'N';
134837 END;
134838 --
134839 IF (l_acc_rev_flag = 'Y') THEN
134840
134841 -- 4645092 ------------------------------------------------------------------------------
134842 -- To allow MPA report to determine if it should generate report process
134843 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134844 ------------------------------------------------------------------------------------------
134845
134846 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134847 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134848 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134849 -- call ADRs
134850 -- Bug 4922099
134851 --
134852 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134853 (NVL(l_actual_upg_option, 'N') = 'O') OR
134854 (NVL(l_enc_upg_option, 'N') = 'O')
134855 )
134856 THEN
134857 NULL;
134858 --
134859 --
134860
134861 l_ccid := AcctDerRule_33(
134862 p_application_id => p_application_id
134863 , p_ae_header_id => l_ae_header_id
134864 , p_source_30 => p_source_30
134865 , x_transaction_coa_id => l_adr_transaction_coa_id
134866 , x_accounting_coa_id => l_adr_accounting_coa_id
134867 , x_value_type_code => l_adr_value_type_code
134868 , p_side => 'NA'
134869 );
134870
134871 xla_ae_lines_pkg.set_ccid(
134872 p_code_combination_id => l_ccid
134873 , p_value_type_code => l_adr_value_type_code
134874 , p_transaction_coa_id => l_adr_transaction_coa_id
134875 , p_accounting_coa_id => l_adr_accounting_coa_id
134876 , p_adr_code => 'AP_INVOICE_DIST'
134877 , p_adr_type_code => 'S'
134878 , p_component_type => l_component_type
134879 , p_component_code => l_component_code
134880 , p_component_type_code => l_component_type_code
134881 , p_component_appl_id => l_component_appl_id
134882 , p_amb_context_code => l_amb_context_code
134883 , p_side => 'NA'
134884 );
134885
134886
134887 --
134888 --
134889 END IF;
134890
134891 --
134892 -- Update the line information that should be overwritten
134893 --
134894 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134895 p_header_num => 1);
134896 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134897
134898 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134899
134900 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134901 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134902 END IF;
134903
134904 --
134905 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134906 --
134907 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134908 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134909 ELSE
134910 ---------------------------------------------------------------------------------------------------
134911 -- 4262811a Switch Sign
134912 ---------------------------------------------------------------------------------------------------
134913 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134914 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134915 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134916 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134917 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134918 -- 5132302
134919 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134920 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134921
134922 END IF;
134923
134924 -- 4955764
134925 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134926 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134927
134928
134929 XLA_AE_LINES_PKG.ValidateCurrentLine;
134930 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134931
134932 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134933 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134934 ,p_balance_type_code => l_balance_type_code);
134935
134936 END IF;
134937
134938 -----------------------------------------------------------------------------------------
134942
134939 -- 4262811 Multiperiod Accounting
134940 -----------------------------------------------------------------------------------------
134941 -- No MPA option is assigned.
134943
134944 END IF;
134945 END IF;
134946 --
134947
134948 --
134949 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134950 trace
134951 (p_msg => 'END of AcctLineType_214'
134952 ,p_level => C_LEVEL_PROCEDURE
134953 ,p_module => l_log_module);
134954 END IF;
134955 --
134956 EXCEPTION
134957 WHEN xla_exceptions_pkg.application_exception THEN
134958 RAISE;
134959 WHEN OTHERS THEN
134960 xla_exceptions_pkg.raise_message
134961 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_214');
134962 END AcctLineType_214;
134963 --
134964
134965 ---------------------------------------
134966 --
134967 -- PRIVATE FUNCTION
134968 -- AcctLineType_215
134969 --
134970 ---------------------------------------
134971 PROCEDURE AcctLineType_215 (
134972 p_application_id IN NUMBER
134973 ,p_event_id IN NUMBER
134974 ,p_calculate_acctd_flag IN VARCHAR2
134975 ,p_calculate_g_l_flag IN VARCHAR2
134976 ,p_actual_flag IN OUT VARCHAR2
134977 ,p_balance_type_code OUT VARCHAR2
134978 ,p_gain_or_loss_ref OUT VARCHAR2
134979
134980 --Invoice Distribution Description
134981 , p_source_1 IN VARCHAR2
134982 --Invoice Distribution Ledger Amount
134983 , p_source_21 IN NUMBER
134984 --Invoice Distribution Account
134985 , p_source_30 IN NUMBER
134986 --Invoice Distribution Type
134987 , p_source_33 IN VARCHAR2
134988 , p_source_33_meaning IN VARCHAR2
134989 --Accounting Reversal Indicator
134990 , p_source_52 IN VARCHAR2
134991 --Distribution Link Type
134992 , p_source_54 IN VARCHAR2
134993 --Allocation to Main Distribution Identifier
134994 , p_source_56 IN NUMBER
134995 --Invoice Identifier
134996 , p_source_57 IN NUMBER
134997 --Invoice Distribution Identifier
134998 , p_source_63 IN NUMBER
134999 --Payables Encumbrance Upgrade Credit Account
135000 , p_source_64 IN NUMBER
135001 --Payables Encumbrance Upgrade Credit Amount
135002 , p_source_65 IN NUMBER
135003 --Invoice Currency Code
135004 , p_source_66 IN VARCHAR2
135005 --Payables Encumbrance Upgrade Credit Base Amount
135006 , p_source_67 IN NUMBER
135007 --Payables Encumbrance Upgrade Debit Account
135008 , p_source_68 IN NUMBER
135009 --Payables Encumbrance Upgrade Debit Amount
135010 , p_source_69 IN NUMBER
135011 --Payables Encumbrance Upgrade Debit Base Amount
135012 , p_source_70 IN NUMBER
135013 --Payables Encumbrance Upgrade Option
135014 , p_source_71 IN VARCHAR2
135015 --Invoice Distribution Amount
135016 , p_source_72 IN NUMBER
135017 --Deferred Accounting End Date
135018 , p_source_76 IN DATE
135019 --Deferred Accounting Option
135020 , p_source_77 IN VARCHAR2
135021 --Deferred Accounting Start Date
135022 , p_source_78 IN DATE
135023 --Override Accounted Amount Indicator
135024 , p_source_79 IN VARCHAR2
135025 , p_source_79_meaning IN VARCHAR2
135026 --Invoice Supplier Identifier
135027 , p_source_80 IN NUMBER
135028 --Invoice Supplier Site Identifier
135029 , p_source_81 IN NUMBER
135030 --Third Party Type
135031 , p_source_82 IN VARCHAR2
135032 --Parent Reversal Identifier
135033 , p_source_83 IN NUMBER
135034 --Invoice Distribution Statistical Amount
135035 , p_source_84 IN NUMBER
135036 --Invoice Distribution Tax Line Identifier
135037 , p_source_85 IN NUMBER
135038 --Invoice Distribution Tax Distribution Identifier from Tax
135039 , p_source_86 IN NUMBER
135040 --Invoice Distribution Summary Tax Line Identifier
135041 , p_source_87 IN NUMBER
135042 --Payables Upgrade Credit Encumbrance Type Identifier
135043 , p_source_88 IN NUMBER
135044 --Payables Upgrade Debit Encumbrance Type Identifier
135045 , p_source_89 IN NUMBER
135046 --Business Flow Accounts Payable Application Identifier
135047 , p_source_90 IN NUMBER
135048 --Business Flow Invoice Distribution Type
135049 , p_source_91 IN VARCHAR2
135050 --Business Flow Invoice Entity Code
135051 , p_source_92 IN VARCHAR2
135052 --Business Flow Invoice Distribution Identifier
135053 , p_source_93 IN NUMBER
135054 --Business Flow Invoice Identifier
135055 , p_source_94 IN NUMBER
135056 --Accrue on Receipt Option
135057 , p_source_95 IN VARCHAR2
135058 , p_source_95_meaning IN VARCHAR2
135059 --Invoice Exchange Date
135060 , p_source_136 IN DATE
135061 --Invoice Exchange Rate
135062 , p_source_137 IN NUMBER
135063 --Invoice Exchange Rate Type
135064 , p_source_138 IN VARCHAR2
135065 )
135066 IS
135067
135068 l_component_type VARCHAR2(80);
135069 l_component_code VARCHAR2(30);
135070 l_component_type_code VARCHAR2(1);
135071 l_component_appl_id INTEGER;
135072 l_amb_context_code VARCHAR2(30);
135073 l_entity_code VARCHAR2(30);
135074 l_event_class_code VARCHAR2(30);
135075 l_ae_header_id NUMBER;
135079 --
135076 l_event_type_code VARCHAR2(30);
135077 l_line_definition_code VARCHAR2(30);
135078 l_line_definition_owner_code VARCHAR2(1);
135080 -- adr variables
135081 l_segment VARCHAR2(30);
135082 l_ccid NUMBER;
135083 l_adr_transaction_coa_id NUMBER;
135084 l_adr_accounting_coa_id NUMBER;
135085 l_adr_flexfield_segment_code VARCHAR2(30);
135086 l_adr_flex_value_set_id NUMBER;
135087 l_adr_value_type_code VARCHAR2(30);
135088 l_adr_value_combination_id NUMBER;
135089 l_adr_value_segment_code VARCHAR2(30);
135090
135091 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135092 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135093 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135094 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135095
135096 -- 4262811 Variables ------------------------------------------------------------------------------------------
135097 l_entered_amt_idx NUMBER;
135098 l_accted_amt_idx NUMBER;
135099 l_acc_rev_flag VARCHAR2(1);
135100 l_accrual_line_num NUMBER;
135101 l_tmp_amt NUMBER;
135102 l_acc_rev_natural_side_code VARCHAR2(1);
135103
135104 l_num_entries NUMBER;
135105 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135106 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135107 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135108 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135109 l_recog_line_1 NUMBER;
135110 l_recog_line_2 NUMBER;
135111
135112 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135113 l_bflow_applied_to_amt NUMBER; -- 5132302
135114 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135115
135116 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135117
135118 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135119 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135120
135121 ---------------------------------------------------------------------------------------------------------------
135122
135123
135124 --
135125 -- bulk performance
135126 --
135127 l_balance_type_code VARCHAR2(1);
135128 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135129 l_log_module VARCHAR2(240);
135130
135131 --
135132 -- Upgrade strategy
135133 --
135134 l_actual_upg_option VARCHAR2(1);
135135 l_enc_upg_option VARCHAR2(1);
135136
135137 --
135138 BEGIN
135139 --
135140 IF g_log_enabled THEN
135141 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_215';
135142 END IF;
135143 --
135144 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135145
135146 trace
135147 (p_msg => 'BEGIN of AcctLineType_215'
135148 ,p_level => C_LEVEL_PROCEDURE
135149 ,p_module => l_log_module);
135150
135151 END IF;
135152 --
135153 l_component_type := 'AMB_JLT';
135154 l_component_code := 'AP_TAX_INV_PRICE_VAR_PREPAY';
135155 l_component_type_code := 'S';
135156 l_component_appl_id := 200;
135157 l_amb_context_code := 'DEFAULT';
135158 l_entity_code := 'AP_INVOICES';
135159 l_event_class_code := 'PREPAYMENTS';
135160 l_event_type_code := 'PREPAYMENTS_ALL';
135161 l_line_definition_owner_code := 'S';
135162 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
135163 --
135164 l_balance_type_code := 'A';
135165 l_segment := NULL;
135166 l_ccid := NULL;
135167 l_adr_transaction_coa_id := NULL;
135168 l_adr_accounting_coa_id := NULL;
135169 l_adr_flexfield_segment_code := NULL;
135170 l_adr_flex_value_set_id := NULL;
135171 l_adr_value_type_code := NULL;
135172 l_adr_value_combination_id := NULL;
135173 l_adr_value_segment_code := NULL;
135174
135175 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
135176 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
135177 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135178 l_budgetary_control_flag := 'N';
135179
135180 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135181 l_bflow_applied_to_amt := NULL; -- 5132302
135182 l_entered_amt_idx := NULL; -- 4262811
135183 l_accted_amt_idx := NULL; -- 4262811
135184 l_acc_rev_flag := NULL; -- 4262811
135185 l_accrual_line_num := NULL; -- 4262811
135186 l_tmp_amt := NULL; -- 4262811
135187 --
135188
135189 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135190 l_balance_type_code <> 'B' THEN
135191 IF NVL(p_source_33,'
135192 ') = 'TIPV' AND
135193 NVL(p_source_95,'
135194 ') = 'Y'
135195 THEN
135196
135197 --
135198 XLA_AE_LINES_PKG.SetNewLine;
135199
135200 p_balance_type_code := l_balance_type_code;
135201 -- set the flag so later we will know whether the gain loss line needs to be created
135202
135206
135203 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135204 p_actual_flag :='A';
135205 END IF;
135207 --
135208 -- bulk performance
135209 --
135210 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135211 p_header_num => 0); -- 4262811
135212 --
135213 -- set accounting line options
135214 --
135215 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135216 p_natural_side_code => 'D'
135217 , p_gain_or_loss_flag => 'N'
135218 , p_gl_transfer_mode_code => 'S'
135219 , p_acct_entry_type_code => 'A'
135220 , p_switch_side_flag => 'Y'
135221 , p_merge_duplicate_code => 'A'
135222 );
135223 --
135224 l_acc_rev_natural_side_code := 'C'; -- 4262811
135225 --
135226 --
135227 -- set accounting line type info
135228 --
135229 xla_ae_lines_pkg.SetAcctLineType
135230 (p_component_type => l_component_type
135231 ,p_event_type_code => l_event_type_code
135232 ,p_line_definition_owner_code => l_line_definition_owner_code
135233 ,p_line_definition_code => l_line_definition_code
135234 ,p_accounting_line_code => l_component_code
135235 ,p_accounting_line_type_code => l_component_type_code
135236 ,p_accounting_line_appl_id => l_component_appl_id
135237 ,p_amb_context_code => l_amb_context_code
135238 ,p_entity_code => l_entity_code
135239 ,p_event_class_code => l_event_class_code);
135240 --
135241 -- set accounting class
135242 --
135243 xla_ae_lines_pkg.SetAcctClass(
135244 p_accounting_class_code => 'TIPV'
135245 , p_ae_header_id => l_ae_header_id
135246 );
135247
135248 --
135249 -- set rounding class
135250 --
135251 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135252 'TIPV';
135253
135254 --
135255 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135256 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135257 --
135258 -- bulk performance
135259 --
135260 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135261
135262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135263 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135264
135265 -- 4955764
135266 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135267 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135268
135269 -- 4458381 Public Sector Enh
135270
135271 --
135272 -- set accounting attributes for the line type
135273 --
135274 l_entered_amt_idx := 23;
135275 l_accted_amt_idx := 28;
135276 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135277 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135278 l_rec_acct_attrs.array_char_value(1) := p_source_52;
135279 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135280 l_rec_acct_attrs.array_num_value(2) :=
135281 xla_ae_sources_pkg.GetSystemSourceNum(
135282 p_source_code => 'XLA_EVENT_APPL_ID'
135283 , p_source_type_code => 'Y'
135284 , p_source_application_id => 602
135285 );
135286 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135287 l_rec_acct_attrs.array_char_value(3) := p_source_54;
135288 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135289 l_rec_acct_attrs.array_char_value(4) :=
135290 xla_ae_sources_pkg.GetSystemSourceChar(
135291 p_source_code => 'XLA_ENTITY_CODE'
135292 , p_source_type_code => 'Y'
135293 , p_source_application_id => 602
135294 );
135295 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135296 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
135297 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135298 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
135299 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
135300 l_rec_acct_attrs.array_num_value(7) := p_source_90;
135301 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135302 l_rec_acct_attrs.array_char_value(8) := p_source_91;
135303 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
135304 l_rec_acct_attrs.array_char_value(9) := p_source_92;
135305 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
135306 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
135307 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135308 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
135309 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
135310 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
135311 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
135312 l_rec_acct_attrs.array_char_value(13) := p_source_54;
135313 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
135314 l_rec_acct_attrs.array_num_value(14) := p_source_64;
135315 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
135319 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
135316 l_rec_acct_attrs.array_num_value(15) := p_source_65;
135317 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
135318 l_rec_acct_attrs.array_char_value(16) := p_source_66;
135320 l_rec_acct_attrs.array_num_value(17) := p_source_67;
135321 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
135322 l_rec_acct_attrs.array_num_value(18) := p_source_68;
135323 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
135324 l_rec_acct_attrs.array_num_value(19) := p_source_69;
135325 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
135326 l_rec_acct_attrs.array_char_value(20) := p_source_66;
135327 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
135328 l_rec_acct_attrs.array_num_value(21) := p_source_70;
135329 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
135330 l_rec_acct_attrs.array_char_value(22) := p_source_71;
135331 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
135332 l_rec_acct_attrs.array_num_value(23) := p_source_72;
135333 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
135334 l_rec_acct_attrs.array_char_value(24) := p_source_66;
135335 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
135336 l_rec_acct_attrs.array_date_value(25) := p_source_136;
135337 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
135338 l_rec_acct_attrs.array_num_value(26) := p_source_137;
135339 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
135340 l_rec_acct_attrs.array_char_value(27) := p_source_138;
135341 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
135342 l_rec_acct_attrs.array_num_value(28) := p_source_21;
135343 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
135344 l_rec_acct_attrs.array_date_value(29) := p_source_76;
135345 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
135346 l_rec_acct_attrs.array_char_value(30) := p_source_77;
135347 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
135348 l_rec_acct_attrs.array_date_value(31) := p_source_78;
135349 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
135350 l_rec_acct_attrs.array_char_value(32) := p_source_79;
135351 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
135352 l_rec_acct_attrs.array_num_value(33) := p_source_80;
135353 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
135354 l_rec_acct_attrs.array_num_value(34) := p_source_81;
135355 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
135356 l_rec_acct_attrs.array_char_value(35) := p_source_82;
135357 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
135358 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
135359 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
135360 l_rec_acct_attrs.array_char_value(37) := p_source_54;
135361 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
135362 l_rec_acct_attrs.array_num_value(38) := p_source_84;
135363 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
135364 l_rec_acct_attrs.array_num_value(39) := p_source_85;
135365 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
135366 l_rec_acct_attrs.array_num_value(40) := p_source_86;
135367 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
135368 l_rec_acct_attrs.array_num_value(41) := p_source_87;
135369 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
135370 l_rec_acct_attrs.array_num_value(42) := p_source_88;
135371 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
135372 l_rec_acct_attrs.array_num_value(43) := p_source_89;
135373
135374 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
135375 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
135376
135377 ---------------------------------------------------------------------------------------------------------------
135378 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
135379 ---------------------------------------------------------------------------------------------------------------
135380 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
135381
135382 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135383 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135384
135385 IF xla_accounting_cache_pkg.GetValueChar
135386 (p_source_code => 'LEDGER_CATEGORY_CODE'
135387 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
135388 AND l_bflow_method_code = 'PRIOR_ENTRY'
135389 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
135390 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
135391 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
135392 )
135393 THEN
135394 xla_ae_lines_pkg.BflowUpgEntry
135395 (p_business_method_code => l_bflow_method_code
135396 ,p_business_class_code => l_bflow_class_code
135397 ,p_balance_type => l_balance_type_code);
135398 ELSE
135399 NULL;
135400 -- No business flow processing for business flow method of NONE.
135401 END IF;
135402
135403 --
135404 -- call analytical criteria
135405 --
135406
135407 --
135408 -- call description
135409 --
135413 ,p_description => Description_1 (
135410
135411 xla_ae_lines_pkg.SetLineDescription(
135412 p_ae_header_id => l_ae_header_id
135414 p_application_id => p_application_id
135415 , p_ae_header_id => l_ae_header_id
135416 , p_source_1 => p_source_1
135417 )
135418 );
135419
135420
135421 --
135422 -- call ADRs
135423 -- Bug 4922099
135424 --
135425 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135426 (NVL(l_actual_upg_option, 'N') = 'O') OR
135427 (NVL(l_enc_upg_option, 'N') = 'O')
135428 )
135429 THEN
135430 NULL;
135431 --
135432 --
135433
135434 l_ccid := AcctDerRule_33(
135435 p_application_id => p_application_id
135436 , p_ae_header_id => l_ae_header_id
135437 , p_source_30 => p_source_30
135438 , x_transaction_coa_id => l_adr_transaction_coa_id
135439 , x_accounting_coa_id => l_adr_accounting_coa_id
135440 , x_value_type_code => l_adr_value_type_code
135441 , p_side => 'NA'
135442 );
135443
135444 xla_ae_lines_pkg.set_ccid(
135445 p_code_combination_id => l_ccid
135446 , p_value_type_code => l_adr_value_type_code
135447 , p_transaction_coa_id => l_adr_transaction_coa_id
135448 , p_accounting_coa_id => l_adr_accounting_coa_id
135449 , p_adr_code => 'AP_INVOICE_DIST'
135450 , p_adr_type_code => 'S'
135451 , p_component_type => l_component_type
135452 , p_component_code => l_component_code
135453 , p_component_type_code => l_component_type_code
135454 , p_component_appl_id => l_component_appl_id
135455 , p_amb_context_code => l_amb_context_code
135456 , p_side => 'NA'
135457 );
135458
135459
135460 --
135461 --
135462 END IF;
135463 --
135464 -- Bug 4922099
135465 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
135466 (NVL(l_enc_upg_option, 'N') = 'O')
135467 ) AND
135468 (l_bflow_method_code = 'PRIOR_ENTRY')
135469 )
135470 THEN
135471 IF
135472 --
135473 1 = 2
135474 --
135475 THEN
135476 xla_accounting_err_pkg.build_message
135477 (p_appli_s_name => 'XLA'
135478 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135479 ,p_token_1 => 'LINE_NUMBER'
135480 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
135481 ,p_token_2 => 'LINE_TYPE_NAME'
135482 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
135483 l_component_type
135484 ,l_component_code
135485 ,l_component_type_code
135486 ,l_component_appl_id
135487 ,l_amb_context_code
135488 ,l_entity_code
135489 ,l_event_class_code
135490 )
135491 ,p_token_3 => 'OWNER'
135492 ,p_value_3 => xla_lookups_pkg.get_meaning(
135493 p_lookup_type => 'XLA_OWNER_TYPE'
135494 ,p_lookup_code => l_component_type_code
135495 )
135496 ,p_token_4 => 'PRODUCT_NAME'
135497 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
135498 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
135499 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
135500 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
135501 ,p_ae_header_id => NULL
135502 );
135503
135504 IF (C_LEVEL_ERROR>= g_log_level) THEN
135505 trace
135506 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135507 ,p_level => C_LEVEL_ERROR
135508 ,p_module => l_log_module);
135509 END IF;
135510 END IF;
135511 END IF;
135512 --
135513 --
135514 ------------------------------------------------------------------------------------------------
135515 -- 4219869 Business Flow
135516 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
135517 -- Prior Entry. Currently, the following code is always generated.
135518 ------------------------------------------------------------------------------------------------
135522 -- 4219869 Business Flow
135519 XLA_AE_LINES_PKG.ValidateCurrentLine;
135520
135521 ------------------------------------------------------------------------------------
135523 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
135524 ------------------------------------------------------------------------------------
135525 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135526
135527 ----------------------------------------------------------------------------------
135528 -- 4219869 Business Flow
135529 -- Update journal entry status -- Need to generate this within IF <condition>
135530 ----------------------------------------------------------------------------------
135531 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135532 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
135533 ,p_balance_type_code => l_balance_type_code
135534 );
135535
135536 -------------------------------------------------------------------------------------------
135537 -- 4262811 - Generate the Accrual Reversal lines
135538 -------------------------------------------------------------------------------------------
135539 BEGIN
135540 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
135541 (g_array_event(p_event_id).array_value_num('header_index'));
135542 IF l_acc_rev_flag IS NULL THEN
135543 l_acc_rev_flag := 'N';
135544 END IF;
135545 EXCEPTION
135546 WHEN OTHERS THEN
135547 l_acc_rev_flag := 'N';
135548 END;
135549 --
135550 IF (l_acc_rev_flag = 'Y') THEN
135551
135552 -- 4645092 ------------------------------------------------------------------------------
135553 -- To allow MPA report to determine if it should generate report process
135554 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
135555 ------------------------------------------------------------------------------------------
135556
135557 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
135558 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
135559 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
135560 -- call ADRs
135561 -- Bug 4922099
135562 --
135563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135564 (NVL(l_actual_upg_option, 'N') = 'O') OR
135565 (NVL(l_enc_upg_option, 'N') = 'O')
135566 )
135567 THEN
135568 NULL;
135569 --
135570 --
135571
135572 l_ccid := AcctDerRule_33(
135573 p_application_id => p_application_id
135574 , p_ae_header_id => l_ae_header_id
135575 , p_source_30 => p_source_30
135576 , x_transaction_coa_id => l_adr_transaction_coa_id
135577 , x_accounting_coa_id => l_adr_accounting_coa_id
135578 , x_value_type_code => l_adr_value_type_code
135579 , p_side => 'NA'
135580 );
135581
135582 xla_ae_lines_pkg.set_ccid(
135583 p_code_combination_id => l_ccid
135584 , p_value_type_code => l_adr_value_type_code
135585 , p_transaction_coa_id => l_adr_transaction_coa_id
135586 , p_accounting_coa_id => l_adr_accounting_coa_id
135587 , p_adr_code => 'AP_INVOICE_DIST'
135588 , p_adr_type_code => 'S'
135589 , p_component_type => l_component_type
135590 , p_component_code => l_component_code
135591 , p_component_type_code => l_component_type_code
135592 , p_component_appl_id => l_component_appl_id
135593 , p_amb_context_code => l_amb_context_code
135594 , p_side => 'NA'
135595 );
135596
135597
135598 --
135599 --
135600 END IF;
135601
135602 --
135603 -- Update the line information that should be overwritten
135604 --
135605 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
135606 p_header_num => 1);
135607 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
135608
135609 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
135610
135611 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
135612 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
135613 END IF;
135614
135615 --
135616 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
135617 --
135618 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
135619 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
135620 ELSE
135621 ---------------------------------------------------------------------------------------------------
135622 -- 4262811a Switch Sign
135623 ---------------------------------------------------------------------------------------------------
135624 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
135625 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135626 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135627 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135631 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135628 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135629 -- 5132302
135630 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
135632
135633 END IF;
135634
135635 -- 4955764
135636 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135637 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
135638
135639
135640 XLA_AE_LINES_PKG.ValidateCurrentLine;
135641 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135642
135643 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135644 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
135645 ,p_balance_type_code => l_balance_type_code);
135646
135647 END IF;
135648
135649 -----------------------------------------------------------------------------------------
135650 -- 4262811 Multiperiod Accounting
135651 -----------------------------------------------------------------------------------------
135652 -- No MPA option is assigned.
135653
135654
135655 END IF;
135656 END IF;
135657 --
135658
135659 --
135660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135661 trace
135662 (p_msg => 'END of AcctLineType_215'
135663 ,p_level => C_LEVEL_PROCEDURE
135664 ,p_module => l_log_module);
135665 END IF;
135666 --
135667 EXCEPTION
135668 WHEN xla_exceptions_pkg.application_exception THEN
135669 RAISE;
135670 WHEN OTHERS THEN
135671 xla_exceptions_pkg.raise_message
135672 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_215');
135673 END AcctLineType_215;
135674 --
135675
135676 ---------------------------------------
135677 --
135678 -- PRIVATE FUNCTION
135679 -- AcctLineType_216
135680 --
135681 ---------------------------------------
135682 PROCEDURE AcctLineType_216 (
135683 p_application_id IN NUMBER
135684 ,p_event_id IN NUMBER
135685 ,p_calculate_acctd_flag IN VARCHAR2
135686 ,p_calculate_g_l_flag IN VARCHAR2
135687 ,p_actual_flag IN OUT VARCHAR2
135688 ,p_balance_type_code OUT VARCHAR2
135689 ,p_gain_or_loss_ref OUT VARCHAR2
135690
135691 --Invoice Distribution Description
135692 , p_source_1 IN VARCHAR2
135693 --Invoice Distribution Ledger Amount
135694 , p_source_21 IN NUMBER
135695 --Invoice Distribution Account
135696 , p_source_30 IN NUMBER
135697 --Invoice Distribution Type
135698 , p_source_33 IN VARCHAR2
135699 , p_source_33_meaning IN VARCHAR2
135700 --Accounting Reversal Indicator
135701 , p_source_52 IN VARCHAR2
135702 --Distribution Link Type
135703 , p_source_54 IN VARCHAR2
135704 --Allocation to Main Distribution Identifier
135705 , p_source_56 IN NUMBER
135706 --Invoice Identifier
135707 , p_source_57 IN NUMBER
135708 --Invoice Distribution Identifier
135709 , p_source_63 IN NUMBER
135710 --Payables Encumbrance Upgrade Credit Account
135711 , p_source_64 IN NUMBER
135712 --Payables Encumbrance Upgrade Credit Amount
135713 , p_source_65 IN NUMBER
135714 --Invoice Currency Code
135715 , p_source_66 IN VARCHAR2
135716 --Payables Encumbrance Upgrade Credit Base Amount
135717 , p_source_67 IN NUMBER
135718 --Payables Encumbrance Upgrade Debit Account
135719 , p_source_68 IN NUMBER
135720 --Payables Encumbrance Upgrade Debit Amount
135721 , p_source_69 IN NUMBER
135722 --Payables Encumbrance Upgrade Debit Base Amount
135723 , p_source_70 IN NUMBER
135724 --Payables Encumbrance Upgrade Option
135725 , p_source_71 IN VARCHAR2
135726 --Invoice Distribution Amount
135727 , p_source_72 IN NUMBER
135728 --Deferred Accounting End Date
135729 , p_source_76 IN DATE
135730 --Deferred Accounting Option
135731 , p_source_77 IN VARCHAR2
135732 --Deferred Accounting Start Date
135733 , p_source_78 IN DATE
135734 --Override Accounted Amount Indicator
135735 , p_source_79 IN VARCHAR2
135736 , p_source_79_meaning IN VARCHAR2
135737 --Invoice Supplier Identifier
135738 , p_source_80 IN NUMBER
135739 --Invoice Supplier Site Identifier
135740 , p_source_81 IN NUMBER
135741 --Third Party Type
135742 , p_source_82 IN VARCHAR2
135743 --Parent Reversal Identifier
135744 , p_source_83 IN NUMBER
135745 --Invoice Distribution Statistical Amount
135746 , p_source_84 IN NUMBER
135747 --Invoice Distribution Tax Line Identifier
135748 , p_source_85 IN NUMBER
135749 --Invoice Distribution Tax Distribution Identifier from Tax
135750 , p_source_86 IN NUMBER
135751 --Invoice Distribution Summary Tax Line Identifier
135752 , p_source_87 IN NUMBER
135753 --Payables Upgrade Credit Encumbrance Type Identifier
135754 , p_source_88 IN NUMBER
135755 --Payables Upgrade Debit Encumbrance Type Identifier
135756 , p_source_89 IN NUMBER
135757 --Business Flow Accounts Payable Application Identifier
135758 , p_source_90 IN NUMBER
135759 --Business Flow Invoice Distribution Type
135760 , p_source_91 IN VARCHAR2
135764 , p_source_93 IN NUMBER
135761 --Business Flow Invoice Entity Code
135762 , p_source_92 IN VARCHAR2
135763 --Business Flow Invoice Distribution Identifier
135765 --Business Flow Invoice Identifier
135766 , p_source_94 IN NUMBER
135767 --Accrue on Receipt Option
135768 , p_source_95 IN VARCHAR2
135769 , p_source_95_meaning IN VARCHAR2
135770 --Invoice Exchange Date
135771 , p_source_136 IN DATE
135772 --Invoice Exchange Rate
135773 , p_source_137 IN NUMBER
135774 --Invoice Exchange Rate Type
135775 , p_source_138 IN VARCHAR2
135776 )
135777 IS
135778
135779 l_component_type VARCHAR2(80);
135780 l_component_code VARCHAR2(30);
135781 l_component_type_code VARCHAR2(1);
135782 l_component_appl_id INTEGER;
135783 l_amb_context_code VARCHAR2(30);
135784 l_entity_code VARCHAR2(30);
135785 l_event_class_code VARCHAR2(30);
135786 l_ae_header_id NUMBER;
135787 l_event_type_code VARCHAR2(30);
135788 l_line_definition_code VARCHAR2(30);
135789 l_line_definition_owner_code VARCHAR2(1);
135790 --
135791 -- adr variables
135792 l_segment VARCHAR2(30);
135793 l_ccid NUMBER;
135794 l_adr_transaction_coa_id NUMBER;
135795 l_adr_accounting_coa_id NUMBER;
135796 l_adr_flexfield_segment_code VARCHAR2(30);
135797 l_adr_flex_value_set_id NUMBER;
135798 l_adr_value_type_code VARCHAR2(30);
135799 l_adr_value_combination_id NUMBER;
135800 l_adr_value_segment_code VARCHAR2(30);
135801
135802 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135803 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135804 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135805 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135806
135807 -- 4262811 Variables ------------------------------------------------------------------------------------------
135808 l_entered_amt_idx NUMBER;
135809 l_accted_amt_idx NUMBER;
135810 l_acc_rev_flag VARCHAR2(1);
135811 l_accrual_line_num NUMBER;
135812 l_tmp_amt NUMBER;
135813 l_acc_rev_natural_side_code VARCHAR2(1);
135814
135815 l_num_entries NUMBER;
135816 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135817 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135818 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135819 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135820 l_recog_line_1 NUMBER;
135821 l_recog_line_2 NUMBER;
135822
135823 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135824 l_bflow_applied_to_amt NUMBER; -- 5132302
135825 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135826
135827 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135828
135829 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135830 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135831
135832 ---------------------------------------------------------------------------------------------------------------
135833
135834
135835 --
135836 -- bulk performance
135837 --
135838 l_balance_type_code VARCHAR2(1);
135839 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135840 l_log_module VARCHAR2(240);
135841
135842 --
135843 -- Upgrade strategy
135844 --
135845 l_actual_upg_option VARCHAR2(1);
135846 l_enc_upg_option VARCHAR2(1);
135847
135848 --
135849 BEGIN
135850 --
135851 IF g_log_enabled THEN
135852 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_216';
135853 END IF;
135854 --
135855 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135856
135857 trace
135858 (p_msg => 'BEGIN of AcctLineType_216'
135859 ,p_level => C_LEVEL_PROCEDURE
135860 ,p_module => l_log_module);
135861
135862 END IF;
135863 --
135864 l_component_type := 'AMB_JLT';
135865 l_component_code := 'AP_TAX_RATE_VAR_CM';
135866 l_component_type_code := 'S';
135867 l_component_appl_id := 200;
135868 l_amb_context_code := 'DEFAULT';
135869 l_entity_code := 'AP_INVOICES';
135870 l_event_class_code := 'CREDIT MEMOS';
135871 l_event_type_code := 'CREDIT MEMOS_ALL';
135872 l_line_definition_owner_code := 'S';
135873 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
135874 --
135875 l_balance_type_code := 'A';
135876 l_segment := NULL;
135877 l_ccid := NULL;
135878 l_adr_transaction_coa_id := NULL;
135879 l_adr_accounting_coa_id := NULL;
135880 l_adr_flexfield_segment_code := NULL;
135881 l_adr_flex_value_set_id := NULL;
135882 l_adr_value_type_code := NULL;
135883 l_adr_value_combination_id := NULL;
135884 l_adr_value_segment_code := NULL;
135885
135886 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
135887 l_bflow_class_code := ''; -- 4219869 Business Flow
135888 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135892 l_bflow_applied_to_amt := NULL; -- 5132302
135889 l_budgetary_control_flag := 'N';
135890
135891 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135893 l_entered_amt_idx := NULL; -- 4262811
135894 l_accted_amt_idx := NULL; -- 4262811
135895 l_acc_rev_flag := NULL; -- 4262811
135896 l_accrual_line_num := NULL; -- 4262811
135897 l_tmp_amt := NULL; -- 4262811
135898 --
135899
135900 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135901 l_balance_type_code <> 'B' THEN
135902 IF NVL(p_source_33,'
135903 ') = 'TRV' AND
135904 NVL(p_source_95,'
135905 ') = 'Y'
135906 THEN
135907
135908 --
135909 XLA_AE_LINES_PKG.SetNewLine;
135910
135911 p_balance_type_code := l_balance_type_code;
135912 -- set the flag so later we will know whether the gain loss line needs to be created
135913
135914 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135915 p_actual_flag :='A';
135916 END IF;
135917
135918 --
135919 -- bulk performance
135920 --
135921 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135922 p_header_num => 0); -- 4262811
135923 --
135924 -- set accounting line options
135925 --
135926 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135927 p_natural_side_code => 'D'
135928 , p_gain_or_loss_flag => 'N'
135929 , p_gl_transfer_mode_code => 'S'
135930 , p_acct_entry_type_code => 'A'
135931 , p_switch_side_flag => 'Y'
135932 , p_merge_duplicate_code => 'A'
135933 );
135934 --
135935 l_acc_rev_natural_side_code := 'C'; -- 4262811
135936 --
135937 --
135938 -- set accounting line type info
135939 --
135940 xla_ae_lines_pkg.SetAcctLineType
135941 (p_component_type => l_component_type
135942 ,p_event_type_code => l_event_type_code
135943 ,p_line_definition_owner_code => l_line_definition_owner_code
135944 ,p_line_definition_code => l_line_definition_code
135945 ,p_accounting_line_code => l_component_code
135946 ,p_accounting_line_type_code => l_component_type_code
135947 ,p_accounting_line_appl_id => l_component_appl_id
135948 ,p_amb_context_code => l_amb_context_code
135949 ,p_entity_code => l_entity_code
135950 ,p_event_class_code => l_event_class_code);
135951 --
135952 -- set accounting class
135953 --
135954 xla_ae_lines_pkg.SetAcctClass(
135955 p_accounting_class_code => 'TRV'
135956 , p_ae_header_id => l_ae_header_id
135957 );
135958
135959 --
135960 -- set rounding class
135961 --
135962 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135963 'TRV';
135964
135965 --
135966 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135967 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135968 --
135969 -- bulk performance
135970 --
135971 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135972
135973 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135974 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135975
135976 -- 4955764
135977 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135978 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135979
135980 -- 4458381 Public Sector Enh
135981
135982 --
135983 -- set accounting attributes for the line type
135984 --
135985 l_entered_amt_idx := 23;
135986 l_accted_amt_idx := 28;
135987 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135988 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135989 l_rec_acct_attrs.array_char_value(1) := p_source_52;
135990 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135991 l_rec_acct_attrs.array_num_value(2) :=
135992 xla_ae_sources_pkg.GetSystemSourceNum(
135993 p_source_code => 'XLA_EVENT_APPL_ID'
135994 , p_source_type_code => 'Y'
135995 , p_source_application_id => 602
135996 );
135997 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135998 l_rec_acct_attrs.array_char_value(3) := p_source_54;
135999 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136000 l_rec_acct_attrs.array_char_value(4) :=
136001 xla_ae_sources_pkg.GetSystemSourceChar(
136002 p_source_code => 'XLA_ENTITY_CODE'
136003 , p_source_type_code => 'Y'
136004 , p_source_application_id => 602
136005 );
136006 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136007 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
136008 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136009 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
136010 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136014 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136011 l_rec_acct_attrs.array_num_value(7) := p_source_90;
136012 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136013 l_rec_acct_attrs.array_char_value(8) := p_source_91;
136015 l_rec_acct_attrs.array_char_value(9) := p_source_92;
136016 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136017 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
136018 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136019 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
136020 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136021 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
136022 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136023 l_rec_acct_attrs.array_char_value(13) := p_source_54;
136024 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136025 l_rec_acct_attrs.array_num_value(14) := p_source_64;
136026 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136027 l_rec_acct_attrs.array_num_value(15) := p_source_65;
136028 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136029 l_rec_acct_attrs.array_char_value(16) := p_source_66;
136030 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136031 l_rec_acct_attrs.array_num_value(17) := p_source_67;
136032 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136033 l_rec_acct_attrs.array_num_value(18) := p_source_68;
136034 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136035 l_rec_acct_attrs.array_num_value(19) := p_source_69;
136036 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136037 l_rec_acct_attrs.array_char_value(20) := p_source_66;
136038 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136039 l_rec_acct_attrs.array_num_value(21) := p_source_70;
136040 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136041 l_rec_acct_attrs.array_char_value(22) := p_source_71;
136042 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136043 l_rec_acct_attrs.array_num_value(23) := p_source_72;
136044 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136045 l_rec_acct_attrs.array_char_value(24) := p_source_66;
136046 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136047 l_rec_acct_attrs.array_date_value(25) := p_source_136;
136048 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136049 l_rec_acct_attrs.array_num_value(26) := p_source_137;
136050 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136051 l_rec_acct_attrs.array_char_value(27) := p_source_138;
136052 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136053 l_rec_acct_attrs.array_num_value(28) := p_source_21;
136054 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136055 l_rec_acct_attrs.array_date_value(29) := p_source_76;
136056 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136057 l_rec_acct_attrs.array_char_value(30) := p_source_77;
136058 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136059 l_rec_acct_attrs.array_date_value(31) := p_source_78;
136060 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136061 l_rec_acct_attrs.array_char_value(32) := p_source_79;
136062 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136063 l_rec_acct_attrs.array_num_value(33) := p_source_80;
136064 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136065 l_rec_acct_attrs.array_num_value(34) := p_source_81;
136066 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136067 l_rec_acct_attrs.array_char_value(35) := p_source_82;
136068 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136069 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
136070 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136071 l_rec_acct_attrs.array_char_value(37) := p_source_54;
136072 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
136073 l_rec_acct_attrs.array_num_value(38) := p_source_84;
136074 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
136075 l_rec_acct_attrs.array_num_value(39) := p_source_85;
136076 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
136077 l_rec_acct_attrs.array_num_value(40) := p_source_86;
136078 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
136079 l_rec_acct_attrs.array_num_value(41) := p_source_87;
136080 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
136081 l_rec_acct_attrs.array_num_value(42) := p_source_88;
136082 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
136083 l_rec_acct_attrs.array_num_value(43) := p_source_89;
136084
136085 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136086 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136087
136088 ---------------------------------------------------------------------------------------------------------------
136089 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136090 ---------------------------------------------------------------------------------------------------------------
136091 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136092
136093 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136097 (p_source_code => 'LEDGER_CATEGORY_CODE'
136094 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136095
136096 IF xla_accounting_cache_pkg.GetValueChar
136098 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136099 AND l_bflow_method_code = 'PRIOR_ENTRY'
136100 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136101 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136102 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136103 )
136104 THEN
136105 xla_ae_lines_pkg.BflowUpgEntry
136106 (p_business_method_code => l_bflow_method_code
136107 ,p_business_class_code => l_bflow_class_code
136108 ,p_balance_type => l_balance_type_code);
136109 ELSE
136110 NULL;
136111 -- No business flow processing for business flow method of NONE.
136112 END IF;
136113
136114 --
136115 -- call analytical criteria
136116 --
136117
136118 --
136119 -- call description
136120 --
136121
136122 xla_ae_lines_pkg.SetLineDescription(
136123 p_ae_header_id => l_ae_header_id
136124 ,p_description => Description_1 (
136125 p_application_id => p_application_id
136126 , p_ae_header_id => l_ae_header_id
136127 , p_source_1 => p_source_1
136128 )
136129 );
136130
136131
136132 --
136133 -- call ADRs
136134 -- Bug 4922099
136135 --
136136 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136137 (NVL(l_actual_upg_option, 'N') = 'O') OR
136138 (NVL(l_enc_upg_option, 'N') = 'O')
136139 )
136140 THEN
136141 NULL;
136142 --
136143 --
136144
136145 l_ccid := AcctDerRule_33(
136146 p_application_id => p_application_id
136147 , p_ae_header_id => l_ae_header_id
136148 , p_source_30 => p_source_30
136149 , x_transaction_coa_id => l_adr_transaction_coa_id
136150 , x_accounting_coa_id => l_adr_accounting_coa_id
136151 , x_value_type_code => l_adr_value_type_code
136152 , p_side => 'NA'
136153 );
136154
136155 xla_ae_lines_pkg.set_ccid(
136156 p_code_combination_id => l_ccid
136157 , p_value_type_code => l_adr_value_type_code
136158 , p_transaction_coa_id => l_adr_transaction_coa_id
136159 , p_accounting_coa_id => l_adr_accounting_coa_id
136160 , p_adr_code => 'AP_INVOICE_DIST'
136161 , p_adr_type_code => 'S'
136162 , p_component_type => l_component_type
136163 , p_component_code => l_component_code
136164 , p_component_type_code => l_component_type_code
136165 , p_component_appl_id => l_component_appl_id
136166 , p_amb_context_code => l_amb_context_code
136167 , p_side => 'NA'
136168 );
136169
136170
136171 --
136172 --
136173 END IF;
136174 --
136175 -- Bug 4922099
136176 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136177 (NVL(l_enc_upg_option, 'N') = 'O')
136178 ) AND
136179 (l_bflow_method_code = 'PRIOR_ENTRY')
136180 )
136181 THEN
136182 IF
136183 --
136184 1 = 2
136185 --
136186 THEN
136187 xla_accounting_err_pkg.build_message
136188 (p_appli_s_name => 'XLA'
136189 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136190 ,p_token_1 => 'LINE_NUMBER'
136191 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136192 ,p_token_2 => 'LINE_TYPE_NAME'
136193 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136194 l_component_type
136195 ,l_component_code
136196 ,l_component_type_code
136197 ,l_component_appl_id
136198 ,l_amb_context_code
136199 ,l_entity_code
136200 ,l_event_class_code
136201 )
136202 ,p_token_3 => 'OWNER'
136203 ,p_value_3 => xla_lookups_pkg.get_meaning(
136204 p_lookup_type => 'XLA_OWNER_TYPE'
136205 ,p_lookup_code => l_component_type_code
136206 )
136207 ,p_token_4 => 'PRODUCT_NAME'
136208 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136209 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136210 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136214
136211 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136212 ,p_ae_header_id => NULL
136213 );
136215 IF (C_LEVEL_ERROR>= g_log_level) THEN
136216 trace
136217 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136218 ,p_level => C_LEVEL_ERROR
136219 ,p_module => l_log_module);
136220 END IF;
136221 END IF;
136222 END IF;
136223 --
136224 --
136225 ------------------------------------------------------------------------------------------------
136226 -- 4219869 Business Flow
136227 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136228 -- Prior Entry. Currently, the following code is always generated.
136229 ------------------------------------------------------------------------------------------------
136230 XLA_AE_LINES_PKG.ValidateCurrentLine;
136231
136232 ------------------------------------------------------------------------------------
136233 -- 4219869 Business Flow
136234 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136235 ------------------------------------------------------------------------------------
136236 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136237
136238 ----------------------------------------------------------------------------------
136239 -- 4219869 Business Flow
136240 -- Update journal entry status -- Need to generate this within IF <condition>
136241 ----------------------------------------------------------------------------------
136242 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136243 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136244 ,p_balance_type_code => l_balance_type_code
136245 );
136246
136247 -------------------------------------------------------------------------------------------
136248 -- 4262811 - Generate the Accrual Reversal lines
136249 -------------------------------------------------------------------------------------------
136250 BEGIN
136251 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136252 (g_array_event(p_event_id).array_value_num('header_index'));
136253 IF l_acc_rev_flag IS NULL THEN
136254 l_acc_rev_flag := 'N';
136255 END IF;
136256 EXCEPTION
136257 WHEN OTHERS THEN
136258 l_acc_rev_flag := 'N';
136259 END;
136260 --
136261 IF (l_acc_rev_flag = 'Y') THEN
136262
136263 -- 4645092 ------------------------------------------------------------------------------
136264 -- To allow MPA report to determine if it should generate report process
136265 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136266 ------------------------------------------------------------------------------------------
136267
136268 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136269 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136270 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136271 -- call ADRs
136272 -- Bug 4922099
136273 --
136274 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136275 (NVL(l_actual_upg_option, 'N') = 'O') OR
136276 (NVL(l_enc_upg_option, 'N') = 'O')
136277 )
136278 THEN
136279 NULL;
136280 --
136281 --
136282
136283 l_ccid := AcctDerRule_33(
136284 p_application_id => p_application_id
136285 , p_ae_header_id => l_ae_header_id
136286 , p_source_30 => p_source_30
136287 , x_transaction_coa_id => l_adr_transaction_coa_id
136288 , x_accounting_coa_id => l_adr_accounting_coa_id
136289 , x_value_type_code => l_adr_value_type_code
136290 , p_side => 'NA'
136291 );
136292
136293 xla_ae_lines_pkg.set_ccid(
136294 p_code_combination_id => l_ccid
136295 , p_value_type_code => l_adr_value_type_code
136296 , p_transaction_coa_id => l_adr_transaction_coa_id
136297 , p_accounting_coa_id => l_adr_accounting_coa_id
136298 , p_adr_code => 'AP_INVOICE_DIST'
136299 , p_adr_type_code => 'S'
136300 , p_component_type => l_component_type
136301 , p_component_code => l_component_code
136302 , p_component_type_code => l_component_type_code
136303 , p_component_appl_id => l_component_appl_id
136304 , p_amb_context_code => l_amb_context_code
136305 , p_side => 'NA'
136306 );
136307
136308
136309 --
136310 --
136311 END IF;
136312
136313 --
136314 -- Update the line information that should be overwritten
136315 --
136316 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136317 p_header_num => 1);
136318 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136319
136320 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136321
136322 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136323 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136324 END IF;
136325
136326 --
136330 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136327 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136328 --
136329 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136331 ELSE
136332 ---------------------------------------------------------------------------------------------------
136333 -- 4262811a Switch Sign
136334 ---------------------------------------------------------------------------------------------------
136335 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136336 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136337 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136338 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136339 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136340 -- 5132302
136341 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136342 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136343
136344 END IF;
136345
136346 -- 4955764
136347 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136348 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136349
136350
136351 XLA_AE_LINES_PKG.ValidateCurrentLine;
136352 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136353
136354 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136355 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136356 ,p_balance_type_code => l_balance_type_code);
136357
136358 END IF;
136359
136360 -----------------------------------------------------------------------------------------
136361 -- 4262811 Multiperiod Accounting
136362 -----------------------------------------------------------------------------------------
136363 -- No MPA option is assigned.
136364
136365
136366 END IF;
136367 END IF;
136368 --
136369
136370 --
136371 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136372 trace
136373 (p_msg => 'END of AcctLineType_216'
136374 ,p_level => C_LEVEL_PROCEDURE
136375 ,p_module => l_log_module);
136376 END IF;
136377 --
136378 EXCEPTION
136379 WHEN xla_exceptions_pkg.application_exception THEN
136380 RAISE;
136381 WHEN OTHERS THEN
136382 xla_exceptions_pkg.raise_message
136383 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_216');
136384 END AcctLineType_216;
136385 --
136386
136387 ---------------------------------------
136388 --
136389 -- PRIVATE FUNCTION
136390 -- AcctLineType_217
136391 --
136392 ---------------------------------------
136393 PROCEDURE AcctLineType_217 (
136394 p_application_id IN NUMBER
136395 ,p_event_id IN NUMBER
136396 ,p_calculate_acctd_flag IN VARCHAR2
136397 ,p_calculate_g_l_flag IN VARCHAR2
136398 ,p_actual_flag IN OUT VARCHAR2
136399 ,p_balance_type_code OUT VARCHAR2
136400 ,p_gain_or_loss_ref OUT VARCHAR2
136401
136402 --Invoice Distribution Description
136403 , p_source_1 IN VARCHAR2
136404 --Invoice Distribution Ledger Amount
136405 , p_source_21 IN NUMBER
136406 --Invoice Distribution Account
136407 , p_source_30 IN NUMBER
136408 --Invoice Distribution Type
136409 , p_source_33 IN VARCHAR2
136410 , p_source_33_meaning IN VARCHAR2
136411 --Accounting Reversal Indicator
136412 , p_source_52 IN VARCHAR2
136413 --Distribution Link Type
136414 , p_source_54 IN VARCHAR2
136415 --Allocation to Main Distribution Identifier
136416 , p_source_56 IN NUMBER
136417 --Invoice Identifier
136418 , p_source_57 IN NUMBER
136419 --Invoice Distribution Identifier
136420 , p_source_63 IN NUMBER
136421 --Payables Encumbrance Upgrade Credit Account
136422 , p_source_64 IN NUMBER
136423 --Payables Encumbrance Upgrade Credit Amount
136424 , p_source_65 IN NUMBER
136425 --Invoice Currency Code
136426 , p_source_66 IN VARCHAR2
136427 --Payables Encumbrance Upgrade Credit Base Amount
136428 , p_source_67 IN NUMBER
136429 --Payables Encumbrance Upgrade Debit Account
136430 , p_source_68 IN NUMBER
136431 --Payables Encumbrance Upgrade Debit Amount
136432 , p_source_69 IN NUMBER
136433 --Payables Encumbrance Upgrade Debit Base Amount
136434 , p_source_70 IN NUMBER
136435 --Payables Encumbrance Upgrade Option
136436 , p_source_71 IN VARCHAR2
136437 --Invoice Distribution Amount
136438 , p_source_72 IN NUMBER
136439 --Deferred Accounting End Date
136440 , p_source_76 IN DATE
136441 --Deferred Accounting Option
136442 , p_source_77 IN VARCHAR2
136443 --Deferred Accounting Start Date
136444 , p_source_78 IN DATE
136445 --Override Accounted Amount Indicator
136446 , p_source_79 IN VARCHAR2
136447 , p_source_79_meaning IN VARCHAR2
136448 --Invoice Supplier Identifier
136449 , p_source_80 IN NUMBER
136453 , p_source_82 IN VARCHAR2
136450 --Invoice Supplier Site Identifier
136451 , p_source_81 IN NUMBER
136452 --Third Party Type
136454 --Parent Reversal Identifier
136455 , p_source_83 IN NUMBER
136456 --Invoice Distribution Tax Line Identifier
136457 , p_source_85 IN NUMBER
136458 --Invoice Distribution Tax Distribution Identifier from Tax
136459 , p_source_86 IN NUMBER
136460 --Invoice Distribution Summary Tax Line Identifier
136461 , p_source_87 IN NUMBER
136462 --Payables Upgrade Credit Encumbrance Type Identifier
136463 , p_source_88 IN NUMBER
136464 --Payables Upgrade Debit Encumbrance Type Identifier
136465 , p_source_89 IN NUMBER
136466 --Business Flow Accounts Payable Application Identifier
136467 , p_source_90 IN NUMBER
136468 --Business Flow Invoice Distribution Type
136469 , p_source_91 IN VARCHAR2
136470 --Business Flow Invoice Entity Code
136471 , p_source_92 IN VARCHAR2
136472 --Business Flow Invoice Distribution Identifier
136473 , p_source_93 IN NUMBER
136474 --Business Flow Invoice Identifier
136475 , p_source_94 IN NUMBER
136476 --Accrue on Receipt Option
136477 , p_source_95 IN VARCHAR2
136478 , p_source_95_meaning IN VARCHAR2
136479 --Invoice Exchange Date
136480 , p_source_136 IN DATE
136481 --Invoice Exchange Rate
136482 , p_source_137 IN NUMBER
136483 --Invoice Exchange Rate Type
136484 , p_source_138 IN VARCHAR2
136485 )
136486 IS
136487
136488 l_component_type VARCHAR2(80);
136489 l_component_code VARCHAR2(30);
136490 l_component_type_code VARCHAR2(1);
136491 l_component_appl_id INTEGER;
136492 l_amb_context_code VARCHAR2(30);
136493 l_entity_code VARCHAR2(30);
136494 l_event_class_code VARCHAR2(30);
136495 l_ae_header_id NUMBER;
136496 l_event_type_code VARCHAR2(30);
136497 l_line_definition_code VARCHAR2(30);
136498 l_line_definition_owner_code VARCHAR2(1);
136499 --
136500 -- adr variables
136501 l_segment VARCHAR2(30);
136502 l_ccid NUMBER;
136503 l_adr_transaction_coa_id NUMBER;
136504 l_adr_accounting_coa_id NUMBER;
136505 l_adr_flexfield_segment_code VARCHAR2(30);
136506 l_adr_flex_value_set_id NUMBER;
136507 l_adr_value_type_code VARCHAR2(30);
136508 l_adr_value_combination_id NUMBER;
136509 l_adr_value_segment_code VARCHAR2(30);
136510
136511 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
136512 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
136513 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
136514 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
136515
136516 -- 4262811 Variables ------------------------------------------------------------------------------------------
136517 l_entered_amt_idx NUMBER;
136518 l_accted_amt_idx NUMBER;
136519 l_acc_rev_flag VARCHAR2(1);
136520 l_accrual_line_num NUMBER;
136521 l_tmp_amt NUMBER;
136522 l_acc_rev_natural_side_code VARCHAR2(1);
136523
136524 l_num_entries NUMBER;
136525 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
136526 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
136527 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
136528 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
136529 l_recog_line_1 NUMBER;
136530 l_recog_line_2 NUMBER;
136531
136532 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
136533 l_bflow_applied_to_amt NUMBER; -- 5132302
136534 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
136535
136536 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
136537
136538 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
136539 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
136540
136541 ---------------------------------------------------------------------------------------------------------------
136542
136543
136544 --
136545 -- bulk performance
136546 --
136547 l_balance_type_code VARCHAR2(1);
136548 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
136549 l_log_module VARCHAR2(240);
136550
136551 --
136552 -- Upgrade strategy
136553 --
136554 l_actual_upg_option VARCHAR2(1);
136555 l_enc_upg_option VARCHAR2(1);
136556
136557 --
136558 BEGIN
136559 --
136560 IF g_log_enabled THEN
136561 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_217';
136562 END IF;
136563 --
136564 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136565
136566 trace
136567 (p_msg => 'BEGIN of AcctLineType_217'
136568 ,p_level => C_LEVEL_PROCEDURE
136569 ,p_module => l_log_module);
136570
136571 END IF;
136572 --
136573 l_component_type := 'AMB_JLT';
136574 l_component_code := 'AP_TAX_RATE_VAR_DM';
136575 l_component_type_code := 'S';
136576 l_component_appl_id := 200;
136577 l_amb_context_code := 'DEFAULT';
136581 l_line_definition_owner_code := 'S';
136578 l_entity_code := 'AP_INVOICES';
136579 l_event_class_code := 'DEBIT MEMOS';
136580 l_event_type_code := 'DEBIT MEMOS_ALL';
136582 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
136583 --
136584 l_balance_type_code := 'A';
136585 l_segment := NULL;
136586 l_ccid := NULL;
136587 l_adr_transaction_coa_id := NULL;
136588 l_adr_accounting_coa_id := NULL;
136589 l_adr_flexfield_segment_code := NULL;
136590 l_adr_flex_value_set_id := NULL;
136591 l_adr_value_type_code := NULL;
136592 l_adr_value_combination_id := NULL;
136593 l_adr_value_segment_code := NULL;
136594
136595 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
136596 l_bflow_class_code := ''; -- 4219869 Business Flow
136597 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
136598 l_budgetary_control_flag := 'N';
136599
136600 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136601 l_bflow_applied_to_amt := NULL; -- 5132302
136602 l_entered_amt_idx := NULL; -- 4262811
136603 l_accted_amt_idx := NULL; -- 4262811
136604 l_acc_rev_flag := NULL; -- 4262811
136605 l_accrual_line_num := NULL; -- 4262811
136606 l_tmp_amt := NULL; -- 4262811
136607 --
136608
136609 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
136610 l_balance_type_code <> 'B' THEN
136611 IF NVL(p_source_33,'
136612 ') = 'TRV' AND
136613 NVL(p_source_95,'
136614 ') = 'Y'
136615 THEN
136616
136617 --
136618 XLA_AE_LINES_PKG.SetNewLine;
136619
136620 p_balance_type_code := l_balance_type_code;
136621 -- set the flag so later we will know whether the gain loss line needs to be created
136622
136623 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
136624 p_actual_flag :='A';
136625 END IF;
136626
136627 --
136628 -- bulk performance
136629 --
136630 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
136631 p_header_num => 0); -- 4262811
136632 --
136633 -- set accounting line options
136634 --
136635 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
136636 p_natural_side_code => 'D'
136637 , p_gain_or_loss_flag => 'N'
136638 , p_gl_transfer_mode_code => 'S'
136639 , p_acct_entry_type_code => 'A'
136640 , p_switch_side_flag => 'Y'
136641 , p_merge_duplicate_code => 'A'
136642 );
136643 --
136644 l_acc_rev_natural_side_code := 'C'; -- 4262811
136645 --
136646 --
136647 -- set accounting line type info
136648 --
136649 xla_ae_lines_pkg.SetAcctLineType
136650 (p_component_type => l_component_type
136651 ,p_event_type_code => l_event_type_code
136652 ,p_line_definition_owner_code => l_line_definition_owner_code
136653 ,p_line_definition_code => l_line_definition_code
136654 ,p_accounting_line_code => l_component_code
136655 ,p_accounting_line_type_code => l_component_type_code
136656 ,p_accounting_line_appl_id => l_component_appl_id
136657 ,p_amb_context_code => l_amb_context_code
136658 ,p_entity_code => l_entity_code
136659 ,p_event_class_code => l_event_class_code);
136660 --
136661 -- set accounting class
136662 --
136663 xla_ae_lines_pkg.SetAcctClass(
136664 p_accounting_class_code => 'TRV'
136665 , p_ae_header_id => l_ae_header_id
136666 );
136667
136668 --
136669 -- set rounding class
136670 --
136671 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
136672 'TRV';
136673
136674 --
136675 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
136676 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
136677 --
136678 -- bulk performance
136679 --
136680 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
136681
136682 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
136683 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
136684
136685 -- 4955764
136686 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136687 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
136688
136689 -- 4458381 Public Sector Enh
136690
136691 --
136692 -- set accounting attributes for the line type
136693 --
136694 l_entered_amt_idx := 23;
136695 l_accted_amt_idx := 28;
136696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136697 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
136698 l_rec_acct_attrs.array_char_value(1) := p_source_52;
136699 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
136700 l_rec_acct_attrs.array_num_value(2) :=
136701 xla_ae_sources_pkg.GetSystemSourceNum(
136702 p_source_code => 'XLA_EVENT_APPL_ID'
136706 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
136703 , p_source_type_code => 'Y'
136704 , p_source_application_id => 602
136705 );
136707 l_rec_acct_attrs.array_char_value(3) := p_source_54;
136708 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136709 l_rec_acct_attrs.array_char_value(4) :=
136710 xla_ae_sources_pkg.GetSystemSourceChar(
136711 p_source_code => 'XLA_ENTITY_CODE'
136712 , p_source_type_code => 'Y'
136713 , p_source_application_id => 602
136714 );
136715 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136716 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
136717 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136718 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
136719 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136720 l_rec_acct_attrs.array_num_value(7) := p_source_90;
136721 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136722 l_rec_acct_attrs.array_char_value(8) := p_source_91;
136723 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136724 l_rec_acct_attrs.array_char_value(9) := p_source_92;
136725 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136726 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
136727 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136728 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
136729 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136730 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
136731 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136732 l_rec_acct_attrs.array_char_value(13) := p_source_54;
136733 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136734 l_rec_acct_attrs.array_num_value(14) := p_source_64;
136735 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136736 l_rec_acct_attrs.array_num_value(15) := p_source_65;
136737 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136738 l_rec_acct_attrs.array_char_value(16) := p_source_66;
136739 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136740 l_rec_acct_attrs.array_num_value(17) := p_source_67;
136741 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136742 l_rec_acct_attrs.array_num_value(18) := p_source_68;
136743 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136744 l_rec_acct_attrs.array_num_value(19) := p_source_69;
136745 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136746 l_rec_acct_attrs.array_char_value(20) := p_source_66;
136747 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136748 l_rec_acct_attrs.array_num_value(21) := p_source_70;
136749 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136750 l_rec_acct_attrs.array_char_value(22) := p_source_71;
136751 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136752 l_rec_acct_attrs.array_num_value(23) := p_source_72;
136753 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136754 l_rec_acct_attrs.array_char_value(24) := p_source_66;
136755 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136756 l_rec_acct_attrs.array_date_value(25) := p_source_136;
136757 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136758 l_rec_acct_attrs.array_num_value(26) := p_source_137;
136759 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136760 l_rec_acct_attrs.array_char_value(27) := p_source_138;
136761 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136762 l_rec_acct_attrs.array_num_value(28) := p_source_21;
136763 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136764 l_rec_acct_attrs.array_date_value(29) := p_source_76;
136765 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136766 l_rec_acct_attrs.array_char_value(30) := p_source_77;
136767 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136768 l_rec_acct_attrs.array_date_value(31) := p_source_78;
136769 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136770 l_rec_acct_attrs.array_char_value(32) := p_source_79;
136771 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136772 l_rec_acct_attrs.array_num_value(33) := p_source_80;
136773 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136774 l_rec_acct_attrs.array_num_value(34) := p_source_81;
136775 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136776 l_rec_acct_attrs.array_char_value(35) := p_source_82;
136777 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136778 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
136779 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136780 l_rec_acct_attrs.array_char_value(37) := p_source_54;
136781 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
136782 l_rec_acct_attrs.array_num_value(38) := p_source_85;
136783 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
136784 l_rec_acct_attrs.array_num_value(39) := p_source_86;
136785 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
136786 l_rec_acct_attrs.array_num_value(40) := p_source_87;
136787 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
136788 l_rec_acct_attrs.array_num_value(41) := p_source_88;
136789 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
136790 l_rec_acct_attrs.array_num_value(42) := p_source_89;
136791
136795 ---------------------------------------------------------------------------------------------------------------
136792 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136793 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136794
136796 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136797 ---------------------------------------------------------------------------------------------------------------
136798 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136799
136800 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136801 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136802
136803 IF xla_accounting_cache_pkg.GetValueChar
136804 (p_source_code => 'LEDGER_CATEGORY_CODE'
136805 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136806 AND l_bflow_method_code = 'PRIOR_ENTRY'
136807 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136808 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136809 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136810 )
136811 THEN
136812 xla_ae_lines_pkg.BflowUpgEntry
136813 (p_business_method_code => l_bflow_method_code
136814 ,p_business_class_code => l_bflow_class_code
136815 ,p_balance_type => l_balance_type_code);
136816 ELSE
136817 NULL;
136818 -- No business flow processing for business flow method of NONE.
136819 END IF;
136820
136821 --
136822 -- call analytical criteria
136823 --
136824
136825 --
136826 -- call description
136827 --
136828
136829 xla_ae_lines_pkg.SetLineDescription(
136830 p_ae_header_id => l_ae_header_id
136831 ,p_description => Description_1 (
136832 p_application_id => p_application_id
136833 , p_ae_header_id => l_ae_header_id
136834 , p_source_1 => p_source_1
136835 )
136836 );
136837
136838
136839 --
136840 -- call ADRs
136841 -- Bug 4922099
136842 --
136843 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136844 (NVL(l_actual_upg_option, 'N') = 'O') OR
136845 (NVL(l_enc_upg_option, 'N') = 'O')
136846 )
136847 THEN
136848 NULL;
136849 --
136850 --
136851
136852 l_ccid := AcctDerRule_33(
136853 p_application_id => p_application_id
136854 , p_ae_header_id => l_ae_header_id
136855 , p_source_30 => p_source_30
136856 , x_transaction_coa_id => l_adr_transaction_coa_id
136857 , x_accounting_coa_id => l_adr_accounting_coa_id
136858 , x_value_type_code => l_adr_value_type_code
136859 , p_side => 'NA'
136860 );
136861
136862 xla_ae_lines_pkg.set_ccid(
136863 p_code_combination_id => l_ccid
136864 , p_value_type_code => l_adr_value_type_code
136865 , p_transaction_coa_id => l_adr_transaction_coa_id
136866 , p_accounting_coa_id => l_adr_accounting_coa_id
136867 , p_adr_code => 'AP_INVOICE_DIST'
136868 , p_adr_type_code => 'S'
136869 , p_component_type => l_component_type
136870 , p_component_code => l_component_code
136871 , p_component_type_code => l_component_type_code
136872 , p_component_appl_id => l_component_appl_id
136873 , p_amb_context_code => l_amb_context_code
136874 , p_side => 'NA'
136875 );
136876
136877
136878 --
136879 --
136880 END IF;
136881 --
136882 -- Bug 4922099
136883 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136884 (NVL(l_enc_upg_option, 'N') = 'O')
136885 ) AND
136886 (l_bflow_method_code = 'PRIOR_ENTRY')
136887 )
136888 THEN
136889 IF
136890 --
136891 1 = 2
136892 --
136893 THEN
136894 xla_accounting_err_pkg.build_message
136895 (p_appli_s_name => 'XLA'
136896 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136897 ,p_token_1 => 'LINE_NUMBER'
136898 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136899 ,p_token_2 => 'LINE_TYPE_NAME'
136900 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136901 l_component_type
136902 ,l_component_code
136903 ,l_component_type_code
136904 ,l_component_appl_id
136905 ,l_amb_context_code
136906 ,l_entity_code
136907 ,l_event_class_code
136908 )
136912 ,p_lookup_code => l_component_type_code
136909 ,p_token_3 => 'OWNER'
136910 ,p_value_3 => xla_lookups_pkg.get_meaning(
136911 p_lookup_type => 'XLA_OWNER_TYPE'
136913 )
136914 ,p_token_4 => 'PRODUCT_NAME'
136915 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136916 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136917 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136918 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136919 ,p_ae_header_id => NULL
136920 );
136921
136922 IF (C_LEVEL_ERROR>= g_log_level) THEN
136923 trace
136924 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136925 ,p_level => C_LEVEL_ERROR
136926 ,p_module => l_log_module);
136927 END IF;
136928 END IF;
136929 END IF;
136930 --
136931 --
136932 ------------------------------------------------------------------------------------------------
136933 -- 4219869 Business Flow
136934 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136935 -- Prior Entry. Currently, the following code is always generated.
136936 ------------------------------------------------------------------------------------------------
136937 XLA_AE_LINES_PKG.ValidateCurrentLine;
136938
136939 ------------------------------------------------------------------------------------
136940 -- 4219869 Business Flow
136941 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136942 ------------------------------------------------------------------------------------
136943 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136944
136945 ----------------------------------------------------------------------------------
136946 -- 4219869 Business Flow
136947 -- Update journal entry status -- Need to generate this within IF <condition>
136948 ----------------------------------------------------------------------------------
136949 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136950 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136951 ,p_balance_type_code => l_balance_type_code
136952 );
136953
136954 -------------------------------------------------------------------------------------------
136955 -- 4262811 - Generate the Accrual Reversal lines
136956 -------------------------------------------------------------------------------------------
136957 BEGIN
136958 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136959 (g_array_event(p_event_id).array_value_num('header_index'));
136960 IF l_acc_rev_flag IS NULL THEN
136961 l_acc_rev_flag := 'N';
136962 END IF;
136963 EXCEPTION
136964 WHEN OTHERS THEN
136965 l_acc_rev_flag := 'N';
136966 END;
136967 --
136968 IF (l_acc_rev_flag = 'Y') THEN
136969
136970 -- 4645092 ------------------------------------------------------------------------------
136971 -- To allow MPA report to determine if it should generate report process
136972 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136973 ------------------------------------------------------------------------------------------
136974
136975 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136976 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136977 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136978 -- call ADRs
136979 -- Bug 4922099
136980 --
136981 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136982 (NVL(l_actual_upg_option, 'N') = 'O') OR
136983 (NVL(l_enc_upg_option, 'N') = 'O')
136984 )
136985 THEN
136986 NULL;
136987 --
136988 --
136989
136990 l_ccid := AcctDerRule_33(
136991 p_application_id => p_application_id
136992 , p_ae_header_id => l_ae_header_id
136993 , p_source_30 => p_source_30
136994 , x_transaction_coa_id => l_adr_transaction_coa_id
136995 , x_accounting_coa_id => l_adr_accounting_coa_id
136996 , x_value_type_code => l_adr_value_type_code
136997 , p_side => 'NA'
136998 );
136999
137000 xla_ae_lines_pkg.set_ccid(
137001 p_code_combination_id => l_ccid
137002 , p_value_type_code => l_adr_value_type_code
137003 , p_transaction_coa_id => l_adr_transaction_coa_id
137004 , p_accounting_coa_id => l_adr_accounting_coa_id
137005 , p_adr_code => 'AP_INVOICE_DIST'
137006 , p_adr_type_code => 'S'
137007 , p_component_type => l_component_type
137008 , p_component_code => l_component_code
137009 , p_component_type_code => l_component_type_code
137010 , p_component_appl_id => l_component_appl_id
137011 , p_amb_context_code => l_amb_context_code
137015
137012 , p_side => 'NA'
137013 );
137014
137016 --
137017 --
137018 END IF;
137019
137020 --
137021 -- Update the line information that should be overwritten
137022 --
137023 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137024 p_header_num => 1);
137025 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137026
137027 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137028
137029 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137030 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137031 END IF;
137032
137033 --
137034 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137035 --
137036 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137037 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137038 ELSE
137039 ---------------------------------------------------------------------------------------------------
137040 -- 4262811a Switch Sign
137041 ---------------------------------------------------------------------------------------------------
137042 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137043 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137044 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137045 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137046 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137047 -- 5132302
137048 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137049 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137050
137051 END IF;
137052
137053 -- 4955764
137054 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137055 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137056
137057
137058 XLA_AE_LINES_PKG.ValidateCurrentLine;
137059 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137060
137061 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137062 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137063 ,p_balance_type_code => l_balance_type_code);
137064
137065 END IF;
137066
137067 -----------------------------------------------------------------------------------------
137068 -- 4262811 Multiperiod Accounting
137069 -----------------------------------------------------------------------------------------
137070 -- No MPA option is assigned.
137071
137072
137073 END IF;
137074 END IF;
137075 --
137076
137077 --
137078 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137079 trace
137080 (p_msg => 'END of AcctLineType_217'
137081 ,p_level => C_LEVEL_PROCEDURE
137082 ,p_module => l_log_module);
137083 END IF;
137084 --
137085 EXCEPTION
137086 WHEN xla_exceptions_pkg.application_exception THEN
137087 RAISE;
137088 WHEN OTHERS THEN
137089 xla_exceptions_pkg.raise_message
137090 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_217');
137091 END AcctLineType_217;
137092 --
137093
137094 ---------------------------------------
137095 --
137096 -- PRIVATE FUNCTION
137097 -- AcctLineType_218
137098 --
137099 ---------------------------------------
137100 PROCEDURE AcctLineType_218 (
137101 p_application_id IN NUMBER
137102 ,p_event_id IN NUMBER
137103 ,p_calculate_acctd_flag IN VARCHAR2
137104 ,p_calculate_g_l_flag IN VARCHAR2
137105 ,p_actual_flag IN OUT VARCHAR2
137106 ,p_balance_type_code OUT VARCHAR2
137107 ,p_gain_or_loss_ref OUT VARCHAR2
137108
137109 --Invoice Distribution Description
137110 , p_source_1 IN VARCHAR2
137111 --Invoice Distribution Ledger Amount
137112 , p_source_21 IN NUMBER
137113 --Invoice Distribution Account
137114 , p_source_30 IN NUMBER
137115 --Invoice Distribution Type
137116 , p_source_33 IN VARCHAR2
137117 , p_source_33_meaning IN VARCHAR2
137118 --Accounting Reversal Indicator
137119 , p_source_52 IN VARCHAR2
137120 --Distribution Link Type
137121 , p_source_54 IN VARCHAR2
137122 --Allocation to Main Distribution Identifier
137123 , p_source_56 IN NUMBER
137124 --Invoice Identifier
137125 , p_source_57 IN NUMBER
137126 --Invoice Distribution Identifier
137127 , p_source_63 IN NUMBER
137128 --Payables Encumbrance Upgrade Credit Account
137129 , p_source_64 IN NUMBER
137130 --Payables Encumbrance Upgrade Credit Amount
137131 , p_source_65 IN NUMBER
137132 --Invoice Currency Code
137133 , p_source_66 IN VARCHAR2
137134 --Payables Encumbrance Upgrade Credit Base Amount
137135 , p_source_67 IN NUMBER
137139 , p_source_69 IN NUMBER
137136 --Payables Encumbrance Upgrade Debit Account
137137 , p_source_68 IN NUMBER
137138 --Payables Encumbrance Upgrade Debit Amount
137140 --Payables Encumbrance Upgrade Debit Base Amount
137141 , p_source_70 IN NUMBER
137142 --Payables Encumbrance Upgrade Option
137143 , p_source_71 IN VARCHAR2
137144 --Invoice Distribution Amount
137145 , p_source_72 IN NUMBER
137146 --Deferred Accounting End Date
137147 , p_source_76 IN DATE
137148 --Deferred Accounting Option
137149 , p_source_77 IN VARCHAR2
137150 --Deferred Accounting Start Date
137151 , p_source_78 IN DATE
137152 --Override Accounted Amount Indicator
137153 , p_source_79 IN VARCHAR2
137154 , p_source_79_meaning IN VARCHAR2
137155 --Invoice Supplier Identifier
137156 , p_source_80 IN NUMBER
137157 --Invoice Supplier Site Identifier
137158 , p_source_81 IN NUMBER
137159 --Third Party Type
137160 , p_source_82 IN VARCHAR2
137161 --Parent Reversal Identifier
137162 , p_source_83 IN NUMBER
137163 --Invoice Distribution Statistical Amount
137164 , p_source_84 IN NUMBER
137165 --Invoice Distribution Tax Line Identifier
137166 , p_source_85 IN NUMBER
137167 --Invoice Distribution Tax Distribution Identifier from Tax
137168 , p_source_86 IN NUMBER
137169 --Invoice Distribution Summary Tax Line Identifier
137170 , p_source_87 IN NUMBER
137171 --Payables Upgrade Credit Encumbrance Type Identifier
137172 , p_source_88 IN NUMBER
137173 --Payables Upgrade Debit Encumbrance Type Identifier
137174 , p_source_89 IN NUMBER
137175 --Business Flow Accounts Payable Application Identifier
137176 , p_source_90 IN NUMBER
137177 --Business Flow Invoice Distribution Type
137178 , p_source_91 IN VARCHAR2
137179 --Business Flow Invoice Entity Code
137180 , p_source_92 IN VARCHAR2
137181 --Business Flow Invoice Distribution Identifier
137182 , p_source_93 IN NUMBER
137183 --Business Flow Invoice Identifier
137184 , p_source_94 IN NUMBER
137185 --Accrue on Receipt Option
137186 , p_source_95 IN VARCHAR2
137187 , p_source_95_meaning IN VARCHAR2
137188 --Invoice Exchange Date
137189 , p_source_136 IN DATE
137190 --Invoice Exchange Rate
137191 , p_source_137 IN NUMBER
137192 --Invoice Exchange Rate Type
137193 , p_source_138 IN VARCHAR2
137194 )
137195 IS
137196
137197 l_component_type VARCHAR2(80);
137198 l_component_code VARCHAR2(30);
137199 l_component_type_code VARCHAR2(1);
137200 l_component_appl_id INTEGER;
137201 l_amb_context_code VARCHAR2(30);
137202 l_entity_code VARCHAR2(30);
137203 l_event_class_code VARCHAR2(30);
137204 l_ae_header_id NUMBER;
137205 l_event_type_code VARCHAR2(30);
137206 l_line_definition_code VARCHAR2(30);
137207 l_line_definition_owner_code VARCHAR2(1);
137208 --
137209 -- adr variables
137210 l_segment VARCHAR2(30);
137211 l_ccid NUMBER;
137212 l_adr_transaction_coa_id NUMBER;
137213 l_adr_accounting_coa_id NUMBER;
137214 l_adr_flexfield_segment_code VARCHAR2(30);
137215 l_adr_flex_value_set_id NUMBER;
137216 l_adr_value_type_code VARCHAR2(30);
137217 l_adr_value_combination_id NUMBER;
137218 l_adr_value_segment_code VARCHAR2(30);
137219
137220 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137221 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137222 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137223 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137224
137225 -- 4262811 Variables ------------------------------------------------------------------------------------------
137226 l_entered_amt_idx NUMBER;
137227 l_accted_amt_idx NUMBER;
137228 l_acc_rev_flag VARCHAR2(1);
137229 l_accrual_line_num NUMBER;
137230 l_tmp_amt NUMBER;
137231 l_acc_rev_natural_side_code VARCHAR2(1);
137232
137233 l_num_entries NUMBER;
137234 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137235 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137236 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137237 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137238 l_recog_line_1 NUMBER;
137239 l_recog_line_2 NUMBER;
137240
137241 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137242 l_bflow_applied_to_amt NUMBER; -- 5132302
137243 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137244
137245 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137246
137247 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137248 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137249
137250 ---------------------------------------------------------------------------------------------------------------
137251
137252
137253 --
137254 -- bulk performance
137255 --
137256 l_balance_type_code VARCHAR2(1);
137260 --
137257 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137258 l_log_module VARCHAR2(240);
137259
137261 -- Upgrade strategy
137262 --
137263 l_actual_upg_option VARCHAR2(1);
137264 l_enc_upg_option VARCHAR2(1);
137265
137266 --
137267 BEGIN
137268 --
137269 IF g_log_enabled THEN
137270 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_218';
137271 END IF;
137272 --
137273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137274
137275 trace
137276 (p_msg => 'BEGIN of AcctLineType_218'
137277 ,p_level => C_LEVEL_PROCEDURE
137278 ,p_module => l_log_module);
137279
137280 END IF;
137281 --
137282 l_component_type := 'AMB_JLT';
137283 l_component_code := 'AP_TAX_RATE_VAR_INV';
137284 l_component_type_code := 'S';
137285 l_component_appl_id := 200;
137286 l_amb_context_code := 'DEFAULT';
137287 l_entity_code := 'AP_INVOICES';
137288 l_event_class_code := 'INVOICES';
137289 l_event_type_code := 'INVOICES_ALL';
137290 l_line_definition_owner_code := 'S';
137291 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
137292 --
137293 l_balance_type_code := 'A';
137294 l_segment := NULL;
137295 l_ccid := NULL;
137296 l_adr_transaction_coa_id := NULL;
137297 l_adr_accounting_coa_id := NULL;
137298 l_adr_flexfield_segment_code := NULL;
137299 l_adr_flex_value_set_id := NULL;
137300 l_adr_value_type_code := NULL;
137301 l_adr_value_combination_id := NULL;
137302 l_adr_value_segment_code := NULL;
137303
137304 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
137305 l_bflow_class_code := ''; -- 4219869 Business Flow
137306 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
137307 l_budgetary_control_flag := 'N';
137308
137309 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137310 l_bflow_applied_to_amt := NULL; -- 5132302
137311 l_entered_amt_idx := NULL; -- 4262811
137312 l_accted_amt_idx := NULL; -- 4262811
137313 l_acc_rev_flag := NULL; -- 4262811
137314 l_accrual_line_num := NULL; -- 4262811
137315 l_tmp_amt := NULL; -- 4262811
137316 --
137317
137318 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
137319 l_balance_type_code <> 'B' THEN
137320 IF NVL(p_source_33,'
137321 ') = 'TRV' AND
137322 NVL(p_source_95,'
137323 ') = 'Y'
137324 THEN
137325
137326 --
137327 XLA_AE_LINES_PKG.SetNewLine;
137328
137329 p_balance_type_code := l_balance_type_code;
137330 -- set the flag so later we will know whether the gain loss line needs to be created
137331
137332 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
137333 p_actual_flag :='A';
137334 END IF;
137335
137336 --
137337 -- bulk performance
137338 --
137339 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
137340 p_header_num => 0); -- 4262811
137341 --
137342 -- set accounting line options
137343 --
137344 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
137345 p_natural_side_code => 'D'
137346 , p_gain_or_loss_flag => 'N'
137347 , p_gl_transfer_mode_code => 'S'
137348 , p_acct_entry_type_code => 'A'
137349 , p_switch_side_flag => 'Y'
137350 , p_merge_duplicate_code => 'A'
137351 );
137352 --
137353 l_acc_rev_natural_side_code := 'C'; -- 4262811
137354 --
137355 --
137356 -- set accounting line type info
137357 --
137358 xla_ae_lines_pkg.SetAcctLineType
137359 (p_component_type => l_component_type
137360 ,p_event_type_code => l_event_type_code
137361 ,p_line_definition_owner_code => l_line_definition_owner_code
137362 ,p_line_definition_code => l_line_definition_code
137363 ,p_accounting_line_code => l_component_code
137364 ,p_accounting_line_type_code => l_component_type_code
137365 ,p_accounting_line_appl_id => l_component_appl_id
137366 ,p_amb_context_code => l_amb_context_code
137367 ,p_entity_code => l_entity_code
137368 ,p_event_class_code => l_event_class_code);
137369 --
137370 -- set accounting class
137371 --
137372 xla_ae_lines_pkg.SetAcctClass(
137373 p_accounting_class_code => 'TRV'
137374 , p_ae_header_id => l_ae_header_id
137375 );
137376
137377 --
137378 -- set rounding class
137379 --
137380 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
137381 'TRV';
137382
137383 --
137384 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
137385 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
137386 --
137387 -- bulk performance
137388 --
137389 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
137390
137391 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
137395 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137392 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
137393
137394 -- 4955764
137396 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
137397
137398 -- 4458381 Public Sector Enh
137399
137400 --
137401 -- set accounting attributes for the line type
137402 --
137403 l_entered_amt_idx := 24;
137404 l_accted_amt_idx := 29;
137405 l_bflow_applied_to_amt_idx := 7; -- 5132302
137406 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
137407 l_rec_acct_attrs.array_char_value(1) := p_source_52;
137408 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
137409 l_rec_acct_attrs.array_num_value(2) :=
137410 xla_ae_sources_pkg.GetSystemSourceNum(
137411 p_source_code => 'XLA_EVENT_APPL_ID'
137412 , p_source_type_code => 'Y'
137413 , p_source_application_id => 602
137414 );
137415 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
137416 l_rec_acct_attrs.array_char_value(3) := p_source_54;
137417 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
137418 l_rec_acct_attrs.array_char_value(4) :=
137419 xla_ae_sources_pkg.GetSystemSourceChar(
137420 p_source_code => 'XLA_ENTITY_CODE'
137421 , p_source_type_code => 'Y'
137422 , p_source_application_id => 602
137423 );
137424 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
137425 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
137426 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
137427 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
137428 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
137429 l_rec_acct_attrs.array_num_value(7) := p_source_72;
137430 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
137431 l_rec_acct_attrs.array_num_value(8) := p_source_90;
137432 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
137433 l_rec_acct_attrs.array_char_value(9) := p_source_91;
137434 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
137435 l_rec_acct_attrs.array_char_value(10) := p_source_92;
137436 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
137437 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
137438 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
137439 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
137440 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
137441 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
137442 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
137443 l_rec_acct_attrs.array_char_value(14) := p_source_54;
137444 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
137445 l_rec_acct_attrs.array_num_value(15) := p_source_64;
137446 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
137447 l_rec_acct_attrs.array_num_value(16) := p_source_65;
137448 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
137449 l_rec_acct_attrs.array_char_value(17) := p_source_66;
137450 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
137451 l_rec_acct_attrs.array_num_value(18) := p_source_67;
137452 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
137453 l_rec_acct_attrs.array_num_value(19) := p_source_68;
137454 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
137455 l_rec_acct_attrs.array_num_value(20) := p_source_69;
137456 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
137457 l_rec_acct_attrs.array_char_value(21) := p_source_66;
137458 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
137459 l_rec_acct_attrs.array_num_value(22) := p_source_70;
137460 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
137461 l_rec_acct_attrs.array_char_value(23) := p_source_71;
137462 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
137463 l_rec_acct_attrs.array_num_value(24) := p_source_72;
137464 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
137465 l_rec_acct_attrs.array_char_value(25) := p_source_66;
137466 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
137467 l_rec_acct_attrs.array_date_value(26) := p_source_136;
137468 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
137469 l_rec_acct_attrs.array_num_value(27) := p_source_137;
137470 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
137471 l_rec_acct_attrs.array_char_value(28) := p_source_138;
137472 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
137473 l_rec_acct_attrs.array_num_value(29) := p_source_21;
137474 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
137475 l_rec_acct_attrs.array_date_value(30) := p_source_76;
137476 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
137477 l_rec_acct_attrs.array_char_value(31) := p_source_77;
137478 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
137479 l_rec_acct_attrs.array_date_value(32) := p_source_78;
137480 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
137481 l_rec_acct_attrs.array_char_value(33) := p_source_79;
137482 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
137483 l_rec_acct_attrs.array_num_value(34) := p_source_80;
137484 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
137488 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
137485 l_rec_acct_attrs.array_num_value(35) := p_source_81;
137486 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
137487 l_rec_acct_attrs.array_char_value(36) := p_source_82;
137489 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
137490 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
137491 l_rec_acct_attrs.array_char_value(38) := p_source_54;
137492 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
137493 l_rec_acct_attrs.array_num_value(39) := p_source_84;
137494 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
137495 l_rec_acct_attrs.array_num_value(40) := p_source_85;
137496 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
137497 l_rec_acct_attrs.array_num_value(41) := p_source_86;
137498 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
137499 l_rec_acct_attrs.array_num_value(42) := p_source_87;
137500 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
137501 l_rec_acct_attrs.array_num_value(43) := p_source_88;
137502 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
137503 l_rec_acct_attrs.array_num_value(44) := p_source_89;
137504
137505 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
137506 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
137507
137508 ---------------------------------------------------------------------------------------------------------------
137509 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
137510 ---------------------------------------------------------------------------------------------------------------
137511 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
137512
137513 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137514 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137515
137516 IF xla_accounting_cache_pkg.GetValueChar
137517 (p_source_code => 'LEDGER_CATEGORY_CODE'
137518 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
137519 AND l_bflow_method_code = 'PRIOR_ENTRY'
137520 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
137521 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
137522 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
137523 )
137524 THEN
137525 xla_ae_lines_pkg.BflowUpgEntry
137526 (p_business_method_code => l_bflow_method_code
137527 ,p_business_class_code => l_bflow_class_code
137528 ,p_balance_type => l_balance_type_code);
137529 ELSE
137530 NULL;
137531 -- No business flow processing for business flow method of NONE.
137532 END IF;
137533
137534 --
137535 -- call analytical criteria
137536 --
137537
137538 --
137539 -- call description
137540 --
137541
137542 xla_ae_lines_pkg.SetLineDescription(
137543 p_ae_header_id => l_ae_header_id
137544 ,p_description => Description_1 (
137545 p_application_id => p_application_id
137546 , p_ae_header_id => l_ae_header_id
137547 , p_source_1 => p_source_1
137548 )
137549 );
137550
137551
137552 --
137553 -- call ADRs
137554 -- Bug 4922099
137555 --
137556 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137557 (NVL(l_actual_upg_option, 'N') = 'O') OR
137558 (NVL(l_enc_upg_option, 'N') = 'O')
137559 )
137560 THEN
137561 NULL;
137562 --
137563 --
137564
137565 l_ccid := AcctDerRule_33(
137566 p_application_id => p_application_id
137567 , p_ae_header_id => l_ae_header_id
137568 , p_source_30 => p_source_30
137569 , x_transaction_coa_id => l_adr_transaction_coa_id
137570 , x_accounting_coa_id => l_adr_accounting_coa_id
137571 , x_value_type_code => l_adr_value_type_code
137572 , p_side => 'NA'
137573 );
137574
137575 xla_ae_lines_pkg.set_ccid(
137576 p_code_combination_id => l_ccid
137577 , p_value_type_code => l_adr_value_type_code
137578 , p_transaction_coa_id => l_adr_transaction_coa_id
137579 , p_accounting_coa_id => l_adr_accounting_coa_id
137580 , p_adr_code => 'AP_INVOICE_DIST'
137581 , p_adr_type_code => 'S'
137582 , p_component_type => l_component_type
137583 , p_component_code => l_component_code
137584 , p_component_type_code => l_component_type_code
137585 , p_component_appl_id => l_component_appl_id
137586 , p_amb_context_code => l_amb_context_code
137587 , p_side => 'NA'
137588 );
137589
137590
137591 --
137592 --
137593 END IF;
137594 --
137595 -- Bug 4922099
137596 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
137597 (NVL(l_enc_upg_option, 'N') = 'O')
137598 ) AND
137599 (l_bflow_method_code = 'PRIOR_ENTRY')
137600 )
137601 THEN
137602 IF
137603 --
137604 1 = 2
137605 --
137606 THEN
137607 xla_accounting_err_pkg.build_message
137608 (p_appli_s_name => 'XLA'
137612 ,p_token_2 => 'LINE_TYPE_NAME'
137609 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137610 ,p_token_1 => 'LINE_NUMBER'
137611 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
137613 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
137614 l_component_type
137615 ,l_component_code
137616 ,l_component_type_code
137617 ,l_component_appl_id
137618 ,l_amb_context_code
137619 ,l_entity_code
137620 ,l_event_class_code
137621 )
137622 ,p_token_3 => 'OWNER'
137623 ,p_value_3 => xla_lookups_pkg.get_meaning(
137624 p_lookup_type => 'XLA_OWNER_TYPE'
137625 ,p_lookup_code => l_component_type_code
137626 )
137627 ,p_token_4 => 'PRODUCT_NAME'
137628 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
137629 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
137630 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
137631 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
137632 ,p_ae_header_id => NULL
137633 );
137634
137635 IF (C_LEVEL_ERROR>= g_log_level) THEN
137636 trace
137637 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137638 ,p_level => C_LEVEL_ERROR
137639 ,p_module => l_log_module);
137640 END IF;
137641 END IF;
137642 END IF;
137643 --
137644 --
137645 ------------------------------------------------------------------------------------------------
137646 -- 4219869 Business Flow
137647 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
137648 -- Prior Entry. Currently, the following code is always generated.
137649 ------------------------------------------------------------------------------------------------
137650 XLA_AE_LINES_PKG.ValidateCurrentLine;
137651
137652 ------------------------------------------------------------------------------------
137653 -- 4219869 Business Flow
137654 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
137655 ------------------------------------------------------------------------------------
137656 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137657
137658 ----------------------------------------------------------------------------------
137659 -- 4219869 Business Flow
137660 -- Update journal entry status -- Need to generate this within IF <condition>
137661 ----------------------------------------------------------------------------------
137662 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137663 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
137664 ,p_balance_type_code => l_balance_type_code
137665 );
137666
137667 -------------------------------------------------------------------------------------------
137668 -- 4262811 - Generate the Accrual Reversal lines
137669 -------------------------------------------------------------------------------------------
137670 BEGIN
137671 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
137672 (g_array_event(p_event_id).array_value_num('header_index'));
137673 IF l_acc_rev_flag IS NULL THEN
137674 l_acc_rev_flag := 'N';
137675 END IF;
137676 EXCEPTION
137677 WHEN OTHERS THEN
137678 l_acc_rev_flag := 'N';
137679 END;
137680 --
137681 IF (l_acc_rev_flag = 'Y') THEN
137682
137683 -- 4645092 ------------------------------------------------------------------------------
137684 -- To allow MPA report to determine if it should generate report process
137685 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
137686 ------------------------------------------------------------------------------------------
137687
137688 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
137689 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
137690 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
137691 -- call ADRs
137692 -- Bug 4922099
137693 --
137694 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137695 (NVL(l_actual_upg_option, 'N') = 'O') OR
137699 NULL;
137696 (NVL(l_enc_upg_option, 'N') = 'O')
137697 )
137698 THEN
137700 --
137701 --
137702
137703 l_ccid := AcctDerRule_33(
137704 p_application_id => p_application_id
137705 , p_ae_header_id => l_ae_header_id
137706 , p_source_30 => p_source_30
137707 , x_transaction_coa_id => l_adr_transaction_coa_id
137708 , x_accounting_coa_id => l_adr_accounting_coa_id
137709 , x_value_type_code => l_adr_value_type_code
137710 , p_side => 'NA'
137711 );
137712
137713 xla_ae_lines_pkg.set_ccid(
137714 p_code_combination_id => l_ccid
137715 , p_value_type_code => l_adr_value_type_code
137716 , p_transaction_coa_id => l_adr_transaction_coa_id
137717 , p_accounting_coa_id => l_adr_accounting_coa_id
137718 , p_adr_code => 'AP_INVOICE_DIST'
137719 , p_adr_type_code => 'S'
137720 , p_component_type => l_component_type
137721 , p_component_code => l_component_code
137722 , p_component_type_code => l_component_type_code
137723 , p_component_appl_id => l_component_appl_id
137724 , p_amb_context_code => l_amb_context_code
137725 , p_side => 'NA'
137726 );
137727
137728
137729 --
137730 --
137731 END IF;
137732
137733 --
137734 -- Update the line information that should be overwritten
137735 --
137736 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137737 p_header_num => 1);
137738 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137739
137740 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137741
137742 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137743 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137744 END IF;
137745
137746 --
137747 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137748 --
137749 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137750 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137751 ELSE
137752 ---------------------------------------------------------------------------------------------------
137753 -- 4262811a Switch Sign
137754 ---------------------------------------------------------------------------------------------------
137755 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137756 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137757 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137758 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137759 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137760 -- 5132302
137761 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137762 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137763
137764 END IF;
137765
137766 -- 4955764
137767 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137768 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137769
137770
137771 XLA_AE_LINES_PKG.ValidateCurrentLine;
137772 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137773
137774 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137775 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137776 ,p_balance_type_code => l_balance_type_code);
137777
137778 END IF;
137779
137780 -----------------------------------------------------------------------------------------
137781 -- 4262811 Multiperiod Accounting
137782 -----------------------------------------------------------------------------------------
137783 -- No MPA option is assigned.
137784
137785
137786 END IF;
137787 END IF;
137788 --
137789
137790 --
137791 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137792 trace
137793 (p_msg => 'END of AcctLineType_218'
137794 ,p_level => C_LEVEL_PROCEDURE
137795 ,p_module => l_log_module);
137796 END IF;
137797 --
137798 EXCEPTION
137799 WHEN xla_exceptions_pkg.application_exception THEN
137800 RAISE;
137801 WHEN OTHERS THEN
137802 xla_exceptions_pkg.raise_message
137803 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_218');
137804 END AcctLineType_218;
137805 --
137806
137807 ---------------------------------------
137808 --
137809 -- PRIVATE FUNCTION
137810 -- AcctLineType_219
137811 --
137812 ---------------------------------------
137813 PROCEDURE AcctLineType_219 (
137814 p_application_id IN NUMBER
137815 ,p_event_id IN NUMBER
137816 ,p_calculate_acctd_flag IN VARCHAR2
137817 ,p_calculate_g_l_flag IN VARCHAR2
137821
137818 ,p_actual_flag IN OUT VARCHAR2
137819 ,p_balance_type_code OUT VARCHAR2
137820 ,p_gain_or_loss_ref OUT VARCHAR2
137822 --Invoice Distribution Description
137823 , p_source_1 IN VARCHAR2
137824 --Invoice Distribution Ledger Amount
137825 , p_source_21 IN NUMBER
137826 --Invoice Distribution Account
137827 , p_source_30 IN NUMBER
137828 --Invoice Distribution Type
137829 , p_source_33 IN VARCHAR2
137830 , p_source_33_meaning IN VARCHAR2
137831 --Accounting Reversal Indicator
137832 , p_source_52 IN VARCHAR2
137833 --Distribution Link Type
137834 , p_source_54 IN VARCHAR2
137835 --Allocation to Main Distribution Identifier
137836 , p_source_56 IN NUMBER
137837 --Invoice Identifier
137838 , p_source_57 IN NUMBER
137839 --Invoice Distribution Identifier
137840 , p_source_63 IN NUMBER
137841 --Payables Encumbrance Upgrade Credit Account
137842 , p_source_64 IN NUMBER
137843 --Payables Encumbrance Upgrade Credit Amount
137844 , p_source_65 IN NUMBER
137845 --Invoice Currency Code
137846 , p_source_66 IN VARCHAR2
137847 --Payables Encumbrance Upgrade Credit Base Amount
137848 , p_source_67 IN NUMBER
137849 --Payables Encumbrance Upgrade Debit Account
137850 , p_source_68 IN NUMBER
137851 --Payables Encumbrance Upgrade Debit Amount
137852 , p_source_69 IN NUMBER
137853 --Payables Encumbrance Upgrade Debit Base Amount
137854 , p_source_70 IN NUMBER
137855 --Payables Encumbrance Upgrade Option
137856 , p_source_71 IN VARCHAR2
137857 --Invoice Distribution Amount
137858 , p_source_72 IN NUMBER
137859 --Deferred Accounting End Date
137860 , p_source_76 IN DATE
137861 --Deferred Accounting Option
137862 , p_source_77 IN VARCHAR2
137863 --Deferred Accounting Start Date
137864 , p_source_78 IN DATE
137865 --Override Accounted Amount Indicator
137866 , p_source_79 IN VARCHAR2
137867 , p_source_79_meaning IN VARCHAR2
137868 --Invoice Supplier Identifier
137869 , p_source_80 IN NUMBER
137870 --Invoice Supplier Site Identifier
137871 , p_source_81 IN NUMBER
137872 --Third Party Type
137873 , p_source_82 IN VARCHAR2
137874 --Parent Reversal Identifier
137875 , p_source_83 IN NUMBER
137876 --Invoice Distribution Statistical Amount
137877 , p_source_84 IN NUMBER
137878 --Invoice Distribution Tax Line Identifier
137879 , p_source_85 IN NUMBER
137880 --Invoice Distribution Tax Distribution Identifier from Tax
137881 , p_source_86 IN NUMBER
137882 --Invoice Distribution Summary Tax Line Identifier
137883 , p_source_87 IN NUMBER
137884 --Payables Upgrade Credit Encumbrance Type Identifier
137885 , p_source_88 IN NUMBER
137886 --Payables Upgrade Debit Encumbrance Type Identifier
137887 , p_source_89 IN NUMBER
137888 --Business Flow Accounts Payable Application Identifier
137889 , p_source_90 IN NUMBER
137890 --Business Flow Invoice Distribution Type
137891 , p_source_91 IN VARCHAR2
137892 --Business Flow Invoice Entity Code
137893 , p_source_92 IN VARCHAR2
137894 --Business Flow Invoice Distribution Identifier
137895 , p_source_93 IN NUMBER
137896 --Business Flow Invoice Identifier
137897 , p_source_94 IN NUMBER
137898 --Accrue on Receipt Option
137899 , p_source_95 IN VARCHAR2
137900 , p_source_95_meaning IN VARCHAR2
137901 --Invoice Exchange Date
137902 , p_source_136 IN DATE
137903 --Invoice Exchange Rate
137904 , p_source_137 IN NUMBER
137905 --Invoice Exchange Rate Type
137906 , p_source_138 IN VARCHAR2
137907 )
137908 IS
137909
137910 l_component_type VARCHAR2(80);
137911 l_component_code VARCHAR2(30);
137912 l_component_type_code VARCHAR2(1);
137913 l_component_appl_id INTEGER;
137914 l_amb_context_code VARCHAR2(30);
137915 l_entity_code VARCHAR2(30);
137916 l_event_class_code VARCHAR2(30);
137917 l_ae_header_id NUMBER;
137918 l_event_type_code VARCHAR2(30);
137919 l_line_definition_code VARCHAR2(30);
137920 l_line_definition_owner_code VARCHAR2(1);
137921 --
137922 -- adr variables
137923 l_segment VARCHAR2(30);
137924 l_ccid NUMBER;
137925 l_adr_transaction_coa_id NUMBER;
137926 l_adr_accounting_coa_id NUMBER;
137927 l_adr_flexfield_segment_code VARCHAR2(30);
137928 l_adr_flex_value_set_id NUMBER;
137929 l_adr_value_type_code VARCHAR2(30);
137930 l_adr_value_combination_id NUMBER;
137931 l_adr_value_segment_code VARCHAR2(30);
137932
137933 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137934 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137935 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137936 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137937
137938 -- 4262811 Variables ------------------------------------------------------------------------------------------
137939 l_entered_amt_idx NUMBER;
137940 l_accted_amt_idx NUMBER;
137941 l_acc_rev_flag VARCHAR2(1);
137942 l_accrual_line_num NUMBER;
137943 l_tmp_amt NUMBER;
137947 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137944 l_acc_rev_natural_side_code VARCHAR2(1);
137945
137946 l_num_entries NUMBER;
137948 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137949 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137950 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137951 l_recog_line_1 NUMBER;
137952 l_recog_line_2 NUMBER;
137953
137954 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137955 l_bflow_applied_to_amt NUMBER; -- 5132302
137956 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137957
137958 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137959
137960 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137961 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137962
137963 ---------------------------------------------------------------------------------------------------------------
137964
137965
137966 --
137967 -- bulk performance
137968 --
137969 l_balance_type_code VARCHAR2(1);
137970 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137971 l_log_module VARCHAR2(240);
137972
137973 --
137974 -- Upgrade strategy
137975 --
137976 l_actual_upg_option VARCHAR2(1);
137977 l_enc_upg_option VARCHAR2(1);
137978
137979 --
137980 BEGIN
137981 --
137982 IF g_log_enabled THEN
137983 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_219';
137984 END IF;
137985 --
137986 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137987
137988 trace
137989 (p_msg => 'BEGIN of AcctLineType_219'
137990 ,p_level => C_LEVEL_PROCEDURE
137991 ,p_module => l_log_module);
137992
137993 END IF;
137994 --
137995 l_component_type := 'AMB_JLT';
137996 l_component_code := 'AP_TAX_RATE_VAR_PREPAY';
137997 l_component_type_code := 'S';
137998 l_component_appl_id := 200;
137999 l_amb_context_code := 'DEFAULT';
138000 l_entity_code := 'AP_INVOICES';
138001 l_event_class_code := 'PREPAYMENTS';
138002 l_event_type_code := 'PREPAYMENTS_ALL';
138003 l_line_definition_owner_code := 'S';
138004 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
138005 --
138006 l_balance_type_code := 'A';
138007 l_segment := NULL;
138008 l_ccid := NULL;
138009 l_adr_transaction_coa_id := NULL;
138010 l_adr_accounting_coa_id := NULL;
138011 l_adr_flexfield_segment_code := NULL;
138012 l_adr_flex_value_set_id := NULL;
138013 l_adr_value_type_code := NULL;
138014 l_adr_value_combination_id := NULL;
138015 l_adr_value_segment_code := NULL;
138016
138017 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138018 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
138019 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138020 l_budgetary_control_flag := 'N';
138021
138022 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138023 l_bflow_applied_to_amt := NULL; -- 5132302
138024 l_entered_amt_idx := NULL; -- 4262811
138025 l_accted_amt_idx := NULL; -- 4262811
138026 l_acc_rev_flag := NULL; -- 4262811
138027 l_accrual_line_num := NULL; -- 4262811
138028 l_tmp_amt := NULL; -- 4262811
138029 --
138030
138031 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138032 l_balance_type_code <> 'B' THEN
138033 IF NVL(p_source_33,'
138034 ') = 'TRV' AND
138035 NVL(p_source_95,'
138036 ') = 'Y'
138037 THEN
138038
138039 --
138040 XLA_AE_LINES_PKG.SetNewLine;
138041
138042 p_balance_type_code := l_balance_type_code;
138043 -- set the flag so later we will know whether the gain loss line needs to be created
138044
138045 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138046 p_actual_flag :='A';
138047 END IF;
138048
138049 --
138050 -- bulk performance
138051 --
138052 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138053 p_header_num => 0); -- 4262811
138054 --
138055 -- set accounting line options
138056 --
138057 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138058 p_natural_side_code => 'D'
138059 , p_gain_or_loss_flag => 'N'
138060 , p_gl_transfer_mode_code => 'S'
138061 , p_acct_entry_type_code => 'A'
138062 , p_switch_side_flag => 'Y'
138063 , p_merge_duplicate_code => 'A'
138064 );
138065 --
138066 l_acc_rev_natural_side_code := 'C'; -- 4262811
138067 --
138068 --
138069 -- set accounting line type info
138070 --
138071 xla_ae_lines_pkg.SetAcctLineType
138072 (p_component_type => l_component_type
138073 ,p_event_type_code => l_event_type_code
138074 ,p_line_definition_owner_code => l_line_definition_owner_code
138075 ,p_line_definition_code => l_line_definition_code
138076 ,p_accounting_line_code => l_component_code
138080 ,p_entity_code => l_entity_code
138077 ,p_accounting_line_type_code => l_component_type_code
138078 ,p_accounting_line_appl_id => l_component_appl_id
138079 ,p_amb_context_code => l_amb_context_code
138081 ,p_event_class_code => l_event_class_code);
138082 --
138083 -- set accounting class
138084 --
138085 xla_ae_lines_pkg.SetAcctClass(
138086 p_accounting_class_code => 'TRV'
138087 , p_ae_header_id => l_ae_header_id
138088 );
138089
138090 --
138091 -- set rounding class
138092 --
138093 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138094 'TRV';
138095
138096 --
138097 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138098 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138099 --
138100 -- bulk performance
138101 --
138102 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138103
138104 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138105 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138106
138107 -- 4955764
138108 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138109 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138110
138111 -- 4458381 Public Sector Enh
138112
138113 --
138114 -- set accounting attributes for the line type
138115 --
138116 l_entered_amt_idx := 23;
138117 l_accted_amt_idx := 28;
138118 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138119 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138120 l_rec_acct_attrs.array_char_value(1) := p_source_52;
138121 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
138122 l_rec_acct_attrs.array_num_value(2) :=
138123 xla_ae_sources_pkg.GetSystemSourceNum(
138124 p_source_code => 'XLA_EVENT_APPL_ID'
138125 , p_source_type_code => 'Y'
138126 , p_source_application_id => 602
138127 );
138128 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
138129 l_rec_acct_attrs.array_char_value(3) := p_source_54;
138130 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
138131 l_rec_acct_attrs.array_char_value(4) :=
138132 xla_ae_sources_pkg.GetSystemSourceChar(
138133 p_source_code => 'XLA_ENTITY_CODE'
138134 , p_source_type_code => 'Y'
138135 , p_source_application_id => 602
138136 );
138137 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
138138 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
138139 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
138140 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
138141 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
138142 l_rec_acct_attrs.array_num_value(7) := p_source_90;
138143 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138144 l_rec_acct_attrs.array_char_value(8) := p_source_91;
138145 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
138146 l_rec_acct_attrs.array_char_value(9) := p_source_92;
138147 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
138148 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
138149 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138150 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
138151 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
138152 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
138153 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
138154 l_rec_acct_attrs.array_char_value(13) := p_source_54;
138155 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
138156 l_rec_acct_attrs.array_num_value(14) := p_source_64;
138157 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
138158 l_rec_acct_attrs.array_num_value(15) := p_source_65;
138159 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
138160 l_rec_acct_attrs.array_char_value(16) := p_source_66;
138161 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
138162 l_rec_acct_attrs.array_num_value(17) := p_source_67;
138163 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
138164 l_rec_acct_attrs.array_num_value(18) := p_source_68;
138165 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
138166 l_rec_acct_attrs.array_num_value(19) := p_source_69;
138167 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
138168 l_rec_acct_attrs.array_char_value(20) := p_source_66;
138169 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
138170 l_rec_acct_attrs.array_num_value(21) := p_source_70;
138171 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
138172 l_rec_acct_attrs.array_char_value(22) := p_source_71;
138173 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
138174 l_rec_acct_attrs.array_num_value(23) := p_source_72;
138175 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
138176 l_rec_acct_attrs.array_char_value(24) := p_source_66;
138177 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
138178 l_rec_acct_attrs.array_date_value(25) := p_source_136;
138182 l_rec_acct_attrs.array_char_value(27) := p_source_138;
138179 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
138180 l_rec_acct_attrs.array_num_value(26) := p_source_137;
138181 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
138183 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
138184 l_rec_acct_attrs.array_num_value(28) := p_source_21;
138185 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
138186 l_rec_acct_attrs.array_date_value(29) := p_source_76;
138187 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
138188 l_rec_acct_attrs.array_char_value(30) := p_source_77;
138189 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
138190 l_rec_acct_attrs.array_date_value(31) := p_source_78;
138191 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
138192 l_rec_acct_attrs.array_char_value(32) := p_source_79;
138193 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
138194 l_rec_acct_attrs.array_num_value(33) := p_source_80;
138195 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
138196 l_rec_acct_attrs.array_num_value(34) := p_source_81;
138197 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
138198 l_rec_acct_attrs.array_char_value(35) := p_source_82;
138199 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
138200 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
138201 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
138202 l_rec_acct_attrs.array_char_value(37) := p_source_54;
138203 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
138204 l_rec_acct_attrs.array_num_value(38) := p_source_84;
138205 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
138206 l_rec_acct_attrs.array_num_value(39) := p_source_85;
138207 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
138208 l_rec_acct_attrs.array_num_value(40) := p_source_86;
138209 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
138210 l_rec_acct_attrs.array_num_value(41) := p_source_87;
138211 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
138212 l_rec_acct_attrs.array_num_value(42) := p_source_88;
138213 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
138214 l_rec_acct_attrs.array_num_value(43) := p_source_89;
138215
138216 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138217 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138218
138219 ---------------------------------------------------------------------------------------------------------------
138220 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138221 ---------------------------------------------------------------------------------------------------------------
138222 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138223
138224 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138225 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138226
138227 IF xla_accounting_cache_pkg.GetValueChar
138228 (p_source_code => 'LEDGER_CATEGORY_CODE'
138229 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138230 AND l_bflow_method_code = 'PRIOR_ENTRY'
138231 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138232 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138233 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138234 )
138235 THEN
138236 xla_ae_lines_pkg.BflowUpgEntry
138237 (p_business_method_code => l_bflow_method_code
138238 ,p_business_class_code => l_bflow_class_code
138239 ,p_balance_type => l_balance_type_code);
138240 ELSE
138241 NULL;
138242 -- No business flow processing for business flow method of NONE.
138243 END IF;
138244
138245 --
138246 -- call analytical criteria
138247 --
138248
138249 --
138250 -- call description
138251 --
138252
138253 xla_ae_lines_pkg.SetLineDescription(
138254 p_ae_header_id => l_ae_header_id
138255 ,p_description => Description_1 (
138256 p_application_id => p_application_id
138257 , p_ae_header_id => l_ae_header_id
138258 , p_source_1 => p_source_1
138259 )
138260 );
138261
138262
138263 --
138264 -- call ADRs
138265 -- Bug 4922099
138266 --
138267 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138268 (NVL(l_actual_upg_option, 'N') = 'O') OR
138269 (NVL(l_enc_upg_option, 'N') = 'O')
138270 )
138271 THEN
138272 NULL;
138273 --
138274 --
138275
138276 l_ccid := AcctDerRule_33(
138277 p_application_id => p_application_id
138278 , p_ae_header_id => l_ae_header_id
138279 , p_source_30 => p_source_30
138280 , x_transaction_coa_id => l_adr_transaction_coa_id
138281 , x_accounting_coa_id => l_adr_accounting_coa_id
138282 , x_value_type_code => l_adr_value_type_code
138283 , p_side => 'NA'
138284 );
138285
138286 xla_ae_lines_pkg.set_ccid(
138287 p_code_combination_id => l_ccid
138288 , p_value_type_code => l_adr_value_type_code
138292 , p_adr_type_code => 'S'
138289 , p_transaction_coa_id => l_adr_transaction_coa_id
138290 , p_accounting_coa_id => l_adr_accounting_coa_id
138291 , p_adr_code => 'AP_INVOICE_DIST'
138293 , p_component_type => l_component_type
138294 , p_component_code => l_component_code
138295 , p_component_type_code => l_component_type_code
138296 , p_component_appl_id => l_component_appl_id
138297 , p_amb_context_code => l_amb_context_code
138298 , p_side => 'NA'
138299 );
138300
138301
138302 --
138303 --
138304 END IF;
138305 --
138306 -- Bug 4922099
138307 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
138308 (NVL(l_enc_upg_option, 'N') = 'O')
138309 ) AND
138310 (l_bflow_method_code = 'PRIOR_ENTRY')
138311 )
138312 THEN
138313 IF
138314 --
138315 1 = 2
138316 --
138317 THEN
138318 xla_accounting_err_pkg.build_message
138319 (p_appli_s_name => 'XLA'
138320 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138321 ,p_token_1 => 'LINE_NUMBER'
138322 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
138323 ,p_token_2 => 'LINE_TYPE_NAME'
138324 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
138325 l_component_type
138326 ,l_component_code
138327 ,l_component_type_code
138328 ,l_component_appl_id
138329 ,l_amb_context_code
138330 ,l_entity_code
138331 ,l_event_class_code
138332 )
138333 ,p_token_3 => 'OWNER'
138334 ,p_value_3 => xla_lookups_pkg.get_meaning(
138335 p_lookup_type => 'XLA_OWNER_TYPE'
138336 ,p_lookup_code => l_component_type_code
138337 )
138338 ,p_token_4 => 'PRODUCT_NAME'
138339 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
138340 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
138341 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
138342 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
138343 ,p_ae_header_id => NULL
138344 );
138345
138346 IF (C_LEVEL_ERROR>= g_log_level) THEN
138347 trace
138348 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138349 ,p_level => C_LEVEL_ERROR
138350 ,p_module => l_log_module);
138351 END IF;
138352 END IF;
138353 END IF;
138354 --
138355 --
138356 ------------------------------------------------------------------------------------------------
138357 -- 4219869 Business Flow
138358 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
138359 -- Prior Entry. Currently, the following code is always generated.
138360 ------------------------------------------------------------------------------------------------
138361 XLA_AE_LINES_PKG.ValidateCurrentLine;
138362
138363 ------------------------------------------------------------------------------------
138364 -- 4219869 Business Flow
138365 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
138366 ------------------------------------------------------------------------------------
138367 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138368
138369 ----------------------------------------------------------------------------------
138370 -- 4219869 Business Flow
138371 -- Update journal entry status -- Need to generate this within IF <condition>
138372 ----------------------------------------------------------------------------------
138373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
138375 ,p_balance_type_code => l_balance_type_code
138376 );
138377
138378 -------------------------------------------------------------------------------------------
138379 -- 4262811 - Generate the Accrual Reversal lines
138380 -------------------------------------------------------------------------------------------
138381 BEGIN
138385 l_acc_rev_flag := 'N';
138382 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
138383 (g_array_event(p_event_id).array_value_num('header_index'));
138384 IF l_acc_rev_flag IS NULL THEN
138386 END IF;
138387 EXCEPTION
138388 WHEN OTHERS THEN
138389 l_acc_rev_flag := 'N';
138390 END;
138391 --
138392 IF (l_acc_rev_flag = 'Y') THEN
138393
138394 -- 4645092 ------------------------------------------------------------------------------
138395 -- To allow MPA report to determine if it should generate report process
138396 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
138397 ------------------------------------------------------------------------------------------
138398
138399 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
138400 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
138401 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
138402 -- call ADRs
138403 -- Bug 4922099
138404 --
138405 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138406 (NVL(l_actual_upg_option, 'N') = 'O') OR
138407 (NVL(l_enc_upg_option, 'N') = 'O')
138408 )
138409 THEN
138410 NULL;
138411 --
138412 --
138413
138414 l_ccid := AcctDerRule_33(
138415 p_application_id => p_application_id
138416 , p_ae_header_id => l_ae_header_id
138417 , p_source_30 => p_source_30
138418 , x_transaction_coa_id => l_adr_transaction_coa_id
138419 , x_accounting_coa_id => l_adr_accounting_coa_id
138420 , x_value_type_code => l_adr_value_type_code
138421 , p_side => 'NA'
138422 );
138423
138424 xla_ae_lines_pkg.set_ccid(
138425 p_code_combination_id => l_ccid
138426 , p_value_type_code => l_adr_value_type_code
138427 , p_transaction_coa_id => l_adr_transaction_coa_id
138428 , p_accounting_coa_id => l_adr_accounting_coa_id
138429 , p_adr_code => 'AP_INVOICE_DIST'
138430 , p_adr_type_code => 'S'
138431 , p_component_type => l_component_type
138432 , p_component_code => l_component_code
138433 , p_component_type_code => l_component_type_code
138434 , p_component_appl_id => l_component_appl_id
138435 , p_amb_context_code => l_amb_context_code
138436 , p_side => 'NA'
138437 );
138438
138439
138440 --
138441 --
138442 END IF;
138443
138444 --
138445 -- Update the line information that should be overwritten
138446 --
138447 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
138448 p_header_num => 1);
138449 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
138450
138451 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
138452
138453 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
138454 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
138455 END IF;
138456
138457 --
138458 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
138459 --
138460 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
138461 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
138462 ELSE
138463 ---------------------------------------------------------------------------------------------------
138464 -- 4262811a Switch Sign
138465 ---------------------------------------------------------------------------------------------------
138466 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
138467 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138468 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138469 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138470 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138471 -- 5132302
138472 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
138473 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138474
138475 END IF;
138476
138477 -- 4955764
138478 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138479 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
138480
138481
138482 XLA_AE_LINES_PKG.ValidateCurrentLine;
138483 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138484
138485 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138486 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
138487 ,p_balance_type_code => l_balance_type_code);
138488
138489 END IF;
138490
138491 -----------------------------------------------------------------------------------------
138492 -- 4262811 Multiperiod Accounting
138496
138493 -----------------------------------------------------------------------------------------
138494 -- No MPA option is assigned.
138495
138497 END IF;
138498 END IF;
138499 --
138500
138501 --
138502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138503 trace
138504 (p_msg => 'END of AcctLineType_219'
138505 ,p_level => C_LEVEL_PROCEDURE
138506 ,p_module => l_log_module);
138507 END IF;
138508 --
138509 EXCEPTION
138510 WHEN xla_exceptions_pkg.application_exception THEN
138511 RAISE;
138512 WHEN OTHERS THEN
138513 xla_exceptions_pkg.raise_message
138514 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_219');
138515 END AcctLineType_219;
138516 --
138517
138518 ---------------------------------------
138519 --
138520 -- PRIVATE FUNCTION
138521 -- AcctLineType_220
138522 --
138523 ---------------------------------------
138524 PROCEDURE AcctLineType_220 (
138525 p_application_id IN NUMBER
138526 ,p_event_id IN NUMBER
138527 ,p_calculate_acctd_flag IN VARCHAR2
138528 ,p_calculate_g_l_flag IN VARCHAR2
138529 ,p_actual_flag IN OUT VARCHAR2
138530 ,p_balance_type_code OUT VARCHAR2
138531 ,p_gain_or_loss_ref OUT VARCHAR2
138532
138533 --Payment Currency Code
138534 , p_source_13 IN VARCHAR2
138535 --Automatic Offsets Value
138536 , p_source_15 IN VARCHAR2
138537 , p_source_15_meaning IN VARCHAR2
138538 --Invoice Distribution Account
138539 , p_source_30 IN NUMBER
138540 --Withholding Related Distribution Account
138541 , p_source_43 IN NUMBER
138542 --Accounting Reversal Indicator
138543 , p_source_52 IN VARCHAR2
138544 --Distribution Link Type
138545 , p_source_54 IN VARCHAR2
138546 --Override Accounted Amount Indicator
138547 , p_source_79 IN VARCHAR2
138548 , p_source_79_meaning IN VARCHAR2
138549 --Third Party Type
138550 , p_source_82 IN VARCHAR2
138551 --Invoice Distribution Tax Line Identifier
138552 , p_source_85 IN NUMBER
138553 --Invoice Distribution Summary Tax Line Identifier
138554 , p_source_87 IN NUMBER
138555 --Business Flow Accounts Payable Application Identifier
138556 , p_source_90 IN NUMBER
138557 --When to Account for Payment Option
138558 , p_source_96 IN VARCHAR2
138559 --Payment Distribution Type
138560 , p_source_97 IN VARCHAR2
138561 , p_source_97_meaning IN VARCHAR2
138562 --Payment Distribution Amount
138563 , p_source_98 IN NUMBER
138564 --Business Flow Payment Distribution Type
138565 , p_source_99 IN VARCHAR2
138566 --Business Flow Payment Entity Code
138567 , p_source_100 IN VARCHAR2
138568 --Business Flow Payment Distribution Identifier
138569 , p_source_101 IN NUMBER
138570 --Business Flow Payment Identifier
138571 , p_source_102 IN NUMBER
138572 --Payment Distribution Identifier
138573 , p_source_103 IN NUMBER
138574 --Payment Supplier Identifier
138575 , p_source_109 IN NUMBER
138576 --Payment Supplier Site Identifier
138577 , p_source_110 IN NUMBER
138578 --Payment Distribution Reversed Identifier
138579 , p_source_111 IN NUMBER
138580 --Payment Identifier
138581 , p_source_112 IN NUMBER
138582 --Payment Distribution (Invoice Rate) Ledger Amount
138583 , p_source_116 IN NUMBER
138584 --Invoice Exchange Date
138585 , p_source_136 IN DATE
138586 --Invoice Exchange Rate
138587 , p_source_137 IN NUMBER
138588 --Invoice Exchange Rate Type
138589 , p_source_138 IN VARCHAR2
138590 --Withholding at Payment Indicator
138591 , p_source_161 IN VARCHAR2
138592 , p_source_161_meaning IN VARCHAR2
138593 )
138594 IS
138595
138596 l_component_type VARCHAR2(80);
138597 l_component_code VARCHAR2(30);
138598 l_component_type_code VARCHAR2(1);
138599 l_component_appl_id INTEGER;
138600 l_amb_context_code VARCHAR2(30);
138601 l_entity_code VARCHAR2(30);
138602 l_event_class_code VARCHAR2(30);
138603 l_ae_header_id NUMBER;
138604 l_event_type_code VARCHAR2(30);
138605 l_line_definition_code VARCHAR2(30);
138606 l_line_definition_owner_code VARCHAR2(1);
138607 --
138608 -- adr variables
138609 l_segment VARCHAR2(30);
138610 l_ccid NUMBER;
138611 l_adr_transaction_coa_id NUMBER;
138612 l_adr_accounting_coa_id NUMBER;
138613 l_adr_flexfield_segment_code VARCHAR2(30);
138614 l_adr_flex_value_set_id NUMBER;
138615 l_adr_value_type_code VARCHAR2(30);
138616 l_adr_value_combination_id NUMBER;
138617 l_adr_value_segment_code VARCHAR2(30);
138618
138619 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
138620 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
138621 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
138622 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
138623
138624 -- 4262811 Variables ------------------------------------------------------------------------------------------
138625 l_entered_amt_idx NUMBER;
138626 l_accted_amt_idx NUMBER;
138627 l_acc_rev_flag VARCHAR2(1);
138628 l_accrual_line_num NUMBER;
138632 l_num_entries NUMBER;
138629 l_tmp_amt NUMBER;
138630 l_acc_rev_natural_side_code VARCHAR2(1);
138631
138633 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138634 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138635 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138636 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138637 l_recog_line_1 NUMBER;
138638 l_recog_line_2 NUMBER;
138639
138640 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138641 l_bflow_applied_to_amt NUMBER; -- 5132302
138642 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138643
138644 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138645
138646 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138647 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138648
138649 ---------------------------------------------------------------------------------------------------------------
138650
138651
138652 --
138653 -- bulk performance
138654 --
138655 l_balance_type_code VARCHAR2(1);
138656 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138657 l_log_module VARCHAR2(240);
138658
138659 --
138660 -- Upgrade strategy
138661 --
138662 l_actual_upg_option VARCHAR2(1);
138663 l_enc_upg_option VARCHAR2(1);
138664
138665 --
138666 BEGIN
138667 --
138668 IF g_log_enabled THEN
138669 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_220';
138670 END IF;
138671 --
138672 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138673
138674 trace
138675 (p_msg => 'BEGIN of AcctLineType_220'
138676 ,p_level => C_LEVEL_PROCEDURE
138677 ,p_module => l_log_module);
138678
138679 END IF;
138680 --
138681 l_component_type := 'AMB_JLT';
138682 l_component_code := 'AP_WITHHOLD_TAX_ACCR_CLEAR';
138683 l_component_type_code := 'S';
138684 l_component_appl_id := 200;
138685 l_amb_context_code := 'DEFAULT';
138686 l_entity_code := 'AP_PAYMENTS';
138687 l_event_class_code := 'RECONCILED PAYMENTS';
138688 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
138689 l_line_definition_owner_code := 'S';
138690 l_line_definition_code := 'JA_CN_ACCRUAL_RECONCILED_PAY';
138691 --
138692 l_balance_type_code := 'A';
138693 l_segment := NULL;
138694 l_ccid := NULL;
138695 l_adr_transaction_coa_id := NULL;
138696 l_adr_accounting_coa_id := NULL;
138697 l_adr_flexfield_segment_code := NULL;
138698 l_adr_flex_value_set_id := NULL;
138699 l_adr_value_type_code := NULL;
138700 l_adr_value_combination_id := NULL;
138701 l_adr_value_segment_code := NULL;
138702
138703 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138704 l_bflow_class_code := ''; -- 4219869 Business Flow
138705 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138706 l_budgetary_control_flag := 'N';
138707
138708 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138709 l_bflow_applied_to_amt := NULL; -- 5132302
138710 l_entered_amt_idx := NULL; -- 4262811
138711 l_accted_amt_idx := NULL; -- 4262811
138712 l_acc_rev_flag := NULL; -- 4262811
138713 l_accrual_line_num := NULL; -- 4262811
138714 l_tmp_amt := NULL; -- 4262811
138715 --
138716
138717 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138718 l_balance_type_code <> 'B' THEN
138719 IF NVL(p_source_96,'
138720 ') = 'CLEAR_CLEAR' AND
138721 NVL(p_source_97,'
138722 ') = 'AWT' AND
138723 NVL(p_source_161,'
138724 ') = 'Y'
138725 THEN
138726
138727 --
138728 XLA_AE_LINES_PKG.SetNewLine;
138729
138730 p_balance_type_code := l_balance_type_code;
138731 -- set the flag so later we will know whether the gain loss line needs to be created
138732
138733 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138734 p_actual_flag :='A';
138735 END IF;
138736
138737 --
138738 -- bulk performance
138739 --
138740 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138741 p_header_num => 0); -- 4262811
138742 --
138743 -- set accounting line options
138744 --
138745 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138746 p_natural_side_code => 'C'
138747 , p_gain_or_loss_flag => 'N'
138748 , p_gl_transfer_mode_code => 'S'
138749 , p_acct_entry_type_code => 'A'
138750 , p_switch_side_flag => 'Y'
138751 , p_merge_duplicate_code => 'A'
138752 );
138753 --
138754 l_acc_rev_natural_side_code := 'D'; -- 4262811
138755 --
138756 --
138757 -- set accounting line type info
138758 --
138759 xla_ae_lines_pkg.SetAcctLineType
138760 (p_component_type => l_component_type
138761 ,p_event_type_code => l_event_type_code
138765 ,p_accounting_line_type_code => l_component_type_code
138762 ,p_line_definition_owner_code => l_line_definition_owner_code
138763 ,p_line_definition_code => l_line_definition_code
138764 ,p_accounting_line_code => l_component_code
138766 ,p_accounting_line_appl_id => l_component_appl_id
138767 ,p_amb_context_code => l_amb_context_code
138768 ,p_entity_code => l_entity_code
138769 ,p_event_class_code => l_event_class_code);
138770 --
138771 -- set accounting class
138772 --
138773 xla_ae_lines_pkg.SetAcctClass(
138774 p_accounting_class_code => 'AWT'
138775 , p_ae_header_id => l_ae_header_id
138776 );
138777
138778 --
138779 -- set rounding class
138780 --
138781 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138782 'AWT';
138783
138784 --
138785 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138786 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138787 --
138788 -- bulk performance
138789 --
138790 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138791
138792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138793 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138794
138795 -- 4955764
138796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138798
138799 -- 4458381 Public Sector Enh
138800
138801 --
138802 -- set accounting attributes for the line type
138803 --
138804 l_entered_amt_idx := 10;
138805 l_accted_amt_idx := 15;
138806 l_bflow_applied_to_amt_idx := 2; -- 5132302
138807 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138808 l_rec_acct_attrs.array_char_value(1) := p_source_52;
138809 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
138810 l_rec_acct_attrs.array_num_value(2) := p_source_98;
138811 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
138812 l_rec_acct_attrs.array_num_value(3) := p_source_90;
138813 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138814 l_rec_acct_attrs.array_char_value(4) := p_source_99;
138815 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
138816 l_rec_acct_attrs.array_char_value(5) := p_source_100;
138817 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
138818 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_101);
138819 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138820 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_102);
138821 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
138822 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
138823 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
138824 l_rec_acct_attrs.array_char_value(9) := p_source_54;
138825 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
138826 l_rec_acct_attrs.array_num_value(10) := p_source_98;
138827 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
138828 l_rec_acct_attrs.array_char_value(11) := p_source_13;
138829 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
138830 l_rec_acct_attrs.array_date_value(12) := p_source_136;
138831 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
138832 l_rec_acct_attrs.array_num_value(13) := p_source_137;
138833 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
138834 l_rec_acct_attrs.array_char_value(14) := p_source_138;
138835 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
138836 l_rec_acct_attrs.array_num_value(15) := p_source_116;
138837 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
138838 l_rec_acct_attrs.array_char_value(16) := p_source_79;
138839 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
138840 l_rec_acct_attrs.array_num_value(17) := p_source_109;
138841 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
138842 l_rec_acct_attrs.array_num_value(18) := p_source_110;
138843 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
138844 l_rec_acct_attrs.array_char_value(19) := p_source_82;
138845 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
138846 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
138847 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
138848 l_rec_acct_attrs.array_char_value(21) := p_source_54;
138849 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
138850 l_rec_acct_attrs.array_num_value(22) := p_source_85;
138851 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
138852 l_rec_acct_attrs.array_num_value(23) := p_source_85;
138853 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
138854 l_rec_acct_attrs.array_num_value(24) := p_source_87;
138855
138856 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138857 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138858
138859 ---------------------------------------------------------------------------------------------------------------
138863
138860 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138861 ---------------------------------------------------------------------------------------------------------------
138862 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138864 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138865 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138866
138867 IF xla_accounting_cache_pkg.GetValueChar
138868 (p_source_code => 'LEDGER_CATEGORY_CODE'
138869 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138870 AND l_bflow_method_code = 'PRIOR_ENTRY'
138871 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138872 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138873 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138874 )
138875 THEN
138876 xla_ae_lines_pkg.BflowUpgEntry
138877 (p_business_method_code => l_bflow_method_code
138878 ,p_business_class_code => l_bflow_class_code
138879 ,p_balance_type => l_balance_type_code);
138880 ELSE
138881 NULL;
138882 -- No business flow processing for business flow method of NONE.
138883 END IF;
138884
138885 --
138886 -- call analytical criteria
138887 --
138888
138889
138890 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
138891 xla_ae_lines_pkg.SetAnalyticalCriteria(
138892 p_analytical_criterion_name => 'Check Id'
138893 , p_analytical_criterion_owner => 'S'
138894 , p_analytical_criterion_code => 'CHECK_ID'
138895 , p_amb_context_code => 'DEFAULT'
138896 , p_balancing_flag => 'N'
138897
138898 , p_analytical_detail_char_1 => NULL
138899 , p_analytical_detail_num_1 => p_source_112
138900 , p_analytical_detail_date_1 => NULL
138901
138902 , p_ae_header_id => l_ae_header_id
138903 )
138904 ;
138905 --
138906
138907 --
138908 -- call description
138909 --
138910 -- No description or it is inherited.
138911 --
138912 -- call ADRs
138913 -- Bug 4922099
138914 --
138915 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138916 (NVL(l_actual_upg_option, 'N') = 'O') OR
138917 (NVL(l_enc_upg_option, 'N') = 'O')
138918 )
138919 THEN
138920 NULL;
138921 --
138922 --
138923
138924 l_ccid := AcctDerRule_45(
138925 p_application_id => p_application_id
138926 , p_ae_header_id => l_ae_header_id
138927 , p_source_15 => p_source_15
138928 , p_source_15_meaning => p_source_15_meaning
138929 , p_source_30 => p_source_30
138930 , p_source_43 => p_source_43
138931 , x_transaction_coa_id => l_adr_transaction_coa_id
138932 , x_accounting_coa_id => l_adr_accounting_coa_id
138933 , x_value_type_code => l_adr_value_type_code
138934 , p_side => 'NA'
138935 );
138936
138937 xla_ae_lines_pkg.set_ccid(
138938 p_code_combination_id => l_ccid
138939 , p_value_type_code => l_adr_value_type_code
138940 , p_transaction_coa_id => l_adr_transaction_coa_id
138941 , p_accounting_coa_id => l_adr_accounting_coa_id
138942 , p_adr_code => 'AP_WH_DIST_ACCT'
138943 , p_adr_type_code => 'S'
138944 , p_component_type => l_component_type
138945 , p_component_code => l_component_code
138946 , p_component_type_code => l_component_type_code
138947 , p_component_appl_id => l_component_appl_id
138948 , p_amb_context_code => l_amb_context_code
138949 , p_side => 'NA'
138950 );
138951
138952
138953 l_segment := AcctDerRule_14(
138954 p_application_id => p_application_id
138955 , p_ae_header_id => l_ae_header_id
138956 , p_source_15 => p_source_15
138957 , p_source_15_meaning => p_source_15_meaning
138958 , p_source_30 => p_source_30
138959 , x_transaction_coa_id => l_adr_transaction_coa_id
138960 , x_accounting_coa_id => l_adr_accounting_coa_id
138961 , x_flexfield_segment_code => l_adr_flexfield_segment_code
138962 , x_flex_value_set_id => l_adr_flex_value_set_id
138963 , x_value_type_code => l_adr_value_type_code
138964 , x_value_combination_id => l_adr_value_combination_id
138965 , x_value_segment_code => l_adr_value_segment_code
138966 , p_side => 'NA'
138967 , p_override_seg_flag => 'Y'
138968 );
138969
138970 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
138971
138972 xla_ae_lines_pkg.set_segment(
138973 p_to_segment_code => 'GL_ACCOUNT'
138974 , p_segment_value => l_segment
138975 , p_from_segment_code => l_adr_value_segment_code
138976 , p_from_combination_id => l_adr_value_combination_id
138977 , p_value_type_code => l_adr_value_type_code
138978 , p_transaction_coa_id => l_adr_transaction_coa_id
138979 , p_accounting_coa_id => l_adr_accounting_coa_id
138983 , p_adr_type_code => 'S'
138980 , p_flexfield_segment_code => l_adr_flexfield_segment_code
138981 , p_flex_value_set_id => l_adr_flex_value_set_id
138982 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
138984 , p_component_type => l_component_type
138985 , p_component_code => l_component_code
138986 , p_component_type_code => l_component_type_code
138987 , p_component_appl_id => l_component_appl_id
138988 , p_amb_context_code => l_amb_context_code
138989 , p_entity_code => 'AP_PAYMENTS'
138990 , p_event_class_code => 'RECONCILED PAYMENTS'
138991 , p_side => 'NA'
138992 );
138993
138994 END IF;
138995
138996 l_segment := AcctDerRule_25(
138997 p_application_id => p_application_id
138998 , p_ae_header_id => l_ae_header_id
138999 , p_source_15 => p_source_15
139000 , p_source_15_meaning => p_source_15_meaning
139001 , p_source_43 => p_source_43
139002 , x_transaction_coa_id => l_adr_transaction_coa_id
139003 , x_accounting_coa_id => l_adr_accounting_coa_id
139004 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139005 , x_flex_value_set_id => l_adr_flex_value_set_id
139006 , x_value_type_code => l_adr_value_type_code
139007 , x_value_combination_id => l_adr_value_combination_id
139008 , x_value_segment_code => l_adr_value_segment_code
139009 , p_side => 'NA'
139010 , p_override_seg_flag => 'Y'
139011 );
139012
139013 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139014
139015 xla_ae_lines_pkg.set_segment(
139016 p_to_segment_code => 'GL_BALANCING'
139017 , p_segment_value => l_segment
139018 , p_from_segment_code => l_adr_value_segment_code
139019 , p_from_combination_id => l_adr_value_combination_id
139020 , p_value_type_code => l_adr_value_type_code
139021 , p_transaction_coa_id => l_adr_transaction_coa_id
139022 , p_accounting_coa_id => l_adr_accounting_coa_id
139023 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139024 , p_flex_value_set_id => l_adr_flex_value_set_id
139025 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
139026 , p_adr_type_code => 'S'
139027 , p_component_type => l_component_type
139028 , p_component_code => l_component_code
139029 , p_component_type_code => l_component_type_code
139030 , p_component_appl_id => l_component_appl_id
139031 , p_amb_context_code => l_amb_context_code
139032 , p_entity_code => 'AP_PAYMENTS'
139033 , p_event_class_code => 'RECONCILED PAYMENTS'
139034 , p_side => 'NA'
139035 );
139036
139037 END IF;
139038
139039 --
139040 --
139041 END IF;
139042 --
139043 -- Bug 4922099
139044 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
139045 (NVL(l_enc_upg_option, 'N') = 'O')
139046 ) AND
139047 (l_bflow_method_code = 'PRIOR_ENTRY')
139048 )
139049 THEN
139050 IF
139051 --
139052 1 = 2
139053 --
139054 THEN
139055 xla_accounting_err_pkg.build_message
139056 (p_appli_s_name => 'XLA'
139057 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139058 ,p_token_1 => 'LINE_NUMBER'
139059 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
139060 ,p_token_2 => 'LINE_TYPE_NAME'
139061 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
139062 l_component_type
139063 ,l_component_code
139064 ,l_component_type_code
139065 ,l_component_appl_id
139066 ,l_amb_context_code
139067 ,l_entity_code
139068 ,l_event_class_code
139069 )
139070 ,p_token_3 => 'OWNER'
139071 ,p_value_3 => xla_lookups_pkg.get_meaning(
139072 p_lookup_type => 'XLA_OWNER_TYPE'
139073 ,p_lookup_code => l_component_type_code
139074 )
139075 ,p_token_4 => 'PRODUCT_NAME'
139076 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
139080 ,p_ae_header_id => NULL
139077 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
139078 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
139079 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
139081 );
139082
139083 IF (C_LEVEL_ERROR>= g_log_level) THEN
139084 trace
139085 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139086 ,p_level => C_LEVEL_ERROR
139087 ,p_module => l_log_module);
139088 END IF;
139089 END IF;
139090 END IF;
139091 --
139092 --
139093 ------------------------------------------------------------------------------------------------
139094 -- 4219869 Business Flow
139095 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
139096 -- Prior Entry. Currently, the following code is always generated.
139097 ------------------------------------------------------------------------------------------------
139098 XLA_AE_LINES_PKG.ValidateCurrentLine;
139099
139100 ------------------------------------------------------------------------------------
139101 -- 4219869 Business Flow
139102 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
139103 ------------------------------------------------------------------------------------
139104 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139105
139106 ----------------------------------------------------------------------------------
139107 -- 4219869 Business Flow
139108 -- Update journal entry status -- Need to generate this within IF <condition>
139109 ----------------------------------------------------------------------------------
139110 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139111 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
139112 ,p_balance_type_code => l_balance_type_code
139113 );
139114
139115 -------------------------------------------------------------------------------------------
139116 -- 4262811 - Generate the Accrual Reversal lines
139117 -------------------------------------------------------------------------------------------
139118 BEGIN
139119 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
139120 (g_array_event(p_event_id).array_value_num('header_index'));
139121 IF l_acc_rev_flag IS NULL THEN
139122 l_acc_rev_flag := 'N';
139123 END IF;
139124 EXCEPTION
139125 WHEN OTHERS THEN
139126 l_acc_rev_flag := 'N';
139127 END;
139128 --
139129 IF (l_acc_rev_flag = 'Y') THEN
139130
139131 -- 4645092 ------------------------------------------------------------------------------
139132 -- To allow MPA report to determine if it should generate report process
139133 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
139134 ------------------------------------------------------------------------------------------
139135
139136 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
139137 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
139138 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
139139 -- call ADRs
139140 -- Bug 4922099
139141 --
139142 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139143 (NVL(l_actual_upg_option, 'N') = 'O') OR
139144 (NVL(l_enc_upg_option, 'N') = 'O')
139145 )
139146 THEN
139147 NULL;
139148 --
139149 --
139150
139151 l_ccid := AcctDerRule_45(
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_30 => p_source_30
139157 , p_source_43 => p_source_43
139158 , x_transaction_coa_id => l_adr_transaction_coa_id
139159 , x_accounting_coa_id => l_adr_accounting_coa_id
139160 , x_value_type_code => l_adr_value_type_code
139161 , p_side => 'NA'
139162 );
139163
139164 xla_ae_lines_pkg.set_ccid(
139165 p_code_combination_id => l_ccid
139166 , p_value_type_code => l_adr_value_type_code
139167 , p_transaction_coa_id => l_adr_transaction_coa_id
139168 , p_accounting_coa_id => l_adr_accounting_coa_id
139169 , p_adr_code => 'AP_WH_DIST_ACCT'
139170 , p_adr_type_code => 'S'
139171 , p_component_type => l_component_type
139172 , p_component_code => l_component_code
139173 , p_component_type_code => l_component_type_code
139174 , p_component_appl_id => l_component_appl_id
139175 , p_amb_context_code => l_amb_context_code
139176 , p_side => 'NA'
139177 );
139178
139179
139180 l_segment := AcctDerRule_14(
139181 p_application_id => p_application_id
139182 , p_ae_header_id => l_ae_header_id
139183 , p_source_15 => p_source_15
139184 , p_source_15_meaning => p_source_15_meaning
139185 , p_source_30 => p_source_30
139186 , x_transaction_coa_id => l_adr_transaction_coa_id
139190 , x_value_type_code => l_adr_value_type_code
139187 , x_accounting_coa_id => l_adr_accounting_coa_id
139188 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139189 , x_flex_value_set_id => l_adr_flex_value_set_id
139191 , x_value_combination_id => l_adr_value_combination_id
139192 , x_value_segment_code => l_adr_value_segment_code
139193 , p_side => 'NA'
139194 , p_override_seg_flag => 'Y'
139195 );
139196
139197 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139198
139199 xla_ae_lines_pkg.set_segment(
139200 p_to_segment_code => 'GL_ACCOUNT'
139201 , p_segment_value => l_segment
139202 , p_from_segment_code => l_adr_value_segment_code
139203 , p_from_combination_id => l_adr_value_combination_id
139204 , p_value_type_code => l_adr_value_type_code
139205 , p_transaction_coa_id => l_adr_transaction_coa_id
139206 , p_accounting_coa_id => l_adr_accounting_coa_id
139207 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139208 , p_flex_value_set_id => l_adr_flex_value_set_id
139209 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
139210 , p_adr_type_code => 'S'
139211 , p_component_type => l_component_type
139212 , p_component_code => l_component_code
139213 , p_component_type_code => l_component_type_code
139214 , p_component_appl_id => l_component_appl_id
139215 , p_amb_context_code => l_amb_context_code
139216 , p_entity_code => 'AP_PAYMENTS'
139217 , p_event_class_code => 'RECONCILED PAYMENTS'
139218 , p_side => 'NA'
139219 );
139220
139221 END IF;
139222
139223 l_segment := AcctDerRule_25(
139224 p_application_id => p_application_id
139225 , p_ae_header_id => l_ae_header_id
139226 , p_source_15 => p_source_15
139227 , p_source_15_meaning => p_source_15_meaning
139228 , p_source_43 => p_source_43
139229 , x_transaction_coa_id => l_adr_transaction_coa_id
139230 , x_accounting_coa_id => l_adr_accounting_coa_id
139231 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139232 , x_flex_value_set_id => l_adr_flex_value_set_id
139233 , x_value_type_code => l_adr_value_type_code
139234 , x_value_combination_id => l_adr_value_combination_id
139235 , x_value_segment_code => l_adr_value_segment_code
139236 , p_side => 'NA'
139237 , p_override_seg_flag => 'Y'
139238 );
139239
139240 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139241
139242 xla_ae_lines_pkg.set_segment(
139243 p_to_segment_code => 'GL_BALANCING'
139244 , p_segment_value => l_segment
139245 , p_from_segment_code => l_adr_value_segment_code
139246 , p_from_combination_id => l_adr_value_combination_id
139247 , p_value_type_code => l_adr_value_type_code
139248 , p_transaction_coa_id => l_adr_transaction_coa_id
139249 , p_accounting_coa_id => l_adr_accounting_coa_id
139250 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139251 , p_flex_value_set_id => l_adr_flex_value_set_id
139252 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
139253 , p_adr_type_code => 'S'
139254 , p_component_type => l_component_type
139255 , p_component_code => l_component_code
139256 , p_component_type_code => l_component_type_code
139257 , p_component_appl_id => l_component_appl_id
139258 , p_amb_context_code => l_amb_context_code
139259 , p_entity_code => 'AP_PAYMENTS'
139260 , p_event_class_code => 'RECONCILED PAYMENTS'
139261 , p_side => 'NA'
139262 );
139263
139264 END IF;
139265
139266 --
139267 --
139268 END IF;
139269
139270 --
139271 -- Update the line information that should be overwritten
139272 --
139273 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
139274 p_header_num => 1);
139275 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
139276
139277 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
139278
139279 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
139280 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
139281 END IF;
139282
139283 --
139284 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
139285 --
139286 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
139287 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
139288 ELSE
139289 ---------------------------------------------------------------------------------------------------
139290 -- 4262811a Switch Sign
139291 ---------------------------------------------------------------------------------------------------
139295 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139292 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
139293 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139294 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139296 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139297 -- 5132302
139298 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
139299 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139300
139301 END IF;
139302
139303 -- 4955764
139304 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139305 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
139306
139307
139308 XLA_AE_LINES_PKG.ValidateCurrentLine;
139309 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139310
139311 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139312 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
139313 ,p_balance_type_code => l_balance_type_code);
139314
139315 END IF;
139316
139317 -----------------------------------------------------------------------------------------
139318 -- 4262811 Multiperiod Accounting
139319 -----------------------------------------------------------------------------------------
139320 -- No MPA option is assigned.
139321
139322
139323 END IF;
139324 END IF;
139325 --
139326
139327 --
139328 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139329 trace
139330 (p_msg => 'END of AcctLineType_220'
139331 ,p_level => C_LEVEL_PROCEDURE
139332 ,p_module => l_log_module);
139333 END IF;
139334 --
139335 EXCEPTION
139336 WHEN xla_exceptions_pkg.application_exception THEN
139337 RAISE;
139338 WHEN OTHERS THEN
139339 xla_exceptions_pkg.raise_message
139340 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_220');
139341 END AcctLineType_220;
139342 --
139343
139344 ---------------------------------------
139345 --
139346 -- PRIVATE FUNCTION
139347 -- AcctLineType_221
139348 --
139349 ---------------------------------------
139350 PROCEDURE AcctLineType_221 (
139351 p_application_id IN NUMBER
139352 ,p_event_id IN NUMBER
139353 ,p_calculate_acctd_flag IN VARCHAR2
139354 ,p_calculate_g_l_flag IN VARCHAR2
139355 ,p_actual_flag IN OUT VARCHAR2
139356 ,p_balance_type_code OUT VARCHAR2
139357 ,p_gain_or_loss_ref OUT VARCHAR2
139358
139359 --Payment Currency Code
139360 , p_source_13 IN VARCHAR2
139361 --Automatic Offsets Value
139362 , p_source_15 IN VARCHAR2
139363 , p_source_15_meaning IN VARCHAR2
139364 --Invoice Distribution Account
139365 , p_source_30 IN NUMBER
139366 --Withholding Related Distribution Account
139367 , p_source_43 IN NUMBER
139368 --Accounting Reversal Indicator
139369 , p_source_52 IN VARCHAR2
139370 --Distribution Link Type
139371 , p_source_54 IN VARCHAR2
139372 --Override Accounted Amount Indicator
139373 , p_source_79 IN VARCHAR2
139374 , p_source_79_meaning IN VARCHAR2
139375 --Third Party Type
139376 , p_source_82 IN VARCHAR2
139377 --Invoice Distribution Tax Line Identifier
139378 , p_source_85 IN NUMBER
139379 --Invoice Distribution Tax Distribution Identifier from Tax
139380 , p_source_86 IN NUMBER
139381 --Invoice Distribution Summary Tax Line Identifier
139382 , p_source_87 IN NUMBER
139383 --Business Flow Accounts Payable Application Identifier
139384 , p_source_90 IN NUMBER
139385 --Business Flow Invoice Distribution Type
139386 , p_source_91 IN VARCHAR2
139387 --Business Flow Invoice Entity Code
139388 , p_source_92 IN VARCHAR2
139389 --Business Flow Invoice Distribution Identifier
139390 , p_source_93 IN NUMBER
139391 --Business Flow Invoice Identifier
139392 , p_source_94 IN NUMBER
139393 --When to Account for Payment Option
139394 , p_source_96 IN VARCHAR2
139395 --Payment Distribution Type
139396 , p_source_97 IN VARCHAR2
139397 , p_source_97_meaning IN VARCHAR2
139398 --Payment Distribution Amount
139399 , p_source_98 IN NUMBER
139400 --Payment Distribution Identifier
139401 , p_source_103 IN NUMBER
139402 --Payment Supplier Identifier
139403 , p_source_109 IN NUMBER
139404 --Payment Supplier Site Identifier
139405 , p_source_110 IN NUMBER
139406 --Payment Distribution Reversed Identifier
139407 , p_source_111 IN NUMBER
139408 --Payment Identifier
139409 , p_source_112 IN NUMBER
139410 --Payment Distribution (Invoice Rate) Ledger Amount
139411 , p_source_116 IN NUMBER
139412 --Payment Type
139413 , p_source_122 IN VARCHAR2
139414 , p_source_122_meaning IN VARCHAR2
139415 --Payment Processing Type
139416 , p_source_123 IN VARCHAR2
139417 --Invoice Distribution Amount of the Payment Distribution
139418 , p_source_124 IN NUMBER
139419 --Invoice Exchange Date
139423 --Invoice Exchange Rate Type
139420 , p_source_136 IN DATE
139421 --Invoice Exchange Rate
139422 , p_source_137 IN NUMBER
139424 , p_source_138 IN VARCHAR2
139425 --Withholding at Payment Indicator
139426 , p_source_161 IN VARCHAR2
139427 , p_source_161_meaning IN VARCHAR2
139428 )
139429 IS
139430
139431 l_component_type VARCHAR2(80);
139432 l_component_code VARCHAR2(30);
139433 l_component_type_code VARCHAR2(1);
139434 l_component_appl_id INTEGER;
139435 l_amb_context_code VARCHAR2(30);
139436 l_entity_code VARCHAR2(30);
139437 l_event_class_code VARCHAR2(30);
139438 l_ae_header_id NUMBER;
139439 l_event_type_code VARCHAR2(30);
139440 l_line_definition_code VARCHAR2(30);
139441 l_line_definition_owner_code VARCHAR2(1);
139442 --
139443 -- adr variables
139444 l_segment VARCHAR2(30);
139445 l_ccid NUMBER;
139446 l_adr_transaction_coa_id NUMBER;
139447 l_adr_accounting_coa_id NUMBER;
139448 l_adr_flexfield_segment_code VARCHAR2(30);
139449 l_adr_flex_value_set_id NUMBER;
139450 l_adr_value_type_code VARCHAR2(30);
139451 l_adr_value_combination_id NUMBER;
139452 l_adr_value_segment_code VARCHAR2(30);
139453
139454 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
139455 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
139456 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
139457 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
139458
139459 -- 4262811 Variables ------------------------------------------------------------------------------------------
139460 l_entered_amt_idx NUMBER;
139461 l_accted_amt_idx NUMBER;
139462 l_acc_rev_flag VARCHAR2(1);
139463 l_accrual_line_num NUMBER;
139464 l_tmp_amt NUMBER;
139465 l_acc_rev_natural_side_code VARCHAR2(1);
139466
139467 l_num_entries NUMBER;
139468 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
139469 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
139470 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
139471 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
139472 l_recog_line_1 NUMBER;
139473 l_recog_line_2 NUMBER;
139474
139475 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
139476 l_bflow_applied_to_amt NUMBER; -- 5132302
139477 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
139478
139479 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
139480
139481 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
139482 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
139483
139484 ---------------------------------------------------------------------------------------------------------------
139485
139486
139487 --
139488 -- bulk performance
139489 --
139490 l_balance_type_code VARCHAR2(1);
139491 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
139492 l_log_module VARCHAR2(240);
139493
139494 --
139495 -- Upgrade strategy
139496 --
139497 l_actual_upg_option VARCHAR2(1);
139498 l_enc_upg_option VARCHAR2(1);
139499
139500 --
139501 BEGIN
139502 --
139503 IF g_log_enabled THEN
139504 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_221';
139505 END IF;
139506 --
139507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139508
139509 trace
139510 (p_msg => 'BEGIN of AcctLineType_221'
139511 ,p_level => C_LEVEL_PROCEDURE
139512 ,p_module => l_log_module);
139513
139514 END IF;
139515 --
139516 l_component_type := 'AMB_JLT';
139517 l_component_code := 'AP_WITHHOLD_TAX_ACCR_PMT';
139518 l_component_type_code := 'S';
139519 l_component_appl_id := 200;
139520 l_amb_context_code := 'DEFAULT';
139521 l_entity_code := 'AP_PAYMENTS';
139522 l_event_class_code := 'PAYMENTS';
139523 l_event_type_code := 'PAYMENTS_ALL';
139524 l_line_definition_owner_code := 'S';
139525 l_line_definition_code := 'JA_CN_ACCRUAL_PAYMENTS_ALL';
139526 --
139527 l_balance_type_code := 'A';
139528 l_segment := NULL;
139529 l_ccid := NULL;
139530 l_adr_transaction_coa_id := NULL;
139531 l_adr_accounting_coa_id := NULL;
139532 l_adr_flexfield_segment_code := NULL;
139533 l_adr_flex_value_set_id := NULL;
139534 l_adr_value_type_code := NULL;
139535 l_adr_value_combination_id := NULL;
139536 l_adr_value_segment_code := NULL;
139537
139538 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
139539 l_bflow_class_code := ''; -- 4219869 Business Flow
139540 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
139541 l_budgetary_control_flag := 'N';
139542
139543 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139544 l_bflow_applied_to_amt := NULL; -- 5132302
139545 l_entered_amt_idx := NULL; -- 4262811
139546 l_accted_amt_idx := NULL; -- 4262811
139550 --
139547 l_acc_rev_flag := NULL; -- 4262811
139548 l_accrual_line_num := NULL; -- 4262811
139549 l_tmp_amt := NULL; -- 4262811
139551
139552 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
139553 l_balance_type_code <> 'B' THEN
139554 IF NVL(p_source_96,'
139555 ') <> 'CLEAR_CLEAR' AND
139556 NVL(p_source_97,'
139557 ') = 'AWT' AND
139558 NVL(p_source_161,'
139559 ') = 'Y' AND
139560 NVL(p_source_122,'
139561 ') <> 'R' AND
139562 NVL(p_source_123,'
139563 ') <> 'PAYMENTCARD'
139564 THEN
139565
139566 --
139567 XLA_AE_LINES_PKG.SetNewLine;
139568
139569 p_balance_type_code := l_balance_type_code;
139570 -- set the flag so later we will know whether the gain loss line needs to be created
139571
139572 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
139573 p_actual_flag :='A';
139574 END IF;
139575
139576 --
139577 -- bulk performance
139578 --
139579 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
139580 p_header_num => 0); -- 4262811
139581 --
139582 -- set accounting line options
139583 --
139584 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
139585 p_natural_side_code => 'C'
139586 , p_gain_or_loss_flag => 'N'
139587 , p_gl_transfer_mode_code => 'S'
139588 , p_acct_entry_type_code => 'A'
139589 , p_switch_side_flag => 'Y'
139590 , p_merge_duplicate_code => 'A'
139591 );
139592 --
139593 l_acc_rev_natural_side_code := 'D'; -- 4262811
139594 --
139595 --
139596 -- set accounting line type info
139597 --
139598 xla_ae_lines_pkg.SetAcctLineType
139599 (p_component_type => l_component_type
139600 ,p_event_type_code => l_event_type_code
139601 ,p_line_definition_owner_code => l_line_definition_owner_code
139602 ,p_line_definition_code => l_line_definition_code
139603 ,p_accounting_line_code => l_component_code
139604 ,p_accounting_line_type_code => l_component_type_code
139605 ,p_accounting_line_appl_id => l_component_appl_id
139606 ,p_amb_context_code => l_amb_context_code
139607 ,p_entity_code => l_entity_code
139608 ,p_event_class_code => l_event_class_code);
139609 --
139610 -- set accounting class
139611 --
139612 xla_ae_lines_pkg.SetAcctClass(
139613 p_accounting_class_code => 'AWT'
139614 , p_ae_header_id => l_ae_header_id
139615 );
139616
139617 --
139618 -- set rounding class
139619 --
139620 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
139621 'AWT';
139622
139623 --
139624 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
139625 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
139626 --
139627 -- bulk performance
139628 --
139629 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
139630
139631 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
139632 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
139633
139634 -- 4955764
139635 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139636 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
139637
139638 -- 4458381 Public Sector Enh
139639
139640 --
139641 -- set accounting attributes for the line type
139642 --
139643 l_entered_amt_idx := 10;
139644 l_accted_amt_idx := 15;
139645 l_bflow_applied_to_amt_idx := 2; -- 5132302
139646 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
139647 l_rec_acct_attrs.array_char_value(1) := p_source_52;
139648 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
139649 l_rec_acct_attrs.array_num_value(2) := p_source_124;
139650 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
139651 l_rec_acct_attrs.array_num_value(3) := p_source_90;
139652 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
139653 l_rec_acct_attrs.array_char_value(4) := p_source_91;
139654 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
139655 l_rec_acct_attrs.array_char_value(5) := p_source_92;
139656 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
139657 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_93);
139658 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
139659 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_94);
139660 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
139661 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_103);
139662 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
139663 l_rec_acct_attrs.array_char_value(9) := p_source_54;
139664 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
139665 l_rec_acct_attrs.array_num_value(10) := p_source_98;
139666 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
139670 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
139667 l_rec_acct_attrs.array_char_value(11) := p_source_13;
139668 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
139669 l_rec_acct_attrs.array_date_value(12) := p_source_136;
139671 l_rec_acct_attrs.array_num_value(13) := p_source_137;
139672 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
139673 l_rec_acct_attrs.array_char_value(14) := p_source_138;
139674 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
139675 l_rec_acct_attrs.array_num_value(15) := p_source_116;
139676 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
139677 l_rec_acct_attrs.array_char_value(16) := p_source_79;
139678 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
139679 l_rec_acct_attrs.array_num_value(17) := p_source_109;
139680 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
139681 l_rec_acct_attrs.array_num_value(18) := p_source_110;
139682 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
139683 l_rec_acct_attrs.array_char_value(19) := p_source_82;
139684 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
139685 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_111);
139686 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
139687 l_rec_acct_attrs.array_char_value(21) := p_source_54;
139688 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
139689 l_rec_acct_attrs.array_num_value(22) := p_source_85;
139690 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
139691 l_rec_acct_attrs.array_num_value(23) := p_source_86;
139692 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
139693 l_rec_acct_attrs.array_num_value(24) := p_source_87;
139694
139695 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
139696 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
139697
139698 ---------------------------------------------------------------------------------------------------------------
139699 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
139700 ---------------------------------------------------------------------------------------------------------------
139701 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
139702
139703 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139704 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139705
139706 IF xla_accounting_cache_pkg.GetValueChar
139707 (p_source_code => 'LEDGER_CATEGORY_CODE'
139708 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
139709 AND l_bflow_method_code = 'PRIOR_ENTRY'
139710 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
139711 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
139712 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
139713 )
139714 THEN
139715 xla_ae_lines_pkg.BflowUpgEntry
139716 (p_business_method_code => l_bflow_method_code
139717 ,p_business_class_code => l_bflow_class_code
139718 ,p_balance_type => l_balance_type_code);
139719 ELSE
139720 NULL;
139721 -- No business flow processing for business flow method of NONE.
139722 END IF;
139723
139724 --
139725 -- call analytical criteria
139726 --
139727
139728
139729 xla_ae_lines_pkg.g_rec_lines.array_anc_id_1(xla_ae_lines_pkg.g_LineNumber) :=
139730 xla_ae_lines_pkg.SetAnalyticalCriteria(
139731 p_analytical_criterion_name => 'Check Id'
139732 , p_analytical_criterion_owner => 'S'
139733 , p_analytical_criterion_code => 'CHECK_ID'
139734 , p_amb_context_code => 'DEFAULT'
139735 , p_balancing_flag => 'N'
139736
139737 , p_analytical_detail_char_1 => NULL
139738 , p_analytical_detail_num_1 => p_source_112
139739 , p_analytical_detail_date_1 => NULL
139740
139741 , p_ae_header_id => l_ae_header_id
139742 )
139743 ;
139744 --
139745
139746 --
139747 -- call description
139748 --
139749 -- No description or it is inherited.
139750 --
139751 -- call ADRs
139752 -- Bug 4922099
139753 --
139754 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139755 (NVL(l_actual_upg_option, 'N') = 'O') OR
139756 (NVL(l_enc_upg_option, 'N') = 'O')
139757 )
139758 THEN
139759 NULL;
139760 --
139761 --
139762
139763 l_ccid := AcctDerRule_45(
139764 p_application_id => p_application_id
139765 , p_ae_header_id => l_ae_header_id
139766 , p_source_15 => p_source_15
139767 , p_source_15_meaning => p_source_15_meaning
139768 , p_source_30 => p_source_30
139769 , p_source_43 => p_source_43
139770 , x_transaction_coa_id => l_adr_transaction_coa_id
139771 , x_accounting_coa_id => l_adr_accounting_coa_id
139772 , x_value_type_code => l_adr_value_type_code
139773 , p_side => 'NA'
139774 );
139775
139776 xla_ae_lines_pkg.set_ccid(
139777 p_code_combination_id => l_ccid
139778 , p_value_type_code => l_adr_value_type_code
139779 , p_transaction_coa_id => l_adr_transaction_coa_id
139783 , p_component_type => l_component_type
139780 , p_accounting_coa_id => l_adr_accounting_coa_id
139781 , p_adr_code => 'AP_WH_DIST_ACCT'
139782 , p_adr_type_code => 'S'
139784 , p_component_code => l_component_code
139785 , p_component_type_code => l_component_type_code
139786 , p_component_appl_id => l_component_appl_id
139787 , p_amb_context_code => l_amb_context_code
139788 , p_side => 'NA'
139789 );
139790
139791
139792 l_segment := AcctDerRule_14(
139793 p_application_id => p_application_id
139794 , p_ae_header_id => l_ae_header_id
139795 , p_source_15 => p_source_15
139796 , p_source_15_meaning => p_source_15_meaning
139797 , p_source_30 => p_source_30
139798 , x_transaction_coa_id => l_adr_transaction_coa_id
139799 , x_accounting_coa_id => l_adr_accounting_coa_id
139800 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139801 , x_flex_value_set_id => l_adr_flex_value_set_id
139802 , x_value_type_code => l_adr_value_type_code
139803 , x_value_combination_id => l_adr_value_combination_id
139804 , x_value_segment_code => l_adr_value_segment_code
139805 , p_side => 'NA'
139806 , p_override_seg_flag => 'Y'
139807 );
139808
139809 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139810
139811 xla_ae_lines_pkg.set_segment(
139812 p_to_segment_code => 'GL_ACCOUNT'
139813 , p_segment_value => l_segment
139814 , p_from_segment_code => l_adr_value_segment_code
139815 , p_from_combination_id => l_adr_value_combination_id
139816 , p_value_type_code => l_adr_value_type_code
139817 , p_transaction_coa_id => l_adr_transaction_coa_id
139818 , p_accounting_coa_id => l_adr_accounting_coa_id
139819 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139820 , p_flex_value_set_id => l_adr_flex_value_set_id
139821 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
139822 , p_adr_type_code => 'S'
139823 , p_component_type => l_component_type
139824 , p_component_code => l_component_code
139825 , p_component_type_code => l_component_type_code
139826 , p_component_appl_id => l_component_appl_id
139827 , p_amb_context_code => l_amb_context_code
139828 , p_entity_code => 'AP_PAYMENTS'
139829 , p_event_class_code => 'PAYMENTS'
139830 , p_side => 'NA'
139831 );
139832
139833 END IF;
139834
139835 l_segment := AcctDerRule_25(
139836 p_application_id => p_application_id
139837 , p_ae_header_id => l_ae_header_id
139838 , p_source_15 => p_source_15
139839 , p_source_15_meaning => p_source_15_meaning
139840 , p_source_43 => p_source_43
139841 , x_transaction_coa_id => l_adr_transaction_coa_id
139842 , x_accounting_coa_id => l_adr_accounting_coa_id
139843 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139844 , x_flex_value_set_id => l_adr_flex_value_set_id
139845 , x_value_type_code => l_adr_value_type_code
139846 , x_value_combination_id => l_adr_value_combination_id
139847 , x_value_segment_code => l_adr_value_segment_code
139848 , p_side => 'NA'
139849 , p_override_seg_flag => 'Y'
139850 );
139851
139852 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139853
139854 xla_ae_lines_pkg.set_segment(
139855 p_to_segment_code => 'GL_BALANCING'
139856 , p_segment_value => l_segment
139857 , p_from_segment_code => l_adr_value_segment_code
139858 , p_from_combination_id => l_adr_value_combination_id
139859 , p_value_type_code => l_adr_value_type_code
139860 , p_transaction_coa_id => l_adr_transaction_coa_id
139861 , p_accounting_coa_id => l_adr_accounting_coa_id
139862 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139863 , p_flex_value_set_id => l_adr_flex_value_set_id
139864 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
139865 , p_adr_type_code => 'S'
139866 , p_component_type => l_component_type
139867 , p_component_code => l_component_code
139868 , p_component_type_code => l_component_type_code
139869 , p_component_appl_id => l_component_appl_id
139870 , p_amb_context_code => l_amb_context_code
139871 , p_entity_code => 'AP_PAYMENTS'
139872 , p_event_class_code => 'PAYMENTS'
139873 , p_side => 'NA'
139874 );
139875
139876 END IF;
139877
139878 --
139879 --
139880 END IF;
139881 --
139882 -- Bug 4922099
139883 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
139884 (NVL(l_enc_upg_option, 'N') = 'O')
139885 ) AND
139886 (l_bflow_method_code = 'PRIOR_ENTRY')
139887 )
139888 THEN
139889 IF
139890 --
139891 1 = 2
139892 --
139893 THEN
139894 xla_accounting_err_pkg.build_message
139898 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
139895 (p_appli_s_name => 'XLA'
139896 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139897 ,p_token_1 => 'LINE_NUMBER'
139899 ,p_token_2 => 'LINE_TYPE_NAME'
139900 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
139901 l_component_type
139902 ,l_component_code
139903 ,l_component_type_code
139904 ,l_component_appl_id
139905 ,l_amb_context_code
139906 ,l_entity_code
139907 ,l_event_class_code
139908 )
139909 ,p_token_3 => 'OWNER'
139910 ,p_value_3 => xla_lookups_pkg.get_meaning(
139911 p_lookup_type => 'XLA_OWNER_TYPE'
139912 ,p_lookup_code => l_component_type_code
139913 )
139914 ,p_token_4 => 'PRODUCT_NAME'
139915 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
139916 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
139917 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
139918 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
139919 ,p_ae_header_id => NULL
139920 );
139921
139922 IF (C_LEVEL_ERROR>= g_log_level) THEN
139923 trace
139924 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139925 ,p_level => C_LEVEL_ERROR
139926 ,p_module => l_log_module);
139927 END IF;
139928 END IF;
139929 END IF;
139930 --
139931 --
139932 ------------------------------------------------------------------------------------------------
139933 -- 4219869 Business Flow
139934 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
139935 -- Prior Entry. Currently, the following code is always generated.
139936 ------------------------------------------------------------------------------------------------
139937 XLA_AE_LINES_PKG.ValidateCurrentLine;
139938
139939 ------------------------------------------------------------------------------------
139940 -- 4219869 Business Flow
139941 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
139942 ------------------------------------------------------------------------------------
139943 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139944
139945 ----------------------------------------------------------------------------------
139946 -- 4219869 Business Flow
139947 -- Update journal entry status -- Need to generate this within IF <condition>
139948 ----------------------------------------------------------------------------------
139949 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139950 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
139951 ,p_balance_type_code => l_balance_type_code
139952 );
139953
139954 -------------------------------------------------------------------------------------------
139955 -- 4262811 - Generate the Accrual Reversal lines
139956 -------------------------------------------------------------------------------------------
139957 BEGIN
139958 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
139959 (g_array_event(p_event_id).array_value_num('header_index'));
139960 IF l_acc_rev_flag IS NULL THEN
139961 l_acc_rev_flag := 'N';
139962 END IF;
139963 EXCEPTION
139964 WHEN OTHERS THEN
139965 l_acc_rev_flag := 'N';
139966 END;
139967 --
139968 IF (l_acc_rev_flag = 'Y') THEN
139969
139970 -- 4645092 ------------------------------------------------------------------------------
139971 -- To allow MPA report to determine if it should generate report process
139972 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
139973 ------------------------------------------------------------------------------------------
139974
139975 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
139976 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
139977 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
139978 -- call ADRs
139979 -- Bug 4922099
139980 --
139981 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139982 (NVL(l_actual_upg_option, 'N') = 'O') OR
139986 NULL;
139983 (NVL(l_enc_upg_option, 'N') = 'O')
139984 )
139985 THEN
139987 --
139988 --
139989
139990 l_ccid := AcctDerRule_45(
139991 p_application_id => p_application_id
139992 , p_ae_header_id => l_ae_header_id
139993 , p_source_15 => p_source_15
139994 , p_source_15_meaning => p_source_15_meaning
139995 , p_source_30 => p_source_30
139996 , p_source_43 => p_source_43
139997 , x_transaction_coa_id => l_adr_transaction_coa_id
139998 , x_accounting_coa_id => l_adr_accounting_coa_id
139999 , x_value_type_code => l_adr_value_type_code
140000 , p_side => 'NA'
140001 );
140002
140003 xla_ae_lines_pkg.set_ccid(
140004 p_code_combination_id => l_ccid
140005 , p_value_type_code => l_adr_value_type_code
140006 , p_transaction_coa_id => l_adr_transaction_coa_id
140007 , p_accounting_coa_id => l_adr_accounting_coa_id
140008 , p_adr_code => 'AP_WH_DIST_ACCT'
140009 , p_adr_type_code => 'S'
140010 , p_component_type => l_component_type
140011 , p_component_code => l_component_code
140012 , p_component_type_code => l_component_type_code
140013 , p_component_appl_id => l_component_appl_id
140014 , p_amb_context_code => l_amb_context_code
140015 , p_side => 'NA'
140016 );
140017
140018
140019 l_segment := AcctDerRule_14(
140020 p_application_id => p_application_id
140021 , p_ae_header_id => l_ae_header_id
140022 , p_source_15 => p_source_15
140023 , p_source_15_meaning => p_source_15_meaning
140024 , p_source_30 => p_source_30
140025 , x_transaction_coa_id => l_adr_transaction_coa_id
140026 , x_accounting_coa_id => l_adr_accounting_coa_id
140027 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140028 , x_flex_value_set_id => l_adr_flex_value_set_id
140029 , x_value_type_code => l_adr_value_type_code
140030 , x_value_combination_id => l_adr_value_combination_id
140031 , x_value_segment_code => l_adr_value_segment_code
140032 , p_side => 'NA'
140033 , p_override_seg_flag => 'Y'
140034 );
140035
140036 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140037
140038 xla_ae_lines_pkg.set_segment(
140039 p_to_segment_code => 'GL_ACCOUNT'
140040 , p_segment_value => l_segment
140041 , p_from_segment_code => l_adr_value_segment_code
140042 , p_from_combination_id => l_adr_value_combination_id
140043 , p_value_type_code => l_adr_value_type_code
140044 , p_transaction_coa_id => l_adr_transaction_coa_id
140045 , p_accounting_coa_id => l_adr_accounting_coa_id
140046 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140047 , p_flex_value_set_id => l_adr_flex_value_set_id
140048 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140049 , p_adr_type_code => 'S'
140050 , p_component_type => l_component_type
140051 , p_component_code => l_component_code
140052 , p_component_type_code => l_component_type_code
140053 , p_component_appl_id => l_component_appl_id
140054 , p_amb_context_code => l_amb_context_code
140055 , p_entity_code => 'AP_PAYMENTS'
140056 , p_event_class_code => 'PAYMENTS'
140057 , p_side => 'NA'
140058 );
140059
140060 END IF;
140061
140062 l_segment := AcctDerRule_25(
140063 p_application_id => p_application_id
140064 , p_ae_header_id => l_ae_header_id
140065 , p_source_15 => p_source_15
140066 , p_source_15_meaning => p_source_15_meaning
140067 , p_source_43 => p_source_43
140068 , x_transaction_coa_id => l_adr_transaction_coa_id
140069 , x_accounting_coa_id => l_adr_accounting_coa_id
140070 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140071 , x_flex_value_set_id => l_adr_flex_value_set_id
140072 , x_value_type_code => l_adr_value_type_code
140073 , x_value_combination_id => l_adr_value_combination_id
140074 , x_value_segment_code => l_adr_value_segment_code
140075 , p_side => 'NA'
140076 , p_override_seg_flag => 'Y'
140077 );
140078
140079 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140080
140081 xla_ae_lines_pkg.set_segment(
140082 p_to_segment_code => 'GL_BALANCING'
140083 , p_segment_value => l_segment
140084 , p_from_segment_code => l_adr_value_segment_code
140085 , p_from_combination_id => l_adr_value_combination_id
140086 , p_value_type_code => l_adr_value_type_code
140087 , p_transaction_coa_id => l_adr_transaction_coa_id
140088 , p_accounting_coa_id => l_adr_accounting_coa_id
140089 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140090 , p_flex_value_set_id => l_adr_flex_value_set_id
140091 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140092 , p_adr_type_code => 'S'
140096 , p_component_appl_id => l_component_appl_id
140093 , p_component_type => l_component_type
140094 , p_component_code => l_component_code
140095 , p_component_type_code => l_component_type_code
140097 , p_amb_context_code => l_amb_context_code
140098 , p_entity_code => 'AP_PAYMENTS'
140099 , p_event_class_code => 'PAYMENTS'
140100 , p_side => 'NA'
140101 );
140102
140103 END IF;
140104
140105 --
140106 --
140107 END IF;
140108
140109 --
140110 -- Update the line information that should be overwritten
140111 --
140112 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
140113 p_header_num => 1);
140114 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
140115
140116 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
140117
140118 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
140119 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
140120 END IF;
140121
140122 --
140123 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
140124 --
140125 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
140126 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
140127 ELSE
140128 ---------------------------------------------------------------------------------------------------
140129 -- 4262811a Switch Sign
140130 ---------------------------------------------------------------------------------------------------
140131 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
140132 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140133 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140134 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140135 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140136 -- 5132302
140137 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
140138 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140139
140140 END IF;
140141
140142 -- 4955764
140143 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140144 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
140145
140146
140147 XLA_AE_LINES_PKG.ValidateCurrentLine;
140148 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140149
140150 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140151 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
140152 ,p_balance_type_code => l_balance_type_code);
140153
140154 END IF;
140155
140156 -----------------------------------------------------------------------------------------
140157 -- 4262811 Multiperiod Accounting
140158 -----------------------------------------------------------------------------------------
140159 -- No MPA option is assigned.
140160
140161
140162 END IF;
140163 END IF;
140164 --
140165
140166 --
140167 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140168 trace
140169 (p_msg => 'END of AcctLineType_221'
140170 ,p_level => C_LEVEL_PROCEDURE
140171 ,p_module => l_log_module);
140172 END IF;
140173 --
140174 EXCEPTION
140175 WHEN xla_exceptions_pkg.application_exception THEN
140176 RAISE;
140177 WHEN OTHERS THEN
140178 xla_exceptions_pkg.raise_message
140179 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_221');
140180 END AcctLineType_221;
140181 --
140182
140183 ---------------------------------------
140184 --
140185 -- PRIVATE FUNCTION
140186 -- AcctLineType_222
140187 --
140188 ---------------------------------------
140189 PROCEDURE AcctLineType_222 (
140190 p_application_id IN NUMBER
140191 ,p_event_id IN NUMBER
140192 ,p_calculate_acctd_flag IN VARCHAR2
140193 ,p_calculate_g_l_flag IN VARCHAR2
140194 ,p_actual_flag IN OUT VARCHAR2
140195 ,p_balance_type_code OUT VARCHAR2
140196 ,p_gain_or_loss_ref OUT VARCHAR2
140197
140198 --Invoice Distribution Description
140199 , p_source_1 IN VARCHAR2
140200 --Automatic Offsets Value
140201 , p_source_15 IN VARCHAR2
140202 , p_source_15_meaning IN VARCHAR2
140203 --Invoice Distribution Ledger Amount
140204 , p_source_21 IN NUMBER
140205 --Invoice Distribution Account
140206 , p_source_30 IN NUMBER
140207 --Invoice Distribution Type
140208 , p_source_33 IN VARCHAR2
140209 , p_source_33_meaning IN VARCHAR2
140210 --Withholding Related Distribution Account
140211 , p_source_43 IN NUMBER
140212 --Accounting Reversal Indicator
140213 , p_source_52 IN VARCHAR2
140217 , p_source_56 IN NUMBER
140214 --Distribution Link Type
140215 , p_source_54 IN VARCHAR2
140216 --Allocation to Main Distribution Identifier
140218 --Invoice Identifier
140219 , p_source_57 IN NUMBER
140220 --Invoice Distribution Identifier
140221 , p_source_63 IN NUMBER
140222 --Payables Encumbrance Upgrade Credit Account
140223 , p_source_64 IN NUMBER
140224 --Payables Encumbrance Upgrade Credit Amount
140225 , p_source_65 IN NUMBER
140226 --Invoice Currency Code
140227 , p_source_66 IN VARCHAR2
140228 --Payables Encumbrance Upgrade Credit Base Amount
140229 , p_source_67 IN NUMBER
140230 --Payables Encumbrance Upgrade Debit Account
140231 , p_source_68 IN NUMBER
140232 --Payables Encumbrance Upgrade Debit Amount
140233 , p_source_69 IN NUMBER
140234 --Payables Encumbrance Upgrade Debit Base Amount
140235 , p_source_70 IN NUMBER
140236 --Payables Encumbrance Upgrade Option
140237 , p_source_71 IN VARCHAR2
140238 --Invoice Distribution Amount
140239 , p_source_72 IN NUMBER
140240 --Deferred Accounting End Date
140241 , p_source_76 IN DATE
140242 --Deferred Accounting Option
140243 , p_source_77 IN VARCHAR2
140244 --Deferred Accounting Start Date
140245 , p_source_78 IN DATE
140246 --Override Accounted Amount Indicator
140247 , p_source_79 IN VARCHAR2
140248 , p_source_79_meaning IN VARCHAR2
140249 --Invoice Supplier Identifier
140250 , p_source_80 IN NUMBER
140251 --Invoice Supplier Site Identifier
140252 , p_source_81 IN NUMBER
140253 --Third Party Type
140254 , p_source_82 IN VARCHAR2
140255 --Parent Reversal Identifier
140256 , p_source_83 IN NUMBER
140257 --Invoice Distribution Statistical Amount
140258 , p_source_84 IN NUMBER
140259 --Invoice Distribution Tax Line Identifier
140260 , p_source_85 IN NUMBER
140261 --Invoice Distribution Tax Distribution Identifier from Tax
140262 , p_source_86 IN NUMBER
140263 --Invoice Distribution Summary Tax Line Identifier
140264 , p_source_87 IN NUMBER
140265 --Payables Upgrade Credit Encumbrance Type Identifier
140266 , p_source_88 IN NUMBER
140267 --Payables Upgrade Debit Encumbrance Type Identifier
140268 , p_source_89 IN NUMBER
140269 --Business Flow Accounts Payable Application Identifier
140270 , p_source_90 IN NUMBER
140271 --Business Flow Invoice Distribution Type
140272 , p_source_91 IN VARCHAR2
140273 --Business Flow Invoice Entity Code
140274 , p_source_92 IN VARCHAR2
140275 --Business Flow Invoice Distribution Identifier
140276 , p_source_93 IN NUMBER
140277 --Business Flow Invoice Identifier
140278 , p_source_94 IN NUMBER
140279 --Invoice Exchange Date
140280 , p_source_136 IN DATE
140281 --Invoice Exchange Rate
140282 , p_source_137 IN NUMBER
140283 --Invoice Exchange Rate Type
140284 , p_source_138 IN VARCHAR2
140285 )
140286 IS
140287
140288 l_component_type VARCHAR2(80);
140289 l_component_code VARCHAR2(30);
140290 l_component_type_code VARCHAR2(1);
140291 l_component_appl_id INTEGER;
140292 l_amb_context_code VARCHAR2(30);
140293 l_entity_code VARCHAR2(30);
140294 l_event_class_code VARCHAR2(30);
140295 l_ae_header_id NUMBER;
140296 l_event_type_code VARCHAR2(30);
140297 l_line_definition_code VARCHAR2(30);
140298 l_line_definition_owner_code VARCHAR2(1);
140299 --
140300 -- adr variables
140301 l_segment VARCHAR2(30);
140302 l_ccid NUMBER;
140303 l_adr_transaction_coa_id NUMBER;
140304 l_adr_accounting_coa_id NUMBER;
140305 l_adr_flexfield_segment_code VARCHAR2(30);
140306 l_adr_flex_value_set_id NUMBER;
140307 l_adr_value_type_code VARCHAR2(30);
140308 l_adr_value_combination_id NUMBER;
140309 l_adr_value_segment_code VARCHAR2(30);
140310
140311 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
140312 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
140313 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
140314 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
140315
140316 -- 4262811 Variables ------------------------------------------------------------------------------------------
140317 l_entered_amt_idx NUMBER;
140318 l_accted_amt_idx NUMBER;
140319 l_acc_rev_flag VARCHAR2(1);
140320 l_accrual_line_num NUMBER;
140321 l_tmp_amt NUMBER;
140322 l_acc_rev_natural_side_code VARCHAR2(1);
140323
140324 l_num_entries NUMBER;
140325 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
140326 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
140327 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
140328 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
140329 l_recog_line_1 NUMBER;
140330 l_recog_line_2 NUMBER;
140331
140332 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
140333 l_bflow_applied_to_amt NUMBER; -- 5132302
140337
140334 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
140335
140336 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
140338 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
140339 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
140340
140341 ---------------------------------------------------------------------------------------------------------------
140342
140343
140344 --
140345 -- bulk performance
140346 --
140347 l_balance_type_code VARCHAR2(1);
140348 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
140349 l_log_module VARCHAR2(240);
140350
140351 --
140352 -- Upgrade strategy
140353 --
140354 l_actual_upg_option VARCHAR2(1);
140355 l_enc_upg_option VARCHAR2(1);
140356
140357 --
140358 BEGIN
140359 --
140360 IF g_log_enabled THEN
140361 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_222';
140362 END IF;
140363 --
140364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140365
140366 trace
140367 (p_msg => 'BEGIN of AcctLineType_222'
140368 ,p_level => C_LEVEL_PROCEDURE
140369 ,p_module => l_log_module);
140370
140371 END IF;
140372 --
140373 l_component_type := 'AMB_JLT';
140374 l_component_code := 'AP_WITHHOLD_TAX_CM';
140375 l_component_type_code := 'S';
140376 l_component_appl_id := 200;
140377 l_amb_context_code := 'DEFAULT';
140378 l_entity_code := 'AP_INVOICES';
140379 l_event_class_code := 'CREDIT MEMOS';
140380 l_event_type_code := 'CREDIT MEMOS_ALL';
140381 l_line_definition_owner_code := 'S';
140382 l_line_definition_code := 'JA_CN_ACCRUAL_CREDIT_MEMOS_ALL';
140383 --
140384 l_balance_type_code := 'A';
140385 l_segment := NULL;
140386 l_ccid := NULL;
140387 l_adr_transaction_coa_id := NULL;
140388 l_adr_accounting_coa_id := NULL;
140389 l_adr_flexfield_segment_code := NULL;
140390 l_adr_flex_value_set_id := NULL;
140391 l_adr_value_type_code := NULL;
140392 l_adr_value_combination_id := NULL;
140393 l_adr_value_segment_code := NULL;
140394
140395 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
140396 l_bflow_class_code := ''; -- 4219869 Business Flow
140397 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
140398 l_budgetary_control_flag := 'N';
140399
140400 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140401 l_bflow_applied_to_amt := NULL; -- 5132302
140402 l_entered_amt_idx := NULL; -- 4262811
140403 l_accted_amt_idx := NULL; -- 4262811
140404 l_acc_rev_flag := NULL; -- 4262811
140405 l_accrual_line_num := NULL; -- 4262811
140406 l_tmp_amt := NULL; -- 4262811
140407 --
140408
140409 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
140410 l_balance_type_code <> 'B' THEN
140411 IF NVL(p_source_33,'
140412 ') = 'AWT'
140413 THEN
140414
140415 --
140416 XLA_AE_LINES_PKG.SetNewLine;
140417
140418 p_balance_type_code := l_balance_type_code;
140419 -- set the flag so later we will know whether the gain loss line needs to be created
140420
140421 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
140422 p_actual_flag :='A';
140423 END IF;
140424
140425 --
140426 -- bulk performance
140427 --
140428 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
140429 p_header_num => 0); -- 4262811
140430 --
140431 -- set accounting line options
140432 --
140433 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
140434 p_natural_side_code => 'D'
140435 , p_gain_or_loss_flag => 'N'
140436 , p_gl_transfer_mode_code => 'S'
140437 , p_acct_entry_type_code => 'A'
140438 , p_switch_side_flag => 'Y'
140439 , p_merge_duplicate_code => 'A'
140440 );
140441 --
140442 l_acc_rev_natural_side_code := 'C'; -- 4262811
140443 --
140444 --
140445 -- set accounting line type info
140446 --
140447 xla_ae_lines_pkg.SetAcctLineType
140448 (p_component_type => l_component_type
140449 ,p_event_type_code => l_event_type_code
140450 ,p_line_definition_owner_code => l_line_definition_owner_code
140451 ,p_line_definition_code => l_line_definition_code
140452 ,p_accounting_line_code => l_component_code
140453 ,p_accounting_line_type_code => l_component_type_code
140454 ,p_accounting_line_appl_id => l_component_appl_id
140455 ,p_amb_context_code => l_amb_context_code
140456 ,p_entity_code => l_entity_code
140457 ,p_event_class_code => l_event_class_code);
140458 --
140459 -- set accounting class
140460 --
140461 xla_ae_lines_pkg.SetAcctClass(
140462 p_accounting_class_code => 'AWT'
140463 , p_ae_header_id => l_ae_header_id
140464 );
140465
140466 --
140467 -- set rounding class
140471
140468 --
140469 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
140470 'AWT';
140472 --
140473 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
140474 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
140475 --
140476 -- bulk performance
140477 --
140478 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
140479
140480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
140481 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
140482
140483 -- 4955764
140484 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140485 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
140486
140487 -- 4458381 Public Sector Enh
140488
140489 --
140490 -- set accounting attributes for the line type
140491 --
140492 l_entered_amt_idx := 23;
140493 l_accted_amt_idx := 28;
140494 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140495 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
140496 l_rec_acct_attrs.array_char_value(1) := p_source_52;
140497 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
140498 l_rec_acct_attrs.array_num_value(2) :=
140499 xla_ae_sources_pkg.GetSystemSourceNum(
140500 p_source_code => 'XLA_EVENT_APPL_ID'
140501 , p_source_type_code => 'Y'
140502 , p_source_application_id => 602
140503 );
140504 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
140505 l_rec_acct_attrs.array_char_value(3) := p_source_54;
140506 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
140507 l_rec_acct_attrs.array_char_value(4) :=
140508 xla_ae_sources_pkg.GetSystemSourceChar(
140509 p_source_code => 'XLA_ENTITY_CODE'
140510 , p_source_type_code => 'Y'
140511 , p_source_application_id => 602
140512 );
140513 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
140514 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
140515 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
140516 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
140517 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
140518 l_rec_acct_attrs.array_num_value(7) := p_source_90;
140519 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
140520 l_rec_acct_attrs.array_char_value(8) := p_source_91;
140521 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
140522 l_rec_acct_attrs.array_char_value(9) := p_source_92;
140523 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
140524 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
140525 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
140526 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
140527 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
140528 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
140529 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
140530 l_rec_acct_attrs.array_char_value(13) := p_source_54;
140531 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
140532 l_rec_acct_attrs.array_num_value(14) := p_source_64;
140533 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
140534 l_rec_acct_attrs.array_num_value(15) := p_source_65;
140535 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
140536 l_rec_acct_attrs.array_char_value(16) := p_source_66;
140537 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
140538 l_rec_acct_attrs.array_num_value(17) := p_source_67;
140539 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
140540 l_rec_acct_attrs.array_num_value(18) := p_source_68;
140541 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
140542 l_rec_acct_attrs.array_num_value(19) := p_source_69;
140543 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
140544 l_rec_acct_attrs.array_char_value(20) := p_source_66;
140545 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
140546 l_rec_acct_attrs.array_num_value(21) := p_source_70;
140547 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
140548 l_rec_acct_attrs.array_char_value(22) := p_source_71;
140549 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
140550 l_rec_acct_attrs.array_num_value(23) := p_source_72;
140551 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
140552 l_rec_acct_attrs.array_char_value(24) := p_source_66;
140553 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
140554 l_rec_acct_attrs.array_date_value(25) := p_source_136;
140555 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
140556 l_rec_acct_attrs.array_num_value(26) := p_source_137;
140557 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
140558 l_rec_acct_attrs.array_char_value(27) := p_source_138;
140559 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
140560 l_rec_acct_attrs.array_num_value(28) := p_source_21;
140561 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
140562 l_rec_acct_attrs.array_date_value(29) := p_source_76;
140566 l_rec_acct_attrs.array_date_value(31) := p_source_78;
140563 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
140564 l_rec_acct_attrs.array_char_value(30) := p_source_77;
140565 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
140567 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
140568 l_rec_acct_attrs.array_char_value(32) := p_source_79;
140569 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
140570 l_rec_acct_attrs.array_num_value(33) := p_source_80;
140571 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
140572 l_rec_acct_attrs.array_num_value(34) := p_source_81;
140573 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
140574 l_rec_acct_attrs.array_char_value(35) := p_source_82;
140575 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
140576 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
140577 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
140578 l_rec_acct_attrs.array_char_value(37) := p_source_54;
140579 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
140580 l_rec_acct_attrs.array_num_value(38) := p_source_84;
140581 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
140582 l_rec_acct_attrs.array_num_value(39) := p_source_85;
140583 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
140584 l_rec_acct_attrs.array_num_value(40) := p_source_86;
140585 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
140586 l_rec_acct_attrs.array_num_value(41) := p_source_87;
140587 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
140588 l_rec_acct_attrs.array_num_value(42) := p_source_88;
140589 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
140590 l_rec_acct_attrs.array_num_value(43) := p_source_89;
140591
140592 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140593 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140594
140595 ---------------------------------------------------------------------------------------------------------------
140596 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140597 ---------------------------------------------------------------------------------------------------------------
140598 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140599
140600 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140601 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140602
140603 IF xla_accounting_cache_pkg.GetValueChar
140604 (p_source_code => 'LEDGER_CATEGORY_CODE'
140605 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140606 AND l_bflow_method_code = 'PRIOR_ENTRY'
140607 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140608 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140609 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140610 )
140611 THEN
140612 xla_ae_lines_pkg.BflowUpgEntry
140613 (p_business_method_code => l_bflow_method_code
140614 ,p_business_class_code => l_bflow_class_code
140615 ,p_balance_type => l_balance_type_code);
140616 ELSE
140617 NULL;
140618 -- No business flow processing for business flow method of NONE.
140619 END IF;
140620
140621 --
140622 -- call analytical criteria
140623 --
140624
140625 --
140626 -- call description
140627 --
140628
140629 xla_ae_lines_pkg.SetLineDescription(
140630 p_ae_header_id => l_ae_header_id
140631 ,p_description => Description_1 (
140632 p_application_id => p_application_id
140633 , p_ae_header_id => l_ae_header_id
140634 , p_source_1 => p_source_1
140635 )
140636 );
140637
140638
140639 --
140640 -- call ADRs
140641 -- Bug 4922099
140642 --
140643 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140644 (NVL(l_actual_upg_option, 'N') = 'O') OR
140645 (NVL(l_enc_upg_option, 'N') = 'O')
140646 )
140647 THEN
140648 NULL;
140649 --
140650 --
140651
140652 l_ccid := AcctDerRule_45(
140653 p_application_id => p_application_id
140654 , p_ae_header_id => l_ae_header_id
140655 , p_source_15 => p_source_15
140656 , p_source_15_meaning => p_source_15_meaning
140657 , p_source_30 => p_source_30
140658 , p_source_43 => p_source_43
140659 , x_transaction_coa_id => l_adr_transaction_coa_id
140660 , x_accounting_coa_id => l_adr_accounting_coa_id
140661 , x_value_type_code => l_adr_value_type_code
140662 , p_side => 'NA'
140663 );
140664
140665 xla_ae_lines_pkg.set_ccid(
140666 p_code_combination_id => l_ccid
140667 , p_value_type_code => l_adr_value_type_code
140668 , p_transaction_coa_id => l_adr_transaction_coa_id
140669 , p_accounting_coa_id => l_adr_accounting_coa_id
140670 , p_adr_code => 'AP_WH_DIST_ACCT'
140671 , p_adr_type_code => 'S'
140672 , p_component_type => l_component_type
140673 , p_component_code => l_component_code
140677 , p_side => 'NA'
140674 , p_component_type_code => l_component_type_code
140675 , p_component_appl_id => l_component_appl_id
140676 , p_amb_context_code => l_amb_context_code
140678 );
140679
140680
140681 l_segment := AcctDerRule_14(
140682 p_application_id => p_application_id
140683 , p_ae_header_id => l_ae_header_id
140684 , p_source_15 => p_source_15
140685 , p_source_15_meaning => p_source_15_meaning
140686 , p_source_30 => p_source_30
140687 , x_transaction_coa_id => l_adr_transaction_coa_id
140688 , x_accounting_coa_id => l_adr_accounting_coa_id
140689 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140690 , x_flex_value_set_id => l_adr_flex_value_set_id
140691 , x_value_type_code => l_adr_value_type_code
140692 , x_value_combination_id => l_adr_value_combination_id
140693 , x_value_segment_code => l_adr_value_segment_code
140694 , p_side => 'NA'
140695 , p_override_seg_flag => 'Y'
140696 );
140697
140698 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140699
140700 xla_ae_lines_pkg.set_segment(
140701 p_to_segment_code => 'GL_ACCOUNT'
140702 , p_segment_value => l_segment
140703 , p_from_segment_code => l_adr_value_segment_code
140704 , p_from_combination_id => l_adr_value_combination_id
140705 , p_value_type_code => l_adr_value_type_code
140706 , p_transaction_coa_id => l_adr_transaction_coa_id
140707 , p_accounting_coa_id => l_adr_accounting_coa_id
140708 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140709 , p_flex_value_set_id => l_adr_flex_value_set_id
140710 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140711 , p_adr_type_code => 'S'
140712 , p_component_type => l_component_type
140713 , p_component_code => l_component_code
140714 , p_component_type_code => l_component_type_code
140715 , p_component_appl_id => l_component_appl_id
140716 , p_amb_context_code => l_amb_context_code
140717 , p_entity_code => 'AP_INVOICES'
140718 , p_event_class_code => 'CREDIT MEMOS'
140719 , p_side => 'NA'
140720 );
140721
140722 END IF;
140723
140724 l_segment := AcctDerRule_25(
140725 p_application_id => p_application_id
140726 , p_ae_header_id => l_ae_header_id
140727 , p_source_15 => p_source_15
140728 , p_source_15_meaning => p_source_15_meaning
140729 , p_source_43 => p_source_43
140730 , x_transaction_coa_id => l_adr_transaction_coa_id
140731 , x_accounting_coa_id => l_adr_accounting_coa_id
140732 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140733 , x_flex_value_set_id => l_adr_flex_value_set_id
140734 , x_value_type_code => l_adr_value_type_code
140735 , x_value_combination_id => l_adr_value_combination_id
140736 , x_value_segment_code => l_adr_value_segment_code
140737 , p_side => 'NA'
140738 , p_override_seg_flag => 'Y'
140739 );
140740
140741 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140742
140743 xla_ae_lines_pkg.set_segment(
140744 p_to_segment_code => 'GL_BALANCING'
140745 , p_segment_value => l_segment
140746 , p_from_segment_code => l_adr_value_segment_code
140747 , p_from_combination_id => l_adr_value_combination_id
140748 , p_value_type_code => l_adr_value_type_code
140749 , p_transaction_coa_id => l_adr_transaction_coa_id
140750 , p_accounting_coa_id => l_adr_accounting_coa_id
140751 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140752 , p_flex_value_set_id => l_adr_flex_value_set_id
140753 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140754 , p_adr_type_code => 'S'
140755 , p_component_type => l_component_type
140756 , p_component_code => l_component_code
140757 , p_component_type_code => l_component_type_code
140758 , p_component_appl_id => l_component_appl_id
140759 , p_amb_context_code => l_amb_context_code
140760 , p_entity_code => 'AP_INVOICES'
140761 , p_event_class_code => 'CREDIT MEMOS'
140762 , p_side => 'NA'
140763 );
140764
140765 END IF;
140766
140767 --
140768 --
140769 END IF;
140770 --
140771 -- Bug 4922099
140772 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140773 (NVL(l_enc_upg_option, 'N') = 'O')
140774 ) AND
140775 (l_bflow_method_code = 'PRIOR_ENTRY')
140776 )
140777 THEN
140778 IF
140779 --
140780 1 = 2
140781 --
140782 THEN
140783 xla_accounting_err_pkg.build_message
140784 (p_appli_s_name => 'XLA'
140785 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140786 ,p_token_1 => 'LINE_NUMBER'
140790 l_component_type
140787 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140788 ,p_token_2 => 'LINE_TYPE_NAME'
140789 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140791 ,l_component_code
140792 ,l_component_type_code
140793 ,l_component_appl_id
140794 ,l_amb_context_code
140795 ,l_entity_code
140796 ,l_event_class_code
140797 )
140798 ,p_token_3 => 'OWNER'
140799 ,p_value_3 => xla_lookups_pkg.get_meaning(
140800 p_lookup_type => 'XLA_OWNER_TYPE'
140801 ,p_lookup_code => l_component_type_code
140802 )
140803 ,p_token_4 => 'PRODUCT_NAME'
140804 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140805 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140806 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140807 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140808 ,p_ae_header_id => NULL
140809 );
140810
140811 IF (C_LEVEL_ERROR>= g_log_level) THEN
140812 trace
140813 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140814 ,p_level => C_LEVEL_ERROR
140815 ,p_module => l_log_module);
140816 END IF;
140817 END IF;
140818 END IF;
140819 --
140820 --
140821 ------------------------------------------------------------------------------------------------
140822 -- 4219869 Business Flow
140823 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140824 -- Prior Entry. Currently, the following code is always generated.
140825 ------------------------------------------------------------------------------------------------
140826 XLA_AE_LINES_PKG.ValidateCurrentLine;
140827
140828 ------------------------------------------------------------------------------------
140829 -- 4219869 Business Flow
140830 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140831 ------------------------------------------------------------------------------------
140832 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140833
140834 ----------------------------------------------------------------------------------
140835 -- 4219869 Business Flow
140836 -- Update journal entry status -- Need to generate this within IF <condition>
140837 ----------------------------------------------------------------------------------
140838 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140839 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140840 ,p_balance_type_code => l_balance_type_code
140841 );
140842
140843 -------------------------------------------------------------------------------------------
140844 -- 4262811 - Generate the Accrual Reversal lines
140845 -------------------------------------------------------------------------------------------
140846 BEGIN
140847 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140848 (g_array_event(p_event_id).array_value_num('header_index'));
140849 IF l_acc_rev_flag IS NULL THEN
140850 l_acc_rev_flag := 'N';
140851 END IF;
140852 EXCEPTION
140853 WHEN OTHERS THEN
140854 l_acc_rev_flag := 'N';
140855 END;
140856 --
140857 IF (l_acc_rev_flag = 'Y') THEN
140858
140859 -- 4645092 ------------------------------------------------------------------------------
140860 -- To allow MPA report to determine if it should generate report process
140861 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140862 ------------------------------------------------------------------------------------------
140863
140864 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
140865 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
140866 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
140867 -- call ADRs
140868 -- Bug 4922099
140869 --
140870 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140871 (NVL(l_actual_upg_option, 'N') = 'O') OR
140872 (NVL(l_enc_upg_option, 'N') = 'O')
140873 )
140874 THEN
140875 NULL;
140876 --
140877 --
140878
140879 l_ccid := AcctDerRule_45(
140880 p_application_id => p_application_id
140884 , p_source_30 => p_source_30
140881 , p_ae_header_id => l_ae_header_id
140882 , p_source_15 => p_source_15
140883 , p_source_15_meaning => p_source_15_meaning
140885 , p_source_43 => p_source_43
140886 , x_transaction_coa_id => l_adr_transaction_coa_id
140887 , x_accounting_coa_id => l_adr_accounting_coa_id
140888 , x_value_type_code => l_adr_value_type_code
140889 , p_side => 'NA'
140890 );
140891
140892 xla_ae_lines_pkg.set_ccid(
140893 p_code_combination_id => l_ccid
140894 , p_value_type_code => l_adr_value_type_code
140895 , p_transaction_coa_id => l_adr_transaction_coa_id
140896 , p_accounting_coa_id => l_adr_accounting_coa_id
140897 , p_adr_code => 'AP_WH_DIST_ACCT'
140898 , p_adr_type_code => 'S'
140899 , p_component_type => l_component_type
140900 , p_component_code => l_component_code
140901 , p_component_type_code => l_component_type_code
140902 , p_component_appl_id => l_component_appl_id
140903 , p_amb_context_code => l_amb_context_code
140904 , p_side => 'NA'
140905 );
140906
140907
140908 l_segment := AcctDerRule_14(
140909 p_application_id => p_application_id
140910 , p_ae_header_id => l_ae_header_id
140911 , p_source_15 => p_source_15
140912 , p_source_15_meaning => p_source_15_meaning
140913 , p_source_30 => p_source_30
140914 , x_transaction_coa_id => l_adr_transaction_coa_id
140915 , x_accounting_coa_id => l_adr_accounting_coa_id
140916 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140917 , x_flex_value_set_id => l_adr_flex_value_set_id
140918 , x_value_type_code => l_adr_value_type_code
140919 , x_value_combination_id => l_adr_value_combination_id
140920 , x_value_segment_code => l_adr_value_segment_code
140921 , p_side => 'NA'
140922 , p_override_seg_flag => 'Y'
140923 );
140924
140925 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140926
140927 xla_ae_lines_pkg.set_segment(
140928 p_to_segment_code => 'GL_ACCOUNT'
140929 , p_segment_value => l_segment
140930 , p_from_segment_code => l_adr_value_segment_code
140931 , p_from_combination_id => l_adr_value_combination_id
140932 , p_value_type_code => l_adr_value_type_code
140933 , p_transaction_coa_id => l_adr_transaction_coa_id
140934 , p_accounting_coa_id => l_adr_accounting_coa_id
140935 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140936 , p_flex_value_set_id => l_adr_flex_value_set_id
140937 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140938 , p_adr_type_code => 'S'
140939 , p_component_type => l_component_type
140940 , p_component_code => l_component_code
140941 , p_component_type_code => l_component_type_code
140942 , p_component_appl_id => l_component_appl_id
140943 , p_amb_context_code => l_amb_context_code
140944 , p_entity_code => 'AP_INVOICES'
140945 , p_event_class_code => 'CREDIT MEMOS'
140946 , p_side => 'NA'
140947 );
140948
140949 END IF;
140950
140951 l_segment := AcctDerRule_25(
140952 p_application_id => p_application_id
140953 , p_ae_header_id => l_ae_header_id
140954 , p_source_15 => p_source_15
140955 , p_source_15_meaning => p_source_15_meaning
140956 , p_source_43 => p_source_43
140957 , x_transaction_coa_id => l_adr_transaction_coa_id
140958 , x_accounting_coa_id => l_adr_accounting_coa_id
140959 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140960 , x_flex_value_set_id => l_adr_flex_value_set_id
140961 , x_value_type_code => l_adr_value_type_code
140962 , x_value_combination_id => l_adr_value_combination_id
140963 , x_value_segment_code => l_adr_value_segment_code
140964 , p_side => 'NA'
140965 , p_override_seg_flag => 'Y'
140966 );
140967
140968 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140969
140970 xla_ae_lines_pkg.set_segment(
140971 p_to_segment_code => 'GL_BALANCING'
140972 , p_segment_value => l_segment
140973 , p_from_segment_code => l_adr_value_segment_code
140974 , p_from_combination_id => l_adr_value_combination_id
140975 , p_value_type_code => l_adr_value_type_code
140976 , p_transaction_coa_id => l_adr_transaction_coa_id
140977 , p_accounting_coa_id => l_adr_accounting_coa_id
140978 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140979 , p_flex_value_set_id => l_adr_flex_value_set_id
140980 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140981 , p_adr_type_code => 'S'
140982 , p_component_type => l_component_type
140983 , p_component_code => l_component_code
140984 , p_component_type_code => l_component_type_code
140985 , p_component_appl_id => l_component_appl_id
140986 , p_amb_context_code => l_amb_context_code
140990 );
140987 , p_entity_code => 'AP_INVOICES'
140988 , p_event_class_code => 'CREDIT MEMOS'
140989 , p_side => 'NA'
140991
140992 END IF;
140993
140994 --
140995 --
140996 END IF;
140997
140998 --
140999 -- Update the line information that should be overwritten
141000 --
141001 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
141002 p_header_num => 1);
141003 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
141004
141005 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
141006
141007 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
141008 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
141009 END IF;
141010
141011 --
141012 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
141013 --
141014 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
141015 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
141016 ELSE
141017 ---------------------------------------------------------------------------------------------------
141018 -- 4262811a Switch Sign
141019 ---------------------------------------------------------------------------------------------------
141020 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
141021 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141022 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141023 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141024 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141025 -- 5132302
141026 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
141027 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141028
141029 END IF;
141030
141031 -- 4955764
141032 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141033 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
141034
141035
141036 XLA_AE_LINES_PKG.ValidateCurrentLine;
141037 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141038
141039 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141040 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
141041 ,p_balance_type_code => l_balance_type_code);
141042
141043 END IF;
141044
141045 -----------------------------------------------------------------------------------------
141046 -- 4262811 Multiperiod Accounting
141047 -----------------------------------------------------------------------------------------
141048 -- No MPA option is assigned.
141049
141050
141051 END IF;
141052 END IF;
141053 --
141054
141055 --
141056 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141057 trace
141058 (p_msg => 'END of AcctLineType_222'
141059 ,p_level => C_LEVEL_PROCEDURE
141060 ,p_module => l_log_module);
141061 END IF;
141062 --
141063 EXCEPTION
141064 WHEN xla_exceptions_pkg.application_exception THEN
141065 RAISE;
141066 WHEN OTHERS THEN
141067 xla_exceptions_pkg.raise_message
141068 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_222');
141069 END AcctLineType_222;
141070 --
141071
141072 ---------------------------------------
141073 --
141074 -- PRIVATE FUNCTION
141075 -- AcctLineType_223
141076 --
141077 ---------------------------------------
141078 PROCEDURE AcctLineType_223 (
141079 p_application_id IN NUMBER
141080 ,p_event_id IN NUMBER
141081 ,p_calculate_acctd_flag IN VARCHAR2
141082 ,p_calculate_g_l_flag IN VARCHAR2
141083 ,p_actual_flag IN OUT VARCHAR2
141084 ,p_balance_type_code OUT VARCHAR2
141085 ,p_gain_or_loss_ref OUT VARCHAR2
141086
141087 --Invoice Distribution Description
141088 , p_source_1 IN VARCHAR2
141089 --Automatic Offsets Value
141090 , p_source_15 IN VARCHAR2
141091 , p_source_15_meaning IN VARCHAR2
141092 --Invoice Distribution Ledger Amount
141093 , p_source_21 IN NUMBER
141094 --Invoice Distribution Account
141095 , p_source_30 IN NUMBER
141096 --Invoice Distribution Type
141097 , p_source_33 IN VARCHAR2
141098 , p_source_33_meaning IN VARCHAR2
141099 --Withholding Related Distribution Account
141100 , p_source_43 IN NUMBER
141101 --Accounting Reversal Indicator
141102 , p_source_52 IN VARCHAR2
141103 --Distribution Link Type
141104 , p_source_54 IN VARCHAR2
141105 --Allocation to Main Distribution Identifier
141106 , p_source_56 IN NUMBER
141107 --Invoice Identifier
141108 , p_source_57 IN NUMBER
141109 --Invoice Distribution Identifier
141110 , p_source_63 IN NUMBER
141114 , p_source_65 IN NUMBER
141111 --Payables Encumbrance Upgrade Credit Account
141112 , p_source_64 IN NUMBER
141113 --Payables Encumbrance Upgrade Credit Amount
141115 --Invoice Currency Code
141116 , p_source_66 IN VARCHAR2
141117 --Payables Encumbrance Upgrade Credit Base Amount
141118 , p_source_67 IN NUMBER
141119 --Payables Encumbrance Upgrade Debit Account
141120 , p_source_68 IN NUMBER
141121 --Payables Encumbrance Upgrade Debit Amount
141122 , p_source_69 IN NUMBER
141123 --Payables Encumbrance Upgrade Debit Base Amount
141124 , p_source_70 IN NUMBER
141125 --Payables Encumbrance Upgrade Option
141126 , p_source_71 IN VARCHAR2
141127 --Invoice Distribution Amount
141128 , p_source_72 IN NUMBER
141129 --Deferred Accounting End Date
141130 , p_source_76 IN DATE
141131 --Deferred Accounting Option
141132 , p_source_77 IN VARCHAR2
141133 --Deferred Accounting Start Date
141134 , p_source_78 IN DATE
141135 --Override Accounted Amount Indicator
141136 , p_source_79 IN VARCHAR2
141137 , p_source_79_meaning IN VARCHAR2
141138 --Invoice Supplier Identifier
141139 , p_source_80 IN NUMBER
141140 --Invoice Supplier Site Identifier
141141 , p_source_81 IN NUMBER
141142 --Third Party Type
141143 , p_source_82 IN VARCHAR2
141144 --Parent Reversal Identifier
141145 , p_source_83 IN NUMBER
141146 --Invoice Distribution Tax Line Identifier
141147 , p_source_85 IN NUMBER
141148 --Invoice Distribution Tax Distribution Identifier from Tax
141149 , p_source_86 IN NUMBER
141150 --Invoice Distribution Summary Tax Line Identifier
141151 , p_source_87 IN NUMBER
141152 --Payables Upgrade Credit Encumbrance Type Identifier
141153 , p_source_88 IN NUMBER
141154 --Payables Upgrade Debit Encumbrance Type Identifier
141155 , p_source_89 IN NUMBER
141156 --Business Flow Accounts Payable Application Identifier
141157 , p_source_90 IN NUMBER
141158 --Business Flow Invoice Distribution Type
141159 , p_source_91 IN VARCHAR2
141160 --Business Flow Invoice Entity Code
141161 , p_source_92 IN VARCHAR2
141162 --Business Flow Invoice Distribution Identifier
141163 , p_source_93 IN NUMBER
141164 --Business Flow Invoice Identifier
141165 , p_source_94 IN NUMBER
141166 --Invoice Exchange Date
141167 , p_source_136 IN DATE
141168 --Invoice Exchange Rate
141169 , p_source_137 IN NUMBER
141170 --Invoice Exchange Rate Type
141171 , p_source_138 IN VARCHAR2
141172 )
141173 IS
141174
141175 l_component_type VARCHAR2(80);
141176 l_component_code VARCHAR2(30);
141177 l_component_type_code VARCHAR2(1);
141178 l_component_appl_id INTEGER;
141179 l_amb_context_code VARCHAR2(30);
141180 l_entity_code VARCHAR2(30);
141181 l_event_class_code VARCHAR2(30);
141182 l_ae_header_id NUMBER;
141183 l_event_type_code VARCHAR2(30);
141184 l_line_definition_code VARCHAR2(30);
141185 l_line_definition_owner_code VARCHAR2(1);
141186 --
141187 -- adr variables
141188 l_segment VARCHAR2(30);
141189 l_ccid NUMBER;
141190 l_adr_transaction_coa_id NUMBER;
141191 l_adr_accounting_coa_id NUMBER;
141192 l_adr_flexfield_segment_code VARCHAR2(30);
141193 l_adr_flex_value_set_id NUMBER;
141194 l_adr_value_type_code VARCHAR2(30);
141195 l_adr_value_combination_id NUMBER;
141196 l_adr_value_segment_code VARCHAR2(30);
141197
141198 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
141199 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
141200 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
141201 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
141202
141203 -- 4262811 Variables ------------------------------------------------------------------------------------------
141204 l_entered_amt_idx NUMBER;
141205 l_accted_amt_idx NUMBER;
141206 l_acc_rev_flag VARCHAR2(1);
141207 l_accrual_line_num NUMBER;
141208 l_tmp_amt NUMBER;
141209 l_acc_rev_natural_side_code VARCHAR2(1);
141210
141211 l_num_entries NUMBER;
141212 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
141213 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
141214 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
141215 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
141216 l_recog_line_1 NUMBER;
141217 l_recog_line_2 NUMBER;
141218
141219 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
141220 l_bflow_applied_to_amt NUMBER; -- 5132302
141221 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
141222
141223 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
141224
141225 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
141226 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
141227
141228 ---------------------------------------------------------------------------------------------------------------
141229
141230
141234 l_balance_type_code VARCHAR2(1);
141231 --
141232 -- bulk performance
141233 --
141235 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
141236 l_log_module VARCHAR2(240);
141237
141238 --
141239 -- Upgrade strategy
141240 --
141241 l_actual_upg_option VARCHAR2(1);
141242 l_enc_upg_option VARCHAR2(1);
141243
141244 --
141245 BEGIN
141246 --
141247 IF g_log_enabled THEN
141248 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_223';
141249 END IF;
141250 --
141251 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141252
141253 trace
141254 (p_msg => 'BEGIN of AcctLineType_223'
141255 ,p_level => C_LEVEL_PROCEDURE
141256 ,p_module => l_log_module);
141257
141258 END IF;
141259 --
141260 l_component_type := 'AMB_JLT';
141261 l_component_code := 'AP_WITHHOLD_TAX_DM';
141262 l_component_type_code := 'S';
141263 l_component_appl_id := 200;
141264 l_amb_context_code := 'DEFAULT';
141265 l_entity_code := 'AP_INVOICES';
141266 l_event_class_code := 'DEBIT MEMOS';
141267 l_event_type_code := 'DEBIT MEMOS_ALL';
141268 l_line_definition_owner_code := 'S';
141269 l_line_definition_code := 'JA_CN_ACCRUAL_DEBIT_MEMOS_ALL';
141270 --
141271 l_balance_type_code := 'A';
141272 l_segment := NULL;
141273 l_ccid := NULL;
141274 l_adr_transaction_coa_id := NULL;
141275 l_adr_accounting_coa_id := NULL;
141276 l_adr_flexfield_segment_code := NULL;
141277 l_adr_flex_value_set_id := NULL;
141278 l_adr_value_type_code := NULL;
141279 l_adr_value_combination_id := NULL;
141280 l_adr_value_segment_code := NULL;
141281
141282 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
141283 l_bflow_class_code := ''; -- 4219869 Business Flow
141284 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
141285 l_budgetary_control_flag := 'N';
141286
141287 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141288 l_bflow_applied_to_amt := NULL; -- 5132302
141289 l_entered_amt_idx := NULL; -- 4262811
141290 l_accted_amt_idx := NULL; -- 4262811
141291 l_acc_rev_flag := NULL; -- 4262811
141292 l_accrual_line_num := NULL; -- 4262811
141293 l_tmp_amt := NULL; -- 4262811
141294 --
141295
141296 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
141297 l_balance_type_code <> 'B' THEN
141298 IF NVL(p_source_33,'
141299 ') = 'AWT'
141300 THEN
141301
141302 --
141303 XLA_AE_LINES_PKG.SetNewLine;
141304
141305 p_balance_type_code := l_balance_type_code;
141306 -- set the flag so later we will know whether the gain loss line needs to be created
141307
141308 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
141309 p_actual_flag :='A';
141310 END IF;
141311
141312 --
141313 -- bulk performance
141314 --
141315 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
141316 p_header_num => 0); -- 4262811
141317 --
141318 -- set accounting line options
141319 --
141320 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
141321 p_natural_side_code => 'D'
141322 , p_gain_or_loss_flag => 'N'
141323 , p_gl_transfer_mode_code => 'S'
141324 , p_acct_entry_type_code => 'A'
141325 , p_switch_side_flag => 'Y'
141326 , p_merge_duplicate_code => 'A'
141327 );
141328 --
141329 l_acc_rev_natural_side_code := 'C'; -- 4262811
141330 --
141331 --
141332 -- set accounting line type info
141333 --
141334 xla_ae_lines_pkg.SetAcctLineType
141335 (p_component_type => l_component_type
141336 ,p_event_type_code => l_event_type_code
141337 ,p_line_definition_owner_code => l_line_definition_owner_code
141338 ,p_line_definition_code => l_line_definition_code
141339 ,p_accounting_line_code => l_component_code
141340 ,p_accounting_line_type_code => l_component_type_code
141341 ,p_accounting_line_appl_id => l_component_appl_id
141342 ,p_amb_context_code => l_amb_context_code
141343 ,p_entity_code => l_entity_code
141344 ,p_event_class_code => l_event_class_code);
141345 --
141346 -- set accounting class
141347 --
141348 xla_ae_lines_pkg.SetAcctClass(
141349 p_accounting_class_code => 'AWT'
141350 , p_ae_header_id => l_ae_header_id
141351 );
141352
141353 --
141354 -- set rounding class
141355 --
141356 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
141357 'AWT';
141358
141359 --
141360 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
141361 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
141362 --
141363 -- bulk performance
141364 --
141365 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
141369
141366
141367 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
141368 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
141370 -- 4955764
141371 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141372 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
141373
141374 -- 4458381 Public Sector Enh
141375
141376 --
141377 -- set accounting attributes for the line type
141378 --
141379 l_entered_amt_idx := 23;
141380 l_accted_amt_idx := 28;
141381 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141382 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
141383 l_rec_acct_attrs.array_char_value(1) := p_source_52;
141384 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
141385 l_rec_acct_attrs.array_num_value(2) :=
141386 xla_ae_sources_pkg.GetSystemSourceNum(
141387 p_source_code => 'XLA_EVENT_APPL_ID'
141388 , p_source_type_code => 'Y'
141389 , p_source_application_id => 602
141390 );
141391 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
141392 l_rec_acct_attrs.array_char_value(3) := p_source_54;
141393 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
141394 l_rec_acct_attrs.array_char_value(4) :=
141395 xla_ae_sources_pkg.GetSystemSourceChar(
141396 p_source_code => 'XLA_ENTITY_CODE'
141397 , p_source_type_code => 'Y'
141398 , p_source_application_id => 602
141399 );
141400 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
141401 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
141402 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
141403 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
141404 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
141405 l_rec_acct_attrs.array_num_value(7) := p_source_90;
141406 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
141407 l_rec_acct_attrs.array_char_value(8) := p_source_91;
141408 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
141409 l_rec_acct_attrs.array_char_value(9) := p_source_92;
141410 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
141411 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
141412 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
141413 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
141414 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
141415 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
141416 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
141417 l_rec_acct_attrs.array_char_value(13) := p_source_54;
141418 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
141419 l_rec_acct_attrs.array_num_value(14) := p_source_64;
141420 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
141421 l_rec_acct_attrs.array_num_value(15) := p_source_65;
141422 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
141423 l_rec_acct_attrs.array_char_value(16) := p_source_66;
141424 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
141425 l_rec_acct_attrs.array_num_value(17) := p_source_67;
141426 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
141427 l_rec_acct_attrs.array_num_value(18) := p_source_68;
141428 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
141429 l_rec_acct_attrs.array_num_value(19) := p_source_69;
141430 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
141431 l_rec_acct_attrs.array_char_value(20) := p_source_66;
141432 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
141433 l_rec_acct_attrs.array_num_value(21) := p_source_70;
141434 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
141435 l_rec_acct_attrs.array_char_value(22) := p_source_71;
141436 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
141437 l_rec_acct_attrs.array_num_value(23) := p_source_72;
141438 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
141439 l_rec_acct_attrs.array_char_value(24) := p_source_66;
141440 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
141441 l_rec_acct_attrs.array_date_value(25) := p_source_136;
141442 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
141443 l_rec_acct_attrs.array_num_value(26) := p_source_137;
141444 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
141445 l_rec_acct_attrs.array_char_value(27) := p_source_138;
141446 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
141447 l_rec_acct_attrs.array_num_value(28) := p_source_21;
141448 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
141449 l_rec_acct_attrs.array_date_value(29) := p_source_76;
141450 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
141451 l_rec_acct_attrs.array_char_value(30) := p_source_77;
141452 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
141453 l_rec_acct_attrs.array_date_value(31) := p_source_78;
141454 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
141455 l_rec_acct_attrs.array_char_value(32) := p_source_79;
141456 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
141457 l_rec_acct_attrs.array_num_value(33) := p_source_80;
141458 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
141462 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
141459 l_rec_acct_attrs.array_num_value(34) := p_source_81;
141460 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
141461 l_rec_acct_attrs.array_char_value(35) := p_source_82;
141463 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
141464 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
141465 l_rec_acct_attrs.array_char_value(37) := p_source_54;
141466 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
141467 l_rec_acct_attrs.array_num_value(38) := p_source_85;
141468 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
141469 l_rec_acct_attrs.array_num_value(39) := p_source_86;
141470 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
141471 l_rec_acct_attrs.array_num_value(40) := p_source_87;
141472 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
141473 l_rec_acct_attrs.array_num_value(41) := p_source_88;
141474 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
141475 l_rec_acct_attrs.array_num_value(42) := p_source_89;
141476
141477 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
141478 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
141479
141480 ---------------------------------------------------------------------------------------------------------------
141481 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
141482 ---------------------------------------------------------------------------------------------------------------
141483 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
141484
141485 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141486 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141487
141488 IF xla_accounting_cache_pkg.GetValueChar
141489 (p_source_code => 'LEDGER_CATEGORY_CODE'
141490 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
141491 AND l_bflow_method_code = 'PRIOR_ENTRY'
141492 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
141493 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
141494 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
141495 )
141496 THEN
141497 xla_ae_lines_pkg.BflowUpgEntry
141498 (p_business_method_code => l_bflow_method_code
141499 ,p_business_class_code => l_bflow_class_code
141500 ,p_balance_type => l_balance_type_code);
141501 ELSE
141502 NULL;
141503 -- No business flow processing for business flow method of NONE.
141504 END IF;
141505
141506 --
141507 -- call analytical criteria
141508 --
141509
141510 --
141511 -- call description
141512 --
141513
141514 xla_ae_lines_pkg.SetLineDescription(
141515 p_ae_header_id => l_ae_header_id
141516 ,p_description => Description_1 (
141517 p_application_id => p_application_id
141518 , p_ae_header_id => l_ae_header_id
141519 , p_source_1 => p_source_1
141520 )
141521 );
141522
141523
141524 --
141525 -- call ADRs
141526 -- Bug 4922099
141527 --
141528 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141529 (NVL(l_actual_upg_option, 'N') = 'O') OR
141530 (NVL(l_enc_upg_option, 'N') = 'O')
141531 )
141532 THEN
141533 NULL;
141534 --
141535 --
141536
141537 l_ccid := AcctDerRule_45(
141538 p_application_id => p_application_id
141539 , p_ae_header_id => l_ae_header_id
141540 , p_source_15 => p_source_15
141541 , p_source_15_meaning => p_source_15_meaning
141542 , p_source_30 => p_source_30
141543 , p_source_43 => p_source_43
141544 , x_transaction_coa_id => l_adr_transaction_coa_id
141545 , x_accounting_coa_id => l_adr_accounting_coa_id
141546 , x_value_type_code => l_adr_value_type_code
141547 , p_side => 'NA'
141548 );
141549
141550 xla_ae_lines_pkg.set_ccid(
141551 p_code_combination_id => l_ccid
141552 , p_value_type_code => l_adr_value_type_code
141553 , p_transaction_coa_id => l_adr_transaction_coa_id
141554 , p_accounting_coa_id => l_adr_accounting_coa_id
141555 , p_adr_code => 'AP_WH_DIST_ACCT'
141556 , p_adr_type_code => 'S'
141557 , p_component_type => l_component_type
141558 , p_component_code => l_component_code
141559 , p_component_type_code => l_component_type_code
141560 , p_component_appl_id => l_component_appl_id
141561 , p_amb_context_code => l_amb_context_code
141562 , p_side => 'NA'
141563 );
141564
141565
141566 l_segment := AcctDerRule_14(
141567 p_application_id => p_application_id
141568 , p_ae_header_id => l_ae_header_id
141569 , p_source_15 => p_source_15
141570 , p_source_15_meaning => p_source_15_meaning
141571 , p_source_30 => p_source_30
141572 , x_transaction_coa_id => l_adr_transaction_coa_id
141573 , x_accounting_coa_id => l_adr_accounting_coa_id
141577 , x_value_combination_id => l_adr_value_combination_id
141574 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141575 , x_flex_value_set_id => l_adr_flex_value_set_id
141576 , x_value_type_code => l_adr_value_type_code
141578 , x_value_segment_code => l_adr_value_segment_code
141579 , p_side => 'NA'
141580 , p_override_seg_flag => 'Y'
141581 );
141582
141583 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141584
141585 xla_ae_lines_pkg.set_segment(
141586 p_to_segment_code => 'GL_ACCOUNT'
141587 , p_segment_value => l_segment
141588 , p_from_segment_code => l_adr_value_segment_code
141589 , p_from_combination_id => l_adr_value_combination_id
141590 , p_value_type_code => l_adr_value_type_code
141591 , p_transaction_coa_id => l_adr_transaction_coa_id
141592 , p_accounting_coa_id => l_adr_accounting_coa_id
141593 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141594 , p_flex_value_set_id => l_adr_flex_value_set_id
141595 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141596 , p_adr_type_code => 'S'
141597 , p_component_type => l_component_type
141598 , p_component_code => l_component_code
141599 , p_component_type_code => l_component_type_code
141600 , p_component_appl_id => l_component_appl_id
141601 , p_amb_context_code => l_amb_context_code
141602 , p_entity_code => 'AP_INVOICES'
141603 , p_event_class_code => 'DEBIT MEMOS'
141604 , p_side => 'NA'
141605 );
141606
141607 END IF;
141608
141609 l_segment := AcctDerRule_25(
141610 p_application_id => p_application_id
141611 , p_ae_header_id => l_ae_header_id
141612 , p_source_15 => p_source_15
141613 , p_source_15_meaning => p_source_15_meaning
141614 , p_source_43 => p_source_43
141615 , x_transaction_coa_id => l_adr_transaction_coa_id
141616 , x_accounting_coa_id => l_adr_accounting_coa_id
141617 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141618 , x_flex_value_set_id => l_adr_flex_value_set_id
141619 , x_value_type_code => l_adr_value_type_code
141620 , x_value_combination_id => l_adr_value_combination_id
141621 , x_value_segment_code => l_adr_value_segment_code
141622 , p_side => 'NA'
141623 , p_override_seg_flag => 'Y'
141624 );
141625
141626 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141627
141628 xla_ae_lines_pkg.set_segment(
141629 p_to_segment_code => 'GL_BALANCING'
141630 , p_segment_value => l_segment
141631 , p_from_segment_code => l_adr_value_segment_code
141632 , p_from_combination_id => l_adr_value_combination_id
141633 , p_value_type_code => l_adr_value_type_code
141634 , p_transaction_coa_id => l_adr_transaction_coa_id
141635 , p_accounting_coa_id => l_adr_accounting_coa_id
141636 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141637 , p_flex_value_set_id => l_adr_flex_value_set_id
141638 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141639 , p_adr_type_code => 'S'
141640 , p_component_type => l_component_type
141641 , p_component_code => l_component_code
141642 , p_component_type_code => l_component_type_code
141643 , p_component_appl_id => l_component_appl_id
141644 , p_amb_context_code => l_amb_context_code
141645 , p_entity_code => 'AP_INVOICES'
141646 , p_event_class_code => 'DEBIT MEMOS'
141647 , p_side => 'NA'
141648 );
141649
141650 END IF;
141651
141652 --
141653 --
141654 END IF;
141655 --
141656 -- Bug 4922099
141657 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
141658 (NVL(l_enc_upg_option, 'N') = 'O')
141659 ) AND
141660 (l_bflow_method_code = 'PRIOR_ENTRY')
141661 )
141662 THEN
141663 IF
141664 --
141665 1 = 2
141666 --
141667 THEN
141668 xla_accounting_err_pkg.build_message
141669 (p_appli_s_name => 'XLA'
141670 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141671 ,p_token_1 => 'LINE_NUMBER'
141672 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
141673 ,p_token_2 => 'LINE_TYPE_NAME'
141674 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
141675 l_component_type
141676 ,l_component_code
141677 ,l_component_type_code
141678 ,l_component_appl_id
141679 ,l_amb_context_code
141683 ,p_token_3 => 'OWNER'
141680 ,l_entity_code
141681 ,l_event_class_code
141682 )
141684 ,p_value_3 => xla_lookups_pkg.get_meaning(
141685 p_lookup_type => 'XLA_OWNER_TYPE'
141686 ,p_lookup_code => l_component_type_code
141687 )
141688 ,p_token_4 => 'PRODUCT_NAME'
141689 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
141690 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
141691 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
141692 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
141693 ,p_ae_header_id => NULL
141694 );
141695
141696 IF (C_LEVEL_ERROR>= g_log_level) THEN
141697 trace
141698 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141699 ,p_level => C_LEVEL_ERROR
141700 ,p_module => l_log_module);
141701 END IF;
141702 END IF;
141703 END IF;
141704 --
141705 --
141706 ------------------------------------------------------------------------------------------------
141707 -- 4219869 Business Flow
141708 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
141709 -- Prior Entry. Currently, the following code is always generated.
141710 ------------------------------------------------------------------------------------------------
141711 XLA_AE_LINES_PKG.ValidateCurrentLine;
141712
141713 ------------------------------------------------------------------------------------
141714 -- 4219869 Business Flow
141715 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
141716 ------------------------------------------------------------------------------------
141717 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141718
141719 ----------------------------------------------------------------------------------
141720 -- 4219869 Business Flow
141721 -- Update journal entry status -- Need to generate this within IF <condition>
141722 ----------------------------------------------------------------------------------
141723 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141724 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
141725 ,p_balance_type_code => l_balance_type_code
141726 );
141727
141728 -------------------------------------------------------------------------------------------
141729 -- 4262811 - Generate the Accrual Reversal lines
141730 -------------------------------------------------------------------------------------------
141731 BEGIN
141732 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
141733 (g_array_event(p_event_id).array_value_num('header_index'));
141734 IF l_acc_rev_flag IS NULL THEN
141735 l_acc_rev_flag := 'N';
141736 END IF;
141737 EXCEPTION
141738 WHEN OTHERS THEN
141739 l_acc_rev_flag := 'N';
141740 END;
141741 --
141742 IF (l_acc_rev_flag = 'Y') THEN
141743
141744 -- 4645092 ------------------------------------------------------------------------------
141745 -- To allow MPA report to determine if it should generate report process
141746 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
141747 ------------------------------------------------------------------------------------------
141748
141749 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
141750 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
141751 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
141752 -- call ADRs
141753 -- Bug 4922099
141754 --
141755 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141756 (NVL(l_actual_upg_option, 'N') = 'O') OR
141757 (NVL(l_enc_upg_option, 'N') = 'O')
141758 )
141759 THEN
141760 NULL;
141761 --
141762 --
141763
141764 l_ccid := AcctDerRule_45(
141765 p_application_id => p_application_id
141766 , p_ae_header_id => l_ae_header_id
141767 , p_source_15 => p_source_15
141768 , p_source_15_meaning => p_source_15_meaning
141769 , p_source_30 => p_source_30
141770 , p_source_43 => p_source_43
141771 , x_transaction_coa_id => l_adr_transaction_coa_id
141772 , x_accounting_coa_id => l_adr_accounting_coa_id
141773 , x_value_type_code => l_adr_value_type_code
141774 , p_side => 'NA'
141775 );
141776
141777 xla_ae_lines_pkg.set_ccid(
141778 p_code_combination_id => l_ccid
141779 , p_value_type_code => l_adr_value_type_code
141780 , p_transaction_coa_id => l_adr_transaction_coa_id
141784 , p_component_type => l_component_type
141781 , p_accounting_coa_id => l_adr_accounting_coa_id
141782 , p_adr_code => 'AP_WH_DIST_ACCT'
141783 , p_adr_type_code => 'S'
141785 , p_component_code => l_component_code
141786 , p_component_type_code => l_component_type_code
141787 , p_component_appl_id => l_component_appl_id
141788 , p_amb_context_code => l_amb_context_code
141789 , p_side => 'NA'
141790 );
141791
141792
141793 l_segment := AcctDerRule_14(
141794 p_application_id => p_application_id
141795 , p_ae_header_id => l_ae_header_id
141796 , p_source_15 => p_source_15
141797 , p_source_15_meaning => p_source_15_meaning
141798 , p_source_30 => p_source_30
141799 , x_transaction_coa_id => l_adr_transaction_coa_id
141800 , x_accounting_coa_id => l_adr_accounting_coa_id
141801 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141802 , x_flex_value_set_id => l_adr_flex_value_set_id
141803 , x_value_type_code => l_adr_value_type_code
141804 , x_value_combination_id => l_adr_value_combination_id
141805 , x_value_segment_code => l_adr_value_segment_code
141806 , p_side => 'NA'
141807 , p_override_seg_flag => 'Y'
141808 );
141809
141810 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141811
141812 xla_ae_lines_pkg.set_segment(
141813 p_to_segment_code => 'GL_ACCOUNT'
141814 , p_segment_value => l_segment
141815 , p_from_segment_code => l_adr_value_segment_code
141816 , p_from_combination_id => l_adr_value_combination_id
141817 , p_value_type_code => l_adr_value_type_code
141818 , p_transaction_coa_id => l_adr_transaction_coa_id
141819 , p_accounting_coa_id => l_adr_accounting_coa_id
141820 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141821 , p_flex_value_set_id => l_adr_flex_value_set_id
141822 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141823 , p_adr_type_code => 'S'
141824 , p_component_type => l_component_type
141825 , p_component_code => l_component_code
141826 , p_component_type_code => l_component_type_code
141827 , p_component_appl_id => l_component_appl_id
141828 , p_amb_context_code => l_amb_context_code
141829 , p_entity_code => 'AP_INVOICES'
141830 , p_event_class_code => 'DEBIT MEMOS'
141831 , p_side => 'NA'
141832 );
141833
141834 END IF;
141835
141836 l_segment := AcctDerRule_25(
141837 p_application_id => p_application_id
141838 , p_ae_header_id => l_ae_header_id
141839 , p_source_15 => p_source_15
141840 , p_source_15_meaning => p_source_15_meaning
141841 , p_source_43 => p_source_43
141842 , x_transaction_coa_id => l_adr_transaction_coa_id
141843 , x_accounting_coa_id => l_adr_accounting_coa_id
141844 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141845 , x_flex_value_set_id => l_adr_flex_value_set_id
141846 , x_value_type_code => l_adr_value_type_code
141847 , x_value_combination_id => l_adr_value_combination_id
141848 , x_value_segment_code => l_adr_value_segment_code
141849 , p_side => 'NA'
141850 , p_override_seg_flag => 'Y'
141851 );
141852
141853 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141854
141855 xla_ae_lines_pkg.set_segment(
141856 p_to_segment_code => 'GL_BALANCING'
141857 , p_segment_value => l_segment
141858 , p_from_segment_code => l_adr_value_segment_code
141859 , p_from_combination_id => l_adr_value_combination_id
141860 , p_value_type_code => l_adr_value_type_code
141861 , p_transaction_coa_id => l_adr_transaction_coa_id
141862 , p_accounting_coa_id => l_adr_accounting_coa_id
141863 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141864 , p_flex_value_set_id => l_adr_flex_value_set_id
141865 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141866 , p_adr_type_code => 'S'
141867 , p_component_type => l_component_type
141868 , p_component_code => l_component_code
141869 , p_component_type_code => l_component_type_code
141870 , p_component_appl_id => l_component_appl_id
141871 , p_amb_context_code => l_amb_context_code
141872 , p_entity_code => 'AP_INVOICES'
141873 , p_event_class_code => 'DEBIT MEMOS'
141874 , p_side => 'NA'
141875 );
141876
141877 END IF;
141878
141879 --
141880 --
141881 END IF;
141882
141883 --
141884 -- Update the line information that should be overwritten
141885 --
141886 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
141887 p_header_num => 1);
141888 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
141889
141893 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
141890 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
141891
141892 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
141894 END IF;
141895
141896 --
141897 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
141898 --
141899 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
141900 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
141901 ELSE
141902 ---------------------------------------------------------------------------------------------------
141903 -- 4262811a Switch Sign
141904 ---------------------------------------------------------------------------------------------------
141905 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
141906 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141907 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141908 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141909 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141910 -- 5132302
141911 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
141912 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141913
141914 END IF;
141915
141916 -- 4955764
141917 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141918 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
141919
141920
141921 XLA_AE_LINES_PKG.ValidateCurrentLine;
141922 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141923
141924 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141925 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
141926 ,p_balance_type_code => l_balance_type_code);
141927
141928 END IF;
141929
141930 -----------------------------------------------------------------------------------------
141931 -- 4262811 Multiperiod Accounting
141932 -----------------------------------------------------------------------------------------
141933 -- No MPA option is assigned.
141934
141935
141936 END IF;
141937 END IF;
141938 --
141939
141940 --
141941 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141942 trace
141943 (p_msg => 'END of AcctLineType_223'
141944 ,p_level => C_LEVEL_PROCEDURE
141945 ,p_module => l_log_module);
141946 END IF;
141947 --
141948 EXCEPTION
141949 WHEN xla_exceptions_pkg.application_exception THEN
141950 RAISE;
141951 WHEN OTHERS THEN
141952 xla_exceptions_pkg.raise_message
141953 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_223');
141954 END AcctLineType_223;
141955 --
141956
141957 ---------------------------------------
141958 --
141959 -- PRIVATE FUNCTION
141960 -- AcctLineType_224
141961 --
141962 ---------------------------------------
141963 PROCEDURE AcctLineType_224 (
141964 p_application_id IN NUMBER
141965 ,p_event_id IN NUMBER
141966 ,p_calculate_acctd_flag IN VARCHAR2
141967 ,p_calculate_g_l_flag IN VARCHAR2
141968 ,p_actual_flag IN OUT VARCHAR2
141969 ,p_balance_type_code OUT VARCHAR2
141970 ,p_gain_or_loss_ref OUT VARCHAR2
141971
141972 --Invoice Distribution Description
141973 , p_source_1 IN VARCHAR2
141974 --Automatic Offsets Value
141975 , p_source_15 IN VARCHAR2
141976 , p_source_15_meaning IN VARCHAR2
141977 --Invoice Distribution Ledger Amount
141978 , p_source_21 IN NUMBER
141979 --Invoice Distribution Account
141980 , p_source_30 IN NUMBER
141981 --Invoice Distribution Type
141982 , p_source_33 IN VARCHAR2
141983 , p_source_33_meaning IN VARCHAR2
141984 --Withholding Related Distribution Account
141985 , p_source_43 IN NUMBER
141986 --Accounting Reversal Indicator
141987 , p_source_52 IN VARCHAR2
141988 --Distribution Link Type
141989 , p_source_54 IN VARCHAR2
141990 --Allocation to Main Distribution Identifier
141991 , p_source_56 IN NUMBER
141992 --Invoice Identifier
141993 , p_source_57 IN NUMBER
141994 --Invoice Distribution Identifier
141995 , p_source_63 IN NUMBER
141996 --Payables Encumbrance Upgrade Credit Account
141997 , p_source_64 IN NUMBER
141998 --Payables Encumbrance Upgrade Credit Amount
141999 , p_source_65 IN NUMBER
142000 --Invoice Currency Code
142001 , p_source_66 IN VARCHAR2
142002 --Payables Encumbrance Upgrade Credit Base Amount
142003 , p_source_67 IN NUMBER
142004 --Payables Encumbrance Upgrade Debit Account
142005 , p_source_68 IN NUMBER
142006 --Payables Encumbrance Upgrade Debit Amount
142007 , p_source_69 IN NUMBER
142008 --Payables Encumbrance Upgrade Debit Base Amount
142009 , p_source_70 IN NUMBER
142010 --Payables Encumbrance Upgrade Option
142014 --Deferred Accounting End Date
142011 , p_source_71 IN VARCHAR2
142012 --Invoice Distribution Amount
142013 , p_source_72 IN NUMBER
142015 , p_source_76 IN DATE
142016 --Deferred Accounting Option
142017 , p_source_77 IN VARCHAR2
142018 --Deferred Accounting Start Date
142019 , p_source_78 IN DATE
142020 --Override Accounted Amount Indicator
142021 , p_source_79 IN VARCHAR2
142022 , p_source_79_meaning IN VARCHAR2
142023 --Invoice Supplier Identifier
142024 , p_source_80 IN NUMBER
142025 --Invoice Supplier Site Identifier
142026 , p_source_81 IN NUMBER
142027 --Third Party Type
142028 , p_source_82 IN VARCHAR2
142029 --Parent Reversal Identifier
142030 , p_source_83 IN NUMBER
142031 --Invoice Distribution Statistical Amount
142032 , p_source_84 IN NUMBER
142033 --Invoice Distribution Tax Line Identifier
142034 , p_source_85 IN NUMBER
142035 --Invoice Distribution Tax Distribution Identifier from Tax
142036 , p_source_86 IN NUMBER
142037 --Invoice Distribution Summary Tax Line Identifier
142038 , p_source_87 IN NUMBER
142039 --Payables Upgrade Credit Encumbrance Type Identifier
142040 , p_source_88 IN NUMBER
142041 --Payables Upgrade Debit Encumbrance Type Identifier
142042 , p_source_89 IN NUMBER
142043 --Business Flow Accounts Payable Application Identifier
142044 , p_source_90 IN NUMBER
142045 --Business Flow Invoice Distribution Type
142046 , p_source_91 IN VARCHAR2
142047 --Business Flow Invoice Entity Code
142048 , p_source_92 IN VARCHAR2
142049 --Business Flow Invoice Distribution Identifier
142050 , p_source_93 IN NUMBER
142051 --Business Flow Invoice Identifier
142052 , p_source_94 IN NUMBER
142053 --Invoice Exchange Date
142054 , p_source_136 IN DATE
142055 --Invoice Exchange Rate
142056 , p_source_137 IN NUMBER
142057 --Invoice Exchange Rate Type
142058 , p_source_138 IN VARCHAR2
142059 )
142060 IS
142061
142062 l_component_type VARCHAR2(80);
142063 l_component_code VARCHAR2(30);
142064 l_component_type_code VARCHAR2(1);
142065 l_component_appl_id INTEGER;
142066 l_amb_context_code VARCHAR2(30);
142067 l_entity_code VARCHAR2(30);
142068 l_event_class_code VARCHAR2(30);
142069 l_ae_header_id NUMBER;
142070 l_event_type_code VARCHAR2(30);
142071 l_line_definition_code VARCHAR2(30);
142072 l_line_definition_owner_code VARCHAR2(1);
142073 --
142074 -- adr variables
142075 l_segment VARCHAR2(30);
142076 l_ccid NUMBER;
142077 l_adr_transaction_coa_id NUMBER;
142078 l_adr_accounting_coa_id NUMBER;
142079 l_adr_flexfield_segment_code VARCHAR2(30);
142080 l_adr_flex_value_set_id NUMBER;
142081 l_adr_value_type_code VARCHAR2(30);
142082 l_adr_value_combination_id NUMBER;
142083 l_adr_value_segment_code VARCHAR2(30);
142084
142085 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142086 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142087 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142088 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142089
142090 -- 4262811 Variables ------------------------------------------------------------------------------------------
142091 l_entered_amt_idx NUMBER;
142092 l_accted_amt_idx NUMBER;
142093 l_acc_rev_flag VARCHAR2(1);
142094 l_accrual_line_num NUMBER;
142095 l_tmp_amt NUMBER;
142096 l_acc_rev_natural_side_code VARCHAR2(1);
142097
142098 l_num_entries NUMBER;
142099 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142100 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142101 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142102 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142103 l_recog_line_1 NUMBER;
142104 l_recog_line_2 NUMBER;
142105
142106 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142107 l_bflow_applied_to_amt NUMBER; -- 5132302
142108 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
142109
142110 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
142111
142112 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
142113 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
142114
142115 ---------------------------------------------------------------------------------------------------------------
142116
142117
142118 --
142119 -- bulk performance
142120 --
142121 l_balance_type_code VARCHAR2(1);
142122 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
142123 l_log_module VARCHAR2(240);
142124
142125 --
142126 -- Upgrade strategy
142127 --
142128 l_actual_upg_option VARCHAR2(1);
142129 l_enc_upg_option VARCHAR2(1);
142130
142131 --
142132 BEGIN
142133 --
142134 IF g_log_enabled THEN
142135 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_224';
142136 END IF;
142137 --
142141 (p_msg => 'BEGIN of AcctLineType_224'
142138 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142139
142140 trace
142142 ,p_level => C_LEVEL_PROCEDURE
142143 ,p_module => l_log_module);
142144
142145 END IF;
142146 --
142147 l_component_type := 'AMB_JLT';
142148 l_component_code := 'AP_WITHHOLD_TAX_INV';
142149 l_component_type_code := 'S';
142150 l_component_appl_id := 200;
142151 l_amb_context_code := 'DEFAULT';
142152 l_entity_code := 'AP_INVOICES';
142153 l_event_class_code := 'INVOICES';
142154 l_event_type_code := 'INVOICES_ALL';
142155 l_line_definition_owner_code := 'S';
142156 l_line_definition_code := 'JA_CN_ACCRUAL_INVOICES_ALL';
142157 --
142158 l_balance_type_code := 'A';
142159 l_segment := NULL;
142160 l_ccid := NULL;
142161 l_adr_transaction_coa_id := NULL;
142162 l_adr_accounting_coa_id := NULL;
142163 l_adr_flexfield_segment_code := NULL;
142164 l_adr_flex_value_set_id := NULL;
142165 l_adr_value_type_code := NULL;
142166 l_adr_value_combination_id := NULL;
142167 l_adr_value_segment_code := NULL;
142168
142169 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
142170 l_bflow_class_code := ''; -- 4219869 Business Flow
142171 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
142172 l_budgetary_control_flag := 'N';
142173
142174 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142175 l_bflow_applied_to_amt := NULL; -- 5132302
142176 l_entered_amt_idx := NULL; -- 4262811
142177 l_accted_amt_idx := NULL; -- 4262811
142178 l_acc_rev_flag := NULL; -- 4262811
142179 l_accrual_line_num := NULL; -- 4262811
142180 l_tmp_amt := NULL; -- 4262811
142181 --
142182
142183 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
142184 l_balance_type_code <> 'B' THEN
142185 IF NVL(p_source_33,'
142186 ') = 'AWT'
142187 THEN
142188
142189 --
142190 XLA_AE_LINES_PKG.SetNewLine;
142191
142192 p_balance_type_code := l_balance_type_code;
142193 -- set the flag so later we will know whether the gain loss line needs to be created
142194
142195 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
142196 p_actual_flag :='A';
142197 END IF;
142198
142199 --
142200 -- bulk performance
142201 --
142202 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
142203 p_header_num => 0); -- 4262811
142204 --
142205 -- set accounting line options
142206 --
142207 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
142208 p_natural_side_code => 'D'
142209 , p_gain_or_loss_flag => 'N'
142210 , p_gl_transfer_mode_code => 'S'
142211 , p_acct_entry_type_code => 'A'
142212 , p_switch_side_flag => 'Y'
142213 , p_merge_duplicate_code => 'A'
142214 );
142215 --
142216 l_acc_rev_natural_side_code := 'C'; -- 4262811
142217 --
142218 --
142219 -- set accounting line type info
142220 --
142221 xla_ae_lines_pkg.SetAcctLineType
142222 (p_component_type => l_component_type
142223 ,p_event_type_code => l_event_type_code
142224 ,p_line_definition_owner_code => l_line_definition_owner_code
142225 ,p_line_definition_code => l_line_definition_code
142226 ,p_accounting_line_code => l_component_code
142227 ,p_accounting_line_type_code => l_component_type_code
142228 ,p_accounting_line_appl_id => l_component_appl_id
142229 ,p_amb_context_code => l_amb_context_code
142230 ,p_entity_code => l_entity_code
142231 ,p_event_class_code => l_event_class_code);
142232 --
142233 -- set accounting class
142234 --
142235 xla_ae_lines_pkg.SetAcctClass(
142236 p_accounting_class_code => 'AWT'
142237 , p_ae_header_id => l_ae_header_id
142238 );
142239
142240 --
142241 -- set rounding class
142242 --
142243 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
142244 'AWT';
142245
142246 --
142247 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
142248 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
142249 --
142250 -- bulk performance
142251 --
142252 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
142253
142254 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
142255 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
142256
142257 -- 4955764
142258 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142259 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
142260
142261 -- 4458381 Public Sector Enh
142262
142263 --
142264 -- set accounting attributes for the line type
142265 --
142266 l_entered_amt_idx := 24;
142270 l_rec_acct_attrs.array_char_value(1) := p_source_52;
142267 l_accted_amt_idx := 29;
142268 l_bflow_applied_to_amt_idx := 7; -- 5132302
142269 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
142271 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
142272 l_rec_acct_attrs.array_num_value(2) :=
142273 xla_ae_sources_pkg.GetSystemSourceNum(
142274 p_source_code => 'XLA_EVENT_APPL_ID'
142275 , p_source_type_code => 'Y'
142276 , p_source_application_id => 602
142277 );
142278 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
142279 l_rec_acct_attrs.array_char_value(3) := p_source_54;
142280 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
142281 l_rec_acct_attrs.array_char_value(4) :=
142282 xla_ae_sources_pkg.GetSystemSourceChar(
142283 p_source_code => 'XLA_ENTITY_CODE'
142284 , p_source_type_code => 'Y'
142285 , p_source_application_id => 602
142286 );
142287 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
142288 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
142289 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
142290 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
142291 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
142292 l_rec_acct_attrs.array_num_value(7) := p_source_72;
142293 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
142294 l_rec_acct_attrs.array_num_value(8) := p_source_90;
142295 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
142296 l_rec_acct_attrs.array_char_value(9) := p_source_91;
142297 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
142298 l_rec_acct_attrs.array_char_value(10) := p_source_92;
142299 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
142300 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_93);
142301 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
142302 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_94);
142303 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
142304 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_63);
142305 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
142306 l_rec_acct_attrs.array_char_value(14) := p_source_54;
142307 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
142308 l_rec_acct_attrs.array_num_value(15) := p_source_64;
142309 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
142310 l_rec_acct_attrs.array_num_value(16) := p_source_65;
142311 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
142312 l_rec_acct_attrs.array_char_value(17) := p_source_66;
142313 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
142314 l_rec_acct_attrs.array_num_value(18) := p_source_67;
142315 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
142316 l_rec_acct_attrs.array_num_value(19) := p_source_68;
142317 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
142318 l_rec_acct_attrs.array_num_value(20) := p_source_69;
142319 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
142320 l_rec_acct_attrs.array_char_value(21) := p_source_66;
142321 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
142322 l_rec_acct_attrs.array_num_value(22) := p_source_70;
142323 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
142324 l_rec_acct_attrs.array_char_value(23) := p_source_71;
142325 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
142326 l_rec_acct_attrs.array_num_value(24) := p_source_72;
142327 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
142328 l_rec_acct_attrs.array_char_value(25) := p_source_66;
142329 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
142330 l_rec_acct_attrs.array_date_value(26) := p_source_136;
142331 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
142332 l_rec_acct_attrs.array_num_value(27) := p_source_137;
142333 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
142334 l_rec_acct_attrs.array_char_value(28) := p_source_138;
142335 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
142336 l_rec_acct_attrs.array_num_value(29) := p_source_21;
142337 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
142338 l_rec_acct_attrs.array_date_value(30) := p_source_76;
142339 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
142340 l_rec_acct_attrs.array_char_value(31) := p_source_77;
142341 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
142342 l_rec_acct_attrs.array_date_value(32) := p_source_78;
142343 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
142344 l_rec_acct_attrs.array_char_value(33) := p_source_79;
142345 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
142346 l_rec_acct_attrs.array_num_value(34) := p_source_80;
142347 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
142348 l_rec_acct_attrs.array_num_value(35) := p_source_81;
142349 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
142350 l_rec_acct_attrs.array_char_value(36) := p_source_82;
142351 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
142352 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_83);
142353 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
142357 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
142354 l_rec_acct_attrs.array_char_value(38) := p_source_54;
142355 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
142356 l_rec_acct_attrs.array_num_value(39) := p_source_84;
142358 l_rec_acct_attrs.array_num_value(40) := p_source_85;
142359 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
142360 l_rec_acct_attrs.array_num_value(41) := p_source_86;
142361 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
142362 l_rec_acct_attrs.array_num_value(42) := p_source_87;
142363 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
142364 l_rec_acct_attrs.array_num_value(43) := p_source_88;
142365 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
142366 l_rec_acct_attrs.array_num_value(44) := p_source_89;
142367
142368 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
142369 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
142370
142371 ---------------------------------------------------------------------------------------------------------------
142372 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
142373 ---------------------------------------------------------------------------------------------------------------
142374 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
142375
142376 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142377 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142378
142379 IF xla_accounting_cache_pkg.GetValueChar
142380 (p_source_code => 'LEDGER_CATEGORY_CODE'
142381 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
142382 AND l_bflow_method_code = 'PRIOR_ENTRY'
142383 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
142384 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
142385 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
142386 )
142387 THEN
142388 xla_ae_lines_pkg.BflowUpgEntry
142389 (p_business_method_code => l_bflow_method_code
142390 ,p_business_class_code => l_bflow_class_code
142391 ,p_balance_type => l_balance_type_code);
142392 ELSE
142393 NULL;
142394 -- No business flow processing for business flow method of NONE.
142395 END IF;
142396
142397 --
142398 -- call analytical criteria
142399 --
142400
142401 --
142402 -- call description
142403 --
142404
142405 xla_ae_lines_pkg.SetLineDescription(
142406 p_ae_header_id => l_ae_header_id
142407 ,p_description => Description_1 (
142408 p_application_id => p_application_id
142409 , p_ae_header_id => l_ae_header_id
142410 , p_source_1 => p_source_1
142411 )
142412 );
142413
142414
142415 --
142416 -- call ADRs
142417 -- Bug 4922099
142418 --
142419 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142420 (NVL(l_actual_upg_option, 'N') = 'O') OR
142421 (NVL(l_enc_upg_option, 'N') = 'O')
142422 )
142423 THEN
142424 NULL;
142425 --
142426 --
142427
142428 l_ccid := AcctDerRule_45(
142429 p_application_id => p_application_id
142430 , p_ae_header_id => l_ae_header_id
142431 , p_source_15 => p_source_15
142432 , p_source_15_meaning => p_source_15_meaning
142433 , p_source_30 => p_source_30
142434 , p_source_43 => p_source_43
142435 , x_transaction_coa_id => l_adr_transaction_coa_id
142436 , x_accounting_coa_id => l_adr_accounting_coa_id
142437 , x_value_type_code => l_adr_value_type_code
142438 , p_side => 'NA'
142439 );
142440
142441 xla_ae_lines_pkg.set_ccid(
142442 p_code_combination_id => l_ccid
142443 , p_value_type_code => l_adr_value_type_code
142444 , p_transaction_coa_id => l_adr_transaction_coa_id
142445 , p_accounting_coa_id => l_adr_accounting_coa_id
142446 , p_adr_code => 'AP_WH_DIST_ACCT'
142447 , p_adr_type_code => 'S'
142448 , p_component_type => l_component_type
142449 , p_component_code => l_component_code
142450 , p_component_type_code => l_component_type_code
142451 , p_component_appl_id => l_component_appl_id
142452 , p_amb_context_code => l_amb_context_code
142453 , p_side => 'NA'
142454 );
142455
142456
142457 l_segment := AcctDerRule_14(
142458 p_application_id => p_application_id
142459 , p_ae_header_id => l_ae_header_id
142460 , p_source_15 => p_source_15
142461 , p_source_15_meaning => p_source_15_meaning
142462 , p_source_30 => p_source_30
142463 , x_transaction_coa_id => l_adr_transaction_coa_id
142464 , x_accounting_coa_id => l_adr_accounting_coa_id
142465 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142466 , x_flex_value_set_id => l_adr_flex_value_set_id
142467 , x_value_type_code => l_adr_value_type_code
142468 , x_value_combination_id => l_adr_value_combination_id
142472 );
142469 , x_value_segment_code => l_adr_value_segment_code
142470 , p_side => 'NA'
142471 , p_override_seg_flag => 'Y'
142473
142474 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142475
142476 xla_ae_lines_pkg.set_segment(
142477 p_to_segment_code => 'GL_ACCOUNT'
142478 , p_segment_value => l_segment
142479 , p_from_segment_code => l_adr_value_segment_code
142480 , p_from_combination_id => l_adr_value_combination_id
142481 , p_value_type_code => l_adr_value_type_code
142482 , p_transaction_coa_id => l_adr_transaction_coa_id
142483 , p_accounting_coa_id => l_adr_accounting_coa_id
142484 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142485 , p_flex_value_set_id => l_adr_flex_value_set_id
142486 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142487 , p_adr_type_code => 'S'
142488 , p_component_type => l_component_type
142489 , p_component_code => l_component_code
142490 , p_component_type_code => l_component_type_code
142491 , p_component_appl_id => l_component_appl_id
142492 , p_amb_context_code => l_amb_context_code
142493 , p_entity_code => 'AP_INVOICES'
142494 , p_event_class_code => 'INVOICES'
142495 , p_side => 'NA'
142496 );
142497
142498 END IF;
142499
142500 l_segment := AcctDerRule_25(
142501 p_application_id => p_application_id
142502 , p_ae_header_id => l_ae_header_id
142503 , p_source_15 => p_source_15
142504 , p_source_15_meaning => p_source_15_meaning
142505 , p_source_43 => p_source_43
142506 , x_transaction_coa_id => l_adr_transaction_coa_id
142507 , x_accounting_coa_id => l_adr_accounting_coa_id
142508 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142509 , x_flex_value_set_id => l_adr_flex_value_set_id
142510 , x_value_type_code => l_adr_value_type_code
142511 , x_value_combination_id => l_adr_value_combination_id
142512 , x_value_segment_code => l_adr_value_segment_code
142513 , p_side => 'NA'
142514 , p_override_seg_flag => 'Y'
142515 );
142516
142517 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142518
142519 xla_ae_lines_pkg.set_segment(
142520 p_to_segment_code => 'GL_BALANCING'
142521 , p_segment_value => l_segment
142522 , p_from_segment_code => l_adr_value_segment_code
142523 , p_from_combination_id => l_adr_value_combination_id
142524 , p_value_type_code => l_adr_value_type_code
142525 , p_transaction_coa_id => l_adr_transaction_coa_id
142526 , p_accounting_coa_id => l_adr_accounting_coa_id
142527 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142528 , p_flex_value_set_id => l_adr_flex_value_set_id
142529 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142530 , p_adr_type_code => 'S'
142531 , p_component_type => l_component_type
142532 , p_component_code => l_component_code
142533 , p_component_type_code => l_component_type_code
142534 , p_component_appl_id => l_component_appl_id
142535 , p_amb_context_code => l_amb_context_code
142536 , p_entity_code => 'AP_INVOICES'
142537 , p_event_class_code => 'INVOICES'
142538 , p_side => 'NA'
142539 );
142540
142541 END IF;
142542
142543 --
142544 --
142545 END IF;
142546 --
142547 -- Bug 4922099
142548 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142549 (NVL(l_enc_upg_option, 'N') = 'O')
142550 ) AND
142551 (l_bflow_method_code = 'PRIOR_ENTRY')
142552 )
142553 THEN
142554 IF
142555 --
142556 1 = 2
142557 --
142558 THEN
142559 xla_accounting_err_pkg.build_message
142560 (p_appli_s_name => 'XLA'
142561 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142562 ,p_token_1 => 'LINE_NUMBER'
142563 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142564 ,p_token_2 => 'LINE_TYPE_NAME'
142565 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142566 l_component_type
142567 ,l_component_code
142568 ,l_component_type_code
142569 ,l_component_appl_id
142570 ,l_amb_context_code
142571 ,l_entity_code
142572 ,l_event_class_code
142573 )
142577 ,p_lookup_code => l_component_type_code
142574 ,p_token_3 => 'OWNER'
142575 ,p_value_3 => xla_lookups_pkg.get_meaning(
142576 p_lookup_type => 'XLA_OWNER_TYPE'
142578 )
142579 ,p_token_4 => 'PRODUCT_NAME'
142580 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142581 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142582 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142583 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142584 ,p_ae_header_id => NULL
142585 );
142586
142587 IF (C_LEVEL_ERROR>= g_log_level) THEN
142588 trace
142589 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142590 ,p_level => C_LEVEL_ERROR
142591 ,p_module => l_log_module);
142592 END IF;
142593 END IF;
142594 END IF;
142595 --
142596 --
142597 ------------------------------------------------------------------------------------------------
142598 -- 4219869 Business Flow
142599 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142600 -- Prior Entry. Currently, the following code is always generated.
142601 ------------------------------------------------------------------------------------------------
142602 XLA_AE_LINES_PKG.ValidateCurrentLine;
142603
142604 ------------------------------------------------------------------------------------
142605 -- 4219869 Business Flow
142606 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142607 ------------------------------------------------------------------------------------
142608 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142609
142610 ----------------------------------------------------------------------------------
142611 -- 4219869 Business Flow
142612 -- Update journal entry status -- Need to generate this within IF <condition>
142613 ----------------------------------------------------------------------------------
142614 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142615 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142616 ,p_balance_type_code => l_balance_type_code
142617 );
142618
142619 -------------------------------------------------------------------------------------------
142620 -- 4262811 - Generate the Accrual Reversal lines
142621 -------------------------------------------------------------------------------------------
142622 BEGIN
142623 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142624 (g_array_event(p_event_id).array_value_num('header_index'));
142625 IF l_acc_rev_flag IS NULL THEN
142626 l_acc_rev_flag := 'N';
142627 END IF;
142628 EXCEPTION
142629 WHEN OTHERS THEN
142630 l_acc_rev_flag := 'N';
142631 END;
142632 --
142633 IF (l_acc_rev_flag = 'Y') THEN
142634
142635 -- 4645092 ------------------------------------------------------------------------------
142636 -- To allow MPA report to determine if it should generate report process
142637 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
142638 ------------------------------------------------------------------------------------------
142639
142640 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
142641 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
142642 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
142643 -- call ADRs
142644 -- Bug 4922099
142645 --
142646 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142647 (NVL(l_actual_upg_option, 'N') = 'O') OR
142648 (NVL(l_enc_upg_option, 'N') = 'O')
142649 )
142650 THEN
142651 NULL;
142652 --
142653 --
142654
142655 l_ccid := AcctDerRule_45(
142656 p_application_id => p_application_id
142657 , p_ae_header_id => l_ae_header_id
142658 , p_source_15 => p_source_15
142659 , p_source_15_meaning => p_source_15_meaning
142660 , p_source_30 => p_source_30
142661 , p_source_43 => p_source_43
142662 , x_transaction_coa_id => l_adr_transaction_coa_id
142663 , x_accounting_coa_id => l_adr_accounting_coa_id
142664 , x_value_type_code => l_adr_value_type_code
142665 , p_side => 'NA'
142666 );
142667
142668 xla_ae_lines_pkg.set_ccid(
142669 p_code_combination_id => l_ccid
142670 , p_value_type_code => l_adr_value_type_code
142671 , p_transaction_coa_id => l_adr_transaction_coa_id
142672 , p_accounting_coa_id => l_adr_accounting_coa_id
142673 , p_adr_code => 'AP_WH_DIST_ACCT'
142674 , p_adr_type_code => 'S'
142675 , p_component_type => l_component_type
142676 , p_component_code => l_component_code
142680 , p_side => 'NA'
142677 , p_component_type_code => l_component_type_code
142678 , p_component_appl_id => l_component_appl_id
142679 , p_amb_context_code => l_amb_context_code
142681 );
142682
142683
142684 l_segment := AcctDerRule_14(
142685 p_application_id => p_application_id
142686 , p_ae_header_id => l_ae_header_id
142687 , p_source_15 => p_source_15
142688 , p_source_15_meaning => p_source_15_meaning
142689 , p_source_30 => p_source_30
142690 , x_transaction_coa_id => l_adr_transaction_coa_id
142691 , x_accounting_coa_id => l_adr_accounting_coa_id
142692 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142693 , x_flex_value_set_id => l_adr_flex_value_set_id
142694 , x_value_type_code => l_adr_value_type_code
142695 , x_value_combination_id => l_adr_value_combination_id
142696 , x_value_segment_code => l_adr_value_segment_code
142697 , p_side => 'NA'
142698 , p_override_seg_flag => 'Y'
142699 );
142700
142701 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142702
142703 xla_ae_lines_pkg.set_segment(
142704 p_to_segment_code => 'GL_ACCOUNT'
142705 , p_segment_value => l_segment
142706 , p_from_segment_code => l_adr_value_segment_code
142707 , p_from_combination_id => l_adr_value_combination_id
142708 , p_value_type_code => l_adr_value_type_code
142709 , p_transaction_coa_id => l_adr_transaction_coa_id
142710 , p_accounting_coa_id => l_adr_accounting_coa_id
142711 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142712 , p_flex_value_set_id => l_adr_flex_value_set_id
142713 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142714 , p_adr_type_code => 'S'
142715 , p_component_type => l_component_type
142716 , p_component_code => l_component_code
142717 , p_component_type_code => l_component_type_code
142718 , p_component_appl_id => l_component_appl_id
142719 , p_amb_context_code => l_amb_context_code
142720 , p_entity_code => 'AP_INVOICES'
142721 , p_event_class_code => 'INVOICES'
142722 , p_side => 'NA'
142723 );
142724
142725 END IF;
142726
142727 l_segment := AcctDerRule_25(
142728 p_application_id => p_application_id
142729 , p_ae_header_id => l_ae_header_id
142730 , p_source_15 => p_source_15
142731 , p_source_15_meaning => p_source_15_meaning
142732 , p_source_43 => p_source_43
142733 , x_transaction_coa_id => l_adr_transaction_coa_id
142734 , x_accounting_coa_id => l_adr_accounting_coa_id
142735 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142736 , x_flex_value_set_id => l_adr_flex_value_set_id
142737 , x_value_type_code => l_adr_value_type_code
142738 , x_value_combination_id => l_adr_value_combination_id
142739 , x_value_segment_code => l_adr_value_segment_code
142740 , p_side => 'NA'
142741 , p_override_seg_flag => 'Y'
142742 );
142743
142744 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142745
142746 xla_ae_lines_pkg.set_segment(
142747 p_to_segment_code => 'GL_BALANCING'
142748 , p_segment_value => l_segment
142749 , p_from_segment_code => l_adr_value_segment_code
142750 , p_from_combination_id => l_adr_value_combination_id
142751 , p_value_type_code => l_adr_value_type_code
142752 , p_transaction_coa_id => l_adr_transaction_coa_id
142753 , p_accounting_coa_id => l_adr_accounting_coa_id
142754 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142755 , p_flex_value_set_id => l_adr_flex_value_set_id
142756 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142757 , p_adr_type_code => 'S'
142758 , p_component_type => l_component_type
142759 , p_component_code => l_component_code
142760 , p_component_type_code => l_component_type_code
142761 , p_component_appl_id => l_component_appl_id
142762 , p_amb_context_code => l_amb_context_code
142763 , p_entity_code => 'AP_INVOICES'
142764 , p_event_class_code => 'INVOICES'
142765 , p_side => 'NA'
142766 );
142767
142768 END IF;
142769
142770 --
142771 --
142772 END IF;
142773
142774 --
142775 -- Update the line information that should be overwritten
142776 --
142777 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142778 p_header_num => 1);
142779 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142780
142781 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142782
142783 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142784 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142785 END IF;
142789 --
142786
142787 --
142788 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142790 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142791 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142792 ELSE
142793 ---------------------------------------------------------------------------------------------------
142794 -- 4262811a Switch Sign
142795 ---------------------------------------------------------------------------------------------------
142796 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142797 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142798 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142799 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142800 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142801 -- 5132302
142802 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142803 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142804
142805 END IF;
142806
142807 -- 4955764
142808 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142809 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142810
142811
142812 XLA_AE_LINES_PKG.ValidateCurrentLine;
142813 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142814
142815 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142816 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142817 ,p_balance_type_code => l_balance_type_code);
142818
142819 END IF;
142820
142821 -----------------------------------------------------------------------------------------
142822 -- 4262811 Multiperiod Accounting
142823 -----------------------------------------------------------------------------------------
142824 -- No MPA option is assigned.
142825
142826
142827 END IF;
142828 END IF;
142829 --
142830
142831 --
142832 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142833 trace
142834 (p_msg => 'END of AcctLineType_224'
142835 ,p_level => C_LEVEL_PROCEDURE
142836 ,p_module => l_log_module);
142837 END IF;
142838 --
142839 EXCEPTION
142840 WHEN xla_exceptions_pkg.application_exception THEN
142841 RAISE;
142842 WHEN OTHERS THEN
142843 xla_exceptions_pkg.raise_message
142844 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_224');
142845 END AcctLineType_224;
142846 --
142847
142848 ---------------------------------------
142849 --
142850 -- PRIVATE FUNCTION
142851 -- AcctLineType_225
142852 --
142853 ---------------------------------------
142854 PROCEDURE AcctLineType_225 (
142855 p_application_id IN NUMBER
142856 ,p_event_id IN NUMBER
142857 ,p_calculate_acctd_flag IN VARCHAR2
142858 ,p_calculate_g_l_flag IN VARCHAR2
142859 ,p_actual_flag IN OUT VARCHAR2
142860 ,p_balance_type_code OUT VARCHAR2
142861 ,p_gain_or_loss_ref OUT VARCHAR2
142862
142863 --Invoice Distribution Description
142864 , p_source_1 IN VARCHAR2
142865 --Automatic Offsets Value
142866 , p_source_15 IN VARCHAR2
142867 , p_source_15_meaning IN VARCHAR2
142868 --Invoice Distribution Ledger Amount
142869 , p_source_21 IN NUMBER
142870 --Invoice Distribution Account
142871 , p_source_30 IN NUMBER
142872 --Invoice Distribution Type
142873 , p_source_33 IN VARCHAR2
142874 , p_source_33_meaning IN VARCHAR2
142875 --Withholding Related Distribution Account
142876 , p_source_43 IN NUMBER
142877 --Accounting Reversal Indicator
142878 , p_source_52 IN VARCHAR2
142879 --Distribution Link Type
142880 , p_source_54 IN VARCHAR2
142881 --Allocation to Main Distribution Identifier
142882 , p_source_56 IN NUMBER
142883 --Invoice Identifier
142884 , p_source_57 IN NUMBER
142885 --Invoice Distribution Identifier
142886 , p_source_63 IN NUMBER
142887 --Payables Encumbrance Upgrade Credit Account
142888 , p_source_64 IN NUMBER
142889 --Payables Encumbrance Upgrade Credit Amount
142890 , p_source_65 IN NUMBER
142891 --Invoice Currency Code
142892 , p_source_66 IN VARCHAR2
142893 --Payables Encumbrance Upgrade Credit Base Amount
142894 , p_source_67 IN NUMBER
142895 --Payables Encumbrance Upgrade Debit Account
142896 , p_source_68 IN NUMBER
142897 --Payables Encumbrance Upgrade Debit Amount
142898 , p_source_69 IN NUMBER
142899 --Payables Encumbrance Upgrade Debit Base Amount
142900 , p_source_70 IN NUMBER
142901 --Payables Encumbrance Upgrade Option
142902 , p_source_71 IN VARCHAR2
142903 --Invoice Distribution Amount
142904 , p_source_72 IN NUMBER
142905 --Deferred Accounting End Date
142906 , p_source_76 IN DATE
142907 --Deferred Accounting Option
142908 , p_source_77 IN VARCHAR2
142912 , p_source_79 IN VARCHAR2
142909 --Deferred Accounting Start Date
142910 , p_source_78 IN DATE
142911 --Override Accounted Amount Indicator
142913 , p_source_79_meaning IN VARCHAR2
142914 --Invoice Supplier Identifier
142915 , p_source_80 IN NUMBER
142916 --Invoice Supplier Site Identifier
142917 , p_source_81 IN NUMBER
142918 --Third Party Type
142919 , p_source_82 IN VARCHAR2
142920 --Parent Reversal Identifier
142921 , p_source_83 IN NUMBER
142922 --Invoice Distribution Statistical Amount
142923 , p_source_84 IN NUMBER
142924 --Invoice Distribution Tax Line Identifier
142925 , p_source_85 IN NUMBER
142926 --Invoice Distribution Tax Distribution Identifier from Tax
142927 , p_source_86 IN NUMBER
142928 --Invoice Distribution Summary Tax Line Identifier
142929 , p_source_87 IN NUMBER
142930 --Payables Upgrade Credit Encumbrance Type Identifier
142931 , p_source_88 IN NUMBER
142932 --Payables Upgrade Debit Encumbrance Type Identifier
142933 , p_source_89 IN NUMBER
142934 --Business Flow Accounts Payable Application Identifier
142935 , p_source_90 IN NUMBER
142936 --Business Flow Invoice Distribution Type
142937 , p_source_91 IN VARCHAR2
142938 --Business Flow Invoice Entity Code
142939 , p_source_92 IN VARCHAR2
142940 --Business Flow Invoice Distribution Identifier
142941 , p_source_93 IN NUMBER
142942 --Business Flow Invoice Identifier
142943 , p_source_94 IN NUMBER
142944 --Invoice Exchange Date
142945 , p_source_136 IN DATE
142946 --Invoice Exchange Rate
142947 , p_source_137 IN NUMBER
142948 --Invoice Exchange Rate Type
142949 , p_source_138 IN VARCHAR2
142950 )
142951 IS
142952
142953 l_component_type VARCHAR2(80);
142954 l_component_code VARCHAR2(30);
142955 l_component_type_code VARCHAR2(1);
142956 l_component_appl_id INTEGER;
142957 l_amb_context_code VARCHAR2(30);
142958 l_entity_code VARCHAR2(30);
142959 l_event_class_code VARCHAR2(30);
142960 l_ae_header_id NUMBER;
142961 l_event_type_code VARCHAR2(30);
142962 l_line_definition_code VARCHAR2(30);
142963 l_line_definition_owner_code VARCHAR2(1);
142964 --
142965 -- adr variables
142966 l_segment VARCHAR2(30);
142967 l_ccid NUMBER;
142968 l_adr_transaction_coa_id NUMBER;
142969 l_adr_accounting_coa_id NUMBER;
142970 l_adr_flexfield_segment_code VARCHAR2(30);
142971 l_adr_flex_value_set_id NUMBER;
142972 l_adr_value_type_code VARCHAR2(30);
142973 l_adr_value_combination_id NUMBER;
142974 l_adr_value_segment_code VARCHAR2(30);
142975
142976 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142977 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142978 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142979 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142980
142981 -- 4262811 Variables ------------------------------------------------------------------------------------------
142982 l_entered_amt_idx NUMBER;
142983 l_accted_amt_idx NUMBER;
142984 l_acc_rev_flag VARCHAR2(1);
142985 l_accrual_line_num NUMBER;
142986 l_tmp_amt NUMBER;
142987 l_acc_rev_natural_side_code VARCHAR2(1);
142988
142989 l_num_entries NUMBER;
142990 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142991 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142992 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142993 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142994 l_recog_line_1 NUMBER;
142995 l_recog_line_2 NUMBER;
142996
142997 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142998 l_bflow_applied_to_amt NUMBER; -- 5132302
142999 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
143000
143001 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
143002
143003 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
143004 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
143005
143006 ---------------------------------------------------------------------------------------------------------------
143007
143008
143009 --
143010 -- bulk performance
143011 --
143012 l_balance_type_code VARCHAR2(1);
143013 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
143014 l_log_module VARCHAR2(240);
143015
143016 --
143017 -- Upgrade strategy
143018 --
143019 l_actual_upg_option VARCHAR2(1);
143020 l_enc_upg_option VARCHAR2(1);
143021
143022 --
143023 BEGIN
143024 --
143025 IF g_log_enabled THEN
143026 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_225';
143027 END IF;
143028 --
143029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143030
143031 trace
143032 (p_msg => 'BEGIN of AcctLineType_225'
143033 ,p_level => C_LEVEL_PROCEDURE
143034 ,p_module => l_log_module);
143035
143036 END IF;
143037 --
143041 l_component_appl_id := 200;
143038 l_component_type := 'AMB_JLT';
143039 l_component_code := 'AP_WITHHOLD_TAX_PREPAY';
143040 l_component_type_code := 'S';
143042 l_amb_context_code := 'DEFAULT';
143043 l_entity_code := 'AP_INVOICES';
143044 l_event_class_code := 'PREPAYMENTS';
143045 l_event_type_code := 'PREPAYMENTS_ALL';
143046 l_line_definition_owner_code := 'S';
143047 l_line_definition_code := 'JA_CN_ACCRUAL_PREPAYMENT';
143048 --
143049 l_balance_type_code := 'A';
143050 l_segment := NULL;
143051 l_ccid := NULL;
143052 l_adr_transaction_coa_id := NULL;
143053 l_adr_accounting_coa_id := NULL;
143054 l_adr_flexfield_segment_code := NULL;
143055 l_adr_flex_value_set_id := NULL;
143056 l_adr_value_type_code := NULL;
143057 l_adr_value_combination_id := NULL;
143058 l_adr_value_segment_code := NULL;
143059
143060 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
143061 l_bflow_class_code := ''; -- 4219869 Business Flow
143062 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
143063 l_budgetary_control_flag := 'N';
143064
143065 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143066 l_bflow_applied_to_amt := NULL; -- 5132302
143067 l_entered_amt_idx := NULL; -- 4262811
143068 l_accted_amt_idx := NULL; -- 4262811
143069 l_acc_rev_flag := NULL; -- 4262811
143070 l_accrual_line_num := NULL; -- 4262811
143071 l_tmp_amt := NULL; -- 4262811
143072 --
143073
143074 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
143075 l_balance_type_code <> 'B' THEN
143076 IF NVL(p_source_33,'
143077 ') = 'AWT'
143078 THEN
143079
143080 --
143081 XLA_AE_LINES_PKG.SetNewLine;
143082
143083 p_balance_type_code := l_balance_type_code;
143084 -- set the flag so later we will know whether the gain loss line needs to be created
143085
143086 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
143087 p_actual_flag :='A';
143088 END IF;
143089
143090 --
143091 -- bulk performance
143092 --
143093 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
143094 p_header_num => 0); -- 4262811
143095 --
143096 -- set accounting line options
143097 --
143098 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
143099 p_natural_side_code => 'D'
143100 , p_gain_or_loss_flag => 'N'
143101 , p_gl_transfer_mode_code => 'S'
143102 , p_acct_entry_type_code => 'A'
143103 , p_switch_side_flag => 'Y'
143104 , p_merge_duplicate_code => 'A'
143105 );
143106 --
143107 l_acc_rev_natural_side_code := 'C'; -- 4262811
143108 --
143109 --
143110 -- set accounting line type info
143111 --
143112 xla_ae_lines_pkg.SetAcctLineType
143113 (p_component_type => l_component_type
143114 ,p_event_type_code => l_event_type_code
143115 ,p_line_definition_owner_code => l_line_definition_owner_code
143116 ,p_line_definition_code => l_line_definition_code
143117 ,p_accounting_line_code => l_component_code
143118 ,p_accounting_line_type_code => l_component_type_code
143119 ,p_accounting_line_appl_id => l_component_appl_id
143120 ,p_amb_context_code => l_amb_context_code
143121 ,p_entity_code => l_entity_code
143122 ,p_event_class_code => l_event_class_code);
143123 --
143124 -- set accounting class
143125 --
143126 xla_ae_lines_pkg.SetAcctClass(
143127 p_accounting_class_code => 'AWT'
143128 , p_ae_header_id => l_ae_header_id
143129 );
143130
143131 --
143132 -- set rounding class
143133 --
143134 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
143135 'AWT';
143136
143137 --
143138 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
143139 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
143140 --
143141 -- bulk performance
143142 --
143143 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
143144
143145 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
143146 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
143147
143148 -- 4955764
143149 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143150 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
143151
143152 -- 4458381 Public Sector Enh
143153
143154 --
143155 -- set accounting attributes for the line type
143156 --
143157 l_entered_amt_idx := 23;
143158 l_accted_amt_idx := 28;
143159 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143160 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
143161 l_rec_acct_attrs.array_char_value(1) := p_source_52;
143165 p_source_code => 'XLA_EVENT_APPL_ID'
143162 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
143163 l_rec_acct_attrs.array_num_value(2) :=
143164 xla_ae_sources_pkg.GetSystemSourceNum(
143166 , p_source_type_code => 'Y'
143167 , p_source_application_id => 602
143168 );
143169 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
143170 l_rec_acct_attrs.array_char_value(3) := p_source_54;
143171 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
143172 l_rec_acct_attrs.array_char_value(4) :=
143173 xla_ae_sources_pkg.GetSystemSourceChar(
143174 p_source_code => 'XLA_ENTITY_CODE'
143175 , p_source_type_code => 'Y'
143176 , p_source_application_id => 602
143177 );
143178 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
143179 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_56);
143180 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
143181 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_57);
143182 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
143183 l_rec_acct_attrs.array_num_value(7) := p_source_90;
143184 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
143185 l_rec_acct_attrs.array_char_value(8) := p_source_91;
143186 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
143187 l_rec_acct_attrs.array_char_value(9) := p_source_92;
143188 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
143189 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_93);
143190 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
143191 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
143192 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
143193 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
143194 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
143195 l_rec_acct_attrs.array_char_value(13) := p_source_54;
143196 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
143197 l_rec_acct_attrs.array_num_value(14) := p_source_64;
143198 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
143199 l_rec_acct_attrs.array_num_value(15) := p_source_65;
143200 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
143201 l_rec_acct_attrs.array_char_value(16) := p_source_66;
143202 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
143203 l_rec_acct_attrs.array_num_value(17) := p_source_67;
143204 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
143205 l_rec_acct_attrs.array_num_value(18) := p_source_68;
143206 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
143207 l_rec_acct_attrs.array_num_value(19) := p_source_69;
143208 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
143209 l_rec_acct_attrs.array_char_value(20) := p_source_66;
143210 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
143211 l_rec_acct_attrs.array_num_value(21) := p_source_70;
143212 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
143213 l_rec_acct_attrs.array_char_value(22) := p_source_71;
143214 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
143215 l_rec_acct_attrs.array_num_value(23) := p_source_72;
143216 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
143217 l_rec_acct_attrs.array_char_value(24) := p_source_66;
143218 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
143219 l_rec_acct_attrs.array_date_value(25) := p_source_136;
143220 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
143221 l_rec_acct_attrs.array_num_value(26) := p_source_137;
143222 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
143223 l_rec_acct_attrs.array_char_value(27) := p_source_138;
143224 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
143225 l_rec_acct_attrs.array_num_value(28) := p_source_21;
143226 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
143227 l_rec_acct_attrs.array_date_value(29) := p_source_76;
143228 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
143229 l_rec_acct_attrs.array_char_value(30) := p_source_77;
143230 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
143231 l_rec_acct_attrs.array_date_value(31) := p_source_78;
143232 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
143233 l_rec_acct_attrs.array_char_value(32) := p_source_79;
143234 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
143235 l_rec_acct_attrs.array_num_value(33) := p_source_80;
143236 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
143237 l_rec_acct_attrs.array_num_value(34) := p_source_81;
143238 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
143239 l_rec_acct_attrs.array_char_value(35) := p_source_82;
143240 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
143241 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_83);
143242 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
143243 l_rec_acct_attrs.array_char_value(37) := p_source_54;
143244 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
143245 l_rec_acct_attrs.array_num_value(38) := p_source_84;
143246 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
143250 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
143247 l_rec_acct_attrs.array_num_value(39) := p_source_85;
143248 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
143249 l_rec_acct_attrs.array_num_value(40) := p_source_86;
143251 l_rec_acct_attrs.array_num_value(41) := p_source_87;
143252 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
143253 l_rec_acct_attrs.array_num_value(42) := p_source_88;
143254 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
143255 l_rec_acct_attrs.array_num_value(43) := p_source_89;
143256
143257 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
143258 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
143259
143260 ---------------------------------------------------------------------------------------------------------------
143261 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
143262 ---------------------------------------------------------------------------------------------------------------
143263 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
143264
143265 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143266 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143267
143268 IF xla_accounting_cache_pkg.GetValueChar
143269 (p_source_code => 'LEDGER_CATEGORY_CODE'
143270 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
143271 AND l_bflow_method_code = 'PRIOR_ENTRY'
143272 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
143273 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
143274 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
143275 )
143276 THEN
143277 xla_ae_lines_pkg.BflowUpgEntry
143278 (p_business_method_code => l_bflow_method_code
143279 ,p_business_class_code => l_bflow_class_code
143280 ,p_balance_type => l_balance_type_code);
143281 ELSE
143282 NULL;
143283 -- No business flow processing for business flow method of NONE.
143284 END IF;
143285
143286 --
143287 -- call analytical criteria
143288 --
143289
143290 --
143291 -- call description
143292 --
143293
143294 xla_ae_lines_pkg.SetLineDescription(
143295 p_ae_header_id => l_ae_header_id
143296 ,p_description => Description_1 (
143297 p_application_id => p_application_id
143298 , p_ae_header_id => l_ae_header_id
143299 , p_source_1 => p_source_1
143300 )
143301 );
143302
143303
143304 --
143305 -- call ADRs
143306 -- Bug 4922099
143307 --
143308 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143309 (NVL(l_actual_upg_option, 'N') = 'O') OR
143310 (NVL(l_enc_upg_option, 'N') = 'O')
143311 )
143312 THEN
143313 NULL;
143314 --
143315 --
143316
143317 l_ccid := AcctDerRule_45(
143318 p_application_id => p_application_id
143319 , p_ae_header_id => l_ae_header_id
143320 , p_source_15 => p_source_15
143321 , p_source_15_meaning => p_source_15_meaning
143322 , p_source_30 => p_source_30
143323 , p_source_43 => p_source_43
143324 , x_transaction_coa_id => l_adr_transaction_coa_id
143325 , x_accounting_coa_id => l_adr_accounting_coa_id
143326 , x_value_type_code => l_adr_value_type_code
143327 , p_side => 'NA'
143328 );
143329
143330 xla_ae_lines_pkg.set_ccid(
143331 p_code_combination_id => l_ccid
143332 , p_value_type_code => l_adr_value_type_code
143333 , p_transaction_coa_id => l_adr_transaction_coa_id
143334 , p_accounting_coa_id => l_adr_accounting_coa_id
143335 , p_adr_code => 'AP_WH_DIST_ACCT'
143336 , p_adr_type_code => 'S'
143337 , p_component_type => l_component_type
143338 , p_component_code => l_component_code
143339 , p_component_type_code => l_component_type_code
143340 , p_component_appl_id => l_component_appl_id
143341 , p_amb_context_code => l_amb_context_code
143342 , p_side => 'NA'
143343 );
143344
143345
143346 l_segment := AcctDerRule_14(
143347 p_application_id => p_application_id
143348 , p_ae_header_id => l_ae_header_id
143349 , p_source_15 => p_source_15
143350 , p_source_15_meaning => p_source_15_meaning
143351 , p_source_30 => p_source_30
143352 , x_transaction_coa_id => l_adr_transaction_coa_id
143353 , x_accounting_coa_id => l_adr_accounting_coa_id
143354 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143355 , x_flex_value_set_id => l_adr_flex_value_set_id
143356 , x_value_type_code => l_adr_value_type_code
143357 , x_value_combination_id => l_adr_value_combination_id
143358 , x_value_segment_code => l_adr_value_segment_code
143359 , p_side => 'NA'
143360 , p_override_seg_flag => 'Y'
143361 );
143362
143363 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143364
143368 , p_from_segment_code => l_adr_value_segment_code
143365 xla_ae_lines_pkg.set_segment(
143366 p_to_segment_code => 'GL_ACCOUNT'
143367 , p_segment_value => l_segment
143369 , p_from_combination_id => l_adr_value_combination_id
143370 , p_value_type_code => l_adr_value_type_code
143371 , p_transaction_coa_id => l_adr_transaction_coa_id
143372 , p_accounting_coa_id => l_adr_accounting_coa_id
143373 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143374 , p_flex_value_set_id => l_adr_flex_value_set_id
143375 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143376 , p_adr_type_code => 'S'
143377 , p_component_type => l_component_type
143378 , p_component_code => l_component_code
143379 , p_component_type_code => l_component_type_code
143380 , p_component_appl_id => l_component_appl_id
143381 , p_amb_context_code => l_amb_context_code
143382 , p_entity_code => 'AP_INVOICES'
143383 , p_event_class_code => 'PREPAYMENTS'
143384 , p_side => 'NA'
143385 );
143386
143387 END IF;
143388
143389 l_segment := AcctDerRule_25(
143390 p_application_id => p_application_id
143391 , p_ae_header_id => l_ae_header_id
143392 , p_source_15 => p_source_15
143393 , p_source_15_meaning => p_source_15_meaning
143394 , p_source_43 => p_source_43
143395 , x_transaction_coa_id => l_adr_transaction_coa_id
143396 , x_accounting_coa_id => l_adr_accounting_coa_id
143397 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143398 , x_flex_value_set_id => l_adr_flex_value_set_id
143399 , x_value_type_code => l_adr_value_type_code
143400 , x_value_combination_id => l_adr_value_combination_id
143401 , x_value_segment_code => l_adr_value_segment_code
143402 , p_side => 'NA'
143403 , p_override_seg_flag => 'Y'
143404 );
143405
143406 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143407
143408 xla_ae_lines_pkg.set_segment(
143409 p_to_segment_code => 'GL_BALANCING'
143410 , p_segment_value => l_segment
143411 , p_from_segment_code => l_adr_value_segment_code
143412 , p_from_combination_id => l_adr_value_combination_id
143413 , p_value_type_code => l_adr_value_type_code
143414 , p_transaction_coa_id => l_adr_transaction_coa_id
143415 , p_accounting_coa_id => l_adr_accounting_coa_id
143416 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143417 , p_flex_value_set_id => l_adr_flex_value_set_id
143418 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143419 , p_adr_type_code => 'S'
143420 , p_component_type => l_component_type
143421 , p_component_code => l_component_code
143422 , p_component_type_code => l_component_type_code
143423 , p_component_appl_id => l_component_appl_id
143424 , p_amb_context_code => l_amb_context_code
143425 , p_entity_code => 'AP_INVOICES'
143426 , p_event_class_code => 'PREPAYMENTS'
143427 , p_side => 'NA'
143428 );
143429
143430 END IF;
143431
143432 --
143433 --
143434 END IF;
143435 --
143436 -- Bug 4922099
143437 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
143438 (NVL(l_enc_upg_option, 'N') = 'O')
143439 ) AND
143440 (l_bflow_method_code = 'PRIOR_ENTRY')
143441 )
143442 THEN
143443 IF
143444 --
143445 1 = 2
143446 --
143447 THEN
143448 xla_accounting_err_pkg.build_message
143449 (p_appli_s_name => 'XLA'
143450 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143451 ,p_token_1 => 'LINE_NUMBER'
143452 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
143453 ,p_token_2 => 'LINE_TYPE_NAME'
143454 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
143455 l_component_type
143456 ,l_component_code
143457 ,l_component_type_code
143458 ,l_component_appl_id
143459 ,l_amb_context_code
143460 ,l_entity_code
143461 ,l_event_class_code
143462 )
143463 ,p_token_3 => 'OWNER'
143464 ,p_value_3 => xla_lookups_pkg.get_meaning(
143465 p_lookup_type => 'XLA_OWNER_TYPE'
143469 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
143466 ,p_lookup_code => l_component_type_code
143467 )
143468 ,p_token_4 => 'PRODUCT_NAME'
143470 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
143471 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
143472 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
143473 ,p_ae_header_id => NULL
143474 );
143475
143476 IF (C_LEVEL_ERROR>= g_log_level) THEN
143477 trace
143478 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143479 ,p_level => C_LEVEL_ERROR
143480 ,p_module => l_log_module);
143481 END IF;
143482 END IF;
143483 END IF;
143484 --
143485 --
143486 ------------------------------------------------------------------------------------------------
143487 -- 4219869 Business Flow
143488 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
143489 -- Prior Entry. Currently, the following code is always generated.
143490 ------------------------------------------------------------------------------------------------
143491 XLA_AE_LINES_PKG.ValidateCurrentLine;
143492
143493 ------------------------------------------------------------------------------------
143494 -- 4219869 Business Flow
143495 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
143496 ------------------------------------------------------------------------------------
143497 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143498
143499 ----------------------------------------------------------------------------------
143500 -- 4219869 Business Flow
143501 -- Update journal entry status -- Need to generate this within IF <condition>
143502 ----------------------------------------------------------------------------------
143503 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143504 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
143505 ,p_balance_type_code => l_balance_type_code
143506 );
143507
143508 -------------------------------------------------------------------------------------------
143509 -- 4262811 - Generate the Accrual Reversal lines
143510 -------------------------------------------------------------------------------------------
143511 BEGIN
143512 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
143513 (g_array_event(p_event_id).array_value_num('header_index'));
143514 IF l_acc_rev_flag IS NULL THEN
143515 l_acc_rev_flag := 'N';
143516 END IF;
143517 EXCEPTION
143518 WHEN OTHERS THEN
143519 l_acc_rev_flag := 'N';
143520 END;
143521 --
143522 IF (l_acc_rev_flag = 'Y') THEN
143523
143524 -- 4645092 ------------------------------------------------------------------------------
143525 -- To allow MPA report to determine if it should generate report process
143526 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
143527 ------------------------------------------------------------------------------------------
143528
143529 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
143530 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
143531 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
143532 -- call ADRs
143533 -- Bug 4922099
143534 --
143535 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143536 (NVL(l_actual_upg_option, 'N') = 'O') OR
143537 (NVL(l_enc_upg_option, 'N') = 'O')
143538 )
143539 THEN
143540 NULL;
143541 --
143542 --
143543
143544 l_ccid := AcctDerRule_45(
143545 p_application_id => p_application_id
143546 , p_ae_header_id => l_ae_header_id
143547 , p_source_15 => p_source_15
143548 , p_source_15_meaning => p_source_15_meaning
143549 , p_source_30 => p_source_30
143550 , p_source_43 => p_source_43
143551 , x_transaction_coa_id => l_adr_transaction_coa_id
143552 , x_accounting_coa_id => l_adr_accounting_coa_id
143553 , x_value_type_code => l_adr_value_type_code
143554 , p_side => 'NA'
143555 );
143556
143557 xla_ae_lines_pkg.set_ccid(
143558 p_code_combination_id => l_ccid
143559 , p_value_type_code => l_adr_value_type_code
143560 , p_transaction_coa_id => l_adr_transaction_coa_id
143561 , p_accounting_coa_id => l_adr_accounting_coa_id
143562 , p_adr_code => 'AP_WH_DIST_ACCT'
143563 , p_adr_type_code => 'S'
143564 , p_component_type => l_component_type
143565 , p_component_code => l_component_code
143566 , p_component_type_code => l_component_type_code
143567 , p_component_appl_id => l_component_appl_id
143568 , p_amb_context_code => l_amb_context_code
143569 , p_side => 'NA'
143570 );
143571
143572
143576 , p_source_15 => p_source_15
143573 l_segment := AcctDerRule_14(
143574 p_application_id => p_application_id
143575 , p_ae_header_id => l_ae_header_id
143577 , p_source_15_meaning => p_source_15_meaning
143578 , p_source_30 => p_source_30
143579 , x_transaction_coa_id => l_adr_transaction_coa_id
143580 , x_accounting_coa_id => l_adr_accounting_coa_id
143581 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143582 , x_flex_value_set_id => l_adr_flex_value_set_id
143583 , x_value_type_code => l_adr_value_type_code
143584 , x_value_combination_id => l_adr_value_combination_id
143585 , x_value_segment_code => l_adr_value_segment_code
143586 , p_side => 'NA'
143587 , p_override_seg_flag => 'Y'
143588 );
143589
143590 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143591
143592 xla_ae_lines_pkg.set_segment(
143593 p_to_segment_code => 'GL_ACCOUNT'
143594 , p_segment_value => l_segment
143595 , p_from_segment_code => l_adr_value_segment_code
143596 , p_from_combination_id => l_adr_value_combination_id
143597 , p_value_type_code => l_adr_value_type_code
143598 , p_transaction_coa_id => l_adr_transaction_coa_id
143599 , p_accounting_coa_id => l_adr_accounting_coa_id
143600 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143601 , p_flex_value_set_id => l_adr_flex_value_set_id
143602 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143603 , p_adr_type_code => 'S'
143604 , p_component_type => l_component_type
143605 , p_component_code => l_component_code
143606 , p_component_type_code => l_component_type_code
143607 , p_component_appl_id => l_component_appl_id
143608 , p_amb_context_code => l_amb_context_code
143609 , p_entity_code => 'AP_INVOICES'
143610 , p_event_class_code => 'PREPAYMENTS'
143611 , p_side => 'NA'
143612 );
143613
143614 END IF;
143615
143616 l_segment := AcctDerRule_25(
143617 p_application_id => p_application_id
143618 , p_ae_header_id => l_ae_header_id
143619 , p_source_15 => p_source_15
143620 , p_source_15_meaning => p_source_15_meaning
143621 , p_source_43 => p_source_43
143622 , x_transaction_coa_id => l_adr_transaction_coa_id
143623 , x_accounting_coa_id => l_adr_accounting_coa_id
143624 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143625 , x_flex_value_set_id => l_adr_flex_value_set_id
143626 , x_value_type_code => l_adr_value_type_code
143627 , x_value_combination_id => l_adr_value_combination_id
143628 , x_value_segment_code => l_adr_value_segment_code
143629 , p_side => 'NA'
143630 , p_override_seg_flag => 'Y'
143631 );
143632
143633 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143634
143635 xla_ae_lines_pkg.set_segment(
143636 p_to_segment_code => 'GL_BALANCING'
143637 , p_segment_value => l_segment
143638 , p_from_segment_code => l_adr_value_segment_code
143639 , p_from_combination_id => l_adr_value_combination_id
143640 , p_value_type_code => l_adr_value_type_code
143641 , p_transaction_coa_id => l_adr_transaction_coa_id
143642 , p_accounting_coa_id => l_adr_accounting_coa_id
143643 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143644 , p_flex_value_set_id => l_adr_flex_value_set_id
143645 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143646 , p_adr_type_code => 'S'
143647 , p_component_type => l_component_type
143648 , p_component_code => l_component_code
143649 , p_component_type_code => l_component_type_code
143650 , p_component_appl_id => l_component_appl_id
143651 , p_amb_context_code => l_amb_context_code
143652 , p_entity_code => 'AP_INVOICES'
143653 , p_event_class_code => 'PREPAYMENTS'
143654 , p_side => 'NA'
143655 );
143656
143657 END IF;
143658
143659 --
143660 --
143661 END IF;
143662
143663 --
143664 -- Update the line information that should be overwritten
143665 --
143666 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
143667 p_header_num => 1);
143668 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
143669
143670 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
143671
143672 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
143673 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
143674 END IF;
143675
143676 --
143677 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
143678 --
143679 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
143683 -- 4262811a Switch Sign
143680 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
143681 ELSE
143682 ---------------------------------------------------------------------------------------------------
143684 ---------------------------------------------------------------------------------------------------
143685 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
143686 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143687 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143688 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143689 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143690 -- 5132302
143691 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
143692 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143693
143694 END IF;
143695
143696 -- 4955764
143697 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143698 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
143699
143700
143701 XLA_AE_LINES_PKG.ValidateCurrentLine;
143702 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143703
143704 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143705 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
143706 ,p_balance_type_code => l_balance_type_code);
143707
143708 END IF;
143709
143710 -----------------------------------------------------------------------------------------
143711 -- 4262811 Multiperiod Accounting
143712 -----------------------------------------------------------------------------------------
143713 -- No MPA option is assigned.
143714
143715
143716 END IF;
143717 END IF;
143718 --
143719
143720 --
143721 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143722 trace
143723 (p_msg => 'END of AcctLineType_225'
143724 ,p_level => C_LEVEL_PROCEDURE
143725 ,p_module => l_log_module);
143726 END IF;
143727 --
143728 EXCEPTION
143729 WHEN xla_exceptions_pkg.application_exception THEN
143730 RAISE;
143731 WHEN OTHERS THEN
143732 xla_exceptions_pkg.raise_message
143733 (p_location => 'XLA_00200_AAD_S_000020_PKG.AcctLineType_225');
143734 END AcctLineType_225;
143735 --
143736
143737 ---------------------------------------
143738 --
143739 -- PRIVATE PROCEDURE
143740 -- insert_sources_226
143741 --
143742 ----------------------------------------
143743 --
143744 PROCEDURE insert_sources_226(
143745 p_target_ledger_id IN NUMBER
143746 , p_language IN VARCHAR2
143747 , p_sla_ledger_id IN NUMBER
143748 , p_pad_start_date IN DATE
143749 , p_pad_end_date IN DATE
143750 )
143751 IS
143752
143753 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
143754 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
143755 p_apps_owner VARCHAR2(30);
143756 l_log_module VARCHAR2(240);
143757 BEGIN
143758 IF g_log_enabled THEN
143759 l_log_module := C_DEFAULT_MODULE||'.insert_sources_226';
143760 END IF;
143761 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143762
143763 trace
143764 (p_msg => 'BEGIN of insert_sources_226'
143765 ,p_level => C_LEVEL_PROCEDURE
143766 ,p_module => l_log_module);
143767
143768 END IF;
143769
143770 -- select APPS owner
143771 SELECT oracle_username
143772 INTO p_apps_owner
143773 FROM fnd_oracle_userid
143774 WHERE read_only_flag = 'U'
143775 ;
143776
143777 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
143778 trace
143779 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
143780 ' - p_language = '||p_language||
143781 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
143782 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
143783 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
143784 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
143785 ,p_level => C_LEVEL_STATEMENT
143786 ,p_module => l_log_module);
143787 END IF;
143788
143789
143790 --
143791 INSERT INTO xla_diag_sources --hdr2
143792 (
143793 event_id
143794 , ledger_id
143795 , sla_ledger_id
143796 , description_language
143797 , object_name
143798 , object_type_code
143799 , line_number
143800 , source_application_id
143801 , source_type_code
143802 , source_code
143803 , source_value
143804 , source_meaning
143805 , created_by
143806 , creation_date
143807 , last_update_date
143808 , last_updated_by
143809 , last_update_login
143810 , program_update_date
143814 )
143811 , program_application_id
143812 , program_id
143813 , request_id
143815 SELECT
143816 event_id
143817 , p_target_ledger_id
143818 , p_sla_ledger_id
143819 , p_language
143820 , object_name
143821 , object_type_code
143822 , line_number
143823 , source_application_id
143824 , source_type_code
143825 , source_code
143826 , SUBSTR(source_value ,1,1996)
143827 , SUBSTR(source_meaning ,1,200)
143828 , xla_environment_pkg.g_Usr_Id
143829 , TRUNC(SYSDATE)
143830 , TRUNC(SYSDATE)
143831 , xla_environment_pkg.g_Usr_Id
143832 , xla_environment_pkg.g_Login_Id
143833 , TRUNC(SYSDATE)
143834 , xla_environment_pkg.g_Prog_Appl_Id
143835 , xla_environment_pkg.g_Prog_Id
143836 , xla_environment_pkg.g_Req_Id
143837 FROM (
143838 SELECT xet.event_id event_id
143839 , 0 line_number
143840 , CASE r
143841 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143842 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143843 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143844 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143845 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143846 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143847 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143848 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143849 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143850 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143851 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143852 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143853 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143854 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143855 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143856 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143857 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143858 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143859 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143860 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143861 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143862 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143863 WHEN 23 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143864
143865 ELSE null
143866 END object_name
143867 , CASE r
143868 WHEN 1 THEN 'HEADER'
143869 WHEN 2 THEN 'HEADER'
143870 WHEN 3 THEN 'HEADER'
143871 WHEN 4 THEN 'HEADER'
143872 WHEN 5 THEN 'HEADER'
143873 WHEN 6 THEN 'HEADER'
143874 WHEN 7 THEN 'HEADER'
143875 WHEN 8 THEN 'HEADER'
143876 WHEN 9 THEN 'HEADER'
143877 WHEN 10 THEN 'HEADER'
143878 WHEN 11 THEN 'HEADER'
143879 WHEN 12 THEN 'HEADER'
143880 WHEN 13 THEN 'HEADER'
143881 WHEN 14 THEN 'HEADER'
143882 WHEN 15 THEN 'HEADER'
143883 WHEN 16 THEN 'HEADER'
143884 WHEN 17 THEN 'HEADER'
143885 WHEN 18 THEN 'HEADER'
143886 WHEN 19 THEN 'HEADER'
143887 WHEN 20 THEN 'HEADER'
143888 WHEN 21 THEN 'HEADER'
143889 WHEN 22 THEN 'HEADER'
143890 WHEN 23 THEN 'HEADER'
143891
143892 ELSE null
143893 END object_type_code
143894 , CASE r
143895 WHEN 1 THEN '200'
143896 WHEN 2 THEN '200'
143897 WHEN 3 THEN '200'
143898 WHEN 4 THEN '200'
143899 WHEN 5 THEN '200'
143900 WHEN 6 THEN '200'
143901 WHEN 7 THEN '200'
143902 WHEN 8 THEN '200'
143903 WHEN 9 THEN '200'
143904 WHEN 10 THEN '200'
143905 WHEN 11 THEN '200'
143906 WHEN 12 THEN '200'
143907 WHEN 13 THEN '200'
143908 WHEN 14 THEN '200'
143909 WHEN 15 THEN '200'
143910 WHEN 16 THEN '200'
143911 WHEN 17 THEN '200'
143912 WHEN 18 THEN '200'
143913 WHEN 19 THEN '200'
143914 WHEN 20 THEN '200'
143915 WHEN 21 THEN '200'
143916 WHEN 22 THEN '200'
143917 WHEN 23 THEN '200'
143918
143919 ELSE null
143920 END source_application_id
143921 , 'S' source_type_code
143922 , CASE r
143923 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
143924 WHEN 2 THEN 'AI_INVOICE_DATE'
143925 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
143926 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
143927 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
143928 WHEN 6 THEN 'AI_DESCRIPTION'
143929 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
143930 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
143931 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
143932 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
143933 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
143937 WHEN 15 THEN 'AI_VENDOR_ID'
143934 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
143935 WHEN 13 THEN 'AI_INVOICE_ID'
143936 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
143938 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
143939 WHEN 17 THEN 'THIRD_PARTY_TYPE'
143940 WHEN 18 THEN 'INV_EXCHANGE_DATE'
143941 WHEN 19 THEN 'INV_EXCHANGE_RATE'
143942 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
143943 WHEN 21 THEN 'AI_SOURCE'
143944 WHEN 22 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
143945 WHEN 23 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
143946
143947 ELSE null
143948 END source_code
143949 , CASE r
143950 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
143951 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
143952 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
143953 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
143954 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
143955 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
143956 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
143957 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
143958 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
143959 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
143960 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
143961 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
143962 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
143963 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
143964 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
143965 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
143966 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
143967 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
143968 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
143969 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
143970 WHEN 21 THEN TO_CHAR(h2.AI_SOURCE)
143971 WHEN 22 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
143972 WHEN 23 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
143973
143974 ELSE null
143975 END source_value
143976 , CASE r
143977 WHEN 7 THEN fvl15.meaning
143978 WHEN 12 THEN fvl47.meaning
143979 WHEN 22 THEN fvl164.meaning
143980
143981 ELSE null
143982 END source_meaning
143983 FROM xla_events_gt xet
143984 , AP_INVOICE_EXTRACT_HEADER_V h2
143985 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
143986 , fnd_lookup_values fvl15
143987 , fnd_lookup_values fvl47
143988 , fnd_lookup_values fvl164
143989 ,(select rownum r from all_objects where rownum <= 23 and owner = p_apps_owner)
143990 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
143991 AND xet.event_class_code = C_EVENT_CLASS_CODE
143992 AND h2.event_id = xet.event_id
143993 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
143994 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
143995 AND fvl15.view_application_id(+) = 200
143996 AND fvl15.language(+) = USERENV('LANG')
143997 AND fvl47.lookup_type(+) = 'YES_NO'
143998 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
143999 AND fvl47.view_application_id(+) = 0
144000 AND fvl47.language(+) = USERENV('LANG')
144001 AND fvl164.lookup_type(+) = 'INVOICE TYPE'
144002 AND fvl164.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
144003 AND fvl164.view_application_id(+) = 200
144004 AND fvl164.language(+) = USERENV('LANG')
144005
144006 )
144007 ;
144008 --
144009 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144010
144011 trace
144012 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
144013 ,p_level => C_LEVEL_STATEMENT
144014 ,p_module => l_log_module);
144015
144016 END IF;
144017 --
144018
144019
144020
144021 --
144022 INSERT INTO xla_diag_sources --line2
144023 (
144024 event_id
144025 , ledger_id
144026 , sla_ledger_id
144027 , description_language
144028 , object_name
144029 , object_type_code
144030 , line_number
144031 , source_application_id
144032 , source_type_code
144033 , source_code
144034 , source_value
144035 , source_meaning
144036 , created_by
144037 , creation_date
144041 , program_update_date
144038 , last_update_date
144039 , last_updated_by
144040 , last_update_login
144042 , program_application_id
144043 , program_id
144044 , request_id
144045 )
144046 SELECT event_id
144047 , p_target_ledger_id
144048 , p_sla_ledger_id
144049 , p_language
144050 , object_name
144051 , object_type_code
144052 , line_number
144053 , source_application_id
144054 , source_type_code
144055 , source_code
144056 , SUBSTR(source_value,1,1996)
144057 , SUBSTR(source_meaning ,1,200)
144058 , xla_environment_pkg.g_Usr_Id
144059 , TRUNC(SYSDATE)
144060 , TRUNC(SYSDATE)
144061 , xla_environment_pkg.g_Usr_Id
144062 , xla_environment_pkg.g_Login_Id
144063 , TRUNC(SYSDATE)
144064 , xla_environment_pkg.g_Prog_Appl_Id
144065 , xla_environment_pkg.g_Prog_Id
144066 , xla_environment_pkg.g_Req_Id
144067 FROM (
144068 SELECT xet.event_id event_id
144069 , l1.line_number line_number
144070 , CASE r
144071 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144072 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144073 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144074 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144075 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144076 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144077 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144078 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144079 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144080 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144081 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144082 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144083 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144084 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144085 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144086 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144087 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144088 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144089 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144090 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144091 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144092 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144093 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144094 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144095 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144096 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144097 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
144098 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
144099 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
144100 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144101 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144102 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144103 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144104 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144105 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144106 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
144107 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
144108 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144109 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144110 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144111 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144112 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144113 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144114 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144115 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144116 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144117 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144118 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144119
144120 ELSE null
144121 END object_name
144122 , CASE r
144123 WHEN 1 THEN 'LINE'
144124 WHEN 2 THEN 'LINE'
144125 WHEN 3 THEN 'LINE'
144126 WHEN 4 THEN 'LINE'
144127 WHEN 5 THEN 'LINE'
144128 WHEN 6 THEN 'LINE'
144129 WHEN 7 THEN 'LINE'
144130 WHEN 8 THEN 'LINE'
144131 WHEN 9 THEN 'LINE'
144132 WHEN 10 THEN 'LINE'
144133 WHEN 11 THEN 'LINE'
144134 WHEN 12 THEN 'LINE'
144135 WHEN 13 THEN 'LINE'
144136 WHEN 14 THEN 'LINE'
144137 WHEN 15 THEN 'LINE'
144138 WHEN 16 THEN 'LINE'
144139 WHEN 17 THEN 'LINE'
144140 WHEN 18 THEN 'LINE'
144141 WHEN 19 THEN 'LINE'
144142 WHEN 20 THEN 'LINE'
144143 WHEN 21 THEN 'LINE'
144144 WHEN 22 THEN 'LINE'
144145 WHEN 23 THEN 'LINE'
144146 WHEN 24 THEN 'LINE'
144147 WHEN 25 THEN 'LINE'
144148 WHEN 26 THEN 'LINE'
144149 WHEN 27 THEN 'LINE'
144150 WHEN 28 THEN 'LINE'
144151 WHEN 29 THEN 'LINE'
144152 WHEN 30 THEN 'LINE'
144153 WHEN 31 THEN 'LINE'
144154 WHEN 32 THEN 'LINE'
144155 WHEN 33 THEN 'LINE'
144156 WHEN 34 THEN 'LINE'
144157 WHEN 35 THEN 'LINE'
144158 WHEN 36 THEN 'LINE'
144159 WHEN 37 THEN 'LINE'
144163 WHEN 41 THEN 'LINE'
144160 WHEN 38 THEN 'LINE'
144161 WHEN 39 THEN 'LINE'
144162 WHEN 40 THEN 'LINE'
144164 WHEN 42 THEN 'LINE'
144165 WHEN 43 THEN 'LINE'
144166 WHEN 44 THEN 'LINE'
144167 WHEN 45 THEN 'LINE'
144168 WHEN 46 THEN 'LINE'
144169 WHEN 47 THEN 'LINE'
144170 WHEN 48 THEN 'LINE'
144171
144172 ELSE null
144173 END object_type_code
144174 , CASE r
144175 WHEN 1 THEN '200'
144176 WHEN 2 THEN '200'
144177 WHEN 3 THEN '200'
144178 WHEN 4 THEN '200'
144179 WHEN 5 THEN '200'
144180 WHEN 6 THEN '200'
144181 WHEN 7 THEN '200'
144182 WHEN 8 THEN '200'
144183 WHEN 9 THEN '200'
144184 WHEN 10 THEN '200'
144185 WHEN 11 THEN '200'
144186 WHEN 12 THEN '200'
144187 WHEN 13 THEN '200'
144188 WHEN 14 THEN '200'
144189 WHEN 15 THEN '200'
144190 WHEN 16 THEN '200'
144191 WHEN 17 THEN '200'
144192 WHEN 18 THEN '200'
144193 WHEN 19 THEN '200'
144194 WHEN 20 THEN '200'
144195 WHEN 21 THEN '200'
144196 WHEN 22 THEN '200'
144197 WHEN 23 THEN '200'
144198 WHEN 24 THEN '200'
144199 WHEN 25 THEN '200'
144200 WHEN 26 THEN '200'
144201 WHEN 27 THEN '200'
144202 WHEN 28 THEN '200'
144203 WHEN 29 THEN '200'
144204 WHEN 30 THEN '200'
144205 WHEN 31 THEN '200'
144206 WHEN 32 THEN '200'
144207 WHEN 33 THEN '200'
144208 WHEN 34 THEN '200'
144209 WHEN 35 THEN '200'
144210 WHEN 36 THEN '200'
144211 WHEN 37 THEN '200'
144212 WHEN 38 THEN '200'
144213 WHEN 39 THEN '200'
144214 WHEN 40 THEN '200'
144215 WHEN 41 THEN '200'
144216 WHEN 42 THEN '200'
144217 WHEN 43 THEN '200'
144218 WHEN 44 THEN '200'
144219 WHEN 45 THEN '200'
144220 WHEN 46 THEN '200'
144221 WHEN 47 THEN '200'
144222 WHEN 48 THEN '200'
144223
144224 ELSE null
144225 END source_application_id
144226 , 'S' source_type_code
144227 , CASE r
144228 WHEN 1 THEN 'AID_DESCRIPTION'
144229 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
144230 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
144231 WHEN 4 THEN 'AID_DIST_CCID'
144232 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
144233 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
144234 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
144235 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
144236 WHEN 9 THEN 'ASAT_LIAB_CCID'
144237 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
144238 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
144239 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
144240 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
144241 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
144242 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
144243 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
144244 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
144245 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
144246 WHEN 19 THEN 'UPG_ENC_CR_CCID'
144247 WHEN 20 THEN 'UPG_ENC_CR_AMT'
144248 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
144249 WHEN 22 THEN 'UPG_ENC_DR_CCID'
144250 WHEN 23 THEN 'UPG_ENC_DR_AMT'
144251 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
144252 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
144253 WHEN 26 THEN 'AID_AMOUNT'
144254 WHEN 27 THEN 'POH_RATE_DATE'
144255 WHEN 28 THEN 'POH_RATE'
144256 WHEN 29 THEN 'POH_RATE_TYPE'
144257 WHEN 30 THEN 'DEFERRED_END_DATE'
144258 WHEN 31 THEN 'DEFERRED_OPTION'
144259 WHEN 32 THEN 'DEFERRED_START_DATE'
144260 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
144261 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
144262 WHEN 35 THEN 'AID_STAT_AMOUNT'
144263 WHEN 36 THEN 'TAX_LINE_ID'
144264 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
144265 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
144266 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
144267 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
144268 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
144269 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
144270 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
144271 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
144272 WHEN 45 THEN 'BUS_FLOW_INV_ID'
144273 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
144274 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
144275 WHEN 48 THEN 'AID_PROJECT_ID'
144276
144277 ELSE null
144278 END source_code
144279 , CASE r
144280 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
144281 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
144282 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
144283 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
144287 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
144284 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
144285 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
144286 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
144288 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
144289 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
144290 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
144291 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
144292 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
144293 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
144294 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
144295 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
144296 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
144297 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
144298 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
144299 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
144300 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
144301 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
144302 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
144303 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
144304 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
144305 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
144306 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
144307 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
144308 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
144309 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
144310 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
144311 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
144312 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
144313 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
144314 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
144315 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
144316 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
144317 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
144318 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
144319 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
144320 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
144321 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
144322 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
144323 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
144324 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
144325 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
144326 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
144327 WHEN 48 THEN TO_CHAR(l1.AID_PROJECT_ID)
144328
144329 ELSE null
144330 END source_value
144331 , CASE r
144332 WHEN 3 THEN fvl22.meaning
144333 WHEN 5 THEN fvl33.meaning
144334 WHEN 33 THEN fvl79.meaning
144335 WHEN 46 THEN fvl95.meaning
144336 WHEN 47 THEN fvl135.meaning
144337
144338 ELSE null
144339 END source_meaning
144340 FROM xla_events_gt xet
144341 , AP_INVOICE_EXTRACT_DETAILS_V l1
144342 , AP_PO_HEADERS_EXTRACT_V l3
144343 , ZX_AP_DEF_TAX_EXTRACT_V l5
144344 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
144345 , fnd_lookup_values fvl22
144346 , fnd_lookup_values fvl33
144347 , fnd_lookup_values fvl79
144348 , fnd_lookup_values fvl95
144349 , fnd_lookup_values fvl135
144350 , (select rownum r from all_objects where rownum <= 48 and owner = p_apps_owner)
144351 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
144352 AND xet.event_class_code = C_EVENT_CLASS_CODE
144353 AND l1.event_id = xet.event_id
144354 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'
144355 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
144356 AND fvl22.view_application_id(+) = 201
144357 AND fvl22.language(+) = USERENV('LANG')
144358 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
144359 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
144360 AND fvl33.view_application_id(+) = 200
144361 AND fvl33.language(+) = USERENV('LANG')
144362 AND fvl79.lookup_type(+) = 'YES_NO'
144363 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
144364 AND fvl79.view_application_id(+) = 0
144365 AND fvl79.language(+) = USERENV('LANG')
144366 AND fvl95.lookup_type(+) = 'YES_NO'
144367 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
144368 AND fvl95.view_application_id(+) = 0
144369 AND fvl95.language(+) = USERENV('LANG')
144370 AND fvl135.lookup_type(+) = 'YES_NO'
144371 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
144372 AND fvl135.view_application_id(+) = 0
144373 AND fvl135.language(+) = USERENV('LANG')
144374
144375 )
144376 ;
144377 --
144378 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144379
144380 trace
144381 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
144382 ,p_level => C_LEVEL_STATEMENT
144383 ,p_module => l_log_module);
144384
144385 END IF;
144386
144387
144388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144389 trace
144390 (p_msg => 'END of insert_sources_226'
144391 ,p_level => C_LEVEL_PROCEDURE
144392 ,p_module => l_log_module);
144393 END IF;
144394 EXCEPTION
144395 WHEN xla_exceptions_pkg.application_exception THEN
144396 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
144400 ,p_module => l_log_module);
144397 trace
144398 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
144399 ,p_level => C_LEVEL_EXCEPTION
144401 END IF;
144402 RAISE;
144403 WHEN OTHERS THEN
144404 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
144405 trace
144406 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
144407 ,p_level => C_LEVEL_EXCEPTION
144408 ,p_module => l_log_module);
144409 END IF;
144410 xla_exceptions_pkg.raise_message
144411 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_226');
144412 END insert_sources_226;
144413 --
144414
144415 ---------------------------------------
144416 --
144417 -- PRIVATE FUNCTION
144418 -- EventClass_226
144419 --
144420 ----------------------------------------
144421 --
144422 FUNCTION EventClass_226
144423 (p_application_id IN NUMBER
144424 ,p_base_ledger_id IN NUMBER
144425 ,p_target_ledger_id IN NUMBER
144426 ,p_language IN VARCHAR2
144427 ,p_currency_code IN VARCHAR2
144428 ,p_sla_ledger_id IN NUMBER
144429 ,p_pad_start_date IN DATE
144430 ,p_pad_end_date IN DATE
144431 ,p_primary_ledger_id IN NUMBER)
144432 RETURN BOOLEAN IS
144433 --
144434 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
144435 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
144436
144437 l_calculate_acctd_flag VARCHAR2(1) :='N';
144438 l_calculate_g_l_flag VARCHAR2(1) :='N';
144439 --
144440 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144441 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144442 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144443 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144444 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144445 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144446 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144447 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144448 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144449 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144450 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144451 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144452 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144453 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144454 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144455 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144456 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144457 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144458 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144459 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144460 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144461 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144462 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
144463 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144464 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
144465 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
144466
144467 l_event_id NUMBER;
144468 l_previous_event_id NUMBER;
144469 l_first_event_id NUMBER;
144470 l_last_event_id NUMBER;
144471
144472 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
144473 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
144474 --
144475 --
144476 l_result BOOLEAN := TRUE;
144477 l_rows NUMBER := 1000;
144478 l_event_type_name VARCHAR2(80) := 'All';
144479 l_event_class_name VARCHAR2(80) := 'Credit Memos';
144480 l_description VARCHAR2(4000);
144481 l_transaction_reversal NUMBER;
144482 l_ae_header_id NUMBER;
144483 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
144484 l_log_module VARCHAR2(240);
144485 --
144486 l_acct_reversal_source VARCHAR2(30);
144487 l_trx_reversal_source VARCHAR2(30);
144488
144489 l_continue_with_lines BOOLEAN := TRUE;
144490 --
144491 l_acc_rev_gl_date_source DATE; -- 4262811
144492 --
144493 type t_array_event_id is table of number index by binary_integer;
144494
144495 l_rec_array_event t_rec_array_event;
144496 l_null_rec_array_event t_rec_array_event;
144497 l_array_ae_header_id xla_number_array_type;
144498 l_actual_flag VARCHAR2(1) := NULL;
144499 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
144500 l_balance_type_code VARCHAR2(1) :=NULL;
144501 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
144502
144503 --
144504 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
144505 --
144506
144507 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
144508 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
144509 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
144510 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
144514 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
144511 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
144512 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
144513 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
144515 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
144516 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
144517 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144518 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
144519 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
144520 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
144521 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
144522 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
144523 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
144524 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
144525 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
144526 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
144527 TYPE t_array_source_163 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_SOURCE%TYPE INDEX BY BINARY_INTEGER;
144528 TYPE t_array_source_164 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
144529 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
144530
144531 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
144532 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144533 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144534 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
144535 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
144536 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
144537 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144538 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144539 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
144540 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
144541 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
144542 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144543 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
144544 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144545 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
144546 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144547 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
144548 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144549 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
144550 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
144551 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
144552 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
144553 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
144554 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
144555 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
144556 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144557 TYPE t_array_source_73 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
144558 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
144559 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
144560 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
144561 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
144562 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
144563 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
144564 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
144565 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144566 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
144567 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144571 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
144568 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
144569 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
144570 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
144572 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144573 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
144574 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144575 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
144576 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
144577 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
144578 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PROJECT_ID%TYPE INDEX BY BINARY_INTEGER;
144579
144580 l_array_source_3 t_array_source_3;
144581 l_array_source_4 t_array_source_4;
144582 l_array_source_5 t_array_source_5;
144583 l_array_source_6 t_array_source_6;
144584 l_array_source_7 t_array_source_7;
144585 l_array_source_8 t_array_source_8;
144586 l_array_source_15 t_array_source_15;
144587 l_array_source_15_meaning t_array_lookup_meaning;
144588 l_array_source_20 t_array_source_20;
144589 l_array_source_23 t_array_source_23;
144590 l_array_source_34 t_array_source_34;
144591 l_array_source_40 t_array_source_40;
144592 l_array_source_47 t_array_source_47;
144593 l_array_source_47_meaning t_array_lookup_meaning;
144594 l_array_source_57 t_array_source_57;
144595 l_array_source_66 t_array_source_66;
144596 l_array_source_80 t_array_source_80;
144597 l_array_source_81 t_array_source_81;
144598 l_array_source_82 t_array_source_82;
144599 l_array_source_136 t_array_source_136;
144600 l_array_source_137 t_array_source_137;
144601 l_array_source_138 t_array_source_138;
144602 l_array_source_163 t_array_source_163;
144603 l_array_source_164 t_array_source_164;
144604 l_array_source_164_meaning t_array_lookup_meaning;
144605 l_array_source_168 t_array_source_168;
144606
144607 l_array_source_1 t_array_source_1;
144608 l_array_source_21 t_array_source_21;
144609 l_array_source_22 t_array_source_22;
144610 l_array_source_22_meaning t_array_lookup_meaning;
144611 l_array_source_30 t_array_source_30;
144612 l_array_source_33 t_array_source_33;
144613 l_array_source_33_meaning t_array_lookup_meaning;
144614 l_array_source_42 t_array_source_42;
144615 l_array_source_43 t_array_source_43;
144616 l_array_source_49 t_array_source_49;
144617 l_array_source_50 t_array_source_50;
144618 l_array_source_52 t_array_source_52;
144619 l_array_source_54 t_array_source_54;
144620 l_array_source_56 t_array_source_56;
144621 l_array_source_58 t_array_source_58;
144622 l_array_source_59 t_array_source_59;
144623 l_array_source_60 t_array_source_60;
144624 l_array_source_61 t_array_source_61;
144625 l_array_source_62 t_array_source_62;
144626 l_array_source_63 t_array_source_63;
144627 l_array_source_64 t_array_source_64;
144628 l_array_source_65 t_array_source_65;
144629 l_array_source_67 t_array_source_67;
144630 l_array_source_68 t_array_source_68;
144631 l_array_source_69 t_array_source_69;
144632 l_array_source_70 t_array_source_70;
144633 l_array_source_71 t_array_source_71;
144634 l_array_source_72 t_array_source_72;
144635 l_array_source_73 t_array_source_73;
144636 l_array_source_74 t_array_source_74;
144637 l_array_source_75 t_array_source_75;
144638 l_array_source_76 t_array_source_76;
144639 l_array_source_77 t_array_source_77;
144640 l_array_source_78 t_array_source_78;
144641 l_array_source_79 t_array_source_79;
144642 l_array_source_79_meaning t_array_lookup_meaning;
144643 l_array_source_83 t_array_source_83;
144644 l_array_source_84 t_array_source_84;
144645 l_array_source_85 t_array_source_85;
144646 l_array_source_86 t_array_source_86;
144647 l_array_source_87 t_array_source_87;
144648 l_array_source_88 t_array_source_88;
144649 l_array_source_89 t_array_source_89;
144650 l_array_source_90 t_array_source_90;
144651 l_array_source_91 t_array_source_91;
144652 l_array_source_92 t_array_source_92;
144653 l_array_source_93 t_array_source_93;
144654 l_array_source_94 t_array_source_94;
144655 l_array_source_95 t_array_source_95;
144656 l_array_source_95_meaning t_array_lookup_meaning;
144657 l_array_source_135 t_array_source_135;
144658 l_array_source_135_meaning t_array_lookup_meaning;
144659 l_array_source_146 t_array_source_146;
144660
144661 --
144662 CURSOR header_cur
144663 IS
144664 SELECT /*+ leading(xet) cardinality(xet,1) */
144665 -- Event Class Code: CREDIT MEMOS
144666 xet.entity_id
144667 ,xet.legal_entity_id
144668 ,xet.entity_code
144669 ,xet.transaction_number
144670 ,xet.event_id
144671 ,xet.event_class_code
144672 ,xet.event_type_code
144673 ,xet.event_number
144674 ,xet.event_date
144675 ,xet.transaction_date
144676 ,xet.reference_num_1
144677 ,xet.reference_num_2
144678 ,xet.reference_num_3
144679 ,xet.reference_num_4
144680 ,xet.reference_char_1
144681 ,xet.reference_char_2
144682 ,xet.reference_char_3
144683 ,xet.reference_char_4
144684 ,xet.reference_date_1
144688 ,xet.event_created_by
144685 ,xet.reference_date_2
144686 ,xet.reference_date_3
144687 ,xet.reference_date_4
144689 ,xet.budgetary_control_flag
144690 , h2.INV_TRANSACTION_NUMBER source_3
144691 , h2.AI_INVOICE_DATE source_4
144692 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
144693 , h2.DOC_SEQUENCE_NAME source_6
144694 , h2.INV_DOC_SEQUENCE_VALUE source_7
144695 , h2.AI_DESCRIPTION source_8
144696 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
144697 , fvl15.meaning source_15_meaning
144698 , h4.ASP_RATE_VAR_GAIN_CCID source_20
144699 , h4.ASP_RATE_VAR_LOSS_CCID source_23
144700 , h2.AI_ACCTS_PAY_CCID source_34
144701 , h4.FSP_RETAINAGE_ACCOUNT source_40
144702 , h4.ASP_AUTO_OFFSET_FLAG source_47
144703 , fvl47.meaning source_47_meaning
144704 , h2.AI_INVOICE_ID source_57
144705 , h2.AI_INVOICE_CURRENCY_CODE source_66
144706 , h2.AI_VENDOR_ID source_80
144707 , h2.AI_VENDOR_SITE_ID source_81
144708 , h2.THIRD_PARTY_TYPE source_82
144709 , h2.INV_EXCHANGE_DATE source_136
144710 , h2.INV_EXCHANGE_RATE source_137
144711 , h2.INV_EXCHANGE_RATE_TYPE source_138
144712 , h2.AI_SOURCE source_163
144713 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_164
144714 , fvl164.meaning source_164_meaning
144715 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
144716 FROM xla_events_gt xet
144717 , AP_INVOICE_EXTRACT_HEADER_V h2
144718 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
144719 , fnd_lookup_values fvl15
144720 , fnd_lookup_values fvl47
144721 , fnd_lookup_values fvl164
144722 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
144723 and xet.event_class_code = C_EVENT_CLASS_CODE
144724 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
144725 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
144726 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
144727 AND fvl15.view_application_id(+) = 200
144728 AND fvl15.language(+) = USERENV('LANG')
144729 AND fvl47.lookup_type(+) = 'YES_NO'
144730 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
144731 AND fvl47.view_application_id(+) = 0
144732 AND fvl47.language(+) = USERENV('LANG')
144733 AND fvl164.lookup_type(+) = 'INVOICE TYPE'
144734 AND fvl164.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
144735 AND fvl164.view_application_id(+) = 200
144736 AND fvl164.language(+) = USERENV('LANG')
144737
144738 ORDER BY event_id
144739 ;
144740
144741
144742 --
144743 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
144744 IS
144745 SELECT /*+ leading(xet) cardinality(xet,1) */
144746 -- Event Class Code: CREDIT MEMOS
144747 xet.entity_id
144748 ,xet.legal_entity_id
144749 ,xet.entity_code
144750 ,xet.transaction_number
144751 ,xet.event_id
144752 ,xet.event_class_code
144753 ,xet.event_type_code
144754 ,xet.event_number
144755 ,xet.event_date
144756 ,xet.transaction_date
144757 ,xet.reference_num_1
144758 ,xet.reference_num_2
144759 ,xet.reference_num_3
144760 ,xet.reference_num_4
144761 ,xet.reference_char_1
144762 ,xet.reference_char_2
144763 ,xet.reference_char_3
144764 ,xet.reference_char_4
144765 ,xet.reference_date_1
144766 ,xet.reference_date_2
144767 ,xet.reference_date_3
144768 ,xet.reference_date_4
144769 ,xet.event_created_by
144770 ,xet.budgetary_control_flag
144771 , l1.LINE_NUMBER
144772 , l1.AID_DESCRIPTION source_1
144773 , l1.INV_DIST_BASE_AMOUNT source_21
144774 , l1.RELATED_INV_DIST_DEST_TYPE source_22
144775 , fvl22.meaning source_22_meaning
144776 , l1.AID_DIST_CCID source_30
144777 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
144778 , fvl33.meaning source_33_meaning
144779 , l1.AID_RET_RELATED_DIST_CCID source_42
144780 , l1.AWT_RELATED_DIST_ACCOUNT source_43
144781 , l1.SELF_ASSESSED_TAX_ACCOUNT source_49
144782 , l1.ASAT_LIAB_CCID source_50
144783 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
144784 , l1.DISTRIBUTION_LINK_TYPE source_54
144785 , l1.ALLOC_TO_MAIN_DIST_ID source_56
144786 , l1.BUS_FLOW_PO_APP_ID source_58
144787 , l1.BUS_FLOW_PO_DIST_TYPE source_59
144788 , l1.BUS_FLOW_PO_ENTITY_CODE source_60
144789 , l1.BUS_FLOW_PO_DIST_ID source_61
144790 , l1.BUS_FLOW_PO_DOC_ID source_62
144791 , l1.AID_INVOICE_DIST_ID source_63
144792 , l1.UPG_ENC_CR_CCID source_64
144793 , l1.UPG_ENC_CR_AMT source_65
144794 , l1.UPG_ENC_CR_BASE_AMT source_67
144795 , l1.UPG_ENC_DR_CCID source_68
144796 , l1.UPG_ENC_DR_AMT source_69
144797 , l1.UPG_ENC_DR_BASE_AMT source_70
144798 , l1.UPG_AP_ENCUM_OPTION source_71
144799 , l1.AID_AMOUNT source_72
144800 , l3.POH_RATE_DATE source_73
144801 , l3.POH_RATE source_74
144802 , l3.POH_RATE_TYPE source_75
144803 , l1.DEFERRED_END_DATE source_76
144804 , l1.DEFERRED_OPTION source_77
144805 , l1.DEFERRED_START_DATE source_78
144806 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
144807 , fvl79.meaning source_79_meaning
144808 , l1.AID_PARENT_REVERSAL_ID source_83
144809 , l1.AID_STAT_AMOUNT source_84
144810 , l5.TAX_LINE_ID source_85
144811 , l6.REC_NREC_TAX_DIST_ID source_86
144812 , l1.SUMMARY_TAX_LINE_ID source_87
144813 , l1.UPG_CR_ENC_TYPE_ID source_88
144814 , l1.UPG_DR_ENC_TYPE_ID source_89
144815 , l1.BUS_FLOW_AP_APP_ID source_90
144816 , l1.BUS_FLOW_INV_DIST_TYPE source_91
144817 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
144818 , l1.BUS_FLOW_INV_DIST_ID source_93
144819 , l1.BUS_FLOW_INV_ID source_94
144820 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_95
144821 , fvl95.meaning source_95_meaning
144822 , l1.SELF_ASSESSED_TAX_FLAG source_135
144826 , AP_INVOICE_EXTRACT_DETAILS_V l1
144823 , fvl135.meaning source_135_meaning
144824 , l1.AID_PROJECT_ID source_146
144825 FROM xla_events_gt xet
144827 , AP_PO_HEADERS_EXTRACT_V l3
144828 , ZX_AP_DEF_TAX_EXTRACT_V l5
144829 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
144830 , fnd_lookup_values fvl22
144831 , fnd_lookup_values fvl33
144832 , fnd_lookup_values fvl79
144833 , fnd_lookup_values fvl95
144834 , fnd_lookup_values fvl135
144835 WHERE xet.event_id between x_first_event_id and x_last_event_id
144836 and xet.event_date between p_pad_start_date and p_pad_end_date
144837 and xet.event_class_code = C_EVENT_CLASS_CODE
144838 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
144839 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'
144840 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
144841 AND fvl22.view_application_id(+) = 201
144842 AND fvl22.language(+) = USERENV('LANG')
144843 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
144844 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
144845 AND fvl33.view_application_id(+) = 200
144846 AND fvl33.language(+) = USERENV('LANG')
144847 AND fvl79.lookup_type(+) = 'YES_NO'
144848 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
144849 AND fvl79.view_application_id(+) = 0
144850 AND fvl79.language(+) = USERENV('LANG')
144851 AND fvl95.lookup_type(+) = 'YES_NO'
144852 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
144853 AND fvl95.view_application_id(+) = 0
144854 AND fvl95.language(+) = USERENV('LANG')
144855 AND fvl135.lookup_type(+) = 'YES_NO'
144856 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
144857 AND fvl135.view_application_id(+) = 0
144858 AND fvl135.language(+) = USERENV('LANG')
144859 ;
144860
144861 --
144862 BEGIN
144863 IF g_log_enabled THEN
144864 l_log_module := C_DEFAULT_MODULE||'.EventClass_226';
144865 END IF;
144866 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144867 trace
144868 (p_msg => 'BEGIN of EventClass_226'
144869 ,p_level => C_LEVEL_PROCEDURE
144870 ,p_module => l_log_module);
144871 END IF;
144872
144873 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144874 trace
144875 (p_msg => 'p_application_id = '||p_application_id||
144876 ' - p_base_ledger_id = '||p_base_ledger_id||
144877 ' - p_target_ledger_id = '||p_target_ledger_id||
144878 ' - p_language = '||p_language||
144879 ' - p_currency_code = '||p_currency_code||
144880 ' - p_sla_ledger_id = '||p_sla_ledger_id
144881 ,p_level => C_LEVEL_STATEMENT
144882 ,p_module => l_log_module);
144883 END IF;
144884 --
144885 -- initialze arrays
144886 --
144887 g_array_event.DELETE;
144888 l_rec_array_event := l_null_rec_array_event;
144889 --
144890 --------------------------------------
144891 -- 4262811 Initialze MPA Line Number
144892 --------------------------------------
144893 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
144894
144895 --
144896
144897 --
144898 OPEN header_cur;
144899 --
144900 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144901 trace
144902 (p_msg => 'SQL - FETCH header_cur'
144903 ,p_level => C_LEVEL_STATEMENT
144904 ,p_module => l_log_module);
144905 END IF;
144906 --
144907 LOOP
144908 FETCH header_cur BULK COLLECT INTO
144909 l_array_entity_id
144910 , l_array_legal_entity_id
144911 , l_array_entity_code
144912 , l_array_transaction_num
144913 , l_array_event_id
144914 , l_array_class_code
144915 , l_array_event_type
144916 , l_array_event_number
144917 , l_array_event_date
144918 , l_array_transaction_date
144919 , l_array_reference_num_1
144920 , l_array_reference_num_2
144921 , l_array_reference_num_3
144922 , l_array_reference_num_4
144923 , l_array_reference_char_1
144924 , l_array_reference_char_2
144925 , l_array_reference_char_3
144926 , l_array_reference_char_4
144927 , l_array_reference_date_1
144928 , l_array_reference_date_2
144929 , l_array_reference_date_3
144930 , l_array_reference_date_4
144931 , l_array_event_created_by
144932 , l_array_budgetary_control_flag
144933 , l_array_source_3
144934 , l_array_source_4
144935 , l_array_source_5
144936 , l_array_source_6
144937 , l_array_source_7
144938 , l_array_source_8
144939 , l_array_source_15
144940 , l_array_source_15_meaning
144941 , l_array_source_20
144942 , l_array_source_23
144943 , l_array_source_34
144944 , l_array_source_40
144945 , l_array_source_47
144946 , l_array_source_47_meaning
144947 , l_array_source_57
144948 , l_array_source_66
144949 , l_array_source_80
144950 , l_array_source_81
144951 , l_array_source_82
144952 , l_array_source_136
144953 , l_array_source_137
144954 , l_array_source_138
144955 , l_array_source_163
144956 , l_array_source_164
144957 , l_array_source_164_meaning
144958 , l_array_source_168
144959 LIMIT l_rows;
144960 --
144961 IF (C_LEVEL_EVENT >= g_log_level) THEN
144962 trace
144963 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
144964 ,p_level => C_LEVEL_EVENT
144965 ,p_module => l_log_module);
144966 END IF;
144967 --
144968 EXIT WHEN l_array_entity_id.COUNT = 0;
144969
144973
144970 -- initialize arrays
144971 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
144972 XLA_AE_LINES_PKG.g_rec_lines := NULL;
144974 --
144975 -- Bug 4458708
144976 --
144977 XLA_AE_LINES_PKG.g_LineNumber := 0;
144978
144979
144980 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
144981 g_last_hdr_idx := l_array_event_id.LAST;
144982 --
144983 -- loop for the headers. Each iteration is for each header extract row
144984 -- fetched in header cursor
144985 --
144986 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
144987
144988 --
144989 -- set event info as cache for other routines to refer event attributes
144990 --
144991 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
144992 (p_application_id => p_application_id
144993 ,p_primary_ledger_id => p_primary_ledger_id
144994 ,p_base_ledger_id => p_base_ledger_id
144995 ,p_target_ledger_id => p_target_ledger_id
144996 ,p_entity_id => l_array_entity_id(hdr_idx)
144997 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
144998 ,p_entity_code => l_array_entity_code(hdr_idx)
144999 ,p_transaction_num => l_array_transaction_num(hdr_idx)
145000 ,p_event_id => l_array_event_id(hdr_idx)
145001 ,p_event_class_code => l_array_class_code(hdr_idx)
145002 ,p_event_type_code => l_array_event_type(hdr_idx)
145003 ,p_event_number => l_array_event_number(hdr_idx)
145004 ,p_event_date => l_array_event_date(hdr_idx)
145005 ,p_transaction_date => l_array_transaction_date(hdr_idx)
145006 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
145007 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
145008 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
145009 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
145010 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
145011 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
145012 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
145013 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
145014 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
145015 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
145016 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
145017 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
145018 ,p_event_created_by => l_array_event_created_by(hdr_idx)
145019 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
145020
145021 --
145022 -- set the status of entry to C_VALID (0)
145023 --
145024 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
145025
145026 --
145027 -- initialize a row for ae header
145028 --
145029 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
145030
145031 l_event_id := l_array_event_id(hdr_idx);
145032
145033 --
145034 -- storing the hdr_idx for event. May be used by line cursor.
145035 --
145036 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
145037
145038 --
145039 -- store sources from header extract. This can be improved to
145040 -- store only those sources from header extract that may be used in lines
145041 --
145042
145043 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
145044 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
145045 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
145046 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
145047 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
145048 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
145049 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
145050 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
145051 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
145052 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
145053 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
145054 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
145055 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
145056 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
145057 g_array_event(l_event_id).array_value_num('source_57') := l_array_source_57(hdr_idx);
145058 g_array_event(l_event_id).array_value_char('source_66') := l_array_source_66(hdr_idx);
145059 g_array_event(l_event_id).array_value_num('source_80') := l_array_source_80(hdr_idx);
145060 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
145061 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
145062 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
145063 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
145064 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
145065 g_array_event(l_event_id).array_value_char('source_163') := l_array_source_163(hdr_idx);
145066 g_array_event(l_event_id).array_value_char('source_164') := l_array_source_164(hdr_idx);
145067 g_array_event(l_event_id).array_value_char('source_164_meaning') := l_array_source_164_meaning(hdr_idx);
145068 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
145069
145070 --
145071 -- initilaize the status of ae headers for diffrent balance types
145072 -- the status is initialised to C_NOT_CREATED (2)
145073 --
145074 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145075 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145079 -- call api to validate and store accounting attributes for header
145076 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145077
145078 --
145080 --
145081
145082 ------------------------------------------------------------
145083 -- Accrual Reversal : to get date for Standard Source (NONE)
145084 ------------------------------------------------------------
145085 l_acc_rev_gl_date_source := NULL;
145086
145087 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
145088 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
145089 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
145090 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
145091 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
145092 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
145093 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
145094 l_rec_acct_attrs.array_date_value(4) :=
145095 xla_ae_sources_pkg.GetSystemSourceDate(
145096 p_source_code => 'XLA_EVENT_DATE'
145097 , p_source_type_code => 'Y'
145098 , p_source_application_id => 602
145099 );
145100
145101
145102 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
145103
145104 XLA_AE_HEADER_PKG.SetJeCategoryName;
145105
145106 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
145107 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
145108 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
145109 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
145110 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
145111
145112
145113 --
145114 xla_ae_header_pkg.SetHdrDescription(
145115 p_description => Description_2 (
145116 p_application_id => p_application_id
145117 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
145118 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
145119 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
145120 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
145121 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
145122 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
145123 )
145124 );
145125 --
145126
145127 -- No header level analytical criteria
145128
145129 --
145130 --accounting attribute enhancement, bug 3612931
145131 --
145132 l_trx_reversal_source := SUBSTR(NULL, 1,30);
145133
145134 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
145135 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
145136
145137 xla_accounting_err_pkg.build_message
145138 (p_appli_s_name => 'XLA'
145139 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
145140 ,p_token_1 => 'ACCT_ATTR_NAME'
145141 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
145142 ,p_token_2 => 'PRODUCT_NAME'
145143 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
145144 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
145145 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
145146 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
145147
145148 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
145149 --
145150 -- following sets the accounting attributes needed to reverse
145151 -- accounting for a distributeion
145152 --
145153 xla_ae_lines_pkg.SetTrxReversalAttrs
145154 (p_event_id => l_event_id
145155 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
145156 ,p_trx_reversal_source => l_trx_reversal_source);
145157
145158 END IF;
145159
145160
145161 ----------------------------------------------------------------
145162 -- 4262811 - update the header statuses to invalid in need be
145163 ----------------------------------------------------------------
145164 --
145165 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
145166
145167
145168 -----------------------------------------------
145169 -- No accrual reversal for the event class/type
145170 -----------------------------------------------
145171 ----------------------------------------------------------------
145172
145173 --
145174 -- this ends the header loop iteration for one bulk fetch
145175 --
145176 END LOOP;
145177
145178 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
145179 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
145180
145181 --
145182 -- insert dummy rows into lines gt table that were created due to
145183 -- transaction reversals
145184 --
145185 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
145186 l_result := XLA_AE_LINES_PKG.InsertLines;
145187 END IF;
145188
145189 --
145190 -- reset the temp_line_num for each set of events fetched from header
145191 -- cursor rather than doing it for each new event in line cursor
145192 -- Bug 3939231
145193 --
145194 xla_ae_lines_pkg.g_temp_line_num := 0;
145195
145196
145197
145198 --
145199 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
145200 --
145201 --
145202 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
145203
145204 trace
145205 (p_msg => 'SQL - FETCH line_cur'
145206 ,p_level => C_LEVEL_STATEMENT
145207 ,p_module => l_log_module);
145208
145209 END IF;
145213 --
145210 --
145211 --
145212 LOOP
145214 FETCH line_cur BULK COLLECT INTO
145215 l_array_entity_id
145216 , l_array_legal_entity_id
145217 , l_array_entity_code
145218 , l_array_transaction_num
145219 , l_array_event_id
145220 , l_array_class_code
145221 , l_array_event_type
145222 , l_array_event_number
145223 , l_array_event_date
145224 , l_array_transaction_date
145225 , l_array_reference_num_1
145226 , l_array_reference_num_2
145227 , l_array_reference_num_3
145228 , l_array_reference_num_4
145229 , l_array_reference_char_1
145230 , l_array_reference_char_2
145231 , l_array_reference_char_3
145232 , l_array_reference_char_4
145233 , l_array_reference_date_1
145234 , l_array_reference_date_2
145235 , l_array_reference_date_3
145236 , l_array_reference_date_4
145237 , l_array_event_created_by
145238 , l_array_budgetary_control_flag
145239 , l_array_extract_line_num
145240 , l_array_source_1
145241 , l_array_source_21
145242 , l_array_source_22
145243 , l_array_source_22_meaning
145244 , l_array_source_30
145245 , l_array_source_33
145246 , l_array_source_33_meaning
145247 , l_array_source_42
145248 , l_array_source_43
145249 , l_array_source_49
145250 , l_array_source_50
145251 , l_array_source_52
145252 , l_array_source_54
145253 , l_array_source_56
145254 , l_array_source_58
145255 , l_array_source_59
145256 , l_array_source_60
145257 , l_array_source_61
145258 , l_array_source_62
145259 , l_array_source_63
145260 , l_array_source_64
145261 , l_array_source_65
145262 , l_array_source_67
145263 , l_array_source_68
145264 , l_array_source_69
145265 , l_array_source_70
145266 , l_array_source_71
145267 , l_array_source_72
145268 , l_array_source_73
145269 , l_array_source_74
145270 , l_array_source_75
145271 , l_array_source_76
145272 , l_array_source_77
145273 , l_array_source_78
145274 , l_array_source_79
145275 , l_array_source_79_meaning
145276 , l_array_source_83
145277 , l_array_source_84
145278 , l_array_source_85
145279 , l_array_source_86
145280 , l_array_source_87
145281 , l_array_source_88
145282 , l_array_source_89
145283 , l_array_source_90
145284 , l_array_source_91
145285 , l_array_source_92
145286 , l_array_source_93
145287 , l_array_source_94
145288 , l_array_source_95
145289 , l_array_source_95_meaning
145290 , l_array_source_135
145291 , l_array_source_135_meaning
145292 , l_array_source_146
145293 LIMIT l_rows;
145294
145295 --
145296 IF (C_LEVEL_EVENT >= g_log_level) THEN
145297 trace
145298 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
145299 ,p_level => C_LEVEL_EVENT
145300 ,p_module => l_log_module);
145301 END IF;
145302 --
145303 EXIT WHEN l_array_entity_id.count = 0;
145304
145305 XLA_AE_LINES_PKG.g_rec_lines := null;
145306
145307 --
145308 -- Bug 4458708
145309 --
145310 XLA_AE_LINES_PKG.g_LineNumber := 0;
145311 --
145312 --
145313
145314 FOR Idx IN 1..l_array_event_id.count LOOP
145315 --
145316 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
145317 --
145318 l_event_id := l_array_event_id(idx); -- 5648433
145319
145320 --
145321 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
145322 --
145323
145324 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
145325 (g_array_event(l_event_id).array_value_num('header_index'))
145326 ,'N'
145327 ) <> 'Y'
145328 THEN
145329 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
145330 trace
145331 (p_msg => 'Trancaction revesal option is not Y '
145332 ,p_level => C_LEVEL_STATEMENT
145333 ,p_module => l_log_module);
145334 END IF;
145335
145336 --
145337 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
145338 --
145339 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
145340 --
145341 -- set event info as cache for other routines to refer event attributes
145342 --
145343
145344 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
145345 l_previous_event_id := l_event_id;
145346
145347 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
145348 (p_application_id => p_application_id
145349 ,p_primary_ledger_id => p_primary_ledger_id
145350 ,p_base_ledger_id => p_base_ledger_id
145351 ,p_target_ledger_id => p_target_ledger_id
145352 ,p_entity_id => l_array_entity_id(Idx)
145353 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
145354 ,p_entity_code => l_array_entity_code(Idx)
145355 ,p_transaction_num => l_array_transaction_num(Idx)
145356 ,p_event_id => l_array_event_id(Idx)
145357 ,p_event_class_code => l_array_class_code(Idx)
145358 ,p_event_type_code => l_array_event_type(Idx)
145359 ,p_event_number => l_array_event_number(Idx)
145360 ,p_event_date => l_array_event_date(Idx)
145361 ,p_transaction_date => l_array_transaction_date(Idx)
145362 ,p_reference_num_1 => l_array_reference_num_1(Idx)
145363 ,p_reference_num_2 => l_array_reference_num_2(Idx)
145367 ,p_reference_char_2 => l_array_reference_char_2(Idx)
145364 ,p_reference_num_3 => l_array_reference_num_3(Idx)
145365 ,p_reference_num_4 => l_array_reference_num_4(Idx)
145366 ,p_reference_char_1 => l_array_reference_char_1(Idx)
145368 ,p_reference_char_3 => l_array_reference_char_3(Idx)
145369 ,p_reference_char_4 => l_array_reference_char_4(Idx)
145370 ,p_reference_date_1 => l_array_reference_date_1(Idx)
145371 ,p_reference_date_2 => l_array_reference_date_2(Idx)
145372 ,p_reference_date_3 => l_array_reference_date_3(Idx)
145373 ,p_reference_date_4 => l_array_reference_date_4(Idx)
145374 ,p_event_created_by => l_array_event_created_by(Idx)
145375 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
145376 --
145377 END IF;
145378
145379
145380
145381 --
145382 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
145383
145384 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
145385
145386 IF l_continue_with_lines THEN
145387 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
145388 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
145389
145390 xla_accounting_err_pkg.build_message
145391 (p_appli_s_name => 'XLA'
145392 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
145393 ,p_token_1 => 'LINE_NUMBER'
145394 ,p_value_1 => l_array_extract_line_num(Idx)
145395 ,p_token_2 => 'PRODUCT_NAME'
145396 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
145397 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
145398 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
145399 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
145400
145401 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
145402 --
145403 -- following sets the accounting attributes needed to reverse
145404 -- accounting for a distributeion
145405 --
145406
145407 --
145408 -- 5217187
145409 --
145410 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
145411 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
145412 g_array_event(l_event_id).array_value_num('header_index'));
145413 --
145414 --
145415
145416 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
145417 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
145418 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
145419 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_63(Idx);
145420 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
145421 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
145422 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
145423 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_64(Idx);
145424 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
145425 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_65(Idx);
145426 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
145427 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_66');
145428 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
145429 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_67(Idx);
145430 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
145431 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_68(Idx);
145432 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
145433 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_69(Idx);
145434 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
145435 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_66');
145436 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
145437 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_70(Idx);
145438 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
145439 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_71(Idx);
145440 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
145441 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_82');
145442 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
145443 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_83(Idx);
145444 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
145445 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_54(Idx);
145446 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
145447 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_85(Idx);
145448 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
145449 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_86(Idx);
145450 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
145451 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_87(Idx);
145452 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
145453 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_88(Idx);
145454 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
145455 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_89(Idx);
145456
145457
145458 xla_ae_lines_pkg.SetAcctReversalAttrs
145459 (p_event_id => l_event_id
145460 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
145464
145461 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145462 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
145463 END IF;
145465 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
145466 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
145467
145468 --
145469 AcctLineType_46 (
145470 p_application_id => p_application_id
145471 ,p_event_id => l_event_id
145472 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145473 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145474 ,p_actual_flag => l_actual_flag
145475 ,p_balance_type_code => l_balance_type_code
145476 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145477
145478 , p_source_1 => l_array_source_1(Idx)
145479 , p_source_21 => l_array_source_21(Idx)
145480 , p_source_30 => l_array_source_30(Idx)
145481 , p_source_33 => l_array_source_33(Idx)
145482 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145483 , p_source_52 => l_array_source_52(Idx)
145484 , p_source_54 => l_array_source_54(Idx)
145485 , p_source_56 => l_array_source_56(Idx)
145486 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145487 , p_source_58 => l_array_source_58(Idx)
145488 , p_source_59 => l_array_source_59(Idx)
145489 , p_source_60 => l_array_source_60(Idx)
145490 , p_source_61 => l_array_source_61(Idx)
145491 , p_source_62 => l_array_source_62(Idx)
145492 , p_source_63 => l_array_source_63(Idx)
145493 , p_source_64 => l_array_source_64(Idx)
145494 , p_source_65 => l_array_source_65(Idx)
145495 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145496 , p_source_67 => l_array_source_67(Idx)
145497 , p_source_68 => l_array_source_68(Idx)
145498 , p_source_69 => l_array_source_69(Idx)
145499 , p_source_70 => l_array_source_70(Idx)
145500 , p_source_71 => l_array_source_71(Idx)
145501 , p_source_72 => l_array_source_72(Idx)
145502 , p_source_73 => l_array_source_73(Idx)
145503 , p_source_74 => l_array_source_74(Idx)
145504 , p_source_75 => l_array_source_75(Idx)
145505 , p_source_76 => l_array_source_76(Idx)
145506 , p_source_77 => l_array_source_77(Idx)
145507 , p_source_78 => l_array_source_78(Idx)
145508 , p_source_79 => l_array_source_79(Idx)
145509 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145510 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145511 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145512 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145513 , p_source_83 => l_array_source_83(Idx)
145514 , p_source_84 => l_array_source_84(Idx)
145515 , p_source_85 => l_array_source_85(Idx)
145516 , p_source_86 => l_array_source_86(Idx)
145517 , p_source_87 => l_array_source_87(Idx)
145518 , p_source_88 => l_array_source_88(Idx)
145519 , p_source_89 => l_array_source_89(Idx)
145520 );
145521 If(l_balance_type_code = 'A') THEN
145522 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145523 END IF;
145524
145525 --
145526
145527
145528 --
145529 AcctLineType_50 (
145530 p_application_id => p_application_id
145531 ,p_event_id => l_event_id
145532 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145533 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145534 ,p_actual_flag => l_actual_flag
145535 ,p_balance_type_code => l_balance_type_code
145536 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145537
145538 , p_source_1 => l_array_source_1(Idx)
145539 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145540 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145541 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145542 , p_source_21 => l_array_source_21(Idx)
145543 , p_source_22 => l_array_source_22(Idx)
145544 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145545 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145546 , p_source_30 => l_array_source_30(Idx)
145547 , p_source_33 => l_array_source_33(Idx)
145548 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145549 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145550 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145551 , p_source_52 => l_array_source_52(Idx)
145552 , p_source_54 => l_array_source_54(Idx)
145553 , p_source_56 => l_array_source_56(Idx)
145554 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145555 , p_source_63 => l_array_source_63(Idx)
145556 , p_source_64 => l_array_source_64(Idx)
145557 , p_source_65 => l_array_source_65(Idx)
145558 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145559 , p_source_67 => l_array_source_67(Idx)
145560 , p_source_68 => l_array_source_68(Idx)
145561 , p_source_69 => l_array_source_69(Idx)
145562 , p_source_70 => l_array_source_70(Idx)
145563 , p_source_71 => l_array_source_71(Idx)
145564 , p_source_76 => l_array_source_76(Idx)
145565 , p_source_77 => l_array_source_77(Idx)
145566 , p_source_78 => l_array_source_78(Idx)
145567 , p_source_79 => l_array_source_79(Idx)
145568 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145569 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145570 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145571 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145572 , p_source_83 => l_array_source_83(Idx)
145573 , p_source_84 => l_array_source_84(Idx)
145574 , p_source_85 => l_array_source_85(Idx)
145575 , p_source_86 => l_array_source_86(Idx)
145576 , p_source_87 => l_array_source_87(Idx)
145577 , p_source_88 => l_array_source_88(Idx)
145578 , p_source_89 => l_array_source_89(Idx)
145579 , p_source_90 => l_array_source_90(Idx)
145580 , p_source_91 => l_array_source_91(Idx)
145581 , p_source_92 => l_array_source_92(Idx)
145582 , p_source_93 => l_array_source_93(Idx)
145583 , p_source_94 => l_array_source_94(Idx)
145584 );
145585 If(l_balance_type_code = 'A') THEN
145589 --
145586 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145587 END IF;
145588
145590
145591
145592 --
145593 AcctLineType_54 (
145594 p_application_id => p_application_id
145595 ,p_event_id => l_event_id
145596 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145597 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145598 ,p_actual_flag => l_actual_flag
145599 ,p_balance_type_code => l_balance_type_code
145600 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145601
145602 , p_source_1 => l_array_source_1(Idx)
145603 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145604 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145605 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145606 , p_source_21 => l_array_source_21(Idx)
145607 , p_source_22 => l_array_source_22(Idx)
145608 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145609 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145610 , p_source_30 => l_array_source_30(Idx)
145611 , p_source_33 => l_array_source_33(Idx)
145612 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145613 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145614 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145615 , p_source_52 => l_array_source_52(Idx)
145616 , p_source_54 => l_array_source_54(Idx)
145617 , p_source_56 => l_array_source_56(Idx)
145618 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145619 , p_source_63 => l_array_source_63(Idx)
145620 , p_source_64 => l_array_source_64(Idx)
145621 , p_source_65 => l_array_source_65(Idx)
145622 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145623 , p_source_67 => l_array_source_67(Idx)
145624 , p_source_68 => l_array_source_68(Idx)
145625 , p_source_69 => l_array_source_69(Idx)
145626 , p_source_70 => l_array_source_70(Idx)
145627 , p_source_71 => l_array_source_71(Idx)
145628 , p_source_76 => l_array_source_76(Idx)
145629 , p_source_77 => l_array_source_77(Idx)
145630 , p_source_78 => l_array_source_78(Idx)
145631 , p_source_79 => l_array_source_79(Idx)
145632 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145633 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145634 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145635 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145636 , p_source_83 => l_array_source_83(Idx)
145637 , p_source_84 => l_array_source_84(Idx)
145638 , p_source_85 => l_array_source_85(Idx)
145639 , p_source_86 => l_array_source_86(Idx)
145640 , p_source_87 => l_array_source_87(Idx)
145641 , p_source_88 => l_array_source_88(Idx)
145642 , p_source_89 => l_array_source_89(Idx)
145643 , p_source_90 => l_array_source_90(Idx)
145644 , p_source_91 => l_array_source_91(Idx)
145645 , p_source_92 => l_array_source_92(Idx)
145646 , p_source_93 => l_array_source_93(Idx)
145647 , p_source_94 => l_array_source_94(Idx)
145648 , p_source_95 => l_array_source_95(Idx)
145649 , p_source_95_meaning => l_array_source_95_meaning(Idx)
145650 );
145651 If(l_balance_type_code = 'A') THEN
145652 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145653 END IF;
145654
145655 --
145656
145657
145658 --
145659 AcctLineType_105 (
145660 p_application_id => p_application_id
145661 ,p_event_id => l_event_id
145662 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145663 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145664 ,p_actual_flag => l_actual_flag
145665 ,p_balance_type_code => l_balance_type_code
145666 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145667
145668 , p_source_1 => l_array_source_1(Idx)
145669 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145670 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145671 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145672 , p_source_21 => l_array_source_21(Idx)
145673 , p_source_22 => l_array_source_22(Idx)
145674 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145675 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145676 , p_source_30 => l_array_source_30(Idx)
145677 , p_source_33 => l_array_source_33(Idx)
145678 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145679 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145680 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145681 , p_source_52 => l_array_source_52(Idx)
145682 , p_source_54 => l_array_source_54(Idx)
145683 , p_source_56 => l_array_source_56(Idx)
145684 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145685 , p_source_63 => l_array_source_63(Idx)
145686 , p_source_64 => l_array_source_64(Idx)
145687 , p_source_65 => l_array_source_65(Idx)
145688 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145689 , p_source_67 => l_array_source_67(Idx)
145690 , p_source_68 => l_array_source_68(Idx)
145691 , p_source_69 => l_array_source_69(Idx)
145692 , p_source_70 => l_array_source_70(Idx)
145693 , p_source_71 => l_array_source_71(Idx)
145694 , p_source_72 => l_array_source_72(Idx)
145695 , p_source_76 => l_array_source_76(Idx)
145696 , p_source_77 => l_array_source_77(Idx)
145697 , p_source_78 => l_array_source_78(Idx)
145698 , p_source_79 => l_array_source_79(Idx)
145699 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145700 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145701 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145702 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145703 , p_source_83 => l_array_source_83(Idx)
145704 , p_source_84 => l_array_source_84(Idx)
145705 , p_source_85 => l_array_source_85(Idx)
145706 , p_source_86 => l_array_source_86(Idx)
145707 , p_source_87 => l_array_source_87(Idx)
145708 , p_source_88 => l_array_source_88(Idx)
145712 , p_source_92 => l_array_source_92(Idx)
145709 , p_source_89 => l_array_source_89(Idx)
145710 , p_source_90 => l_array_source_90(Idx)
145711 , p_source_91 => l_array_source_91(Idx)
145713 , p_source_93 => l_array_source_93(Idx)
145714 , p_source_94 => l_array_source_94(Idx)
145715 , p_source_95 => l_array_source_95(Idx)
145716 , p_source_95_meaning => l_array_source_95_meaning(Idx)
145717 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
145718 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
145719 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
145720 );
145721 If(l_balance_type_code = 'A') THEN
145722 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145723 END IF;
145724
145725 --
145726
145727
145728 --
145729 AcctLineType_114 (
145730 p_application_id => p_application_id
145731 ,p_event_id => l_event_id
145732 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145733 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145734 ,p_actual_flag => l_actual_flag
145735 ,p_balance_type_code => l_balance_type_code
145736 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145737
145738 , p_source_1 => l_array_source_1(Idx)
145739 , p_source_21 => l_array_source_21(Idx)
145740 , p_source_30 => l_array_source_30(Idx)
145741 , p_source_33 => l_array_source_33(Idx)
145742 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145743 , p_source_52 => l_array_source_52(Idx)
145744 , p_source_54 => l_array_source_54(Idx)
145745 , p_source_56 => l_array_source_56(Idx)
145746 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145747 , p_source_63 => l_array_source_63(Idx)
145748 , p_source_64 => l_array_source_64(Idx)
145749 , p_source_65 => l_array_source_65(Idx)
145750 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145751 , p_source_67 => l_array_source_67(Idx)
145752 , p_source_68 => l_array_source_68(Idx)
145753 , p_source_69 => l_array_source_69(Idx)
145754 , p_source_70 => l_array_source_70(Idx)
145755 , p_source_71 => l_array_source_71(Idx)
145756 , p_source_72 => l_array_source_72(Idx)
145757 , p_source_76 => l_array_source_76(Idx)
145758 , p_source_77 => l_array_source_77(Idx)
145759 , p_source_78 => l_array_source_78(Idx)
145760 , p_source_79 => l_array_source_79(Idx)
145761 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145762 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145763 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145764 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145765 , p_source_83 => l_array_source_83(Idx)
145766 , p_source_84 => l_array_source_84(Idx)
145767 , p_source_85 => l_array_source_85(Idx)
145768 , p_source_86 => l_array_source_86(Idx)
145769 , p_source_87 => l_array_source_87(Idx)
145770 , p_source_88 => l_array_source_88(Idx)
145771 , p_source_89 => l_array_source_89(Idx)
145772 , p_source_90 => l_array_source_90(Idx)
145773 , p_source_91 => l_array_source_91(Idx)
145774 , p_source_92 => l_array_source_92(Idx)
145775 , p_source_93 => l_array_source_93(Idx)
145776 , p_source_94 => l_array_source_94(Idx)
145777 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
145778 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
145779 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
145780 , p_source_146 => l_array_source_146(Idx)
145781 );
145782 If(l_balance_type_code = 'A') THEN
145783 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145784 END IF;
145785
145786 --
145787
145788
145789 --
145790 AcctLineType_136 (
145791 p_application_id => p_application_id
145792 ,p_event_id => l_event_id
145793 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145794 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145795 ,p_actual_flag => l_actual_flag
145796 ,p_balance_type_code => l_balance_type_code
145797 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145798
145799 , p_source_1 => l_array_source_1(Idx)
145800 , p_source_21 => l_array_source_21(Idx)
145801 , p_source_30 => l_array_source_30(Idx)
145802 , p_source_33 => l_array_source_33(Idx)
145803 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145804 , p_source_52 => l_array_source_52(Idx)
145805 , p_source_54 => l_array_source_54(Idx)
145806 , p_source_56 => l_array_source_56(Idx)
145807 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145808 , p_source_63 => l_array_source_63(Idx)
145809 , p_source_64 => l_array_source_64(Idx)
145810 , p_source_65 => l_array_source_65(Idx)
145811 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145812 , p_source_67 => l_array_source_67(Idx)
145813 , p_source_68 => l_array_source_68(Idx)
145814 , p_source_69 => l_array_source_69(Idx)
145815 , p_source_70 => l_array_source_70(Idx)
145816 , p_source_71 => l_array_source_71(Idx)
145817 , p_source_72 => l_array_source_72(Idx)
145818 , p_source_76 => l_array_source_76(Idx)
145819 , p_source_77 => l_array_source_77(Idx)
145820 , p_source_78 => l_array_source_78(Idx)
145821 , p_source_79 => l_array_source_79(Idx)
145822 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145823 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145824 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145825 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145826 , p_source_83 => l_array_source_83(Idx)
145827 , p_source_84 => l_array_source_84(Idx)
145828 , p_source_85 => l_array_source_85(Idx)
145829 , p_source_86 => l_array_source_86(Idx)
145830 , p_source_87 => l_array_source_87(Idx)
145831 , p_source_88 => l_array_source_88(Idx)
145832 , p_source_89 => l_array_source_89(Idx)
145833 , p_source_90 => l_array_source_90(Idx)
145834 , p_source_91 => l_array_source_91(Idx)
145835 , p_source_92 => l_array_source_92(Idx)
145836 , p_source_93 => l_array_source_93(Idx)
145840 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
145837 , p_source_94 => l_array_source_94(Idx)
145838 , p_source_95 => l_array_source_95(Idx)
145839 , p_source_95_meaning => l_array_source_95_meaning(Idx)
145841 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
145842 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
145843 );
145844 If(l_balance_type_code = 'A') THEN
145845 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145846 END IF;
145847
145848 --
145849
145850
145851 --
145852 AcctLineType_140 (
145853 p_application_id => p_application_id
145854 ,p_event_id => l_event_id
145855 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145856 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145857 ,p_actual_flag => l_actual_flag
145858 ,p_balance_type_code => l_balance_type_code
145859 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145860
145861 , p_source_1 => l_array_source_1(Idx)
145862 , p_source_21 => l_array_source_21(Idx)
145863 , p_source_30 => l_array_source_30(Idx)
145864 , p_source_33 => l_array_source_33(Idx)
145865 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145866 , p_source_52 => l_array_source_52(Idx)
145867 , p_source_54 => l_array_source_54(Idx)
145868 , p_source_56 => l_array_source_56(Idx)
145869 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145870 , p_source_63 => l_array_source_63(Idx)
145871 , p_source_64 => l_array_source_64(Idx)
145872 , p_source_65 => l_array_source_65(Idx)
145873 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145874 , p_source_67 => l_array_source_67(Idx)
145875 , p_source_68 => l_array_source_68(Idx)
145876 , p_source_69 => l_array_source_69(Idx)
145877 , p_source_70 => l_array_source_70(Idx)
145878 , p_source_71 => l_array_source_71(Idx)
145879 , p_source_72 => l_array_source_72(Idx)
145880 , p_source_76 => l_array_source_76(Idx)
145881 , p_source_77 => l_array_source_77(Idx)
145882 , p_source_78 => l_array_source_78(Idx)
145883 , p_source_79 => l_array_source_79(Idx)
145884 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145885 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145886 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145887 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145888 , p_source_83 => l_array_source_83(Idx)
145889 , p_source_84 => l_array_source_84(Idx)
145890 , p_source_85 => l_array_source_85(Idx)
145891 , p_source_86 => l_array_source_86(Idx)
145892 , p_source_87 => l_array_source_87(Idx)
145893 , p_source_88 => l_array_source_88(Idx)
145894 , p_source_89 => l_array_source_89(Idx)
145895 , p_source_90 => l_array_source_90(Idx)
145896 , p_source_91 => l_array_source_91(Idx)
145897 , p_source_92 => l_array_source_92(Idx)
145898 , p_source_93 => l_array_source_93(Idx)
145899 , p_source_94 => l_array_source_94(Idx)
145900 , p_source_95 => l_array_source_95(Idx)
145901 , p_source_95_meaning => l_array_source_95_meaning(Idx)
145902 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
145903 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
145904 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
145905 , p_source_146 => l_array_source_146(Idx)
145906 );
145907 If(l_balance_type_code = 'A') THEN
145908 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145909 END IF;
145910
145911 --
145912
145913
145914 --
145915 AcctLineType_146 (
145916 p_application_id => p_application_id
145917 ,p_event_id => l_event_id
145918 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145919 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145920 ,p_actual_flag => l_actual_flag
145921 ,p_balance_type_code => l_balance_type_code
145922 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145923
145924 , p_source_1 => l_array_source_1(Idx)
145925 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145926 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145927 , p_source_21 => l_array_source_21(Idx)
145928 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
145929 , p_source_52 => l_array_source_52(Idx)
145930 , p_source_54 => l_array_source_54(Idx)
145931 , p_source_56 => l_array_source_56(Idx)
145932 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145933 , p_source_63 => l_array_source_63(Idx)
145934 , p_source_64 => l_array_source_64(Idx)
145935 , p_source_65 => l_array_source_65(Idx)
145936 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
145937 , p_source_67 => l_array_source_67(Idx)
145938 , p_source_68 => l_array_source_68(Idx)
145939 , p_source_69 => l_array_source_69(Idx)
145940 , p_source_70 => l_array_source_70(Idx)
145941 , p_source_71 => l_array_source_71(Idx)
145942 , p_source_72 => l_array_source_72(Idx)
145943 , p_source_76 => l_array_source_76(Idx)
145944 , p_source_77 => l_array_source_77(Idx)
145945 , p_source_78 => l_array_source_78(Idx)
145946 , p_source_79 => l_array_source_79(Idx)
145947 , p_source_79_meaning => l_array_source_79_meaning(Idx)
145948 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
145949 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145950 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
145951 , p_source_83 => l_array_source_83(Idx)
145952 , p_source_84 => l_array_source_84(Idx)
145953 , p_source_85 => l_array_source_85(Idx)
145954 , p_source_86 => l_array_source_86(Idx)
145955 , p_source_87 => l_array_source_87(Idx)
145956 , p_source_88 => l_array_source_88(Idx)
145957 , p_source_89 => l_array_source_89(Idx)
145958 , p_source_90 => l_array_source_90(Idx)
145959 , p_source_91 => l_array_source_91(Idx)
145960 , p_source_92 => l_array_source_92(Idx)
145961 , p_source_93 => l_array_source_93(Idx)
145962 , p_source_94 => l_array_source_94(Idx)
145966 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
145963 , p_source_135 => l_array_source_135(Idx)
145964 , p_source_135_meaning => l_array_source_135_meaning(Idx)
145965 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
145967 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
145968 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
145969 );
145970 If(l_balance_type_code = 'A') THEN
145971 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145972 END IF;
145973
145974 --
145975
145976
145977 --
145978 AcctLineType_147 (
145979 p_application_id => p_application_id
145980 ,p_event_id => l_event_id
145981 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145982 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145983 ,p_actual_flag => l_actual_flag
145984 ,p_balance_type_code => l_balance_type_code
145985 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145986
145987 , p_source_1 => l_array_source_1(Idx)
145988 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145989 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145990 , p_source_21 => l_array_source_21(Idx)
145991 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
145992 , p_source_52 => l_array_source_52(Idx)
145993 , p_source_54 => l_array_source_54(Idx)
145994 , p_source_56 => l_array_source_56(Idx)
145995 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
145996 , p_source_63 => l_array_source_63(Idx)
145997 , p_source_64 => l_array_source_64(Idx)
145998 , p_source_65 => l_array_source_65(Idx)
145999 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146000 , p_source_67 => l_array_source_67(Idx)
146001 , p_source_68 => l_array_source_68(Idx)
146002 , p_source_69 => l_array_source_69(Idx)
146003 , p_source_70 => l_array_source_70(Idx)
146004 , p_source_71 => l_array_source_71(Idx)
146005 , p_source_72 => l_array_source_72(Idx)
146006 , p_source_76 => l_array_source_76(Idx)
146007 , p_source_77 => l_array_source_77(Idx)
146008 , p_source_78 => l_array_source_78(Idx)
146009 , p_source_79 => l_array_source_79(Idx)
146010 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146011 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146012 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146013 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146014 , p_source_83 => l_array_source_83(Idx)
146015 , p_source_84 => l_array_source_84(Idx)
146016 , p_source_85 => l_array_source_85(Idx)
146017 , p_source_86 => l_array_source_86(Idx)
146018 , p_source_87 => l_array_source_87(Idx)
146019 , p_source_88 => l_array_source_88(Idx)
146020 , p_source_89 => l_array_source_89(Idx)
146021 , p_source_90 => l_array_source_90(Idx)
146022 , p_source_91 => l_array_source_91(Idx)
146023 , p_source_92 => l_array_source_92(Idx)
146024 , p_source_93 => l_array_source_93(Idx)
146025 , p_source_94 => l_array_source_94(Idx)
146026 , p_source_135 => l_array_source_135(Idx)
146027 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146028 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146029 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146030 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146031 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
146032 );
146033 If(l_balance_type_code = 'A') THEN
146034 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146035 END IF;
146036
146037 --
146038
146039
146040 --
146041 AcctLineType_148 (
146042 p_application_id => p_application_id
146043 ,p_event_id => l_event_id
146044 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146045 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146046 ,p_actual_flag => l_actual_flag
146047 ,p_balance_type_code => l_balance_type_code
146048 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146049
146050 , p_source_1 => l_array_source_1(Idx)
146051 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146052 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146053 , p_source_21 => l_array_source_21(Idx)
146054 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
146055 , p_source_52 => l_array_source_52(Idx)
146056 , p_source_54 => l_array_source_54(Idx)
146057 , p_source_56 => l_array_source_56(Idx)
146058 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146059 , p_source_63 => l_array_source_63(Idx)
146060 , p_source_64 => l_array_source_64(Idx)
146061 , p_source_65 => l_array_source_65(Idx)
146062 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146063 , p_source_67 => l_array_source_67(Idx)
146064 , p_source_68 => l_array_source_68(Idx)
146065 , p_source_69 => l_array_source_69(Idx)
146066 , p_source_70 => l_array_source_70(Idx)
146067 , p_source_71 => l_array_source_71(Idx)
146068 , p_source_72 => l_array_source_72(Idx)
146069 , p_source_76 => l_array_source_76(Idx)
146070 , p_source_77 => l_array_source_77(Idx)
146071 , p_source_78 => l_array_source_78(Idx)
146072 , p_source_79 => l_array_source_79(Idx)
146073 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146074 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146075 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146076 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146077 , p_source_83 => l_array_source_83(Idx)
146078 , p_source_84 => l_array_source_84(Idx)
146079 , p_source_85 => l_array_source_85(Idx)
146080 , p_source_86 => l_array_source_86(Idx)
146081 , p_source_87 => l_array_source_87(Idx)
146082 , p_source_88 => l_array_source_88(Idx)
146083 , p_source_89 => l_array_source_89(Idx)
146084 , p_source_90 => l_array_source_90(Idx)
146085 , p_source_91 => l_array_source_91(Idx)
146089 , p_source_135 => l_array_source_135(Idx)
146086 , p_source_92 => l_array_source_92(Idx)
146087 , p_source_93 => l_array_source_93(Idx)
146088 , p_source_94 => l_array_source_94(Idx)
146090 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146091 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146092 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146093 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146094 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
146095 );
146096 If(l_balance_type_code = 'A') THEN
146097 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146098 END IF;
146099
146100 --
146101
146102
146103 --
146104 AcctLineType_168 (
146105 p_application_id => p_application_id
146106 ,p_event_id => l_event_id
146107 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146108 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146109 ,p_actual_flag => l_actual_flag
146110 ,p_balance_type_code => l_balance_type_code
146111 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146112
146113 , p_source_1 => l_array_source_1(Idx)
146114 , p_source_21 => l_array_source_21(Idx)
146115 , p_source_30 => l_array_source_30(Idx)
146116 , p_source_33 => l_array_source_33(Idx)
146117 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146118 , p_source_52 => l_array_source_52(Idx)
146119 , p_source_54 => l_array_source_54(Idx)
146120 , p_source_56 => l_array_source_56(Idx)
146121 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146122 , p_source_63 => l_array_source_63(Idx)
146123 , p_source_64 => l_array_source_64(Idx)
146124 , p_source_65 => l_array_source_65(Idx)
146125 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146126 , p_source_67 => l_array_source_67(Idx)
146127 , p_source_68 => l_array_source_68(Idx)
146128 , p_source_69 => l_array_source_69(Idx)
146129 , p_source_70 => l_array_source_70(Idx)
146130 , p_source_71 => l_array_source_71(Idx)
146131 , p_source_72 => l_array_source_72(Idx)
146132 , p_source_76 => l_array_source_76(Idx)
146133 , p_source_77 => l_array_source_77(Idx)
146134 , p_source_78 => l_array_source_78(Idx)
146135 , p_source_79 => l_array_source_79(Idx)
146136 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146137 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146138 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146139 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146140 , p_source_83 => l_array_source_83(Idx)
146141 , p_source_84 => l_array_source_84(Idx)
146142 , p_source_85 => l_array_source_85(Idx)
146143 , p_source_86 => l_array_source_86(Idx)
146144 , p_source_87 => l_array_source_87(Idx)
146145 , p_source_88 => l_array_source_88(Idx)
146146 , p_source_89 => l_array_source_89(Idx)
146147 , p_source_90 => l_array_source_90(Idx)
146148 , p_source_91 => l_array_source_91(Idx)
146149 , p_source_92 => l_array_source_92(Idx)
146150 , p_source_93 => l_array_source_93(Idx)
146151 , p_source_94 => l_array_source_94(Idx)
146152 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146153 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146154 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146155 , p_source_146 => l_array_source_146(Idx)
146156 );
146157 If(l_balance_type_code = 'A') THEN
146158 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146159 END IF;
146160
146161 --
146162
146163
146164 --
146165 AcctLineType_172 (
146166 p_application_id => p_application_id
146167 ,p_event_id => l_event_id
146168 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146169 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146170 ,p_actual_flag => l_actual_flag
146171 ,p_balance_type_code => l_balance_type_code
146172 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146173
146174 , p_source_1 => l_array_source_1(Idx)
146175 , p_source_21 => l_array_source_21(Idx)
146176 , p_source_30 => l_array_source_30(Idx)
146177 , p_source_33 => l_array_source_33(Idx)
146178 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146179 , p_source_52 => l_array_source_52(Idx)
146180 , p_source_54 => l_array_source_54(Idx)
146181 , p_source_56 => l_array_source_56(Idx)
146182 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146183 , p_source_63 => l_array_source_63(Idx)
146184 , p_source_64 => l_array_source_64(Idx)
146185 , p_source_65 => l_array_source_65(Idx)
146186 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146187 , p_source_67 => l_array_source_67(Idx)
146188 , p_source_68 => l_array_source_68(Idx)
146189 , p_source_69 => l_array_source_69(Idx)
146190 , p_source_70 => l_array_source_70(Idx)
146191 , p_source_71 => l_array_source_71(Idx)
146192 , p_source_72 => l_array_source_72(Idx)
146193 , p_source_73 => l_array_source_73(Idx)
146194 , p_source_74 => l_array_source_74(Idx)
146195 , p_source_75 => l_array_source_75(Idx)
146196 , p_source_76 => l_array_source_76(Idx)
146197 , p_source_77 => l_array_source_77(Idx)
146198 , p_source_78 => l_array_source_78(Idx)
146199 , p_source_79 => l_array_source_79(Idx)
146200 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146201 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146202 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146203 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146204 , p_source_83 => l_array_source_83(Idx)
146205 , p_source_84 => l_array_source_84(Idx)
146206 , p_source_85 => l_array_source_85(Idx)
146207 , p_source_86 => l_array_source_86(Idx)
146208 , p_source_87 => l_array_source_87(Idx)
146209 , p_source_88 => l_array_source_88(Idx)
146210 , p_source_89 => l_array_source_89(Idx)
146211 , p_source_90 => l_array_source_90(Idx)
146212 , p_source_91 => l_array_source_91(Idx)
146216 , p_source_95 => l_array_source_95(Idx)
146213 , p_source_92 => l_array_source_92(Idx)
146214 , p_source_93 => l_array_source_93(Idx)
146215 , p_source_94 => l_array_source_94(Idx)
146217 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146218 , p_source_135 => l_array_source_135(Idx)
146219 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146220 );
146221 If(l_balance_type_code = 'A') THEN
146222 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146223 END IF;
146224
146225 --
146226
146227
146228 --
146229 AcctLineType_175 (
146230 p_application_id => p_application_id
146231 ,p_event_id => l_event_id
146232 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146233 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146234 ,p_actual_flag => l_actual_flag
146235 ,p_balance_type_code => l_balance_type_code
146236 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146237
146238 , p_source_1 => l_array_source_1(Idx)
146239 , p_source_21 => l_array_source_21(Idx)
146240 , p_source_30 => l_array_source_30(Idx)
146241 , p_source_33 => l_array_source_33(Idx)
146242 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146243 , p_source_52 => l_array_source_52(Idx)
146244 , p_source_54 => l_array_source_54(Idx)
146245 , p_source_56 => l_array_source_56(Idx)
146246 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146247 , p_source_63 => l_array_source_63(Idx)
146248 , p_source_64 => l_array_source_64(Idx)
146249 , p_source_65 => l_array_source_65(Idx)
146250 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146251 , p_source_67 => l_array_source_67(Idx)
146252 , p_source_68 => l_array_source_68(Idx)
146253 , p_source_69 => l_array_source_69(Idx)
146254 , p_source_70 => l_array_source_70(Idx)
146255 , p_source_71 => l_array_source_71(Idx)
146256 , p_source_72 => l_array_source_72(Idx)
146257 , p_source_76 => l_array_source_76(Idx)
146258 , p_source_77 => l_array_source_77(Idx)
146259 , p_source_78 => l_array_source_78(Idx)
146260 , p_source_79 => l_array_source_79(Idx)
146261 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146262 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146263 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146264 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146265 , p_source_83 => l_array_source_83(Idx)
146266 , p_source_84 => l_array_source_84(Idx)
146267 , p_source_85 => l_array_source_85(Idx)
146268 , p_source_86 => l_array_source_86(Idx)
146269 , p_source_87 => l_array_source_87(Idx)
146270 , p_source_88 => l_array_source_88(Idx)
146271 , p_source_89 => l_array_source_89(Idx)
146272 , p_source_90 => l_array_source_90(Idx)
146273 , p_source_91 => l_array_source_91(Idx)
146274 , p_source_92 => l_array_source_92(Idx)
146275 , p_source_93 => l_array_source_93(Idx)
146276 , p_source_94 => l_array_source_94(Idx)
146277 , p_source_95 => l_array_source_95(Idx)
146278 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146279 , p_source_135 => l_array_source_135(Idx)
146280 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146281 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146282 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146283 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146284 );
146285 If(l_balance_type_code = 'A') THEN
146286 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146287 END IF;
146288
146289 --
146290
146291
146292 --
146293 AcctLineType_183 (
146294 p_application_id => p_application_id
146295 ,p_event_id => l_event_id
146296 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146297 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146298 ,p_actual_flag => l_actual_flag
146299 ,p_balance_type_code => l_balance_type_code
146300 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146301
146302 , p_source_1 => l_array_source_1(Idx)
146303 , p_source_21 => l_array_source_21(Idx)
146304 , p_source_30 => l_array_source_30(Idx)
146305 , p_source_33 => l_array_source_33(Idx)
146306 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146307 , p_source_52 => l_array_source_52(Idx)
146308 , p_source_54 => l_array_source_54(Idx)
146309 , p_source_56 => l_array_source_56(Idx)
146310 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146311 , p_source_63 => l_array_source_63(Idx)
146312 , p_source_64 => l_array_source_64(Idx)
146313 , p_source_65 => l_array_source_65(Idx)
146314 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146315 , p_source_67 => l_array_source_67(Idx)
146316 , p_source_68 => l_array_source_68(Idx)
146317 , p_source_69 => l_array_source_69(Idx)
146318 , p_source_70 => l_array_source_70(Idx)
146319 , p_source_71 => l_array_source_71(Idx)
146320 , p_source_72 => l_array_source_72(Idx)
146321 , p_source_76 => l_array_source_76(Idx)
146322 , p_source_77 => l_array_source_77(Idx)
146323 , p_source_78 => l_array_source_78(Idx)
146324 , p_source_79 => l_array_source_79(Idx)
146325 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146326 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146327 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146328 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146329 , p_source_83 => l_array_source_83(Idx)
146330 , p_source_84 => l_array_source_84(Idx)
146331 , p_source_85 => l_array_source_85(Idx)
146332 , p_source_86 => l_array_source_86(Idx)
146333 , p_source_87 => l_array_source_87(Idx)
146334 , p_source_88 => l_array_source_88(Idx)
146335 , p_source_89 => l_array_source_89(Idx)
146336 , p_source_90 => l_array_source_90(Idx)
146337 , p_source_91 => l_array_source_91(Idx)
146338 , p_source_92 => l_array_source_92(Idx)
146339 , p_source_93 => l_array_source_93(Idx)
146340 , p_source_94 => l_array_source_94(Idx)
146341 , p_source_135 => l_array_source_135(Idx)
146345 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146342 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146343 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146344 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146346 );
146347 If(l_balance_type_code = 'A') THEN
146348 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146349 END IF;
146350
146351 --
146352
146353
146354 --
146355 AcctLineType_188 (
146356 p_application_id => p_application_id
146357 ,p_event_id => l_event_id
146358 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146359 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146360 ,p_actual_flag => l_actual_flag
146361 ,p_balance_type_code => l_balance_type_code
146362 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146363
146364 , p_source_1 => l_array_source_1(Idx)
146365 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146366 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146367 , p_source_21 => l_array_source_21(Idx)
146368 , p_source_30 => l_array_source_30(Idx)
146369 , p_source_33 => l_array_source_33(Idx)
146370 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146371 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
146372 , p_source_42 => l_array_source_42(Idx)
146373 , p_source_52 => l_array_source_52(Idx)
146374 , p_source_54 => l_array_source_54(Idx)
146375 , p_source_56 => l_array_source_56(Idx)
146376 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146377 , p_source_63 => l_array_source_63(Idx)
146378 , p_source_64 => l_array_source_64(Idx)
146379 , p_source_65 => l_array_source_65(Idx)
146380 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146381 , p_source_67 => l_array_source_67(Idx)
146382 , p_source_68 => l_array_source_68(Idx)
146383 , p_source_69 => l_array_source_69(Idx)
146384 , p_source_70 => l_array_source_70(Idx)
146385 , p_source_71 => l_array_source_71(Idx)
146386 , p_source_72 => l_array_source_72(Idx)
146387 , p_source_76 => l_array_source_76(Idx)
146388 , p_source_77 => l_array_source_77(Idx)
146389 , p_source_78 => l_array_source_78(Idx)
146390 , p_source_79 => l_array_source_79(Idx)
146391 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146392 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146393 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146394 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146395 , p_source_83 => l_array_source_83(Idx)
146396 , p_source_84 => l_array_source_84(Idx)
146397 , p_source_85 => l_array_source_85(Idx)
146398 , p_source_86 => l_array_source_86(Idx)
146399 , p_source_87 => l_array_source_87(Idx)
146400 , p_source_88 => l_array_source_88(Idx)
146401 , p_source_89 => l_array_source_89(Idx)
146402 , p_source_90 => l_array_source_90(Idx)
146403 , p_source_91 => l_array_source_91(Idx)
146404 , p_source_92 => l_array_source_92(Idx)
146405 , p_source_93 => l_array_source_93(Idx)
146406 , p_source_94 => l_array_source_94(Idx)
146407 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146408 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146409 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146410 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
146411 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
146412 );
146413 If(l_balance_type_code = 'A') THEN
146414 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146415 END IF;
146416
146417 --
146418
146419
146420 --
146421 AcctLineType_192 (
146422 p_application_id => p_application_id
146423 ,p_event_id => l_event_id
146424 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146425 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146426 ,p_actual_flag => l_actual_flag
146427 ,p_balance_type_code => l_balance_type_code
146428 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146429
146430 , p_source_1 => l_array_source_1(Idx)
146431 , p_source_21 => l_array_source_21(Idx)
146432 , p_source_33 => l_array_source_33(Idx)
146433 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146434 , p_source_49 => l_array_source_49(Idx)
146435 , p_source_52 => l_array_source_52(Idx)
146436 , p_source_54 => l_array_source_54(Idx)
146437 , p_source_56 => l_array_source_56(Idx)
146438 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146439 , p_source_63 => l_array_source_63(Idx)
146440 , p_source_64 => l_array_source_64(Idx)
146441 , p_source_65 => l_array_source_65(Idx)
146442 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146443 , p_source_67 => l_array_source_67(Idx)
146444 , p_source_68 => l_array_source_68(Idx)
146445 , p_source_69 => l_array_source_69(Idx)
146446 , p_source_70 => l_array_source_70(Idx)
146447 , p_source_71 => l_array_source_71(Idx)
146448 , p_source_72 => l_array_source_72(Idx)
146449 , p_source_76 => l_array_source_76(Idx)
146450 , p_source_77 => l_array_source_77(Idx)
146451 , p_source_78 => l_array_source_78(Idx)
146452 , p_source_79 => l_array_source_79(Idx)
146453 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146454 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146455 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146456 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146457 , p_source_83 => l_array_source_83(Idx)
146458 , p_source_84 => l_array_source_84(Idx)
146459 , p_source_85 => l_array_source_85(Idx)
146460 , p_source_86 => l_array_source_86(Idx)
146461 , p_source_87 => l_array_source_87(Idx)
146462 , p_source_88 => l_array_source_88(Idx)
146463 , p_source_89 => l_array_source_89(Idx)
146464 , p_source_90 => l_array_source_90(Idx)
146465 , p_source_91 => l_array_source_91(Idx)
146466 , p_source_92 => l_array_source_92(Idx)
146470 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146467 , p_source_93 => l_array_source_93(Idx)
146468 , p_source_94 => l_array_source_94(Idx)
146469 , p_source_95 => l_array_source_95(Idx)
146471 , p_source_135 => l_array_source_135(Idx)
146472 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146473 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146474 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146475 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146476 );
146477 If(l_balance_type_code = 'A') THEN
146478 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146479 END IF;
146480
146481 --
146482
146483
146484 --
146485 AcctLineType_196 (
146486 p_application_id => p_application_id
146487 ,p_event_id => l_event_id
146488 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146489 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146490 ,p_actual_flag => l_actual_flag
146491 ,p_balance_type_code => l_balance_type_code
146492 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146493
146494 , p_source_1 => l_array_source_1(Idx)
146495 , p_source_21 => l_array_source_21(Idx)
146496 , p_source_33 => l_array_source_33(Idx)
146497 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146498 , p_source_49 => l_array_source_49(Idx)
146499 , p_source_52 => l_array_source_52(Idx)
146500 , p_source_54 => l_array_source_54(Idx)
146501 , p_source_56 => l_array_source_56(Idx)
146502 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146503 , p_source_63 => l_array_source_63(Idx)
146504 , p_source_64 => l_array_source_64(Idx)
146505 , p_source_65 => l_array_source_65(Idx)
146506 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146507 , p_source_67 => l_array_source_67(Idx)
146508 , p_source_68 => l_array_source_68(Idx)
146509 , p_source_69 => l_array_source_69(Idx)
146510 , p_source_70 => l_array_source_70(Idx)
146511 , p_source_71 => l_array_source_71(Idx)
146512 , p_source_72 => l_array_source_72(Idx)
146513 , p_source_76 => l_array_source_76(Idx)
146514 , p_source_77 => l_array_source_77(Idx)
146515 , p_source_78 => l_array_source_78(Idx)
146516 , p_source_79 => l_array_source_79(Idx)
146517 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146518 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146519 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146520 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146521 , p_source_83 => l_array_source_83(Idx)
146522 , p_source_84 => l_array_source_84(Idx)
146523 , p_source_85 => l_array_source_85(Idx)
146524 , p_source_86 => l_array_source_86(Idx)
146525 , p_source_87 => l_array_source_87(Idx)
146526 , p_source_88 => l_array_source_88(Idx)
146527 , p_source_89 => l_array_source_89(Idx)
146528 , p_source_90 => l_array_source_90(Idx)
146529 , p_source_91 => l_array_source_91(Idx)
146530 , p_source_92 => l_array_source_92(Idx)
146531 , p_source_93 => l_array_source_93(Idx)
146532 , p_source_94 => l_array_source_94(Idx)
146533 , p_source_135 => l_array_source_135(Idx)
146534 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146535 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146536 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146537 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146538 );
146539 If(l_balance_type_code = 'A') THEN
146540 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146541 END IF;
146542
146543 --
146544
146545
146546 --
146547 AcctLineType_199 (
146548 p_application_id => p_application_id
146549 ,p_event_id => l_event_id
146550 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146551 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146552 ,p_actual_flag => l_actual_flag
146553 ,p_balance_type_code => l_balance_type_code
146554 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146555
146556 , p_source_1 => l_array_source_1(Idx)
146557 , p_source_21 => l_array_source_21(Idx)
146558 , p_source_33 => l_array_source_33(Idx)
146559 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146560 , p_source_50 => l_array_source_50(Idx)
146561 , p_source_52 => l_array_source_52(Idx)
146562 , p_source_54 => l_array_source_54(Idx)
146563 , p_source_56 => l_array_source_56(Idx)
146564 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146565 , p_source_63 => l_array_source_63(Idx)
146566 , p_source_64 => l_array_source_64(Idx)
146567 , p_source_65 => l_array_source_65(Idx)
146568 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146569 , p_source_67 => l_array_source_67(Idx)
146570 , p_source_68 => l_array_source_68(Idx)
146571 , p_source_69 => l_array_source_69(Idx)
146572 , p_source_70 => l_array_source_70(Idx)
146573 , p_source_71 => l_array_source_71(Idx)
146574 , p_source_72 => l_array_source_72(Idx)
146575 , p_source_76 => l_array_source_76(Idx)
146576 , p_source_77 => l_array_source_77(Idx)
146577 , p_source_78 => l_array_source_78(Idx)
146578 , p_source_79 => l_array_source_79(Idx)
146579 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146580 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146581 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146582 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146583 , p_source_83 => l_array_source_83(Idx)
146584 , p_source_84 => l_array_source_84(Idx)
146585 , p_source_85 => l_array_source_85(Idx)
146586 , p_source_86 => l_array_source_86(Idx)
146587 , p_source_87 => l_array_source_87(Idx)
146588 , p_source_88 => l_array_source_88(Idx)
146589 , p_source_89 => l_array_source_89(Idx)
146590 , p_source_90 => l_array_source_90(Idx)
146591 , p_source_91 => l_array_source_91(Idx)
146592 , p_source_92 => l_array_source_92(Idx)
146593 , p_source_93 => l_array_source_93(Idx)
146597 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146594 , p_source_94 => l_array_source_94(Idx)
146595 , p_source_135 => l_array_source_135(Idx)
146596 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146598 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146599 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146600 );
146601 If(l_balance_type_code = 'A') THEN
146602 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146603 END IF;
146604
146605 --
146606
146607
146608 --
146609 AcctLineType_204 (
146610 p_application_id => p_application_id
146611 ,p_event_id => l_event_id
146612 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146613 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146614 ,p_actual_flag => l_actual_flag
146615 ,p_balance_type_code => l_balance_type_code
146616 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146617
146618 , p_source_1 => l_array_source_1(Idx)
146619 , p_source_21 => l_array_source_21(Idx)
146620 , p_source_33 => l_array_source_33(Idx)
146621 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146622 , p_source_49 => l_array_source_49(Idx)
146623 , p_source_52 => l_array_source_52(Idx)
146624 , p_source_54 => l_array_source_54(Idx)
146625 , p_source_56 => l_array_source_56(Idx)
146626 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146627 , p_source_63 => l_array_source_63(Idx)
146628 , p_source_64 => l_array_source_64(Idx)
146629 , p_source_65 => l_array_source_65(Idx)
146630 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146631 , p_source_67 => l_array_source_67(Idx)
146632 , p_source_68 => l_array_source_68(Idx)
146633 , p_source_69 => l_array_source_69(Idx)
146634 , p_source_70 => l_array_source_70(Idx)
146635 , p_source_71 => l_array_source_71(Idx)
146636 , p_source_72 => l_array_source_72(Idx)
146637 , p_source_73 => l_array_source_73(Idx)
146638 , p_source_74 => l_array_source_74(Idx)
146639 , p_source_75 => l_array_source_75(Idx)
146640 , p_source_76 => l_array_source_76(Idx)
146641 , p_source_77 => l_array_source_77(Idx)
146642 , p_source_78 => l_array_source_78(Idx)
146643 , p_source_79 => l_array_source_79(Idx)
146644 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146645 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146646 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146647 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146648 , p_source_83 => l_array_source_83(Idx)
146649 , p_source_84 => l_array_source_84(Idx)
146650 , p_source_85 => l_array_source_85(Idx)
146651 , p_source_86 => l_array_source_86(Idx)
146652 , p_source_87 => l_array_source_87(Idx)
146653 , p_source_88 => l_array_source_88(Idx)
146654 , p_source_89 => l_array_source_89(Idx)
146655 , p_source_90 => l_array_source_90(Idx)
146656 , p_source_91 => l_array_source_91(Idx)
146657 , p_source_92 => l_array_source_92(Idx)
146658 , p_source_93 => l_array_source_93(Idx)
146659 , p_source_94 => l_array_source_94(Idx)
146660 , p_source_95 => l_array_source_95(Idx)
146661 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146662 , p_source_135 => l_array_source_135(Idx)
146663 , p_source_135_meaning => l_array_source_135_meaning(Idx)
146664 );
146665 If(l_balance_type_code = 'A') THEN
146666 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146667 END IF;
146668
146669 --
146670
146671
146672 --
146673 AcctLineType_208 (
146674 p_application_id => p_application_id
146675 ,p_event_id => l_event_id
146676 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146677 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146678 ,p_actual_flag => l_actual_flag
146679 ,p_balance_type_code => l_balance_type_code
146680 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146681
146682 , p_source_1 => l_array_source_1(Idx)
146683 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146684 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146685 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
146686 , p_source_21 => l_array_source_21(Idx)
146687 , p_source_22 => l_array_source_22(Idx)
146688 , p_source_22_meaning => l_array_source_22_meaning(Idx)
146689 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
146690 , p_source_30 => l_array_source_30(Idx)
146691 , p_source_33 => l_array_source_33(Idx)
146692 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146693 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
146694 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
146695 , p_source_52 => l_array_source_52(Idx)
146696 , p_source_54 => l_array_source_54(Idx)
146697 , p_source_56 => l_array_source_56(Idx)
146698 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146699 , p_source_63 => l_array_source_63(Idx)
146700 , p_source_64 => l_array_source_64(Idx)
146701 , p_source_65 => l_array_source_65(Idx)
146702 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146703 , p_source_67 => l_array_source_67(Idx)
146704 , p_source_68 => l_array_source_68(Idx)
146705 , p_source_69 => l_array_source_69(Idx)
146706 , p_source_70 => l_array_source_70(Idx)
146707 , p_source_71 => l_array_source_71(Idx)
146708 , p_source_72 => l_array_source_72(Idx)
146709 , p_source_76 => l_array_source_76(Idx)
146710 , p_source_77 => l_array_source_77(Idx)
146711 , p_source_78 => l_array_source_78(Idx)
146712 , p_source_79 => l_array_source_79(Idx)
146713 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146714 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146715 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146716 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146717 , p_source_83 => l_array_source_83(Idx)
146718 , p_source_84 => l_array_source_84(Idx)
146722 , p_source_88 => l_array_source_88(Idx)
146719 , p_source_85 => l_array_source_85(Idx)
146720 , p_source_86 => l_array_source_86(Idx)
146721 , p_source_87 => l_array_source_87(Idx)
146723 , p_source_89 => l_array_source_89(Idx)
146724 , p_source_90 => l_array_source_90(Idx)
146725 , p_source_91 => l_array_source_91(Idx)
146726 , p_source_92 => l_array_source_92(Idx)
146727 , p_source_93 => l_array_source_93(Idx)
146728 , p_source_94 => l_array_source_94(Idx)
146729 , p_source_95 => l_array_source_95(Idx)
146730 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146731 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146732 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146733 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146734 );
146735 If(l_balance_type_code = 'A') THEN
146736 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146737 END IF;
146738
146739 --
146740
146741
146742 --
146743 AcctLineType_212 (
146744 p_application_id => p_application_id
146745 ,p_event_id => l_event_id
146746 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146747 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146748 ,p_actual_flag => l_actual_flag
146749 ,p_balance_type_code => l_balance_type_code
146750 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146751
146752 , p_source_1 => l_array_source_1(Idx)
146753 , p_source_21 => l_array_source_21(Idx)
146754 , p_source_30 => l_array_source_30(Idx)
146755 , p_source_33 => l_array_source_33(Idx)
146756 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146757 , p_source_52 => l_array_source_52(Idx)
146758 , p_source_54 => l_array_source_54(Idx)
146759 , p_source_56 => l_array_source_56(Idx)
146760 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146761 , p_source_63 => l_array_source_63(Idx)
146762 , p_source_64 => l_array_source_64(Idx)
146763 , p_source_65 => l_array_source_65(Idx)
146764 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146765 , p_source_67 => l_array_source_67(Idx)
146766 , p_source_68 => l_array_source_68(Idx)
146767 , p_source_69 => l_array_source_69(Idx)
146768 , p_source_70 => l_array_source_70(Idx)
146769 , p_source_71 => l_array_source_71(Idx)
146770 , p_source_72 => l_array_source_72(Idx)
146771 , p_source_76 => l_array_source_76(Idx)
146772 , p_source_77 => l_array_source_77(Idx)
146773 , p_source_78 => l_array_source_78(Idx)
146774 , p_source_79 => l_array_source_79(Idx)
146775 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146776 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146777 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146778 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146779 , p_source_83 => l_array_source_83(Idx)
146780 , p_source_84 => l_array_source_84(Idx)
146781 , p_source_85 => l_array_source_85(Idx)
146782 , p_source_86 => l_array_source_86(Idx)
146783 , p_source_87 => l_array_source_87(Idx)
146784 , p_source_88 => l_array_source_88(Idx)
146785 , p_source_89 => l_array_source_89(Idx)
146786 , p_source_90 => l_array_source_90(Idx)
146787 , p_source_91 => l_array_source_91(Idx)
146788 , p_source_92 => l_array_source_92(Idx)
146789 , p_source_93 => l_array_source_93(Idx)
146790 , p_source_94 => l_array_source_94(Idx)
146791 , p_source_95 => l_array_source_95(Idx)
146792 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146793 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146794 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146795 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146796 );
146797 If(l_balance_type_code = 'A') THEN
146798 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146799 END IF;
146800
146801 --
146802
146803
146804 --
146805 AcctLineType_216 (
146806 p_application_id => p_application_id
146807 ,p_event_id => l_event_id
146808 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146809 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146810 ,p_actual_flag => l_actual_flag
146811 ,p_balance_type_code => l_balance_type_code
146812 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146813
146814 , p_source_1 => l_array_source_1(Idx)
146815 , p_source_21 => l_array_source_21(Idx)
146816 , p_source_30 => l_array_source_30(Idx)
146817 , p_source_33 => l_array_source_33(Idx)
146818 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146819 , p_source_52 => l_array_source_52(Idx)
146820 , p_source_54 => l_array_source_54(Idx)
146821 , p_source_56 => l_array_source_56(Idx)
146822 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146823 , p_source_63 => l_array_source_63(Idx)
146824 , p_source_64 => l_array_source_64(Idx)
146825 , p_source_65 => l_array_source_65(Idx)
146826 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146827 , p_source_67 => l_array_source_67(Idx)
146828 , p_source_68 => l_array_source_68(Idx)
146829 , p_source_69 => l_array_source_69(Idx)
146830 , p_source_70 => l_array_source_70(Idx)
146831 , p_source_71 => l_array_source_71(Idx)
146832 , p_source_72 => l_array_source_72(Idx)
146833 , p_source_76 => l_array_source_76(Idx)
146834 , p_source_77 => l_array_source_77(Idx)
146835 , p_source_78 => l_array_source_78(Idx)
146836 , p_source_79 => l_array_source_79(Idx)
146837 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146838 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146839 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146840 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146841 , p_source_83 => l_array_source_83(Idx)
146842 , p_source_84 => l_array_source_84(Idx)
146843 , p_source_85 => l_array_source_85(Idx)
146844 , p_source_86 => l_array_source_86(Idx)
146845 , p_source_87 => l_array_source_87(Idx)
146846 , p_source_88 => l_array_source_88(Idx)
146850 , p_source_92 => l_array_source_92(Idx)
146847 , p_source_89 => l_array_source_89(Idx)
146848 , p_source_90 => l_array_source_90(Idx)
146849 , p_source_91 => l_array_source_91(Idx)
146851 , p_source_93 => l_array_source_93(Idx)
146852 , p_source_94 => l_array_source_94(Idx)
146853 , p_source_95 => l_array_source_95(Idx)
146854 , p_source_95_meaning => l_array_source_95_meaning(Idx)
146855 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146856 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146857 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146858 );
146859 If(l_balance_type_code = 'A') THEN
146860 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146861 END IF;
146862
146863 --
146864
146865
146866 --
146867 AcctLineType_222 (
146868 p_application_id => p_application_id
146869 ,p_event_id => l_event_id
146870 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146871 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146872 ,p_actual_flag => l_actual_flag
146873 ,p_balance_type_code => l_balance_type_code
146874 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146875
146876 , p_source_1 => l_array_source_1(Idx)
146877 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146878 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146879 , p_source_21 => l_array_source_21(Idx)
146880 , p_source_30 => l_array_source_30(Idx)
146881 , p_source_33 => l_array_source_33(Idx)
146882 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146883 , p_source_43 => l_array_source_43(Idx)
146884 , p_source_52 => l_array_source_52(Idx)
146885 , p_source_54 => l_array_source_54(Idx)
146886 , p_source_56 => l_array_source_56(Idx)
146887 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
146888 , p_source_63 => l_array_source_63(Idx)
146889 , p_source_64 => l_array_source_64(Idx)
146890 , p_source_65 => l_array_source_65(Idx)
146891 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
146892 , p_source_67 => l_array_source_67(Idx)
146893 , p_source_68 => l_array_source_68(Idx)
146894 , p_source_69 => l_array_source_69(Idx)
146895 , p_source_70 => l_array_source_70(Idx)
146896 , p_source_71 => l_array_source_71(Idx)
146897 , p_source_72 => l_array_source_72(Idx)
146898 , p_source_76 => l_array_source_76(Idx)
146899 , p_source_77 => l_array_source_77(Idx)
146900 , p_source_78 => l_array_source_78(Idx)
146901 , p_source_79 => l_array_source_79(Idx)
146902 , p_source_79_meaning => l_array_source_79_meaning(Idx)
146903 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
146904 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146905 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
146906 , p_source_83 => l_array_source_83(Idx)
146907 , p_source_84 => l_array_source_84(Idx)
146908 , p_source_85 => l_array_source_85(Idx)
146909 , p_source_86 => l_array_source_86(Idx)
146910 , p_source_87 => l_array_source_87(Idx)
146911 , p_source_88 => l_array_source_88(Idx)
146912 , p_source_89 => l_array_source_89(Idx)
146913 , p_source_90 => l_array_source_90(Idx)
146914 , p_source_91 => l_array_source_91(Idx)
146915 , p_source_92 => l_array_source_92(Idx)
146916 , p_source_93 => l_array_source_93(Idx)
146917 , p_source_94 => l_array_source_94(Idx)
146918 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
146919 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
146920 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
146921 );
146922 If(l_balance_type_code = 'A') THEN
146923 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146924 END IF;
146925
146926 --
146927
146928 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
146929 -- or secondary ledger that has different currency with primary
146930 -- or alc that is calculated by sla
146931 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
146932 (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'))
146933
146934 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
146935 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
146936 AND (l_actual_flag = 'A')) THEN
146937 XLA_AE_LINES_PKG.CreateGainOrLossLines(
146938 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
146939 ,p_application_id => p_application_id
146940 ,p_amb_context_code => 'DEFAULT'
146941 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
146942 ,p_event_class_code => C_EVENT_CLASS_CODE
146943 ,p_event_type_code => C_EVENT_TYPE_CODE
146944
146945 ,p_gain_ccid => -1
146946 ,p_loss_ccid => -1
146947
146948 ,p_actual_flag => l_actual_flag
146949 ,p_enc_flag => null
146950 ,p_actual_g_l_ref => l_actual_gain_loss_ref
146951 ,p_enc_g_l_ref => null
146952 );
146953 END IF;
146954 END IF;
146955 END IF;
146956
146957 ELSE
146958 --
146959 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
146960 --
146961 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
146962 trace
146963 (p_msg => 'Trancaction revesal option is Y'
146964 ,p_level => C_LEVEL_STATEMENT
146965 ,p_module => l_log_module);
146966 END IF;
146967 END IF;
146968
146969 END LOOP;
146970 l_result := XLA_AE_LINES_PKG.InsertLines ;
146971 end loop;
146972 close line_cur;
146973
146974
146975 --
146976 -- insert headers into xla_ae_headers_gt table
146980 -- insert into errors table here.
146977 --
146978 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
146979
146981
146982 END LOOP;
146983
146984 --
146985 -- 4865292
146986 --
146987 -- Compare g_hdr_extract_count with event count in
146988 -- CreateHeadersAndLines.
146989 --
146990 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
146991
146992 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
146993 trace (p_msg => '# rows extracted from header extract objects '
146994 || ' (running total): '
146995 || g_hdr_extract_count
146996 ,p_level => C_LEVEL_STATEMENT
146997 ,p_module => l_log_module);
146998 END IF;
146999
147000 CLOSE header_cur;
147001 --
147002
147003 --
147004 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147005 trace
147006 (p_msg => 'END of EventClass_226'
147007 ,p_level => C_LEVEL_PROCEDURE
147008 ,p_module => l_log_module);
147009 END IF;
147010 --
147011 RETURN l_result;
147012 EXCEPTION
147013 WHEN xla_exceptions_pkg.application_exception THEN
147014
147015 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
147016
147017
147018 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
147019
147020 RAISE;
147021
147022 WHEN NO_DATA_FOUND THEN
147023
147024 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
147025 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
147026
147027 FOR header_record IN header_cur
147028 LOOP
147029 l_array_header_events(header_record.event_id) := header_record.event_id;
147030 END LOOP;
147031
147032 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
147033 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
147034
147035 fnd_file.put_line(fnd_file.LOG, ' ');
147036 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
147037 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
147038 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
147039
147040 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
147041 LOOP
147042 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
147043 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
147044 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
147045 END IF;
147046 END LOOP;
147047
147048 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
147049 fnd_file.put_line(fnd_file.LOG, ' ');
147050
147051
147052 xla_exceptions_pkg.raise_message
147053 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_226');
147054
147055
147056 WHEN OTHERS THEN
147057 xla_exceptions_pkg.raise_message
147058 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_226');
147059 END EventClass_226;
147060 --
147061
147062 ---------------------------------------
147063 --
147064 -- PRIVATE PROCEDURE
147065 -- insert_sources_227
147066 --
147067 ----------------------------------------
147068 --
147069 PROCEDURE insert_sources_227(
147070 p_target_ledger_id IN NUMBER
147071 , p_language IN VARCHAR2
147072 , p_sla_ledger_id IN NUMBER
147073 , p_pad_start_date IN DATE
147074 , p_pad_end_date IN DATE
147075 )
147076 IS
147077
147078 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
147079 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
147080 p_apps_owner VARCHAR2(30);
147081 l_log_module VARCHAR2(240);
147082 BEGIN
147083 IF g_log_enabled THEN
147084 l_log_module := C_DEFAULT_MODULE||'.insert_sources_227';
147085 END IF;
147086 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147087
147088 trace
147089 (p_msg => 'BEGIN of insert_sources_227'
147090 ,p_level => C_LEVEL_PROCEDURE
147091 ,p_module => l_log_module);
147092
147093 END IF;
147094
147095 -- select APPS owner
147096 SELECT oracle_username
147097 INTO p_apps_owner
147098 FROM fnd_oracle_userid
147099 WHERE read_only_flag = 'U'
147100 ;
147101
147102 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147103 trace
147104 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
147105 ' - p_language = '||p_language||
147106 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
147107 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
147108 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
147109 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
147110 ,p_level => C_LEVEL_STATEMENT
147111 ,p_module => l_log_module);
147112 END IF;
147113
147114
147115 --
147116 INSERT INTO xla_diag_sources --hdr2
147117 (
147118 event_id
147119 , ledger_id
147120 , sla_ledger_id
147121 , description_language
147122 , object_name
147123 , object_type_code
147124 , line_number
147125 , source_application_id
147126 , source_type_code
147127 , source_code
147128 , source_value
147129 , source_meaning
147130 , created_by
147131 , creation_date
147132 , last_update_date
147133 , last_updated_by
147134 , last_update_login
147135 , program_update_date
147139 )
147136 , program_application_id
147137 , program_id
147138 , request_id
147140 SELECT
147141 event_id
147142 , p_target_ledger_id
147143 , p_sla_ledger_id
147144 , p_language
147145 , object_name
147146 , object_type_code
147147 , line_number
147148 , source_application_id
147149 , source_type_code
147150 , source_code
147151 , SUBSTR(source_value ,1,1996)
147152 , SUBSTR(source_meaning ,1,200)
147153 , xla_environment_pkg.g_Usr_Id
147154 , TRUNC(SYSDATE)
147155 , TRUNC(SYSDATE)
147156 , xla_environment_pkg.g_Usr_Id
147157 , xla_environment_pkg.g_Login_Id
147158 , TRUNC(SYSDATE)
147159 , xla_environment_pkg.g_Prog_Appl_Id
147160 , xla_environment_pkg.g_Prog_Id
147161 , xla_environment_pkg.g_Req_Id
147162 FROM (
147163 SELECT xet.event_id event_id
147164 , 0 line_number
147165 , CASE r
147166 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147167 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147168 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147169 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147170 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147171 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147172 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147173 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147174 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147175 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147176 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147177 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147178 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147179 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147180 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147181 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147182 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147183 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147184 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147185 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147186 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147187 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147188
147189 ELSE null
147190 END object_name
147191 , CASE r
147192 WHEN 1 THEN 'HEADER'
147193 WHEN 2 THEN 'HEADER'
147194 WHEN 3 THEN 'HEADER'
147195 WHEN 4 THEN 'HEADER'
147196 WHEN 5 THEN 'HEADER'
147197 WHEN 6 THEN 'HEADER'
147198 WHEN 7 THEN 'HEADER'
147199 WHEN 8 THEN 'HEADER'
147200 WHEN 9 THEN 'HEADER'
147201 WHEN 10 THEN 'HEADER'
147202 WHEN 11 THEN 'HEADER'
147203 WHEN 12 THEN 'HEADER'
147204 WHEN 13 THEN 'HEADER'
147205 WHEN 14 THEN 'HEADER'
147206 WHEN 15 THEN 'HEADER'
147207 WHEN 16 THEN 'HEADER'
147208 WHEN 17 THEN 'HEADER'
147209 WHEN 18 THEN 'HEADER'
147210 WHEN 19 THEN 'HEADER'
147211 WHEN 20 THEN 'HEADER'
147212 WHEN 21 THEN 'HEADER'
147213 WHEN 22 THEN 'HEADER'
147214
147215 ELSE null
147216 END object_type_code
147217 , CASE r
147218 WHEN 1 THEN '200'
147219 WHEN 2 THEN '200'
147220 WHEN 3 THEN '200'
147221 WHEN 4 THEN '200'
147222 WHEN 5 THEN '200'
147223 WHEN 6 THEN '200'
147224 WHEN 7 THEN '200'
147225 WHEN 8 THEN '200'
147226 WHEN 9 THEN '200'
147227 WHEN 10 THEN '200'
147228 WHEN 11 THEN '200'
147229 WHEN 12 THEN '200'
147230 WHEN 13 THEN '200'
147231 WHEN 14 THEN '200'
147232 WHEN 15 THEN '200'
147233 WHEN 16 THEN '200'
147234 WHEN 17 THEN '200'
147235 WHEN 18 THEN '200'
147236 WHEN 19 THEN '200'
147237 WHEN 20 THEN '200'
147238 WHEN 21 THEN '200'
147239 WHEN 22 THEN '200'
147240
147241 ELSE null
147242 END source_application_id
147243 , 'S' source_type_code
147244 , CASE r
147245 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
147246 WHEN 2 THEN 'AI_INVOICE_DATE'
147247 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
147248 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
147249 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
147250 WHEN 6 THEN 'AI_DESCRIPTION'
147251 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
147252 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
147253 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
147254 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
147255 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
147256 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
147257 WHEN 13 THEN 'AI_INVOICE_ID'
147258 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
147259 WHEN 15 THEN 'AI_VENDOR_ID'
147260 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
147261 WHEN 17 THEN 'THIRD_PARTY_TYPE'
147262 WHEN 18 THEN 'INV_EXCHANGE_DATE'
147263 WHEN 19 THEN 'INV_EXCHANGE_RATE'
147264 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
147268 ELSE null
147265 WHEN 21 THEN 'AI_SOURCE'
147266 WHEN 22 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
147267
147269 END source_code
147270 , CASE r
147271 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
147272 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
147273 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
147274 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
147275 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
147276 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
147277 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
147278 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
147279 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
147280 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
147281 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
147282 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
147283 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
147284 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
147285 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
147286 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
147287 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
147288 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
147289 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
147290 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
147291 WHEN 21 THEN TO_CHAR(h2.AI_SOURCE)
147292 WHEN 22 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
147293
147294 ELSE null
147295 END source_value
147296 , CASE r
147297 WHEN 7 THEN fvl15.meaning
147298 WHEN 12 THEN fvl47.meaning
147299
147300 ELSE null
147301 END source_meaning
147302 FROM xla_events_gt xet
147303 , AP_INVOICE_EXTRACT_HEADER_V h2
147304 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
147305 , fnd_lookup_values fvl15
147306 , fnd_lookup_values fvl47
147307 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
147308 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
147309 AND xet.event_class_code = C_EVENT_CLASS_CODE
147310 AND h2.event_id = xet.event_id
147311 AND h4.asp_org_id= h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
147312 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
147313 AND fvl15.view_application_id(+) = 200
147314 AND fvl15.language(+) = USERENV('LANG')
147315 AND fvl47.lookup_type(+) = 'YES_NO'
147316 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
147317 AND fvl47.view_application_id(+) = 0
147318 AND fvl47.language(+) = USERENV('LANG')
147319
147320 )
147321 ;
147322 --
147323 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147324
147325 trace
147326 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
147327 ,p_level => C_LEVEL_STATEMENT
147328 ,p_module => l_log_module);
147329
147330 END IF;
147331 --
147332
147333
147334
147335 --
147336 INSERT INTO xla_diag_sources --line2
147337 (
147338 event_id
147339 , ledger_id
147340 , sla_ledger_id
147341 , description_language
147342 , object_name
147343 , object_type_code
147344 , line_number
147345 , source_application_id
147346 , source_type_code
147347 , source_code
147348 , source_value
147349 , source_meaning
147350 , created_by
147351 , creation_date
147352 , last_update_date
147353 , last_updated_by
147354 , last_update_login
147355 , program_update_date
147356 , program_application_id
147357 , program_id
147358 , request_id
147359 )
147360 SELECT event_id
147361 , p_target_ledger_id
147362 , p_sla_ledger_id
147363 , p_language
147364 , object_name
147365 , object_type_code
147366 , line_number
147367 , source_application_id
147368 , source_type_code
147369 , source_code
147370 , SUBSTR(source_value,1,1996)
147371 , SUBSTR(source_meaning ,1,200)
147372 , xla_environment_pkg.g_Usr_Id
147373 , TRUNC(SYSDATE)
147374 , TRUNC(SYSDATE)
147375 , xla_environment_pkg.g_Usr_Id
147376 , xla_environment_pkg.g_Login_Id
147377 , TRUNC(SYSDATE)
147378 , xla_environment_pkg.g_Prog_Appl_Id
147379 , xla_environment_pkg.g_Prog_Id
147380 , xla_environment_pkg.g_Req_Id
147381 FROM (
147382 SELECT xet.event_id event_id
147383 , l1.line_number line_number
147384 , CASE r
147385 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147386 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147387 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147388 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147389 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147390 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147391 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147392 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147393 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147394 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147395 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147396 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147397 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147398 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147402 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147399 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147400 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147401 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147403 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147404 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147405 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147406 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147407 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147408 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147409 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147410 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147411 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
147412 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
147413 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
147414 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147415 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147416 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147417 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147418 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147419 WHEN 35 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
147420 WHEN 36 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
147421 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147422 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147423 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147424 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147425 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147426 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147427 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147428 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147429 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147430 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147431 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147432
147433 ELSE null
147434 END object_name
147435 , CASE r
147436 WHEN 1 THEN 'LINE'
147437 WHEN 2 THEN 'LINE'
147438 WHEN 3 THEN 'LINE'
147439 WHEN 4 THEN 'LINE'
147440 WHEN 5 THEN 'LINE'
147441 WHEN 6 THEN 'LINE'
147442 WHEN 7 THEN 'LINE'
147443 WHEN 8 THEN 'LINE'
147444 WHEN 9 THEN 'LINE'
147445 WHEN 10 THEN 'LINE'
147446 WHEN 11 THEN 'LINE'
147447 WHEN 12 THEN 'LINE'
147448 WHEN 13 THEN 'LINE'
147449 WHEN 14 THEN 'LINE'
147450 WHEN 15 THEN 'LINE'
147451 WHEN 16 THEN 'LINE'
147452 WHEN 17 THEN 'LINE'
147453 WHEN 18 THEN 'LINE'
147454 WHEN 19 THEN 'LINE'
147455 WHEN 20 THEN 'LINE'
147456 WHEN 21 THEN 'LINE'
147457 WHEN 22 THEN 'LINE'
147458 WHEN 23 THEN 'LINE'
147459 WHEN 24 THEN 'LINE'
147460 WHEN 25 THEN 'LINE'
147461 WHEN 26 THEN 'LINE'
147462 WHEN 27 THEN 'LINE'
147463 WHEN 28 THEN 'LINE'
147464 WHEN 29 THEN 'LINE'
147465 WHEN 30 THEN 'LINE'
147466 WHEN 31 THEN 'LINE'
147467 WHEN 32 THEN 'LINE'
147468 WHEN 33 THEN 'LINE'
147469 WHEN 34 THEN 'LINE'
147470 WHEN 35 THEN 'LINE'
147471 WHEN 36 THEN 'LINE'
147472 WHEN 37 THEN 'LINE'
147473 WHEN 38 THEN 'LINE'
147474 WHEN 39 THEN 'LINE'
147475 WHEN 40 THEN 'LINE'
147476 WHEN 41 THEN 'LINE'
147477 WHEN 42 THEN 'LINE'
147478 WHEN 43 THEN 'LINE'
147479 WHEN 44 THEN 'LINE'
147480 WHEN 45 THEN 'LINE'
147481 WHEN 46 THEN 'LINE'
147482 WHEN 47 THEN 'LINE'
147483
147484 ELSE null
147485 END object_type_code
147486 , CASE r
147487 WHEN 1 THEN '200'
147488 WHEN 2 THEN '200'
147489 WHEN 3 THEN '200'
147490 WHEN 4 THEN '200'
147491 WHEN 5 THEN '200'
147492 WHEN 6 THEN '200'
147493 WHEN 7 THEN '200'
147494 WHEN 8 THEN '200'
147495 WHEN 9 THEN '200'
147496 WHEN 10 THEN '200'
147497 WHEN 11 THEN '200'
147498 WHEN 12 THEN '200'
147499 WHEN 13 THEN '200'
147500 WHEN 14 THEN '200'
147501 WHEN 15 THEN '200'
147502 WHEN 16 THEN '200'
147503 WHEN 17 THEN '200'
147504 WHEN 18 THEN '200'
147505 WHEN 19 THEN '200'
147506 WHEN 20 THEN '200'
147507 WHEN 21 THEN '200'
147508 WHEN 22 THEN '200'
147509 WHEN 23 THEN '200'
147510 WHEN 24 THEN '200'
147511 WHEN 25 THEN '200'
147512 WHEN 26 THEN '200'
147513 WHEN 27 THEN '200'
147514 WHEN 28 THEN '200'
147515 WHEN 29 THEN '200'
147516 WHEN 30 THEN '200'
147517 WHEN 31 THEN '200'
147518 WHEN 32 THEN '200'
147519 WHEN 33 THEN '200'
147520 WHEN 34 THEN '200'
147521 WHEN 35 THEN '200'
147522 WHEN 36 THEN '200'
147523 WHEN 37 THEN '200'
147527 WHEN 41 THEN '200'
147524 WHEN 38 THEN '200'
147525 WHEN 39 THEN '200'
147526 WHEN 40 THEN '200'
147528 WHEN 42 THEN '200'
147529 WHEN 43 THEN '200'
147530 WHEN 44 THEN '200'
147531 WHEN 45 THEN '200'
147532 WHEN 46 THEN '200'
147533 WHEN 47 THEN '200'
147534
147535 ELSE null
147536 END source_application_id
147537 , 'S' source_type_code
147538 , CASE r
147539 WHEN 1 THEN 'AID_DESCRIPTION'
147540 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
147541 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
147542 WHEN 4 THEN 'AID_DIST_CCID'
147543 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
147544 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
147545 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
147546 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
147547 WHEN 9 THEN 'ASAT_LIAB_CCID'
147548 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
147549 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
147550 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
147551 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
147552 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
147553 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
147554 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
147555 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
147556 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
147557 WHEN 19 THEN 'UPG_ENC_CR_CCID'
147558 WHEN 20 THEN 'UPG_ENC_CR_AMT'
147559 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
147560 WHEN 22 THEN 'UPG_ENC_DR_CCID'
147561 WHEN 23 THEN 'UPG_ENC_DR_AMT'
147562 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
147563 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
147564 WHEN 26 THEN 'AID_AMOUNT'
147565 WHEN 27 THEN 'POH_RATE_DATE'
147566 WHEN 28 THEN 'POH_RATE'
147567 WHEN 29 THEN 'POH_RATE_TYPE'
147568 WHEN 30 THEN 'DEFERRED_END_DATE'
147569 WHEN 31 THEN 'DEFERRED_OPTION'
147570 WHEN 32 THEN 'DEFERRED_START_DATE'
147571 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
147572 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
147573 WHEN 35 THEN 'TAX_LINE_ID'
147574 WHEN 36 THEN 'REC_NREC_TAX_DIST_ID'
147575 WHEN 37 THEN 'SUMMARY_TAX_LINE_ID'
147576 WHEN 38 THEN 'UPG_CR_ENC_TYPE_ID'
147577 WHEN 39 THEN 'UPG_DR_ENC_TYPE_ID'
147578 WHEN 40 THEN 'BUS_FLOW_AP_APP_ID'
147579 WHEN 41 THEN 'BUS_FLOW_INV_DIST_TYPE'
147580 WHEN 42 THEN 'BUS_FLOW_INV_ENTITY_CODE'
147581 WHEN 43 THEN 'BUS_FLOW_INV_DIST_ID'
147582 WHEN 44 THEN 'BUS_FLOW_INV_ID'
147583 WHEN 45 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
147584 WHEN 46 THEN 'SELF_ASSESSED_TAX_FLAG'
147585 WHEN 47 THEN 'AID_PROJECT_ID'
147586
147587 ELSE null
147588 END source_code
147589 , CASE r
147590 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
147591 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
147592 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
147593 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
147594 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
147595 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
147596 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
147597 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
147598 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
147599 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
147600 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
147601 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
147602 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
147603 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
147604 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
147605 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
147606 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
147607 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
147608 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
147609 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
147610 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
147611 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
147612 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
147613 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
147614 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
147615 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
147616 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
147617 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
147618 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
147619 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
147620 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
147621 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
147622 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
147623 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
147624 WHEN 35 THEN TO_CHAR(l5.TAX_LINE_ID)
147625 WHEN 36 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
147626 WHEN 37 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
147627 WHEN 38 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
147628 WHEN 39 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
147629 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
147630 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
147634 WHEN 45 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
147631 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
147632 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
147633 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
147635 WHEN 46 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
147636 WHEN 47 THEN TO_CHAR(l1.AID_PROJECT_ID)
147637
147638 ELSE null
147639 END source_value
147640 , CASE r
147641 WHEN 3 THEN fvl22.meaning
147642 WHEN 5 THEN fvl33.meaning
147643 WHEN 33 THEN fvl79.meaning
147644 WHEN 45 THEN fvl95.meaning
147645 WHEN 46 THEN fvl135.meaning
147646
147647 ELSE null
147648 END source_meaning
147649 FROM xla_events_gt xet
147650 , AP_INVOICE_EXTRACT_DETAILS_V l1
147651 , AP_PO_HEADERS_EXTRACT_V l3
147652 , ZX_AP_DEF_TAX_EXTRACT_V l5
147653 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
147654 , fnd_lookup_values fvl22
147655 , fnd_lookup_values fvl33
147656 , fnd_lookup_values fvl79
147657 , fnd_lookup_values fvl95
147658 , fnd_lookup_values fvl135
147659 , (select rownum r from all_objects where rownum <= 47 and owner = p_apps_owner)
147660 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
147661 AND xet.event_class_code = C_EVENT_CLASS_CODE
147662 AND l1.event_id = xet.event_id
147663 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'
147664 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
147665 AND fvl22.view_application_id(+) = 201
147666 AND fvl22.language(+) = USERENV('LANG')
147667 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
147668 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
147669 AND fvl33.view_application_id(+) = 200
147670 AND fvl33.language(+) = USERENV('LANG')
147671 AND fvl79.lookup_type(+) = 'YES_NO'
147672 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
147673 AND fvl79.view_application_id(+) = 0
147674 AND fvl79.language(+) = USERENV('LANG')
147675 AND fvl95.lookup_type(+) = 'YES_NO'
147676 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
147677 AND fvl95.view_application_id(+) = 0
147678 AND fvl95.language(+) = USERENV('LANG')
147679 AND fvl135.lookup_type(+) = 'YES_NO'
147680 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
147681 AND fvl135.view_application_id(+) = 0
147682 AND fvl135.language(+) = USERENV('LANG')
147683
147684 )
147685 ;
147686 --
147687 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147688
147689 trace
147690 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
147691 ,p_level => C_LEVEL_STATEMENT
147692 ,p_module => l_log_module);
147693
147694 END IF;
147695
147696
147697 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147698 trace
147699 (p_msg => 'END of insert_sources_227'
147700 ,p_level => C_LEVEL_PROCEDURE
147701 ,p_module => l_log_module);
147702 END IF;
147703 EXCEPTION
147704 WHEN xla_exceptions_pkg.application_exception THEN
147705 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
147706 trace
147707 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
147708 ,p_level => C_LEVEL_EXCEPTION
147709 ,p_module => l_log_module);
147710 END IF;
147711 RAISE;
147712 WHEN OTHERS THEN
147713 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
147714 trace
147715 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
147716 ,p_level => C_LEVEL_EXCEPTION
147717 ,p_module => l_log_module);
147718 END IF;
147719 xla_exceptions_pkg.raise_message
147720 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_227');
147721 END insert_sources_227;
147722 --
147723
147724 ---------------------------------------
147725 --
147726 -- PRIVATE FUNCTION
147727 -- EventClass_227
147728 --
147729 ----------------------------------------
147730 --
147731 FUNCTION EventClass_227
147732 (p_application_id IN NUMBER
147733 ,p_base_ledger_id IN NUMBER
147734 ,p_target_ledger_id IN NUMBER
147735 ,p_language IN VARCHAR2
147736 ,p_currency_code IN VARCHAR2
147737 ,p_sla_ledger_id IN NUMBER
147738 ,p_pad_start_date IN DATE
147739 ,p_pad_end_date IN DATE
147740 ,p_primary_ledger_id IN NUMBER)
147741 RETURN BOOLEAN IS
147742 --
147743 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
147744 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
147745
147746 l_calculate_acctd_flag VARCHAR2(1) :='N';
147747 l_calculate_g_l_flag VARCHAR2(1) :='N';
147748 --
147749 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147750 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147751 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147752 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147753 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147754 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147755 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147756 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147760 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147757 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147758 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147759 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147761 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147762 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147763 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147764 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147765 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147766 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147767 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147768 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147769 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147770 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147771 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
147772 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147773 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
147774 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
147775
147776 l_event_id NUMBER;
147777 l_previous_event_id NUMBER;
147778 l_first_event_id NUMBER;
147779 l_last_event_id NUMBER;
147780
147781 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
147782 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
147783 --
147784 --
147785 l_result BOOLEAN := TRUE;
147786 l_rows NUMBER := 1000;
147787 l_event_type_name VARCHAR2(80) := 'All';
147788 l_event_class_name VARCHAR2(80) := 'Debit Memos';
147789 l_description VARCHAR2(4000);
147790 l_transaction_reversal NUMBER;
147791 l_ae_header_id NUMBER;
147792 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
147793 l_log_module VARCHAR2(240);
147794 --
147795 l_acct_reversal_source VARCHAR2(30);
147796 l_trx_reversal_source VARCHAR2(30);
147797
147798 l_continue_with_lines BOOLEAN := TRUE;
147799 --
147800 l_acc_rev_gl_date_source DATE; -- 4262811
147801 --
147802 type t_array_event_id is table of number index by binary_integer;
147803
147804 l_rec_array_event t_rec_array_event;
147805 l_null_rec_array_event t_rec_array_event;
147806 l_array_ae_header_id xla_number_array_type;
147807 l_actual_flag VARCHAR2(1) := NULL;
147808 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
147809 l_balance_type_code VARCHAR2(1) :=NULL;
147810 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
147811
147812 --
147813 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
147814 --
147815
147816 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
147817 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
147818 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
147819 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
147820 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
147821 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
147822 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
147823 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
147824 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
147825 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
147826 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147827 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
147828 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
147829 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
147830 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
147831 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
147832 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
147833 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
147834 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
147835 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
147836 TYPE t_array_source_163 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_SOURCE%TYPE INDEX BY BINARY_INTEGER;
147837 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
147838
147839 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
147840 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
147841 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147845 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147842 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
147843 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
147844 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
147846 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147847 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
147848 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
147849 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
147850 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147851 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
147852 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147853 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
147854 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147855 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
147856 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147857 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
147858 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
147859 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
147860 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
147861 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
147862 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
147863 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
147864 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
147865 TYPE t_array_source_73 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
147866 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
147867 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
147868 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
147869 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
147870 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
147871 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
147872 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
147873 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
147874 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147875 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
147876 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
147877 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
147878 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
147879 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147880 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
147881 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147882 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
147883 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
147884 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
147885 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PROJECT_ID%TYPE INDEX BY BINARY_INTEGER;
147886
147887 l_array_source_3 t_array_source_3;
147888 l_array_source_4 t_array_source_4;
147889 l_array_source_5 t_array_source_5;
147890 l_array_source_6 t_array_source_6;
147891 l_array_source_7 t_array_source_7;
147892 l_array_source_8 t_array_source_8;
147893 l_array_source_15 t_array_source_15;
147894 l_array_source_15_meaning t_array_lookup_meaning;
147895 l_array_source_20 t_array_source_20;
147896 l_array_source_23 t_array_source_23;
147897 l_array_source_34 t_array_source_34;
147898 l_array_source_40 t_array_source_40;
147899 l_array_source_47 t_array_source_47;
147900 l_array_source_47_meaning t_array_lookup_meaning;
147901 l_array_source_57 t_array_source_57;
147902 l_array_source_66 t_array_source_66;
147903 l_array_source_80 t_array_source_80;
147904 l_array_source_81 t_array_source_81;
147905 l_array_source_82 t_array_source_82;
147906 l_array_source_136 t_array_source_136;
147907 l_array_source_137 t_array_source_137;
147908 l_array_source_138 t_array_source_138;
147909 l_array_source_163 t_array_source_163;
147910 l_array_source_168 t_array_source_168;
147914 l_array_source_22 t_array_source_22;
147911
147912 l_array_source_1 t_array_source_1;
147913 l_array_source_21 t_array_source_21;
147915 l_array_source_22_meaning t_array_lookup_meaning;
147916 l_array_source_30 t_array_source_30;
147917 l_array_source_33 t_array_source_33;
147918 l_array_source_33_meaning t_array_lookup_meaning;
147919 l_array_source_42 t_array_source_42;
147920 l_array_source_43 t_array_source_43;
147921 l_array_source_49 t_array_source_49;
147922 l_array_source_50 t_array_source_50;
147923 l_array_source_52 t_array_source_52;
147924 l_array_source_54 t_array_source_54;
147925 l_array_source_56 t_array_source_56;
147926 l_array_source_58 t_array_source_58;
147927 l_array_source_59 t_array_source_59;
147928 l_array_source_60 t_array_source_60;
147929 l_array_source_61 t_array_source_61;
147930 l_array_source_62 t_array_source_62;
147931 l_array_source_63 t_array_source_63;
147932 l_array_source_64 t_array_source_64;
147933 l_array_source_65 t_array_source_65;
147934 l_array_source_67 t_array_source_67;
147935 l_array_source_68 t_array_source_68;
147936 l_array_source_69 t_array_source_69;
147937 l_array_source_70 t_array_source_70;
147938 l_array_source_71 t_array_source_71;
147939 l_array_source_72 t_array_source_72;
147940 l_array_source_73 t_array_source_73;
147941 l_array_source_74 t_array_source_74;
147942 l_array_source_75 t_array_source_75;
147943 l_array_source_76 t_array_source_76;
147944 l_array_source_77 t_array_source_77;
147945 l_array_source_78 t_array_source_78;
147946 l_array_source_79 t_array_source_79;
147947 l_array_source_79_meaning t_array_lookup_meaning;
147948 l_array_source_83 t_array_source_83;
147949 l_array_source_85 t_array_source_85;
147950 l_array_source_86 t_array_source_86;
147951 l_array_source_87 t_array_source_87;
147952 l_array_source_88 t_array_source_88;
147953 l_array_source_89 t_array_source_89;
147954 l_array_source_90 t_array_source_90;
147955 l_array_source_91 t_array_source_91;
147956 l_array_source_92 t_array_source_92;
147957 l_array_source_93 t_array_source_93;
147958 l_array_source_94 t_array_source_94;
147959 l_array_source_95 t_array_source_95;
147960 l_array_source_95_meaning t_array_lookup_meaning;
147961 l_array_source_135 t_array_source_135;
147962 l_array_source_135_meaning t_array_lookup_meaning;
147963 l_array_source_146 t_array_source_146;
147964
147965 --
147966 CURSOR header_cur
147967 IS
147968 SELECT /*+ leading(xet) cardinality(xet,1) */
147969 -- Event Class Code: DEBIT MEMOS
147970 xet.entity_id
147971 ,xet.legal_entity_id
147972 ,xet.entity_code
147973 ,xet.transaction_number
147974 ,xet.event_id
147975 ,xet.event_class_code
147976 ,xet.event_type_code
147977 ,xet.event_number
147978 ,xet.event_date
147979 ,xet.transaction_date
147980 ,xet.reference_num_1
147981 ,xet.reference_num_2
147982 ,xet.reference_num_3
147983 ,xet.reference_num_4
147984 ,xet.reference_char_1
147985 ,xet.reference_char_2
147986 ,xet.reference_char_3
147987 ,xet.reference_char_4
147988 ,xet.reference_date_1
147989 ,xet.reference_date_2
147990 ,xet.reference_date_3
147991 ,xet.reference_date_4
147992 ,xet.event_created_by
147993 ,xet.budgetary_control_flag
147994 , h2.INV_TRANSACTION_NUMBER source_3
147995 , h2.AI_INVOICE_DATE source_4
147996 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
147997 , h2.DOC_SEQUENCE_NAME source_6
147998 , h2.INV_DOC_SEQUENCE_VALUE source_7
147999 , h2.AI_DESCRIPTION source_8
148000 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
148001 , fvl15.meaning source_15_meaning
148002 , h4.ASP_RATE_VAR_GAIN_CCID source_20
148003 , h4.ASP_RATE_VAR_LOSS_CCID source_23
148004 , h2.AI_ACCTS_PAY_CCID source_34
148005 , h4.FSP_RETAINAGE_ACCOUNT source_40
148006 , h4.ASP_AUTO_OFFSET_FLAG source_47
148007 , fvl47.meaning source_47_meaning
148008 , h2.AI_INVOICE_ID source_57
148009 , h2.AI_INVOICE_CURRENCY_CODE source_66
148010 , h2.AI_VENDOR_ID source_80
148011 , h2.AI_VENDOR_SITE_ID source_81
148012 , h2.THIRD_PARTY_TYPE source_82
148013 , h2.INV_EXCHANGE_DATE source_136
148014 , h2.INV_EXCHANGE_RATE source_137
148015 , h2.INV_EXCHANGE_RATE_TYPE source_138
148016 , h2.AI_SOURCE source_163
148017 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
148018 FROM xla_events_gt xet
148019 , AP_INVOICE_EXTRACT_HEADER_V h2
148020 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
148021 , fnd_lookup_values fvl15
148022 , fnd_lookup_values fvl47
148023 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
148024 and xet.event_class_code = C_EVENT_CLASS_CODE
148025 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
148026 AND h4.asp_org_id= h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
148027 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
148028 AND fvl15.view_application_id(+) = 200
148029 AND fvl15.language(+) = USERENV('LANG')
148030 AND fvl47.lookup_type(+) = 'YES_NO'
148031 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
148032 AND fvl47.view_application_id(+) = 0
148033 AND fvl47.language(+) = USERENV('LANG')
148034
148035 ORDER BY event_id
148036 ;
148037
148038
148039 --
148040 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
148041 IS
148042 SELECT /*+ leading(xet) cardinality(xet,1) */
148043 -- Event Class Code: DEBIT MEMOS
148044 xet.entity_id
148045 ,xet.legal_entity_id
148046 ,xet.entity_code
148047 ,xet.transaction_number
148048 ,xet.event_id
148049 ,xet.event_class_code
148050 ,xet.event_type_code
148054 ,xet.reference_num_1
148051 ,xet.event_number
148052 ,xet.event_date
148053 ,xet.transaction_date
148055 ,xet.reference_num_2
148056 ,xet.reference_num_3
148057 ,xet.reference_num_4
148058 ,xet.reference_char_1
148059 ,xet.reference_char_2
148060 ,xet.reference_char_3
148061 ,xet.reference_char_4
148062 ,xet.reference_date_1
148063 ,xet.reference_date_2
148064 ,xet.reference_date_3
148065 ,xet.reference_date_4
148066 ,xet.event_created_by
148067 ,xet.budgetary_control_flag
148068 , l1.LINE_NUMBER
148069 , l1.AID_DESCRIPTION source_1
148070 , l1.INV_DIST_BASE_AMOUNT source_21
148071 , l1.RELATED_INV_DIST_DEST_TYPE source_22
148072 , fvl22.meaning source_22_meaning
148073 , l1.AID_DIST_CCID source_30
148074 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
148075 , fvl33.meaning source_33_meaning
148076 , l1.AID_RET_RELATED_DIST_CCID source_42
148077 , l1.AWT_RELATED_DIST_ACCOUNT source_43
148078 , l1.SELF_ASSESSED_TAX_ACCOUNT source_49
148079 , l1.ASAT_LIAB_CCID source_50
148080 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
148081 , l1.DISTRIBUTION_LINK_TYPE source_54
148082 , l1.ALLOC_TO_MAIN_DIST_ID source_56
148083 , l1.BUS_FLOW_PO_APP_ID source_58
148084 , l1.BUS_FLOW_PO_DIST_TYPE source_59
148085 , l1.BUS_FLOW_PO_ENTITY_CODE source_60
148086 , l1.BUS_FLOW_PO_DIST_ID source_61
148087 , l1.BUS_FLOW_PO_DOC_ID source_62
148088 , l1.AID_INVOICE_DIST_ID source_63
148089 , l1.UPG_ENC_CR_CCID source_64
148090 , l1.UPG_ENC_CR_AMT source_65
148091 , l1.UPG_ENC_CR_BASE_AMT source_67
148092 , l1.UPG_ENC_DR_CCID source_68
148093 , l1.UPG_ENC_DR_AMT source_69
148094 , l1.UPG_ENC_DR_BASE_AMT source_70
148095 , l1.UPG_AP_ENCUM_OPTION source_71
148096 , l1.AID_AMOUNT source_72
148097 , l3.POH_RATE_DATE source_73
148098 , l3.POH_RATE source_74
148099 , l3.POH_RATE_TYPE source_75
148100 , l1.DEFERRED_END_DATE source_76
148101 , l1.DEFERRED_OPTION source_77
148102 , l1.DEFERRED_START_DATE source_78
148103 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
148104 , fvl79.meaning source_79_meaning
148105 , l1.AID_PARENT_REVERSAL_ID source_83
148106 , l5.TAX_LINE_ID source_85
148107 , l6.REC_NREC_TAX_DIST_ID source_86
148108 , l1.SUMMARY_TAX_LINE_ID source_87
148109 , l1.UPG_CR_ENC_TYPE_ID source_88
148110 , l1.UPG_DR_ENC_TYPE_ID source_89
148111 , l1.BUS_FLOW_AP_APP_ID source_90
148112 , l1.BUS_FLOW_INV_DIST_TYPE source_91
148113 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
148114 , l1.BUS_FLOW_INV_DIST_ID source_93
148115 , l1.BUS_FLOW_INV_ID source_94
148116 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_95
148117 , fvl95.meaning source_95_meaning
148118 , l1.SELF_ASSESSED_TAX_FLAG source_135
148119 , fvl135.meaning source_135_meaning
148120 , l1.AID_PROJECT_ID source_146
148121 FROM xla_events_gt xet
148122 , AP_INVOICE_EXTRACT_DETAILS_V l1
148123 , AP_PO_HEADERS_EXTRACT_V l3
148124 , ZX_AP_DEF_TAX_EXTRACT_V l5
148125 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
148126 , fnd_lookup_values fvl22
148127 , fnd_lookup_values fvl33
148128 , fnd_lookup_values fvl79
148129 , fnd_lookup_values fvl95
148130 , fnd_lookup_values fvl135
148131 WHERE xet.event_id between x_first_event_id and x_last_event_id
148132 and xet.event_date between p_pad_start_date and p_pad_end_date
148133 and xet.event_class_code = C_EVENT_CLASS_CODE
148134 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
148135 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'
148136 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
148137 AND fvl22.view_application_id(+) = 201
148138 AND fvl22.language(+) = USERENV('LANG')
148139 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
148140 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
148141 AND fvl33.view_application_id(+) = 200
148142 AND fvl33.language(+) = USERENV('LANG')
148143 AND fvl79.lookup_type(+) = 'YES_NO'
148144 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
148145 AND fvl79.view_application_id(+) = 0
148146 AND fvl79.language(+) = USERENV('LANG')
148147 AND fvl95.lookup_type(+) = 'YES_NO'
148148 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
148149 AND fvl95.view_application_id(+) = 0
148150 AND fvl95.language(+) = USERENV('LANG')
148151 AND fvl135.lookup_type(+) = 'YES_NO'
148152 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
148153 AND fvl135.view_application_id(+) = 0
148154 AND fvl135.language(+) = USERENV('LANG')
148155 ;
148156
148157 --
148158 BEGIN
148159 IF g_log_enabled THEN
148160 l_log_module := C_DEFAULT_MODULE||'.EventClass_227';
148161 END IF;
148162 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148163 trace
148164 (p_msg => 'BEGIN of EventClass_227'
148165 ,p_level => C_LEVEL_PROCEDURE
148166 ,p_module => l_log_module);
148167 END IF;
148168
148169 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148170 trace
148171 (p_msg => 'p_application_id = '||p_application_id||
148172 ' - p_base_ledger_id = '||p_base_ledger_id||
148173 ' - p_target_ledger_id = '||p_target_ledger_id||
148174 ' - p_language = '||p_language||
148175 ' - p_currency_code = '||p_currency_code||
148176 ' - p_sla_ledger_id = '||p_sla_ledger_id
148177 ,p_level => C_LEVEL_STATEMENT
148178 ,p_module => l_log_module);
148179 END IF;
148180 --
148181 -- initialze arrays
148182 --
148183 g_array_event.DELETE;
148187 -- 4262811 Initialze MPA Line Number
148184 l_rec_array_event := l_null_rec_array_event;
148185 --
148186 --------------------------------------
148188 --------------------------------------
148189 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
148190
148191 --
148192
148193 --
148194 OPEN header_cur;
148195 --
148196 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148197 trace
148198 (p_msg => 'SQL - FETCH header_cur'
148199 ,p_level => C_LEVEL_STATEMENT
148200 ,p_module => l_log_module);
148201 END IF;
148202 --
148203 LOOP
148204 FETCH header_cur BULK COLLECT INTO
148205 l_array_entity_id
148206 , l_array_legal_entity_id
148207 , l_array_entity_code
148208 , l_array_transaction_num
148209 , l_array_event_id
148210 , l_array_class_code
148211 , l_array_event_type
148212 , l_array_event_number
148213 , l_array_event_date
148214 , l_array_transaction_date
148215 , l_array_reference_num_1
148216 , l_array_reference_num_2
148217 , l_array_reference_num_3
148218 , l_array_reference_num_4
148219 , l_array_reference_char_1
148220 , l_array_reference_char_2
148221 , l_array_reference_char_3
148222 , l_array_reference_char_4
148223 , l_array_reference_date_1
148224 , l_array_reference_date_2
148225 , l_array_reference_date_3
148226 , l_array_reference_date_4
148227 , l_array_event_created_by
148228 , l_array_budgetary_control_flag
148229 , l_array_source_3
148230 , l_array_source_4
148231 , l_array_source_5
148232 , l_array_source_6
148233 , l_array_source_7
148234 , l_array_source_8
148235 , l_array_source_15
148236 , l_array_source_15_meaning
148237 , l_array_source_20
148238 , l_array_source_23
148239 , l_array_source_34
148240 , l_array_source_40
148241 , l_array_source_47
148242 , l_array_source_47_meaning
148243 , l_array_source_57
148244 , l_array_source_66
148245 , l_array_source_80
148246 , l_array_source_81
148247 , l_array_source_82
148248 , l_array_source_136
148249 , l_array_source_137
148250 , l_array_source_138
148251 , l_array_source_163
148252 , l_array_source_168
148253 LIMIT l_rows;
148254 --
148255 IF (C_LEVEL_EVENT >= g_log_level) THEN
148256 trace
148257 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
148258 ,p_level => C_LEVEL_EVENT
148259 ,p_module => l_log_module);
148260 END IF;
148261 --
148262 EXIT WHEN l_array_entity_id.COUNT = 0;
148263
148264 -- initialize arrays
148265 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
148266 XLA_AE_LINES_PKG.g_rec_lines := NULL;
148267
148268 --
148269 -- Bug 4458708
148270 --
148271 XLA_AE_LINES_PKG.g_LineNumber := 0;
148272
148273
148274 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
148275 g_last_hdr_idx := l_array_event_id.LAST;
148276 --
148277 -- loop for the headers. Each iteration is for each header extract row
148278 -- fetched in header cursor
148279 --
148280 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
148281
148282 --
148283 -- set event info as cache for other routines to refer event attributes
148284 --
148285 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
148286 (p_application_id => p_application_id
148287 ,p_primary_ledger_id => p_primary_ledger_id
148288 ,p_base_ledger_id => p_base_ledger_id
148289 ,p_target_ledger_id => p_target_ledger_id
148290 ,p_entity_id => l_array_entity_id(hdr_idx)
148291 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
148292 ,p_entity_code => l_array_entity_code(hdr_idx)
148293 ,p_transaction_num => l_array_transaction_num(hdr_idx)
148294 ,p_event_id => l_array_event_id(hdr_idx)
148295 ,p_event_class_code => l_array_class_code(hdr_idx)
148296 ,p_event_type_code => l_array_event_type(hdr_idx)
148297 ,p_event_number => l_array_event_number(hdr_idx)
148298 ,p_event_date => l_array_event_date(hdr_idx)
148299 ,p_transaction_date => l_array_transaction_date(hdr_idx)
148300 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
148301 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
148302 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
148303 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
148304 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
148305 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
148306 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
148307 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
148308 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
148309 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
148310 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
148311 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
148312 ,p_event_created_by => l_array_event_created_by(hdr_idx)
148313 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
148314
148315 --
148316 -- set the status of entry to C_VALID (0)
148317 --
148318 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
148319
148320 --
148321 -- initialize a row for ae header
148322 --
148323 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
148324
148325 l_event_id := l_array_event_id(hdr_idx);
148326
148327 --
148328 -- storing the hdr_idx for event. May be used by line cursor.
148329 --
148330 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
148334 -- store only those sources from header extract that may be used in lines
148331
148332 --
148333 -- store sources from header extract. This can be improved to
148335 --
148336
148337 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
148338 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
148339 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
148340 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
148341 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
148342 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
148343 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
148344 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
148345 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
148346 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
148347 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
148348 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
148349 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
148350 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
148351 g_array_event(l_event_id).array_value_num('source_57') := l_array_source_57(hdr_idx);
148352 g_array_event(l_event_id).array_value_char('source_66') := l_array_source_66(hdr_idx);
148353 g_array_event(l_event_id).array_value_num('source_80') := l_array_source_80(hdr_idx);
148354 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
148355 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
148356 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
148357 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
148358 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
148359 g_array_event(l_event_id).array_value_char('source_163') := l_array_source_163(hdr_idx);
148360 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
148361
148362 --
148363 -- initilaize the status of ae headers for diffrent balance types
148364 -- the status is initialised to C_NOT_CREATED (2)
148365 --
148366 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148367 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148368 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148369
148370 --
148371 -- call api to validate and store accounting attributes for header
148372 --
148373
148374 ------------------------------------------------------------
148375 -- Accrual Reversal : to get date for Standard Source (NONE)
148376 ------------------------------------------------------------
148377 l_acc_rev_gl_date_source := NULL;
148378
148379 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
148380 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
148381 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
148382 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
148383 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
148384 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
148385 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
148386 l_rec_acct_attrs.array_date_value(4) :=
148387 xla_ae_sources_pkg.GetSystemSourceDate(
148388 p_source_code => 'XLA_EVENT_DATE'
148389 , p_source_type_code => 'Y'
148390 , p_source_application_id => 602
148391 );
148392
148393
148394 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
148395
148396 XLA_AE_HEADER_PKG.SetJeCategoryName;
148397
148398 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
148399 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
148400 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
148401 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
148402 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
148403
148404
148405 --
148406 xla_ae_header_pkg.SetHdrDescription(
148407 p_description => Description_2 (
148408 p_application_id => p_application_id
148409 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
148410 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
148411 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
148412 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
148413 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
148414 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
148415 )
148416 );
148417 --
148418
148419 -- No header level analytical criteria
148420
148421 --
148422 --accounting attribute enhancement, bug 3612931
148423 --
148424 l_trx_reversal_source := SUBSTR(NULL, 1,30);
148425
148426 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
148427 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
148428
148429 xla_accounting_err_pkg.build_message
148430 (p_appli_s_name => 'XLA'
148431 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
148432 ,p_token_1 => 'ACCT_ATTR_NAME'
148433 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
148434 ,p_token_2 => 'PRODUCT_NAME'
148438 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
148435 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
148436 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
148437 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
148439
148440 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
148441 --
148442 -- following sets the accounting attributes needed to reverse
148443 -- accounting for a distributeion
148444 --
148445 xla_ae_lines_pkg.SetTrxReversalAttrs
148446 (p_event_id => l_event_id
148447 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
148448 ,p_trx_reversal_source => l_trx_reversal_source);
148449
148450 END IF;
148451
148452
148453 ----------------------------------------------------------------
148454 -- 4262811 - update the header statuses to invalid in need be
148455 ----------------------------------------------------------------
148456 --
148457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
148458
148459
148460 -----------------------------------------------
148461 -- No accrual reversal for the event class/type
148462 -----------------------------------------------
148463 ----------------------------------------------------------------
148464
148465 --
148466 -- this ends the header loop iteration for one bulk fetch
148467 --
148468 END LOOP;
148469
148470 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
148471 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
148472
148473 --
148474 -- insert dummy rows into lines gt table that were created due to
148475 -- transaction reversals
148476 --
148477 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
148478 l_result := XLA_AE_LINES_PKG.InsertLines;
148479 END IF;
148480
148481 --
148482 -- reset the temp_line_num for each set of events fetched from header
148483 -- cursor rather than doing it for each new event in line cursor
148484 -- Bug 3939231
148485 --
148486 xla_ae_lines_pkg.g_temp_line_num := 0;
148487
148488
148489
148490 --
148491 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
148492 --
148493 --
148494 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148495
148496 trace
148497 (p_msg => 'SQL - FETCH line_cur'
148498 ,p_level => C_LEVEL_STATEMENT
148499 ,p_module => l_log_module);
148500
148501 END IF;
148502 --
148503 --
148504 LOOP
148505 --
148506 FETCH line_cur BULK COLLECT INTO
148507 l_array_entity_id
148508 , l_array_legal_entity_id
148509 , l_array_entity_code
148510 , l_array_transaction_num
148511 , l_array_event_id
148512 , l_array_class_code
148513 , l_array_event_type
148514 , l_array_event_number
148515 , l_array_event_date
148516 , l_array_transaction_date
148517 , l_array_reference_num_1
148518 , l_array_reference_num_2
148519 , l_array_reference_num_3
148520 , l_array_reference_num_4
148521 , l_array_reference_char_1
148522 , l_array_reference_char_2
148523 , l_array_reference_char_3
148524 , l_array_reference_char_4
148525 , l_array_reference_date_1
148526 , l_array_reference_date_2
148527 , l_array_reference_date_3
148528 , l_array_reference_date_4
148529 , l_array_event_created_by
148530 , l_array_budgetary_control_flag
148531 , l_array_extract_line_num
148532 , l_array_source_1
148533 , l_array_source_21
148534 , l_array_source_22
148535 , l_array_source_22_meaning
148536 , l_array_source_30
148537 , l_array_source_33
148538 , l_array_source_33_meaning
148539 , l_array_source_42
148540 , l_array_source_43
148541 , l_array_source_49
148542 , l_array_source_50
148543 , l_array_source_52
148544 , l_array_source_54
148545 , l_array_source_56
148546 , l_array_source_58
148547 , l_array_source_59
148548 , l_array_source_60
148549 , l_array_source_61
148550 , l_array_source_62
148551 , l_array_source_63
148552 , l_array_source_64
148553 , l_array_source_65
148554 , l_array_source_67
148555 , l_array_source_68
148556 , l_array_source_69
148557 , l_array_source_70
148558 , l_array_source_71
148559 , l_array_source_72
148560 , l_array_source_73
148561 , l_array_source_74
148562 , l_array_source_75
148563 , l_array_source_76
148564 , l_array_source_77
148565 , l_array_source_78
148566 , l_array_source_79
148567 , l_array_source_79_meaning
148568 , l_array_source_83
148569 , l_array_source_85
148570 , l_array_source_86
148571 , l_array_source_87
148572 , l_array_source_88
148573 , l_array_source_89
148574 , l_array_source_90
148575 , l_array_source_91
148576 , l_array_source_92
148577 , l_array_source_93
148578 , l_array_source_94
148579 , l_array_source_95
148580 , l_array_source_95_meaning
148581 , l_array_source_135
148582 , l_array_source_135_meaning
148583 , l_array_source_146
148584 LIMIT l_rows;
148585
148586 --
148587 IF (C_LEVEL_EVENT >= g_log_level) THEN
148588 trace
148589 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
148590 ,p_level => C_LEVEL_EVENT
148591 ,p_module => l_log_module);
148592 END IF;
148593 --
148594 EXIT WHEN l_array_entity_id.count = 0;
148598 --
148595
148596 XLA_AE_LINES_PKG.g_rec_lines := null;
148597
148599 -- Bug 4458708
148600 --
148601 XLA_AE_LINES_PKG.g_LineNumber := 0;
148602 --
148603 --
148604
148605 FOR Idx IN 1..l_array_event_id.count LOOP
148606 --
148607 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
148608 --
148609 l_event_id := l_array_event_id(idx); -- 5648433
148610
148611 --
148612 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
148613 --
148614
148615 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
148616 (g_array_event(l_event_id).array_value_num('header_index'))
148617 ,'N'
148618 ) <> 'Y'
148619 THEN
148620 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148621 trace
148622 (p_msg => 'Trancaction revesal option is not Y '
148623 ,p_level => C_LEVEL_STATEMENT
148624 ,p_module => l_log_module);
148625 END IF;
148626
148627 --
148628 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
148629 --
148630 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
148631 --
148632 -- set event info as cache for other routines to refer event attributes
148633 --
148634
148635 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
148636 l_previous_event_id := l_event_id;
148637
148638 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
148639 (p_application_id => p_application_id
148640 ,p_primary_ledger_id => p_primary_ledger_id
148641 ,p_base_ledger_id => p_base_ledger_id
148642 ,p_target_ledger_id => p_target_ledger_id
148643 ,p_entity_id => l_array_entity_id(Idx)
148644 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
148645 ,p_entity_code => l_array_entity_code(Idx)
148646 ,p_transaction_num => l_array_transaction_num(Idx)
148647 ,p_event_id => l_array_event_id(Idx)
148648 ,p_event_class_code => l_array_class_code(Idx)
148649 ,p_event_type_code => l_array_event_type(Idx)
148650 ,p_event_number => l_array_event_number(Idx)
148651 ,p_event_date => l_array_event_date(Idx)
148652 ,p_transaction_date => l_array_transaction_date(Idx)
148653 ,p_reference_num_1 => l_array_reference_num_1(Idx)
148654 ,p_reference_num_2 => l_array_reference_num_2(Idx)
148655 ,p_reference_num_3 => l_array_reference_num_3(Idx)
148656 ,p_reference_num_4 => l_array_reference_num_4(Idx)
148657 ,p_reference_char_1 => l_array_reference_char_1(Idx)
148658 ,p_reference_char_2 => l_array_reference_char_2(Idx)
148659 ,p_reference_char_3 => l_array_reference_char_3(Idx)
148660 ,p_reference_char_4 => l_array_reference_char_4(Idx)
148661 ,p_reference_date_1 => l_array_reference_date_1(Idx)
148662 ,p_reference_date_2 => l_array_reference_date_2(Idx)
148663 ,p_reference_date_3 => l_array_reference_date_3(Idx)
148664 ,p_reference_date_4 => l_array_reference_date_4(Idx)
148665 ,p_event_created_by => l_array_event_created_by(Idx)
148666 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
148667 --
148668 END IF;
148669
148670
148671
148672 --
148673 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
148674
148675 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
148676
148677 IF l_continue_with_lines THEN
148678 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
148679 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
148680
148681 xla_accounting_err_pkg.build_message
148682 (p_appli_s_name => 'XLA'
148683 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
148684 ,p_token_1 => 'LINE_NUMBER'
148685 ,p_value_1 => l_array_extract_line_num(Idx)
148686 ,p_token_2 => 'PRODUCT_NAME'
148687 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
148688 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
148689 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
148690 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
148691
148692 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
148693 --
148694 -- following sets the accounting attributes needed to reverse
148695 -- accounting for a distributeion
148696 --
148697
148698 --
148699 -- 5217187
148700 --
148701 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
148702 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
148703 g_array_event(l_event_id).array_value_num('header_index'));
148704 --
148705 --
148706
148707 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
148708 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
148709 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
148710 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_63(Idx);
148711 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
148712 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
148713 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
148714 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_64(Idx);
148715 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
148716 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_65(Idx);
148720 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_67(Idx);
148717 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
148718 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_66');
148719 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
148721 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
148722 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_68(Idx);
148723 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
148724 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_69(Idx);
148725 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
148726 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_66');
148727 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
148728 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_70(Idx);
148729 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
148730 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_71(Idx);
148731 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
148732 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_82');
148733 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
148734 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_83(Idx);
148735 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
148736 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_54(Idx);
148737 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
148738 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_85(Idx);
148739 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
148740 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_86(Idx);
148741 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
148742 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_87(Idx);
148743 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
148744 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_88(Idx);
148745 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
148746 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_89(Idx);
148747
148748
148749 xla_ae_lines_pkg.SetAcctReversalAttrs
148750 (p_event_id => l_event_id
148751 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
148752 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148753 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
148754 END IF;
148755
148756 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
148757 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
148758
148759 --
148760 AcctLineType_47 (
148761 p_application_id => p_application_id
148762 ,p_event_id => l_event_id
148763 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148764 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148765 ,p_actual_flag => l_actual_flag
148766 ,p_balance_type_code => l_balance_type_code
148767 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148768
148769 , p_source_1 => l_array_source_1(Idx)
148770 , p_source_21 => l_array_source_21(Idx)
148771 , p_source_30 => l_array_source_30(Idx)
148772 , p_source_33 => l_array_source_33(Idx)
148773 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148774 , p_source_52 => l_array_source_52(Idx)
148775 , p_source_54 => l_array_source_54(Idx)
148776 , p_source_56 => l_array_source_56(Idx)
148777 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
148778 , p_source_58 => l_array_source_58(Idx)
148779 , p_source_59 => l_array_source_59(Idx)
148780 , p_source_60 => l_array_source_60(Idx)
148781 , p_source_61 => l_array_source_61(Idx)
148782 , p_source_62 => l_array_source_62(Idx)
148783 , p_source_63 => l_array_source_63(Idx)
148784 , p_source_64 => l_array_source_64(Idx)
148785 , p_source_65 => l_array_source_65(Idx)
148786 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
148787 , p_source_67 => l_array_source_67(Idx)
148788 , p_source_68 => l_array_source_68(Idx)
148789 , p_source_69 => l_array_source_69(Idx)
148790 , p_source_70 => l_array_source_70(Idx)
148791 , p_source_71 => l_array_source_71(Idx)
148792 , p_source_72 => l_array_source_72(Idx)
148793 , p_source_73 => l_array_source_73(Idx)
148794 , p_source_74 => l_array_source_74(Idx)
148795 , p_source_75 => l_array_source_75(Idx)
148796 , p_source_76 => l_array_source_76(Idx)
148797 , p_source_77 => l_array_source_77(Idx)
148798 , p_source_78 => l_array_source_78(Idx)
148799 , p_source_79 => l_array_source_79(Idx)
148800 , p_source_79_meaning => l_array_source_79_meaning(Idx)
148801 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
148802 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148803 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
148804 , p_source_83 => l_array_source_83(Idx)
148805 , p_source_85 => l_array_source_85(Idx)
148806 , p_source_86 => l_array_source_86(Idx)
148807 , p_source_87 => l_array_source_87(Idx)
148808 , p_source_88 => l_array_source_88(Idx)
148809 , p_source_89 => l_array_source_89(Idx)
148810 );
148811 If(l_balance_type_code = 'A') THEN
148812 l_actual_gain_loss_ref := l_gain_or_loss_ref;
148813 END IF;
148814
148815 --
148816
148817
148818 --
148819 AcctLineType_51 (
148820 p_application_id => p_application_id
148821 ,p_event_id => l_event_id
148822 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148823 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148824 ,p_actual_flag => l_actual_flag
148825 ,p_balance_type_code => l_balance_type_code
148826 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148827
148828 , p_source_1 => l_array_source_1(Idx)
148832 , p_source_21 => l_array_source_21(Idx)
148829 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
148830 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
148831 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
148833 , p_source_22 => l_array_source_22(Idx)
148834 , p_source_22_meaning => l_array_source_22_meaning(Idx)
148835 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
148836 , p_source_30 => l_array_source_30(Idx)
148837 , p_source_33 => l_array_source_33(Idx)
148838 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148839 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
148840 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
148841 , p_source_52 => l_array_source_52(Idx)
148842 , p_source_54 => l_array_source_54(Idx)
148843 , p_source_56 => l_array_source_56(Idx)
148844 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
148845 , p_source_63 => l_array_source_63(Idx)
148846 , p_source_64 => l_array_source_64(Idx)
148847 , p_source_65 => l_array_source_65(Idx)
148848 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
148849 , p_source_67 => l_array_source_67(Idx)
148850 , p_source_68 => l_array_source_68(Idx)
148851 , p_source_69 => l_array_source_69(Idx)
148852 , p_source_70 => l_array_source_70(Idx)
148853 , p_source_71 => l_array_source_71(Idx)
148854 , p_source_76 => l_array_source_76(Idx)
148855 , p_source_77 => l_array_source_77(Idx)
148856 , p_source_78 => l_array_source_78(Idx)
148857 , p_source_79 => l_array_source_79(Idx)
148858 , p_source_79_meaning => l_array_source_79_meaning(Idx)
148859 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
148860 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148861 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
148862 , p_source_83 => l_array_source_83(Idx)
148863 , p_source_85 => l_array_source_85(Idx)
148864 , p_source_86 => l_array_source_86(Idx)
148865 , p_source_87 => l_array_source_87(Idx)
148866 , p_source_88 => l_array_source_88(Idx)
148867 , p_source_89 => l_array_source_89(Idx)
148868 , p_source_90 => l_array_source_90(Idx)
148869 , p_source_91 => l_array_source_91(Idx)
148870 , p_source_92 => l_array_source_92(Idx)
148871 , p_source_93 => l_array_source_93(Idx)
148872 , p_source_94 => l_array_source_94(Idx)
148873 );
148874 If(l_balance_type_code = 'A') THEN
148875 l_actual_gain_loss_ref := l_gain_or_loss_ref;
148876 END IF;
148877
148878 --
148879
148880
148881 --
148882 AcctLineType_55 (
148883 p_application_id => p_application_id
148884 ,p_event_id => l_event_id
148885 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148886 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148887 ,p_actual_flag => l_actual_flag
148888 ,p_balance_type_code => l_balance_type_code
148889 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148890
148891 , p_source_1 => l_array_source_1(Idx)
148892 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
148893 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
148894 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
148895 , p_source_21 => l_array_source_21(Idx)
148896 , p_source_22 => l_array_source_22(Idx)
148897 , p_source_22_meaning => l_array_source_22_meaning(Idx)
148898 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
148899 , p_source_30 => l_array_source_30(Idx)
148900 , p_source_33 => l_array_source_33(Idx)
148901 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148902 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
148903 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
148904 , p_source_52 => l_array_source_52(Idx)
148905 , p_source_54 => l_array_source_54(Idx)
148906 , p_source_56 => l_array_source_56(Idx)
148907 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
148908 , p_source_63 => l_array_source_63(Idx)
148909 , p_source_64 => l_array_source_64(Idx)
148910 , p_source_65 => l_array_source_65(Idx)
148911 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
148912 , p_source_67 => l_array_source_67(Idx)
148913 , p_source_68 => l_array_source_68(Idx)
148914 , p_source_69 => l_array_source_69(Idx)
148915 , p_source_70 => l_array_source_70(Idx)
148916 , p_source_71 => l_array_source_71(Idx)
148917 , p_source_76 => l_array_source_76(Idx)
148918 , p_source_77 => l_array_source_77(Idx)
148919 , p_source_78 => l_array_source_78(Idx)
148920 , p_source_79 => l_array_source_79(Idx)
148921 , p_source_79_meaning => l_array_source_79_meaning(Idx)
148922 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
148923 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148924 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
148925 , p_source_83 => l_array_source_83(Idx)
148926 , p_source_85 => l_array_source_85(Idx)
148927 , p_source_86 => l_array_source_86(Idx)
148928 , p_source_87 => l_array_source_87(Idx)
148929 , p_source_88 => l_array_source_88(Idx)
148930 , p_source_89 => l_array_source_89(Idx)
148931 , p_source_90 => l_array_source_90(Idx)
148932 , p_source_91 => l_array_source_91(Idx)
148933 , p_source_92 => l_array_source_92(Idx)
148934 , p_source_93 => l_array_source_93(Idx)
148935 , p_source_94 => l_array_source_94(Idx)
148936 , p_source_95 => l_array_source_95(Idx)
148937 , p_source_95_meaning => l_array_source_95_meaning(Idx)
148938 );
148939 If(l_balance_type_code = 'A') THEN
148940 l_actual_gain_loss_ref := l_gain_or_loss_ref;
148941 END IF;
148942
148943 --
148944
148945
148946 --
148947 AcctLineType_106 (
148948 p_application_id => p_application_id
148949 ,p_event_id => l_event_id
148950 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148951 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148955
148952 ,p_actual_flag => l_actual_flag
148953 ,p_balance_type_code => l_balance_type_code
148954 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148956 , p_source_1 => l_array_source_1(Idx)
148957 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
148958 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
148959 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
148960 , p_source_21 => l_array_source_21(Idx)
148961 , p_source_22 => l_array_source_22(Idx)
148962 , p_source_22_meaning => l_array_source_22_meaning(Idx)
148963 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
148964 , p_source_30 => l_array_source_30(Idx)
148965 , p_source_33 => l_array_source_33(Idx)
148966 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148967 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
148968 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
148969 , p_source_52 => l_array_source_52(Idx)
148970 , p_source_54 => l_array_source_54(Idx)
148971 , p_source_56 => l_array_source_56(Idx)
148972 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
148973 , p_source_63 => l_array_source_63(Idx)
148974 , p_source_64 => l_array_source_64(Idx)
148975 , p_source_65 => l_array_source_65(Idx)
148976 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
148977 , p_source_67 => l_array_source_67(Idx)
148978 , p_source_68 => l_array_source_68(Idx)
148979 , p_source_69 => l_array_source_69(Idx)
148980 , p_source_70 => l_array_source_70(Idx)
148981 , p_source_71 => l_array_source_71(Idx)
148982 , p_source_72 => l_array_source_72(Idx)
148983 , p_source_76 => l_array_source_76(Idx)
148984 , p_source_77 => l_array_source_77(Idx)
148985 , p_source_78 => l_array_source_78(Idx)
148986 , p_source_79 => l_array_source_79(Idx)
148987 , p_source_79_meaning => l_array_source_79_meaning(Idx)
148988 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
148989 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148990 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
148991 , p_source_83 => l_array_source_83(Idx)
148992 , p_source_85 => l_array_source_85(Idx)
148993 , p_source_86 => l_array_source_86(Idx)
148994 , p_source_87 => l_array_source_87(Idx)
148995 , p_source_88 => l_array_source_88(Idx)
148996 , p_source_89 => l_array_source_89(Idx)
148997 , p_source_90 => l_array_source_90(Idx)
148998 , p_source_91 => l_array_source_91(Idx)
148999 , p_source_92 => l_array_source_92(Idx)
149000 , p_source_93 => l_array_source_93(Idx)
149001 , p_source_94 => l_array_source_94(Idx)
149002 , p_source_95 => l_array_source_95(Idx)
149003 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149004 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149005 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149006 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149007 );
149008 If(l_balance_type_code = 'A') THEN
149009 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149010 END IF;
149011
149012 --
149013
149014
149015 --
149016 AcctLineType_115 (
149017 p_application_id => p_application_id
149018 ,p_event_id => l_event_id
149019 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149020 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149021 ,p_actual_flag => l_actual_flag
149022 ,p_balance_type_code => l_balance_type_code
149023 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149024
149025 , p_source_1 => l_array_source_1(Idx)
149026 , p_source_21 => l_array_source_21(Idx)
149027 , p_source_30 => l_array_source_30(Idx)
149028 , p_source_33 => l_array_source_33(Idx)
149029 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149030 , p_source_52 => l_array_source_52(Idx)
149031 , p_source_54 => l_array_source_54(Idx)
149032 , p_source_56 => l_array_source_56(Idx)
149033 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149034 , p_source_63 => l_array_source_63(Idx)
149035 , p_source_64 => l_array_source_64(Idx)
149036 , p_source_65 => l_array_source_65(Idx)
149037 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149038 , p_source_67 => l_array_source_67(Idx)
149039 , p_source_68 => l_array_source_68(Idx)
149040 , p_source_69 => l_array_source_69(Idx)
149041 , p_source_70 => l_array_source_70(Idx)
149042 , p_source_71 => l_array_source_71(Idx)
149043 , p_source_72 => l_array_source_72(Idx)
149044 , p_source_76 => l_array_source_76(Idx)
149045 , p_source_77 => l_array_source_77(Idx)
149046 , p_source_78 => l_array_source_78(Idx)
149047 , p_source_79 => l_array_source_79(Idx)
149048 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149049 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149050 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149051 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149052 , p_source_83 => l_array_source_83(Idx)
149053 , p_source_85 => l_array_source_85(Idx)
149054 , p_source_86 => l_array_source_86(Idx)
149055 , p_source_87 => l_array_source_87(Idx)
149056 , p_source_88 => l_array_source_88(Idx)
149057 , p_source_89 => l_array_source_89(Idx)
149058 , p_source_90 => l_array_source_90(Idx)
149059 , p_source_91 => l_array_source_91(Idx)
149060 , p_source_92 => l_array_source_92(Idx)
149061 , p_source_93 => l_array_source_93(Idx)
149062 , p_source_94 => l_array_source_94(Idx)
149063 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149064 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149065 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149066 , p_source_146 => l_array_source_146(Idx)
149067 );
149068 If(l_balance_type_code = 'A') THEN
149069 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149070 END IF;
149071
149072 --
149073
149074
149075 --
149079 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149076 AcctLineType_137 (
149077 p_application_id => p_application_id
149078 ,p_event_id => l_event_id
149080 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149081 ,p_actual_flag => l_actual_flag
149082 ,p_balance_type_code => l_balance_type_code
149083 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149084
149085 , p_source_1 => l_array_source_1(Idx)
149086 , p_source_21 => l_array_source_21(Idx)
149087 , p_source_30 => l_array_source_30(Idx)
149088 , p_source_33 => l_array_source_33(Idx)
149089 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149090 , p_source_52 => l_array_source_52(Idx)
149091 , p_source_54 => l_array_source_54(Idx)
149092 , p_source_56 => l_array_source_56(Idx)
149093 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149094 , p_source_63 => l_array_source_63(Idx)
149095 , p_source_64 => l_array_source_64(Idx)
149096 , p_source_65 => l_array_source_65(Idx)
149097 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149098 , p_source_67 => l_array_source_67(Idx)
149099 , p_source_68 => l_array_source_68(Idx)
149100 , p_source_69 => l_array_source_69(Idx)
149101 , p_source_70 => l_array_source_70(Idx)
149102 , p_source_71 => l_array_source_71(Idx)
149103 , p_source_72 => l_array_source_72(Idx)
149104 , p_source_76 => l_array_source_76(Idx)
149105 , p_source_77 => l_array_source_77(Idx)
149106 , p_source_78 => l_array_source_78(Idx)
149107 , p_source_79 => l_array_source_79(Idx)
149108 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149109 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149110 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149111 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149112 , p_source_83 => l_array_source_83(Idx)
149113 , p_source_85 => l_array_source_85(Idx)
149114 , p_source_86 => l_array_source_86(Idx)
149115 , p_source_87 => l_array_source_87(Idx)
149116 , p_source_88 => l_array_source_88(Idx)
149117 , p_source_89 => l_array_source_89(Idx)
149118 , p_source_90 => l_array_source_90(Idx)
149119 , p_source_91 => l_array_source_91(Idx)
149120 , p_source_92 => l_array_source_92(Idx)
149121 , p_source_93 => l_array_source_93(Idx)
149122 , p_source_94 => l_array_source_94(Idx)
149123 , p_source_95 => l_array_source_95(Idx)
149124 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149125 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149126 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149127 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149128 );
149129 If(l_balance_type_code = 'A') THEN
149130 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149131 END IF;
149132
149133 --
149134
149135
149136 --
149137 AcctLineType_141 (
149138 p_application_id => p_application_id
149139 ,p_event_id => l_event_id
149140 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149141 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149142 ,p_actual_flag => l_actual_flag
149143 ,p_balance_type_code => l_balance_type_code
149144 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149145
149146 , p_source_1 => l_array_source_1(Idx)
149147 , p_source_21 => l_array_source_21(Idx)
149148 , p_source_30 => l_array_source_30(Idx)
149149 , p_source_33 => l_array_source_33(Idx)
149150 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149151 , p_source_52 => l_array_source_52(Idx)
149152 , p_source_54 => l_array_source_54(Idx)
149153 , p_source_56 => l_array_source_56(Idx)
149154 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149155 , p_source_63 => l_array_source_63(Idx)
149156 , p_source_64 => l_array_source_64(Idx)
149157 , p_source_65 => l_array_source_65(Idx)
149158 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149159 , p_source_67 => l_array_source_67(Idx)
149160 , p_source_68 => l_array_source_68(Idx)
149161 , p_source_69 => l_array_source_69(Idx)
149162 , p_source_70 => l_array_source_70(Idx)
149163 , p_source_71 => l_array_source_71(Idx)
149164 , p_source_72 => l_array_source_72(Idx)
149165 , p_source_76 => l_array_source_76(Idx)
149166 , p_source_77 => l_array_source_77(Idx)
149167 , p_source_78 => l_array_source_78(Idx)
149168 , p_source_79 => l_array_source_79(Idx)
149169 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149170 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149171 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149172 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149173 , p_source_83 => l_array_source_83(Idx)
149174 , p_source_85 => l_array_source_85(Idx)
149175 , p_source_86 => l_array_source_86(Idx)
149176 , p_source_87 => l_array_source_87(Idx)
149177 , p_source_88 => l_array_source_88(Idx)
149178 , p_source_89 => l_array_source_89(Idx)
149179 , p_source_90 => l_array_source_90(Idx)
149180 , p_source_91 => l_array_source_91(Idx)
149181 , p_source_92 => l_array_source_92(Idx)
149182 , p_source_93 => l_array_source_93(Idx)
149183 , p_source_94 => l_array_source_94(Idx)
149184 , p_source_95 => l_array_source_95(Idx)
149185 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149186 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149187 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149188 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149189 , p_source_146 => l_array_source_146(Idx)
149190 );
149191 If(l_balance_type_code = 'A') THEN
149192 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149193 END IF;
149194
149195 --
149196
149197
149198 --
149199 AcctLineType_149 (
149200 p_application_id => p_application_id
149201 ,p_event_id => l_event_id
149202 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149203 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149207
149204 ,p_actual_flag => l_actual_flag
149205 ,p_balance_type_code => l_balance_type_code
149206 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149208 , p_source_1 => l_array_source_1(Idx)
149209 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149210 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149211 , p_source_21 => l_array_source_21(Idx)
149212 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149213 , p_source_52 => l_array_source_52(Idx)
149214 , p_source_54 => l_array_source_54(Idx)
149215 , p_source_56 => l_array_source_56(Idx)
149216 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149217 , p_source_63 => l_array_source_63(Idx)
149218 , p_source_64 => l_array_source_64(Idx)
149219 , p_source_65 => l_array_source_65(Idx)
149220 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149221 , p_source_67 => l_array_source_67(Idx)
149222 , p_source_68 => l_array_source_68(Idx)
149223 , p_source_69 => l_array_source_69(Idx)
149224 , p_source_70 => l_array_source_70(Idx)
149225 , p_source_71 => l_array_source_71(Idx)
149226 , p_source_72 => l_array_source_72(Idx)
149227 , p_source_76 => l_array_source_76(Idx)
149228 , p_source_77 => l_array_source_77(Idx)
149229 , p_source_78 => l_array_source_78(Idx)
149230 , p_source_79 => l_array_source_79(Idx)
149231 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149232 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149233 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149234 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149235 , p_source_83 => l_array_source_83(Idx)
149236 , p_source_85 => l_array_source_85(Idx)
149237 , p_source_86 => l_array_source_86(Idx)
149238 , p_source_87 => l_array_source_87(Idx)
149239 , p_source_88 => l_array_source_88(Idx)
149240 , p_source_89 => l_array_source_89(Idx)
149241 , p_source_90 => l_array_source_90(Idx)
149242 , p_source_91 => l_array_source_91(Idx)
149243 , p_source_92 => l_array_source_92(Idx)
149244 , p_source_93 => l_array_source_93(Idx)
149245 , p_source_94 => l_array_source_94(Idx)
149246 , p_source_135 => l_array_source_135(Idx)
149247 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149248 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149249 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149250 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149251 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
149252 );
149253 If(l_balance_type_code = 'A') THEN
149254 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149255 END IF;
149256
149257 --
149258
149259
149260 --
149261 AcctLineType_150 (
149262 p_application_id => p_application_id
149263 ,p_event_id => l_event_id
149264 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149265 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149266 ,p_actual_flag => l_actual_flag
149267 ,p_balance_type_code => l_balance_type_code
149268 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149269
149270 , p_source_1 => l_array_source_1(Idx)
149271 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149272 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149273 , p_source_21 => l_array_source_21(Idx)
149274 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149275 , p_source_52 => l_array_source_52(Idx)
149276 , p_source_54 => l_array_source_54(Idx)
149277 , p_source_56 => l_array_source_56(Idx)
149278 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149279 , p_source_63 => l_array_source_63(Idx)
149280 , p_source_64 => l_array_source_64(Idx)
149281 , p_source_65 => l_array_source_65(Idx)
149282 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149283 , p_source_67 => l_array_source_67(Idx)
149284 , p_source_68 => l_array_source_68(Idx)
149285 , p_source_69 => l_array_source_69(Idx)
149286 , p_source_70 => l_array_source_70(Idx)
149287 , p_source_71 => l_array_source_71(Idx)
149288 , p_source_72 => l_array_source_72(Idx)
149289 , p_source_76 => l_array_source_76(Idx)
149290 , p_source_77 => l_array_source_77(Idx)
149291 , p_source_78 => l_array_source_78(Idx)
149292 , p_source_79 => l_array_source_79(Idx)
149293 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149294 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149295 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149296 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149297 , p_source_83 => l_array_source_83(Idx)
149298 , p_source_85 => l_array_source_85(Idx)
149299 , p_source_86 => l_array_source_86(Idx)
149300 , p_source_87 => l_array_source_87(Idx)
149301 , p_source_88 => l_array_source_88(Idx)
149302 , p_source_89 => l_array_source_89(Idx)
149303 , p_source_90 => l_array_source_90(Idx)
149304 , p_source_91 => l_array_source_91(Idx)
149305 , p_source_92 => l_array_source_92(Idx)
149306 , p_source_93 => l_array_source_93(Idx)
149307 , p_source_94 => l_array_source_94(Idx)
149308 , p_source_135 => l_array_source_135(Idx)
149309 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149310 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149311 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149312 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149313 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
149314 );
149315 If(l_balance_type_code = 'A') THEN
149316 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149317 END IF;
149318
149319 --
149320
149321
149322 --
149323 AcctLineType_151 (
149324 p_application_id => p_application_id
149325 ,p_event_id => l_event_id
149326 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149330 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149327 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149328 ,p_actual_flag => l_actual_flag
149329 ,p_balance_type_code => l_balance_type_code
149331
149332 , p_source_1 => l_array_source_1(Idx)
149333 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149334 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149335 , p_source_21 => l_array_source_21(Idx)
149336 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149337 , p_source_52 => l_array_source_52(Idx)
149338 , p_source_54 => l_array_source_54(Idx)
149339 , p_source_56 => l_array_source_56(Idx)
149340 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149341 , p_source_63 => l_array_source_63(Idx)
149342 , p_source_64 => l_array_source_64(Idx)
149343 , p_source_65 => l_array_source_65(Idx)
149344 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149345 , p_source_67 => l_array_source_67(Idx)
149346 , p_source_68 => l_array_source_68(Idx)
149347 , p_source_69 => l_array_source_69(Idx)
149348 , p_source_70 => l_array_source_70(Idx)
149349 , p_source_71 => l_array_source_71(Idx)
149350 , p_source_72 => l_array_source_72(Idx)
149351 , p_source_76 => l_array_source_76(Idx)
149352 , p_source_77 => l_array_source_77(Idx)
149353 , p_source_78 => l_array_source_78(Idx)
149354 , p_source_79 => l_array_source_79(Idx)
149355 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149356 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149357 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149358 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149359 , p_source_83 => l_array_source_83(Idx)
149360 , p_source_85 => l_array_source_85(Idx)
149361 , p_source_86 => l_array_source_86(Idx)
149362 , p_source_87 => l_array_source_87(Idx)
149363 , p_source_88 => l_array_source_88(Idx)
149364 , p_source_89 => l_array_source_89(Idx)
149365 , p_source_90 => l_array_source_90(Idx)
149366 , p_source_91 => l_array_source_91(Idx)
149367 , p_source_92 => l_array_source_92(Idx)
149368 , p_source_93 => l_array_source_93(Idx)
149369 , p_source_94 => l_array_source_94(Idx)
149370 , p_source_135 => l_array_source_135(Idx)
149371 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149372 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149373 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149374 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149375 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
149376 );
149377 If(l_balance_type_code = 'A') THEN
149378 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149379 END IF;
149380
149381 --
149382
149383
149384 --
149385 AcctLineType_169 (
149386 p_application_id => p_application_id
149387 ,p_event_id => l_event_id
149388 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149389 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149390 ,p_actual_flag => l_actual_flag
149391 ,p_balance_type_code => l_balance_type_code
149392 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149393
149394 , p_source_1 => l_array_source_1(Idx)
149395 , p_source_21 => l_array_source_21(Idx)
149396 , p_source_30 => l_array_source_30(Idx)
149397 , p_source_33 => l_array_source_33(Idx)
149398 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149399 , p_source_52 => l_array_source_52(Idx)
149400 , p_source_54 => l_array_source_54(Idx)
149401 , p_source_56 => l_array_source_56(Idx)
149402 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149403 , p_source_63 => l_array_source_63(Idx)
149404 , p_source_64 => l_array_source_64(Idx)
149405 , p_source_65 => l_array_source_65(Idx)
149406 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149407 , p_source_67 => l_array_source_67(Idx)
149408 , p_source_68 => l_array_source_68(Idx)
149409 , p_source_69 => l_array_source_69(Idx)
149410 , p_source_70 => l_array_source_70(Idx)
149411 , p_source_71 => l_array_source_71(Idx)
149412 , p_source_72 => l_array_source_72(Idx)
149413 , p_source_76 => l_array_source_76(Idx)
149414 , p_source_77 => l_array_source_77(Idx)
149415 , p_source_78 => l_array_source_78(Idx)
149416 , p_source_79 => l_array_source_79(Idx)
149417 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149418 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149419 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149420 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149421 , p_source_83 => l_array_source_83(Idx)
149422 , p_source_85 => l_array_source_85(Idx)
149423 , p_source_86 => l_array_source_86(Idx)
149424 , p_source_87 => l_array_source_87(Idx)
149425 , p_source_88 => l_array_source_88(Idx)
149426 , p_source_89 => l_array_source_89(Idx)
149427 , p_source_90 => l_array_source_90(Idx)
149428 , p_source_91 => l_array_source_91(Idx)
149429 , p_source_92 => l_array_source_92(Idx)
149430 , p_source_93 => l_array_source_93(Idx)
149431 , p_source_94 => l_array_source_94(Idx)
149432 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149433 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149434 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149435 , p_source_146 => l_array_source_146(Idx)
149436 );
149437 If(l_balance_type_code = 'A') THEN
149438 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149439 END IF;
149440
149441 --
149442
149443
149444 --
149445 AcctLineType_173 (
149446 p_application_id => p_application_id
149447 ,p_event_id => l_event_id
149448 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149449 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149450 ,p_actual_flag => l_actual_flag
149451 ,p_balance_type_code => l_balance_type_code
149452 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149456 , p_source_30 => l_array_source_30(Idx)
149453
149454 , p_source_1 => l_array_source_1(Idx)
149455 , p_source_21 => l_array_source_21(Idx)
149457 , p_source_33 => l_array_source_33(Idx)
149458 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149459 , p_source_52 => l_array_source_52(Idx)
149460 , p_source_54 => l_array_source_54(Idx)
149461 , p_source_56 => l_array_source_56(Idx)
149462 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149463 , p_source_63 => l_array_source_63(Idx)
149464 , p_source_64 => l_array_source_64(Idx)
149465 , p_source_65 => l_array_source_65(Idx)
149466 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149467 , p_source_67 => l_array_source_67(Idx)
149468 , p_source_68 => l_array_source_68(Idx)
149469 , p_source_69 => l_array_source_69(Idx)
149470 , p_source_70 => l_array_source_70(Idx)
149471 , p_source_71 => l_array_source_71(Idx)
149472 , p_source_72 => l_array_source_72(Idx)
149473 , p_source_73 => l_array_source_73(Idx)
149474 , p_source_74 => l_array_source_74(Idx)
149475 , p_source_75 => l_array_source_75(Idx)
149476 , p_source_76 => l_array_source_76(Idx)
149477 , p_source_77 => l_array_source_77(Idx)
149478 , p_source_78 => l_array_source_78(Idx)
149479 , p_source_79 => l_array_source_79(Idx)
149480 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149481 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149482 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149483 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149484 , p_source_83 => l_array_source_83(Idx)
149485 , p_source_85 => l_array_source_85(Idx)
149486 , p_source_86 => l_array_source_86(Idx)
149487 , p_source_87 => l_array_source_87(Idx)
149488 , p_source_88 => l_array_source_88(Idx)
149489 , p_source_89 => l_array_source_89(Idx)
149490 , p_source_90 => l_array_source_90(Idx)
149491 , p_source_91 => l_array_source_91(Idx)
149492 , p_source_92 => l_array_source_92(Idx)
149493 , p_source_93 => l_array_source_93(Idx)
149494 , p_source_94 => l_array_source_94(Idx)
149495 , p_source_95 => l_array_source_95(Idx)
149496 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149497 , p_source_135 => l_array_source_135(Idx)
149498 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149499 );
149500 If(l_balance_type_code = 'A') THEN
149501 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149502 END IF;
149503
149504 --
149505
149506
149507 --
149508 AcctLineType_176 (
149509 p_application_id => p_application_id
149510 ,p_event_id => l_event_id
149511 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149512 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149513 ,p_actual_flag => l_actual_flag
149514 ,p_balance_type_code => l_balance_type_code
149515 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149516
149517 , p_source_1 => l_array_source_1(Idx)
149518 , p_source_21 => l_array_source_21(Idx)
149519 , p_source_30 => l_array_source_30(Idx)
149520 , p_source_33 => l_array_source_33(Idx)
149521 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149522 , p_source_52 => l_array_source_52(Idx)
149523 , p_source_54 => l_array_source_54(Idx)
149524 , p_source_56 => l_array_source_56(Idx)
149525 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149526 , p_source_63 => l_array_source_63(Idx)
149527 , p_source_64 => l_array_source_64(Idx)
149528 , p_source_65 => l_array_source_65(Idx)
149529 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149530 , p_source_67 => l_array_source_67(Idx)
149531 , p_source_68 => l_array_source_68(Idx)
149532 , p_source_69 => l_array_source_69(Idx)
149533 , p_source_70 => l_array_source_70(Idx)
149534 , p_source_71 => l_array_source_71(Idx)
149535 , p_source_72 => l_array_source_72(Idx)
149536 , p_source_76 => l_array_source_76(Idx)
149537 , p_source_77 => l_array_source_77(Idx)
149538 , p_source_78 => l_array_source_78(Idx)
149539 , p_source_79 => l_array_source_79(Idx)
149540 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149541 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149542 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149543 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149544 , p_source_83 => l_array_source_83(Idx)
149545 , p_source_85 => l_array_source_85(Idx)
149546 , p_source_86 => l_array_source_86(Idx)
149547 , p_source_87 => l_array_source_87(Idx)
149548 , p_source_88 => l_array_source_88(Idx)
149549 , p_source_89 => l_array_source_89(Idx)
149550 , p_source_90 => l_array_source_90(Idx)
149551 , p_source_91 => l_array_source_91(Idx)
149552 , p_source_92 => l_array_source_92(Idx)
149553 , p_source_93 => l_array_source_93(Idx)
149554 , p_source_94 => l_array_source_94(Idx)
149555 , p_source_95 => l_array_source_95(Idx)
149556 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149557 , p_source_135 => l_array_source_135(Idx)
149558 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149559 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149560 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149561 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149562 );
149563 If(l_balance_type_code = 'A') THEN
149564 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149565 END IF;
149566
149567 --
149568
149569
149570 --
149571 AcctLineType_184 (
149572 p_application_id => p_application_id
149573 ,p_event_id => l_event_id
149574 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149575 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149576 ,p_actual_flag => l_actual_flag
149577 ,p_balance_type_code => l_balance_type_code
149578 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149579
149580 , p_source_1 => l_array_source_1(Idx)
149581 , p_source_21 => l_array_source_21(Idx)
149582 , p_source_30 => l_array_source_30(Idx)
149586 , p_source_54 => l_array_source_54(Idx)
149583 , p_source_33 => l_array_source_33(Idx)
149584 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149585 , p_source_52 => l_array_source_52(Idx)
149587 , p_source_56 => l_array_source_56(Idx)
149588 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149589 , p_source_63 => l_array_source_63(Idx)
149590 , p_source_64 => l_array_source_64(Idx)
149591 , p_source_65 => l_array_source_65(Idx)
149592 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149593 , p_source_67 => l_array_source_67(Idx)
149594 , p_source_68 => l_array_source_68(Idx)
149595 , p_source_69 => l_array_source_69(Idx)
149596 , p_source_70 => l_array_source_70(Idx)
149597 , p_source_71 => l_array_source_71(Idx)
149598 , p_source_72 => l_array_source_72(Idx)
149599 , p_source_76 => l_array_source_76(Idx)
149600 , p_source_77 => l_array_source_77(Idx)
149601 , p_source_78 => l_array_source_78(Idx)
149602 , p_source_79 => l_array_source_79(Idx)
149603 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149604 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149605 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149606 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149607 , p_source_83 => l_array_source_83(Idx)
149608 , p_source_85 => l_array_source_85(Idx)
149609 , p_source_86 => l_array_source_86(Idx)
149610 , p_source_87 => l_array_source_87(Idx)
149611 , p_source_88 => l_array_source_88(Idx)
149612 , p_source_89 => l_array_source_89(Idx)
149613 , p_source_90 => l_array_source_90(Idx)
149614 , p_source_91 => l_array_source_91(Idx)
149615 , p_source_92 => l_array_source_92(Idx)
149616 , p_source_93 => l_array_source_93(Idx)
149617 , p_source_94 => l_array_source_94(Idx)
149618 , p_source_135 => l_array_source_135(Idx)
149619 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149620 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149621 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149622 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149623 );
149624 If(l_balance_type_code = 'A') THEN
149625 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149626 END IF;
149627
149628 --
149629
149630
149631 --
149632 AcctLineType_189 (
149633 p_application_id => p_application_id
149634 ,p_event_id => l_event_id
149635 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149636 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149637 ,p_actual_flag => l_actual_flag
149638 ,p_balance_type_code => l_balance_type_code
149639 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149640
149641 , p_source_1 => l_array_source_1(Idx)
149642 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149643 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149644 , p_source_21 => l_array_source_21(Idx)
149645 , p_source_30 => l_array_source_30(Idx)
149646 , p_source_33 => l_array_source_33(Idx)
149647 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149648 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
149649 , p_source_42 => l_array_source_42(Idx)
149650 , p_source_52 => l_array_source_52(Idx)
149651 , p_source_54 => l_array_source_54(Idx)
149652 , p_source_56 => l_array_source_56(Idx)
149653 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149654 , p_source_63 => l_array_source_63(Idx)
149655 , p_source_64 => l_array_source_64(Idx)
149656 , p_source_65 => l_array_source_65(Idx)
149657 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149658 , p_source_67 => l_array_source_67(Idx)
149659 , p_source_68 => l_array_source_68(Idx)
149660 , p_source_69 => l_array_source_69(Idx)
149661 , p_source_70 => l_array_source_70(Idx)
149662 , p_source_71 => l_array_source_71(Idx)
149663 , p_source_72 => l_array_source_72(Idx)
149664 , p_source_76 => l_array_source_76(Idx)
149665 , p_source_77 => l_array_source_77(Idx)
149666 , p_source_78 => l_array_source_78(Idx)
149667 , p_source_79 => l_array_source_79(Idx)
149668 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149669 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149670 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149671 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149672 , p_source_83 => l_array_source_83(Idx)
149673 , p_source_85 => l_array_source_85(Idx)
149674 , p_source_86 => l_array_source_86(Idx)
149675 , p_source_87 => l_array_source_87(Idx)
149676 , p_source_88 => l_array_source_88(Idx)
149677 , p_source_89 => l_array_source_89(Idx)
149678 , p_source_90 => l_array_source_90(Idx)
149679 , p_source_91 => l_array_source_91(Idx)
149680 , p_source_92 => l_array_source_92(Idx)
149681 , p_source_93 => l_array_source_93(Idx)
149682 , p_source_94 => l_array_source_94(Idx)
149683 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149684 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149685 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149686 );
149687 If(l_balance_type_code = 'A') THEN
149688 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149689 END IF;
149690
149691 --
149692
149693
149694 --
149695 AcctLineType_193 (
149696 p_application_id => p_application_id
149697 ,p_event_id => l_event_id
149698 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149699 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149700 ,p_actual_flag => l_actual_flag
149701 ,p_balance_type_code => l_balance_type_code
149702 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149703
149704 , p_source_1 => l_array_source_1(Idx)
149705 , p_source_21 => l_array_source_21(Idx)
149706 , p_source_33 => l_array_source_33(Idx)
149707 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149708 , p_source_49 => l_array_source_49(Idx)
149712 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149709 , p_source_52 => l_array_source_52(Idx)
149710 , p_source_54 => l_array_source_54(Idx)
149711 , p_source_56 => l_array_source_56(Idx)
149713 , p_source_63 => l_array_source_63(Idx)
149714 , p_source_64 => l_array_source_64(Idx)
149715 , p_source_65 => l_array_source_65(Idx)
149716 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149717 , p_source_67 => l_array_source_67(Idx)
149718 , p_source_68 => l_array_source_68(Idx)
149719 , p_source_69 => l_array_source_69(Idx)
149720 , p_source_70 => l_array_source_70(Idx)
149721 , p_source_71 => l_array_source_71(Idx)
149722 , p_source_72 => l_array_source_72(Idx)
149723 , p_source_76 => l_array_source_76(Idx)
149724 , p_source_77 => l_array_source_77(Idx)
149725 , p_source_78 => l_array_source_78(Idx)
149726 , p_source_79 => l_array_source_79(Idx)
149727 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149728 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149729 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149730 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149731 , p_source_83 => l_array_source_83(Idx)
149732 , p_source_85 => l_array_source_85(Idx)
149733 , p_source_86 => l_array_source_86(Idx)
149734 , p_source_87 => l_array_source_87(Idx)
149735 , p_source_88 => l_array_source_88(Idx)
149736 , p_source_89 => l_array_source_89(Idx)
149737 , p_source_90 => l_array_source_90(Idx)
149738 , p_source_91 => l_array_source_91(Idx)
149739 , p_source_92 => l_array_source_92(Idx)
149740 , p_source_93 => l_array_source_93(Idx)
149741 , p_source_94 => l_array_source_94(Idx)
149742 , p_source_95 => l_array_source_95(Idx)
149743 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149744 , p_source_135 => l_array_source_135(Idx)
149745 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149746 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149747 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149748 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149749 );
149750 If(l_balance_type_code = 'A') THEN
149751 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149752 END IF;
149753
149754 --
149755
149756
149757 --
149758 AcctLineType_197 (
149759 p_application_id => p_application_id
149760 ,p_event_id => l_event_id
149761 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149762 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149763 ,p_actual_flag => l_actual_flag
149764 ,p_balance_type_code => l_balance_type_code
149765 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149766
149767 , p_source_1 => l_array_source_1(Idx)
149768 , p_source_21 => l_array_source_21(Idx)
149769 , p_source_33 => l_array_source_33(Idx)
149770 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149771 , p_source_49 => l_array_source_49(Idx)
149772 , p_source_52 => l_array_source_52(Idx)
149773 , p_source_54 => l_array_source_54(Idx)
149774 , p_source_56 => l_array_source_56(Idx)
149775 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149776 , p_source_63 => l_array_source_63(Idx)
149777 , p_source_64 => l_array_source_64(Idx)
149778 , p_source_65 => l_array_source_65(Idx)
149779 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149780 , p_source_67 => l_array_source_67(Idx)
149781 , p_source_68 => l_array_source_68(Idx)
149782 , p_source_69 => l_array_source_69(Idx)
149783 , p_source_70 => l_array_source_70(Idx)
149784 , p_source_71 => l_array_source_71(Idx)
149785 , p_source_72 => l_array_source_72(Idx)
149786 , p_source_76 => l_array_source_76(Idx)
149787 , p_source_77 => l_array_source_77(Idx)
149788 , p_source_78 => l_array_source_78(Idx)
149789 , p_source_79 => l_array_source_79(Idx)
149790 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149791 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149792 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149793 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149794 , p_source_83 => l_array_source_83(Idx)
149795 , p_source_85 => l_array_source_85(Idx)
149796 , p_source_86 => l_array_source_86(Idx)
149797 , p_source_87 => l_array_source_87(Idx)
149798 , p_source_88 => l_array_source_88(Idx)
149799 , p_source_89 => l_array_source_89(Idx)
149800 , p_source_90 => l_array_source_90(Idx)
149801 , p_source_91 => l_array_source_91(Idx)
149802 , p_source_92 => l_array_source_92(Idx)
149803 , p_source_93 => l_array_source_93(Idx)
149804 , p_source_94 => l_array_source_94(Idx)
149805 , p_source_135 => l_array_source_135(Idx)
149806 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149807 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149808 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149809 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149810 );
149811 If(l_balance_type_code = 'A') THEN
149812 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149813 END IF;
149814
149815 --
149816
149817
149818 --
149819 AcctLineType_200 (
149820 p_application_id => p_application_id
149821 ,p_event_id => l_event_id
149822 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149823 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149824 ,p_actual_flag => l_actual_flag
149825 ,p_balance_type_code => l_balance_type_code
149826 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149827
149828 , p_source_1 => l_array_source_1(Idx)
149829 , p_source_21 => l_array_source_21(Idx)
149830 , p_source_33 => l_array_source_33(Idx)
149831 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149832 , p_source_50 => l_array_source_50(Idx)
149833 , p_source_52 => l_array_source_52(Idx)
149834 , p_source_54 => l_array_source_54(Idx)
149835 , p_source_56 => l_array_source_56(Idx)
149839 , p_source_65 => l_array_source_65(Idx)
149836 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149837 , p_source_63 => l_array_source_63(Idx)
149838 , p_source_64 => l_array_source_64(Idx)
149840 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149841 , p_source_67 => l_array_source_67(Idx)
149842 , p_source_68 => l_array_source_68(Idx)
149843 , p_source_69 => l_array_source_69(Idx)
149844 , p_source_70 => l_array_source_70(Idx)
149845 , p_source_71 => l_array_source_71(Idx)
149846 , p_source_72 => l_array_source_72(Idx)
149847 , p_source_76 => l_array_source_76(Idx)
149848 , p_source_77 => l_array_source_77(Idx)
149849 , p_source_78 => l_array_source_78(Idx)
149850 , p_source_79 => l_array_source_79(Idx)
149851 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149852 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149853 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149854 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149855 , p_source_83 => l_array_source_83(Idx)
149856 , p_source_85 => l_array_source_85(Idx)
149857 , p_source_86 => l_array_source_86(Idx)
149858 , p_source_87 => l_array_source_87(Idx)
149859 , p_source_88 => l_array_source_88(Idx)
149860 , p_source_89 => l_array_source_89(Idx)
149861 , p_source_90 => l_array_source_90(Idx)
149862 , p_source_91 => l_array_source_91(Idx)
149863 , p_source_92 => l_array_source_92(Idx)
149864 , p_source_93 => l_array_source_93(Idx)
149865 , p_source_94 => l_array_source_94(Idx)
149866 , p_source_135 => l_array_source_135(Idx)
149867 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149868 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
149869 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
149870 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
149871 );
149872 If(l_balance_type_code = 'A') THEN
149873 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149874 END IF;
149875
149876 --
149877
149878
149879 --
149880 AcctLineType_205 (
149881 p_application_id => p_application_id
149882 ,p_event_id => l_event_id
149883 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149884 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149885 ,p_actual_flag => l_actual_flag
149886 ,p_balance_type_code => l_balance_type_code
149887 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149888
149889 , p_source_1 => l_array_source_1(Idx)
149890 , p_source_21 => l_array_source_21(Idx)
149891 , p_source_33 => l_array_source_33(Idx)
149892 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149893 , p_source_49 => l_array_source_49(Idx)
149894 , p_source_52 => l_array_source_52(Idx)
149895 , p_source_54 => l_array_source_54(Idx)
149896 , p_source_56 => l_array_source_56(Idx)
149897 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149898 , p_source_63 => l_array_source_63(Idx)
149899 , p_source_64 => l_array_source_64(Idx)
149900 , p_source_65 => l_array_source_65(Idx)
149901 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149902 , p_source_67 => l_array_source_67(Idx)
149903 , p_source_68 => l_array_source_68(Idx)
149904 , p_source_69 => l_array_source_69(Idx)
149905 , p_source_70 => l_array_source_70(Idx)
149906 , p_source_71 => l_array_source_71(Idx)
149907 , p_source_72 => l_array_source_72(Idx)
149908 , p_source_73 => l_array_source_73(Idx)
149909 , p_source_74 => l_array_source_74(Idx)
149910 , p_source_75 => l_array_source_75(Idx)
149911 , p_source_76 => l_array_source_76(Idx)
149912 , p_source_77 => l_array_source_77(Idx)
149913 , p_source_78 => l_array_source_78(Idx)
149914 , p_source_79 => l_array_source_79(Idx)
149915 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149916 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149917 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149918 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149919 , p_source_83 => l_array_source_83(Idx)
149920 , p_source_85 => l_array_source_85(Idx)
149921 , p_source_86 => l_array_source_86(Idx)
149922 , p_source_87 => l_array_source_87(Idx)
149923 , p_source_88 => l_array_source_88(Idx)
149924 , p_source_89 => l_array_source_89(Idx)
149925 , p_source_90 => l_array_source_90(Idx)
149926 , p_source_91 => l_array_source_91(Idx)
149927 , p_source_92 => l_array_source_92(Idx)
149928 , p_source_93 => l_array_source_93(Idx)
149929 , p_source_94 => l_array_source_94(Idx)
149930 , p_source_95 => l_array_source_95(Idx)
149931 , p_source_95_meaning => l_array_source_95_meaning(Idx)
149932 , p_source_135 => l_array_source_135(Idx)
149933 , p_source_135_meaning => l_array_source_135_meaning(Idx)
149934 );
149935 If(l_balance_type_code = 'A') THEN
149936 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149937 END IF;
149938
149939 --
149940
149941
149942 --
149943 AcctLineType_209 (
149944 p_application_id => p_application_id
149945 ,p_event_id => l_event_id
149946 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149947 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149948 ,p_actual_flag => l_actual_flag
149949 ,p_balance_type_code => l_balance_type_code
149950 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149951
149952 , p_source_1 => l_array_source_1(Idx)
149953 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149954 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149955 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
149956 , p_source_21 => l_array_source_21(Idx)
149957 , p_source_22 => l_array_source_22(Idx)
149958 , p_source_22_meaning => l_array_source_22_meaning(Idx)
149959 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
149960 , p_source_30 => l_array_source_30(Idx)
149961 , p_source_33 => l_array_source_33(Idx)
149965 , p_source_52 => l_array_source_52(Idx)
149962 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149963 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
149964 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
149966 , p_source_54 => l_array_source_54(Idx)
149967 , p_source_56 => l_array_source_56(Idx)
149968 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
149969 , p_source_63 => l_array_source_63(Idx)
149970 , p_source_64 => l_array_source_64(Idx)
149971 , p_source_65 => l_array_source_65(Idx)
149972 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
149973 , p_source_67 => l_array_source_67(Idx)
149974 , p_source_68 => l_array_source_68(Idx)
149975 , p_source_69 => l_array_source_69(Idx)
149976 , p_source_70 => l_array_source_70(Idx)
149977 , p_source_71 => l_array_source_71(Idx)
149978 , p_source_72 => l_array_source_72(Idx)
149979 , p_source_76 => l_array_source_76(Idx)
149980 , p_source_77 => l_array_source_77(Idx)
149981 , p_source_78 => l_array_source_78(Idx)
149982 , p_source_79 => l_array_source_79(Idx)
149983 , p_source_79_meaning => l_array_source_79_meaning(Idx)
149984 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
149985 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149986 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
149987 , p_source_83 => l_array_source_83(Idx)
149988 , p_source_85 => l_array_source_85(Idx)
149989 , p_source_86 => l_array_source_86(Idx)
149990 , p_source_87 => l_array_source_87(Idx)
149991 , p_source_88 => l_array_source_88(Idx)
149992 , p_source_89 => l_array_source_89(Idx)
149993 , p_source_90 => l_array_source_90(Idx)
149994 , p_source_91 => l_array_source_91(Idx)
149995 , p_source_92 => l_array_source_92(Idx)
149996 , p_source_93 => l_array_source_93(Idx)
149997 , p_source_94 => l_array_source_94(Idx)
149998 , p_source_95 => l_array_source_95(Idx)
149999 , p_source_95_meaning => l_array_source_95_meaning(Idx)
150000 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
150001 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
150002 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
150003 );
150004 If(l_balance_type_code = 'A') THEN
150005 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150006 END IF;
150007
150008 --
150009
150010
150011 --
150012 AcctLineType_213 (
150013 p_application_id => p_application_id
150014 ,p_event_id => l_event_id
150015 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150016 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150017 ,p_actual_flag => l_actual_flag
150018 ,p_balance_type_code => l_balance_type_code
150019 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150020
150021 , p_source_1 => l_array_source_1(Idx)
150022 , p_source_21 => l_array_source_21(Idx)
150023 , p_source_30 => l_array_source_30(Idx)
150024 , p_source_33 => l_array_source_33(Idx)
150025 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150026 , p_source_52 => l_array_source_52(Idx)
150027 , p_source_54 => l_array_source_54(Idx)
150028 , p_source_56 => l_array_source_56(Idx)
150029 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
150030 , p_source_63 => l_array_source_63(Idx)
150031 , p_source_64 => l_array_source_64(Idx)
150032 , p_source_65 => l_array_source_65(Idx)
150033 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
150034 , p_source_67 => l_array_source_67(Idx)
150035 , p_source_68 => l_array_source_68(Idx)
150036 , p_source_69 => l_array_source_69(Idx)
150037 , p_source_70 => l_array_source_70(Idx)
150038 , p_source_71 => l_array_source_71(Idx)
150039 , p_source_72 => l_array_source_72(Idx)
150040 , p_source_76 => l_array_source_76(Idx)
150041 , p_source_77 => l_array_source_77(Idx)
150042 , p_source_78 => l_array_source_78(Idx)
150043 , p_source_79 => l_array_source_79(Idx)
150044 , p_source_79_meaning => l_array_source_79_meaning(Idx)
150045 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
150046 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150047 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
150048 , p_source_83 => l_array_source_83(Idx)
150049 , p_source_85 => l_array_source_85(Idx)
150050 , p_source_86 => l_array_source_86(Idx)
150051 , p_source_87 => l_array_source_87(Idx)
150052 , p_source_88 => l_array_source_88(Idx)
150053 , p_source_89 => l_array_source_89(Idx)
150054 , p_source_90 => l_array_source_90(Idx)
150055 , p_source_91 => l_array_source_91(Idx)
150056 , p_source_92 => l_array_source_92(Idx)
150057 , p_source_93 => l_array_source_93(Idx)
150058 , p_source_94 => l_array_source_94(Idx)
150059 , p_source_95 => l_array_source_95(Idx)
150060 , p_source_95_meaning => l_array_source_95_meaning(Idx)
150061 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
150062 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
150063 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
150064 );
150065 If(l_balance_type_code = 'A') THEN
150066 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150067 END IF;
150068
150069 --
150070
150071
150072 --
150073 AcctLineType_217 (
150074 p_application_id => p_application_id
150075 ,p_event_id => l_event_id
150076 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150077 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150078 ,p_actual_flag => l_actual_flag
150079 ,p_balance_type_code => l_balance_type_code
150080 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150081
150082 , p_source_1 => l_array_source_1(Idx)
150083 , p_source_21 => l_array_source_21(Idx)
150084 , p_source_30 => l_array_source_30(Idx)
150085 , p_source_33 => l_array_source_33(Idx)
150086 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150087 , p_source_52 => l_array_source_52(Idx)
150091 , p_source_63 => l_array_source_63(Idx)
150088 , p_source_54 => l_array_source_54(Idx)
150089 , p_source_56 => l_array_source_56(Idx)
150090 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
150092 , p_source_64 => l_array_source_64(Idx)
150093 , p_source_65 => l_array_source_65(Idx)
150094 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
150095 , p_source_67 => l_array_source_67(Idx)
150096 , p_source_68 => l_array_source_68(Idx)
150097 , p_source_69 => l_array_source_69(Idx)
150098 , p_source_70 => l_array_source_70(Idx)
150099 , p_source_71 => l_array_source_71(Idx)
150100 , p_source_72 => l_array_source_72(Idx)
150101 , p_source_76 => l_array_source_76(Idx)
150102 , p_source_77 => l_array_source_77(Idx)
150103 , p_source_78 => l_array_source_78(Idx)
150104 , p_source_79 => l_array_source_79(Idx)
150105 , p_source_79_meaning => l_array_source_79_meaning(Idx)
150106 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
150107 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150108 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
150109 , p_source_83 => l_array_source_83(Idx)
150110 , p_source_85 => l_array_source_85(Idx)
150111 , p_source_86 => l_array_source_86(Idx)
150112 , p_source_87 => l_array_source_87(Idx)
150113 , p_source_88 => l_array_source_88(Idx)
150114 , p_source_89 => l_array_source_89(Idx)
150115 , p_source_90 => l_array_source_90(Idx)
150116 , p_source_91 => l_array_source_91(Idx)
150117 , p_source_92 => l_array_source_92(Idx)
150118 , p_source_93 => l_array_source_93(Idx)
150119 , p_source_94 => l_array_source_94(Idx)
150120 , p_source_95 => l_array_source_95(Idx)
150121 , p_source_95_meaning => l_array_source_95_meaning(Idx)
150122 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
150123 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
150124 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
150125 );
150126 If(l_balance_type_code = 'A') THEN
150127 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150128 END IF;
150129
150130 --
150131
150132
150133 --
150134 AcctLineType_223 (
150135 p_application_id => p_application_id
150136 ,p_event_id => l_event_id
150137 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150138 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150139 ,p_actual_flag => l_actual_flag
150140 ,p_balance_type_code => l_balance_type_code
150141 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150142
150143 , p_source_1 => l_array_source_1(Idx)
150144 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
150145 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
150146 , p_source_21 => l_array_source_21(Idx)
150147 , p_source_30 => l_array_source_30(Idx)
150148 , p_source_33 => l_array_source_33(Idx)
150149 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150150 , p_source_43 => l_array_source_43(Idx)
150151 , p_source_52 => l_array_source_52(Idx)
150152 , p_source_54 => l_array_source_54(Idx)
150153 , p_source_56 => l_array_source_56(Idx)
150154 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
150155 , p_source_63 => l_array_source_63(Idx)
150156 , p_source_64 => l_array_source_64(Idx)
150157 , p_source_65 => l_array_source_65(Idx)
150158 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
150159 , p_source_67 => l_array_source_67(Idx)
150160 , p_source_68 => l_array_source_68(Idx)
150161 , p_source_69 => l_array_source_69(Idx)
150162 , p_source_70 => l_array_source_70(Idx)
150163 , p_source_71 => l_array_source_71(Idx)
150164 , p_source_72 => l_array_source_72(Idx)
150165 , p_source_76 => l_array_source_76(Idx)
150166 , p_source_77 => l_array_source_77(Idx)
150167 , p_source_78 => l_array_source_78(Idx)
150168 , p_source_79 => l_array_source_79(Idx)
150169 , p_source_79_meaning => l_array_source_79_meaning(Idx)
150170 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
150171 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150172 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
150173 , p_source_83 => l_array_source_83(Idx)
150174 , p_source_85 => l_array_source_85(Idx)
150175 , p_source_86 => l_array_source_86(Idx)
150176 , p_source_87 => l_array_source_87(Idx)
150177 , p_source_88 => l_array_source_88(Idx)
150178 , p_source_89 => l_array_source_89(Idx)
150179 , p_source_90 => l_array_source_90(Idx)
150180 , p_source_91 => l_array_source_91(Idx)
150181 , p_source_92 => l_array_source_92(Idx)
150182 , p_source_93 => l_array_source_93(Idx)
150183 , p_source_94 => l_array_source_94(Idx)
150184 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
150185 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
150186 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
150187 );
150188 If(l_balance_type_code = 'A') THEN
150189 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150190 END IF;
150191
150192 --
150193
150194 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
150195 -- or secondary ledger that has different currency with primary
150196 -- or alc that is calculated by sla
150197 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
150198 (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'))
150199
150200 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
150201 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
150202 AND (l_actual_flag = 'A')) THEN
150203 XLA_AE_LINES_PKG.CreateGainOrLossLines(
150204 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
150205 ,p_application_id => p_application_id
150209 ,p_event_type_code => C_EVENT_TYPE_CODE
150206 ,p_amb_context_code => 'DEFAULT'
150207 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
150208 ,p_event_class_code => C_EVENT_CLASS_CODE
150210
150211 ,p_gain_ccid => -1
150212 ,p_loss_ccid => -1
150213
150214 ,p_actual_flag => l_actual_flag
150215 ,p_enc_flag => null
150216 ,p_actual_g_l_ref => l_actual_gain_loss_ref
150217 ,p_enc_g_l_ref => null
150218 );
150219 END IF;
150220 END IF;
150221 END IF;
150222
150223 ELSE
150224 --
150225 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
150226 --
150227 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150228 trace
150229 (p_msg => 'Trancaction revesal option is Y'
150230 ,p_level => C_LEVEL_STATEMENT
150231 ,p_module => l_log_module);
150232 END IF;
150233 END IF;
150234
150235 END LOOP;
150236 l_result := XLA_AE_LINES_PKG.InsertLines ;
150237 end loop;
150238 close line_cur;
150239
150240
150241 --
150242 -- insert headers into xla_ae_headers_gt table
150243 --
150244 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
150245
150246 -- insert into errors table here.
150247
150248 END LOOP;
150249
150250 --
150251 -- 4865292
150252 --
150253 -- Compare g_hdr_extract_count with event count in
150254 -- CreateHeadersAndLines.
150255 --
150256 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
150257
150258 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150259 trace (p_msg => '# rows extracted from header extract objects '
150260 || ' (running total): '
150261 || g_hdr_extract_count
150262 ,p_level => C_LEVEL_STATEMENT
150263 ,p_module => l_log_module);
150264 END IF;
150265
150266 CLOSE header_cur;
150267 --
150268
150269 --
150270 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150271 trace
150272 (p_msg => 'END of EventClass_227'
150273 ,p_level => C_LEVEL_PROCEDURE
150274 ,p_module => l_log_module);
150275 END IF;
150276 --
150277 RETURN l_result;
150278 EXCEPTION
150279 WHEN xla_exceptions_pkg.application_exception THEN
150280
150281 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
150282
150283
150284 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
150285
150286 RAISE;
150287
150288 WHEN NO_DATA_FOUND THEN
150289
150290 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
150291 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
150292
150293 FOR header_record IN header_cur
150294 LOOP
150295 l_array_header_events(header_record.event_id) := header_record.event_id;
150296 END LOOP;
150297
150298 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
150299 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
150300
150301 fnd_file.put_line(fnd_file.LOG, ' ');
150302 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
150303 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
150304 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
150305
150306 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
150307 LOOP
150308 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
150309 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
150310 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
150311 END IF;
150312 END LOOP;
150313
150314 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
150315 fnd_file.put_line(fnd_file.LOG, ' ');
150316
150317
150318 xla_exceptions_pkg.raise_message
150319 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_227');
150320
150321
150322 WHEN OTHERS THEN
150323 xla_exceptions_pkg.raise_message
150324 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_227');
150325 END EventClass_227;
150326 --
150327
150328 ---------------------------------------
150329 --
150330 -- PRIVATE PROCEDURE
150331 -- insert_sources_228
150332 --
150333 ----------------------------------------
150334 --
150335 PROCEDURE insert_sources_228(
150336 p_target_ledger_id IN NUMBER
150337 , p_language IN VARCHAR2
150338 , p_sla_ledger_id IN NUMBER
150339 , p_pad_start_date IN DATE
150340 , p_pad_end_date IN DATE
150341 )
150342 IS
150343
150344 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
150345 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
150346 p_apps_owner VARCHAR2(30);
150347 l_log_module VARCHAR2(240);
150348 BEGIN
150349 IF g_log_enabled THEN
150350 l_log_module := C_DEFAULT_MODULE||'.insert_sources_228';
150351 END IF;
150352 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150353
150354 trace
150355 (p_msg => 'BEGIN of insert_sources_228'
150356 ,p_level => C_LEVEL_PROCEDURE
150357 ,p_module => l_log_module);
150358
150359 END IF;
150360
150361 -- select APPS owner
150362 SELECT oracle_username
150363 INTO p_apps_owner
150364 FROM fnd_oracle_userid
150365 WHERE read_only_flag = 'U'
150369 trace
150366 ;
150367
150368 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150370 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
150371 ' - p_language = '||p_language||
150372 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
150373 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
150374 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
150375 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
150376 ,p_level => C_LEVEL_STATEMENT
150377 ,p_module => l_log_module);
150378 END IF;
150379
150380
150381 --
150382 INSERT INTO xla_diag_sources --hdr2
150383 (
150384 event_id
150385 , ledger_id
150386 , sla_ledger_id
150387 , description_language
150388 , object_name
150389 , object_type_code
150390 , line_number
150391 , source_application_id
150392 , source_type_code
150393 , source_code
150394 , source_value
150395 , source_meaning
150396 , created_by
150397 , creation_date
150398 , last_update_date
150399 , last_updated_by
150400 , last_update_login
150401 , program_update_date
150402 , program_application_id
150403 , program_id
150404 , request_id
150405 )
150406 SELECT
150407 event_id
150408 , p_target_ledger_id
150409 , p_sla_ledger_id
150410 , p_language
150411 , object_name
150412 , object_type_code
150413 , line_number
150414 , source_application_id
150415 , source_type_code
150416 , source_code
150417 , SUBSTR(source_value ,1,1996)
150418 , SUBSTR(source_meaning ,1,200)
150419 , xla_environment_pkg.g_Usr_Id
150420 , TRUNC(SYSDATE)
150421 , TRUNC(SYSDATE)
150422 , xla_environment_pkg.g_Usr_Id
150423 , xla_environment_pkg.g_Login_Id
150424 , TRUNC(SYSDATE)
150425 , xla_environment_pkg.g_Prog_Appl_Id
150426 , xla_environment_pkg.g_Prog_Id
150427 , xla_environment_pkg.g_Req_Id
150428 FROM (
150429 SELECT xet.event_id event_id
150430 , 0 line_number
150431 , CASE r
150432 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150433 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150434 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150435 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150436 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150437 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150438 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150439 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150440 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150441 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150442 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150443 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150444 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150445 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150446 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150447 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150448 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150449 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150450 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150451 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150452 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150453 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150454 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150455 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150456 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150457 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150458 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150459
150460 ELSE null
150461 END object_name
150462 , CASE r
150463 WHEN 1 THEN 'HEADER'
150464 WHEN 2 THEN 'HEADER'
150465 WHEN 3 THEN 'HEADER'
150466 WHEN 4 THEN 'HEADER'
150467 WHEN 5 THEN 'HEADER'
150468 WHEN 6 THEN 'HEADER'
150469 WHEN 7 THEN 'HEADER'
150470 WHEN 8 THEN 'HEADER'
150471 WHEN 9 THEN 'HEADER'
150472 WHEN 10 THEN 'HEADER'
150473 WHEN 11 THEN 'HEADER'
150474 WHEN 12 THEN 'HEADER'
150475 WHEN 13 THEN 'HEADER'
150476 WHEN 14 THEN 'HEADER'
150477 WHEN 15 THEN 'HEADER'
150478 WHEN 16 THEN 'HEADER'
150479 WHEN 17 THEN 'HEADER'
150480 WHEN 18 THEN 'HEADER'
150481 WHEN 19 THEN 'HEADER'
150482 WHEN 20 THEN 'HEADER'
150483 WHEN 21 THEN 'HEADER'
150484 WHEN 22 THEN 'HEADER'
150485 WHEN 23 THEN 'HEADER'
150486 WHEN 24 THEN 'HEADER'
150487 WHEN 25 THEN 'HEADER'
150488 WHEN 26 THEN 'HEADER'
150489 WHEN 27 THEN 'HEADER'
150490
150491 ELSE null
150492 END object_type_code
150493 , CASE r
150494 WHEN 1 THEN '200'
150495 WHEN 2 THEN '200'
150496 WHEN 3 THEN '200'
150497 WHEN 4 THEN '200'
150498 WHEN 5 THEN '200'
150499 WHEN 6 THEN '200'
150500 WHEN 7 THEN '200'
150501 WHEN 8 THEN '200'
150502 WHEN 9 THEN '200'
150506 WHEN 13 THEN '200'
150503 WHEN 10 THEN '200'
150504 WHEN 11 THEN '200'
150505 WHEN 12 THEN '200'
150507 WHEN 14 THEN '200'
150508 WHEN 15 THEN '200'
150509 WHEN 16 THEN '200'
150510 WHEN 17 THEN '200'
150511 WHEN 18 THEN '200'
150512 WHEN 19 THEN '200'
150513 WHEN 20 THEN '200'
150514 WHEN 21 THEN '200'
150515 WHEN 22 THEN '200'
150516 WHEN 23 THEN '200'
150517 WHEN 24 THEN '200'
150518 WHEN 25 THEN '200'
150519 WHEN 26 THEN '200'
150520 WHEN 27 THEN '200'
150521
150522 ELSE null
150523 END source_application_id
150524 , 'S' source_type_code
150525 , CASE r
150526 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
150527 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
150528 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
150529 WHEN 4 THEN 'AC_CHECK_DATE'
150530 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
150531 WHEN 6 THEN 'AC_CURRENCY_CODE'
150532 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
150533 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
150534 WHEN 9 THEN 'CGAC_CASH_CLEARING_CCID'
150535 WHEN 10 THEN 'CGAC_GAIN_CCID'
150536 WHEN 11 THEN 'ASP_GAIN_CCID'
150537 WHEN 12 THEN 'CGAC_LOSS_CCID'
150538 WHEN 13 THEN 'ASP_LOSS_CCID'
150539 WHEN 14 THEN 'ASP_AUTO_OFFSET_FLAG'
150540 WHEN 15 THEN 'ASP_ROUNDING_ERROR_CCID'
150541 WHEN 16 THEN 'THIRD_PARTY_TYPE'
150542 WHEN 17 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
150543 WHEN 18 THEN 'AC_VENDOR_ID'
150544 WHEN 19 THEN 'AC_VENDOR_SITE_ID'
150545 WHEN 20 THEN 'AC_CHECK_ID'
150546 WHEN 21 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
150547 WHEN 22 THEN 'AC_FUTURE_PAY_DUE_DATE'
150548 WHEN 23 THEN 'AC_EXCHANGE_DATE'
150549 WHEN 24 THEN 'AC_EXCHANGE_RATE'
150550 WHEN 25 THEN 'AC_EXCHANGE_RATE_TYPE'
150551 WHEN 26 THEN 'AC_DOC_CATEGORY_CODE'
150552 WHEN 27 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
150553
150554 ELSE null
150555 END source_code
150556 , CASE r
150557 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
150558 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
150559 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
150560 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
150561 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
150562 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
150563 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
150564 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
150565 WHEN 9 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
150566 WHEN 10 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
150567 WHEN 11 THEN TO_CHAR(h3.ASP_GAIN_CCID)
150568 WHEN 12 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
150569 WHEN 13 THEN TO_CHAR(h3.ASP_LOSS_CCID)
150570 WHEN 14 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
150571 WHEN 15 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
150572 WHEN 16 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
150573 WHEN 17 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
150574 WHEN 18 THEN TO_CHAR(h2.AC_VENDOR_ID)
150575 WHEN 19 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
150576 WHEN 20 THEN TO_CHAR(h2.AC_CHECK_ID)
150577 WHEN 21 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
150578 WHEN 22 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
150579 WHEN 23 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
150580 WHEN 24 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
150581 WHEN 25 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
150582 WHEN 26 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
150583 WHEN 27 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
150584
150585 ELSE null
150586 END source_value
150587 , CASE r
150588 WHEN 7 THEN fvl15.meaning
150589 WHEN 14 THEN fvl47.meaning
150590 WHEN 21 THEN fvl113.meaning
150591
150592 ELSE null
150593 END source_meaning
150594 FROM xla_events_gt xet
150595 , AP_PAYMENT_EXTRACT_HEADER_V h2
150596 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
150597 , fnd_lookup_values fvl15
150598 , fnd_lookup_values fvl47
150599 , fnd_lookup_values fvl113
150600 ,(select rownum r from all_objects where rownum <= 27 and owner = p_apps_owner)
150601 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
150602 AND xet.event_class_code = C_EVENT_CLASS_CODE
150603 AND h2.event_id = xet.event_id
150604 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
150605 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
150606 AND fvl15.view_application_id(+) = 200
150607 AND fvl15.language(+) = USERENV('LANG')
150608 AND fvl47.lookup_type(+) = 'YES_NO'
150609 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
150610 AND fvl47.view_application_id(+) = 0
150611 AND fvl47.language(+) = USERENV('LANG')
150612 AND fvl113.lookup_type(+) = 'YES_NO'
150613 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
150614 AND fvl113.view_application_id(+) = 0
150615 AND fvl113.language(+) = USERENV('LANG')
150619 --
150616
150617 )
150618 ;
150620 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150621
150622 trace
150623 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
150624 ,p_level => C_LEVEL_STATEMENT
150625 ,p_module => l_log_module);
150626
150627 END IF;
150628 --
150629
150630
150631
150632 --
150633 INSERT INTO xla_diag_sources --line2
150634 (
150635 event_id
150636 , ledger_id
150637 , sla_ledger_id
150638 , description_language
150639 , object_name
150640 , object_type_code
150641 , line_number
150642 , source_application_id
150643 , source_type_code
150644 , source_code
150645 , source_value
150646 , source_meaning
150647 , created_by
150648 , creation_date
150649 , last_update_date
150650 , last_updated_by
150651 , last_update_login
150652 , program_update_date
150653 , program_application_id
150654 , program_id
150655 , request_id
150656 )
150657 SELECT event_id
150658 , p_target_ledger_id
150659 , p_sla_ledger_id
150660 , p_language
150661 , object_name
150662 , object_type_code
150663 , line_number
150664 , source_application_id
150665 , source_type_code
150666 , source_code
150667 , SUBSTR(source_value,1,1996)
150668 , SUBSTR(source_meaning ,1,200)
150669 , xla_environment_pkg.g_Usr_Id
150670 , TRUNC(SYSDATE)
150671 , TRUNC(SYSDATE)
150672 , xla_environment_pkg.g_Usr_Id
150673 , xla_environment_pkg.g_Login_Id
150674 , TRUNC(SYSDATE)
150675 , xla_environment_pkg.g_Prog_Appl_Id
150676 , xla_environment_pkg.g_Prog_Id
150677 , xla_environment_pkg.g_Req_Id
150678 FROM (
150679 SELECT xet.event_id event_id
150680 , l1.line_number line_number
150681 , CASE r
150682 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150683 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150684 WHEN 3 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
150685 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150686 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150687 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150688 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150689 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150690 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150691 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150692 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150693 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150694 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150695 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150696 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150697 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150698 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150699 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150700 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150701 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150702 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150703 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150704 WHEN 23 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
150705 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150706 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150707
150708 ELSE null
150709 END object_name
150710 , CASE r
150711 WHEN 1 THEN 'LINE'
150712 WHEN 2 THEN 'LINE'
150713 WHEN 3 THEN 'LINE'
150714 WHEN 4 THEN 'LINE'
150715 WHEN 5 THEN 'LINE'
150716 WHEN 6 THEN 'LINE'
150717 WHEN 7 THEN 'LINE'
150718 WHEN 8 THEN 'LINE'
150719 WHEN 9 THEN 'LINE'
150720 WHEN 10 THEN 'LINE'
150721 WHEN 11 THEN 'LINE'
150722 WHEN 12 THEN 'LINE'
150723 WHEN 13 THEN 'LINE'
150724 WHEN 14 THEN 'LINE'
150725 WHEN 15 THEN 'LINE'
150726 WHEN 16 THEN 'LINE'
150727 WHEN 17 THEN 'LINE'
150728 WHEN 18 THEN 'LINE'
150729 WHEN 19 THEN 'LINE'
150730 WHEN 20 THEN 'LINE'
150731 WHEN 21 THEN 'LINE'
150732 WHEN 22 THEN 'LINE'
150733 WHEN 23 THEN 'LINE'
150734 WHEN 24 THEN 'LINE'
150735 WHEN 25 THEN 'LINE'
150736
150737 ELSE null
150738 END object_type_code
150739 , CASE r
150740 WHEN 1 THEN '200'
150741 WHEN 2 THEN '200'
150742 WHEN 3 THEN '200'
150743 WHEN 4 THEN '200'
150744 WHEN 5 THEN '200'
150745 WHEN 6 THEN '200'
150746 WHEN 7 THEN '200'
150747 WHEN 8 THEN '200'
150748 WHEN 9 THEN '200'
150749 WHEN 10 THEN '200'
150750 WHEN 11 THEN '200'
150751 WHEN 12 THEN '200'
150752 WHEN 13 THEN '200'
150753 WHEN 14 THEN '200'
150754 WHEN 15 THEN '200'
150755 WHEN 16 THEN '200'
150756 WHEN 17 THEN '200'
150757 WHEN 18 THEN '200'
150758 WHEN 19 THEN '200'
150759 WHEN 20 THEN '200'
150760 WHEN 21 THEN '200'
150761 WHEN 22 THEN '200'
150765
150762 WHEN 23 THEN '200'
150763 WHEN 24 THEN '200'
150764 WHEN 25 THEN '200'
150766 ELSE null
150767 END source_application_id
150768 , 'S' source_type_code
150769 , CASE r
150770 WHEN 1 THEN 'AID_DIST_CCID'
150771 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
150772 WHEN 3 THEN 'TAX_ACCOUNT_CCID'
150773 WHEN 4 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
150774 WHEN 5 THEN 'DISTRIBUTION_LINK_TYPE'
150775 WHEN 6 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
150776 WHEN 7 THEN 'BUS_FLOW_AP_APP_ID'
150777 WHEN 8 THEN 'BUS_FLOW_INV_DIST_TYPE'
150778 WHEN 9 THEN 'BUS_FLOW_INV_ENTITY_CODE'
150779 WHEN 10 THEN 'BUS_FLOW_INV_DIST_ID'
150780 WHEN 11 THEN 'BUS_FLOW_INV_ID'
150781 WHEN 12 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
150782 WHEN 13 THEN 'APHD_AMOUNT'
150783 WHEN 14 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
150784 WHEN 15 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
150785 WHEN 16 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
150786 WHEN 17 THEN 'BUS_FLOW_PAYMENT_ID'
150787 WHEN 18 THEN 'APHD_PAYMENT_HIST_DIST_ID'
150788 WHEN 19 THEN 'APHD_REV_PAY_HIST_DIST_ID'
150789 WHEN 20 THEN 'APHD_PAYMENT_BASE_AMT'
150790 WHEN 21 THEN 'APHD_INVOICE_BASE_AMT'
150791 WHEN 22 THEN 'APHD_MATURED_BASE_AMOUNT'
150792 WHEN 23 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
150793 WHEN 24 THEN 'PMT_MAT_BASE_AMT_DIFF'
150794 WHEN 25 THEN 'PMT_MAT_GAIN_LOSS_INDICATOR'
150795
150796 ELSE null
150797 END source_code
150798 , CASE r
150799 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
150800 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
150801 WHEN 3 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
150802 WHEN 4 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
150803 WHEN 5 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
150804 WHEN 6 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
150805 WHEN 7 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
150806 WHEN 8 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
150807 WHEN 9 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
150808 WHEN 10 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
150809 WHEN 11 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
150810 WHEN 12 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
150811 WHEN 13 THEN TO_CHAR(l1.APHD_AMOUNT)
150812 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
150813 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
150814 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
150815 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
150816 WHEN 18 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
150817 WHEN 19 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
150818 WHEN 20 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
150819 WHEN 21 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
150820 WHEN 22 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
150821 WHEN 23 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
150822 WHEN 24 THEN TO_CHAR(l1.PMT_MAT_BASE_AMT_DIFF)
150823 WHEN 25 THEN TO_CHAR(l1.PMT_MAT_GAIN_LOSS_INDICATOR)
150824
150825 ELSE null
150826 END source_value
150827 , CASE r
150828 WHEN 2 THEN fvl33.meaning
150829 WHEN 6 THEN fvl79.meaning
150830 WHEN 12 THEN fvl97.meaning
150831 WHEN 23 THEN fvl125.meaning
150832
150833 ELSE null
150834 END source_meaning
150835 FROM xla_events_gt xet
150836 , AP_PAYMENT_EXTRACT_DETAILS_V l1
150837 , ZX_AP_DEF_TAX_EXTRACT_V l4
150838 , fnd_lookup_values fvl33
150839 , fnd_lookup_values fvl79
150840 , fnd_lookup_values fvl97
150841 , fnd_lookup_values fvl125
150842 , (select rownum r from all_objects where rownum <= 25 and owner = p_apps_owner)
150843 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
150844 AND xet.event_class_code = C_EVENT_CLASS_CODE
150845 AND l1.event_id = xet.event_id
150846 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
150847 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
150848 AND fvl33.view_application_id(+) = 200
150849 AND fvl33.language(+) = USERENV('LANG')
150850 AND fvl79.lookup_type(+) = 'YES_NO'
150851 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
150852 AND fvl79.view_application_id(+) = 0
150853 AND fvl79.language(+) = USERENV('LANG')
150854 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
150855 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
150856 AND fvl97.view_application_id(+) = 200
150857 AND fvl97.language(+) = USERENV('LANG')
150858 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
150859 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
150860 AND fvl125.view_application_id(+) = 0
150861 AND fvl125.language(+) = USERENV('LANG')
150862
150863 )
150864 ;
150865 --
150866 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150867
150868 trace
150869 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
150870 ,p_level => C_LEVEL_STATEMENT
150871 ,p_module => l_log_module);
150872
150873 END IF;
150874
150875
150879 ,p_level => C_LEVEL_PROCEDURE
150876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150877 trace
150878 (p_msg => 'END of insert_sources_228'
150880 ,p_module => l_log_module);
150881 END IF;
150882 EXCEPTION
150883 WHEN xla_exceptions_pkg.application_exception THEN
150884 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
150885 trace
150886 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
150887 ,p_level => C_LEVEL_EXCEPTION
150888 ,p_module => l_log_module);
150889 END IF;
150890 RAISE;
150891 WHEN OTHERS THEN
150892 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
150893 trace
150894 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
150895 ,p_level => C_LEVEL_EXCEPTION
150896 ,p_module => l_log_module);
150897 END IF;
150898 xla_exceptions_pkg.raise_message
150899 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_228');
150900 END insert_sources_228;
150901 --
150902
150903 ---------------------------------------
150904 --
150905 -- PRIVATE FUNCTION
150906 -- EventClass_228
150907 --
150908 ----------------------------------------
150909 --
150910 FUNCTION EventClass_228
150911 (p_application_id IN NUMBER
150912 ,p_base_ledger_id IN NUMBER
150913 ,p_target_ledger_id IN NUMBER
150914 ,p_language IN VARCHAR2
150915 ,p_currency_code IN VARCHAR2
150916 ,p_sla_ledger_id IN NUMBER
150917 ,p_pad_start_date IN DATE
150918 ,p_pad_end_date IN DATE
150919 ,p_primary_ledger_id IN NUMBER)
150920 RETURN BOOLEAN IS
150921 --
150922 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
150923 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
150924
150925 l_calculate_acctd_flag VARCHAR2(1) :='N';
150926 l_calculate_g_l_flag VARCHAR2(1) :='N';
150927 --
150928 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150929 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150930 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
150931 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
150932 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150933 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
150934 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
150935 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150936 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150937 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150938 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150939 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150940 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150941 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
150942 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
150943 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
150944 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
150945 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
150946 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150947 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150948 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150949 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
150950 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
150951 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
150952 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
150953 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
150954
150955 l_event_id NUMBER;
150956 l_previous_event_id NUMBER;
150957 l_first_event_id NUMBER;
150958 l_last_event_id NUMBER;
150959
150960 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
150961 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
150962 --
150963 --
150964 l_result BOOLEAN := TRUE;
150965 l_rows NUMBER := 1000;
150966 l_event_type_name VARCHAR2(80) := 'All';
150967 l_event_class_name VARCHAR2(80) := 'Future Dated Payments';
150968 l_description VARCHAR2(4000);
150969 l_transaction_reversal NUMBER;
150970 l_ae_header_id NUMBER;
150971 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
150972 l_log_module VARCHAR2(240);
150973 --
150974 l_acct_reversal_source VARCHAR2(30);
150975 l_trx_reversal_source VARCHAR2(30);
150976
150977 l_continue_with_lines BOOLEAN := TRUE;
150978 --
150979 l_acc_rev_gl_date_source DATE; -- 4262811
150980 --
150981 type t_array_event_id is table of number index by binary_integer;
150982
150983 l_rec_array_event t_rec_array_event;
150984 l_null_rec_array_event t_rec_array_event;
150985 l_array_ae_header_id xla_number_array_type;
150986 l_actual_flag VARCHAR2(1) := NULL;
150987 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
150988 l_balance_type_code VARCHAR2(1) :=NULL;
150989 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
150990
150991 --
150992 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
150993 --
150994
150998 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
150995 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
150996 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
150997 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
150999 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
151000 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
151001 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
151002 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
151003 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
151004 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
151005 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
151006 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
151007 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
151008 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
151009 TYPE t_array_source_48 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
151010 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
151011 TYPE t_array_source_96 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
151012 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
151013 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
151014 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_ID%TYPE INDEX BY BINARY_INTEGER;
151015 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
151016 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
151017 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
151018 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
151019 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
151020 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
151021 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
151022
151023 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
151024 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
151025 TYPE t_array_source_51 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
151026 TYPE t_array_source_52 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
151027 TYPE t_array_source_54 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
151028 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
151029 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
151030 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
151031 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
151032 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151033 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
151034 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
151035 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
151036 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
151037 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
151038 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151039 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
151040 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151041 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151042 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
151043 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
151044 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
151045 TYPE t_array_source_125 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
151046 TYPE t_array_source_151 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
151047 TYPE t_array_source_158 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
151048
151049 l_array_source_6 t_array_source_6;
151050 l_array_source_9 t_array_source_9;
151051 l_array_source_10 t_array_source_10;
151052 l_array_source_11 t_array_source_11;
151053 l_array_source_12 t_array_source_12;
151054 l_array_source_13 t_array_source_13;
151058 l_array_source_35 t_array_source_35;
151055 l_array_source_15 t_array_source_15;
151056 l_array_source_15_meaning t_array_lookup_meaning;
151057 l_array_source_17 t_array_source_17;
151059 l_array_source_36 t_array_source_36;
151060 l_array_source_37 t_array_source_37;
151061 l_array_source_38 t_array_source_38;
151062 l_array_source_39 t_array_source_39;
151063 l_array_source_47 t_array_source_47;
151064 l_array_source_47_meaning t_array_lookup_meaning;
151065 l_array_source_48 t_array_source_48;
151066 l_array_source_82 t_array_source_82;
151067 l_array_source_96 t_array_source_96;
151068 l_array_source_109 t_array_source_109;
151069 l_array_source_110 t_array_source_110;
151070 l_array_source_112 t_array_source_112;
151071 l_array_source_113 t_array_source_113;
151072 l_array_source_113_meaning t_array_lookup_meaning;
151073 l_array_source_114 t_array_source_114;
151074 l_array_source_117 t_array_source_117;
151075 l_array_source_118 t_array_source_118;
151076 l_array_source_119 t_array_source_119;
151077 l_array_source_170 t_array_source_170;
151078 l_array_source_171 t_array_source_171;
151079
151080 l_array_source_30 t_array_source_30;
151081 l_array_source_33 t_array_source_33;
151082 l_array_source_33_meaning t_array_lookup_meaning;
151083 l_array_source_51 t_array_source_51;
151084 l_array_source_52 t_array_source_52;
151085 l_array_source_54 t_array_source_54;
151086 l_array_source_79 t_array_source_79;
151087 l_array_source_79_meaning t_array_lookup_meaning;
151088 l_array_source_90 t_array_source_90;
151089 l_array_source_91 t_array_source_91;
151090 l_array_source_92 t_array_source_92;
151091 l_array_source_93 t_array_source_93;
151092 l_array_source_94 t_array_source_94;
151093 l_array_source_97 t_array_source_97;
151094 l_array_source_97_meaning t_array_lookup_meaning;
151095 l_array_source_98 t_array_source_98;
151096 l_array_source_99 t_array_source_99;
151097 l_array_source_100 t_array_source_100;
151098 l_array_source_101 t_array_source_101;
151099 l_array_source_102 t_array_source_102;
151100 l_array_source_103 t_array_source_103;
151101 l_array_source_111 t_array_source_111;
151102 l_array_source_115 t_array_source_115;
151103 l_array_source_116 t_array_source_116;
151104 l_array_source_121 t_array_source_121;
151105 l_array_source_125 t_array_source_125;
151106 l_array_source_125_meaning t_array_lookup_meaning;
151107 l_array_source_151 t_array_source_151;
151108 l_array_source_158 t_array_source_158;
151109
151110 --
151111 CURSOR header_cur
151112 IS
151113 SELECT /*+ leading(xet) cardinality(xet,1) */
151114 -- Event Class Code: FUTURE DATED PAYMENTS
151115 xet.entity_id
151116 ,xet.legal_entity_id
151117 ,xet.entity_code
151118 ,xet.transaction_number
151119 ,xet.event_id
151120 ,xet.event_class_code
151121 ,xet.event_type_code
151122 ,xet.event_number
151123 ,xet.event_date
151124 ,xet.transaction_date
151125 ,xet.reference_num_1
151126 ,xet.reference_num_2
151127 ,xet.reference_num_3
151128 ,xet.reference_num_4
151129 ,xet.reference_char_1
151130 ,xet.reference_char_2
151131 ,xet.reference_char_3
151132 ,xet.reference_char_4
151133 ,xet.reference_date_1
151134 ,xet.reference_date_2
151135 ,xet.reference_date_3
151136 ,xet.reference_date_4
151137 ,xet.event_created_by
151138 ,xet.budgetary_control_flag
151139 , h2.DOC_SEQUENCE_NAME source_6
151140 , h2.AC_DOC_SEQUENCE_VALUE source_9
151141 , h2.PAYMENT_TRANSACTION_NUMBER source_10
151142 , h2.AC_CHECK_DATE source_11
151143 , h2.CBA_BANK_ACCOUNT_NAME source_12
151144 , h2.AC_CURRENCY_CODE source_13
151145 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
151146 , fvl15.meaning source_15_meaning
151147 , h2.CGAC_AP_ASSET_CCID source_17
151148 , h2.CGAC_CASH_CLEARING_CCID source_35
151149 , h2.CGAC_GAIN_CCID source_36
151150 , h3.ASP_GAIN_CCID source_37
151151 , h2.CGAC_LOSS_CCID source_38
151152 , h3.ASP_LOSS_CCID source_39
151153 , h3.ASP_AUTO_OFFSET_FLAG source_47
151154 , fvl47.meaning source_47_meaning
151155 , h3.ASP_ROUNDING_ERROR_CCID source_48
151156 , h2.THIRD_PARTY_TYPE source_82
151157 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_96
151158 , h2.AC_VENDOR_ID source_109
151159 , h2.AC_VENDOR_SITE_ID source_110
151160 , h2.AC_CHECK_ID source_112
151161 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
151162 , fvl113.meaning source_113_meaning
151163 , h2.AC_FUTURE_PAY_DUE_DATE source_114
151164 , h2.AC_EXCHANGE_DATE source_117
151165 , h2.AC_EXCHANGE_RATE source_118
151166 , h2.AC_EXCHANGE_RATE_TYPE source_119
151167 , h2.AC_DOC_CATEGORY_CODE source_170
151168 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
151169 FROM xla_events_gt xet
151170 , AP_PAYMENT_EXTRACT_HEADER_V h2
151171 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
151172 , fnd_lookup_values fvl15
151173 , fnd_lookup_values fvl47
151174 , fnd_lookup_values fvl113
151175 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
151176 and xet.event_class_code = C_EVENT_CLASS_CODE
151177 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
151178 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
151179 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
151180 AND fvl15.view_application_id(+) = 200
151181 AND fvl15.language(+) = USERENV('LANG')
151182 AND fvl47.lookup_type(+) = 'YES_NO'
151183 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
151184 AND fvl47.view_application_id(+) = 0
151188 AND fvl113.view_application_id(+) = 0
151185 AND fvl47.language(+) = USERENV('LANG')
151186 AND fvl113.lookup_type(+) = 'YES_NO'
151187 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
151189 AND fvl113.language(+) = USERENV('LANG')
151190
151191 ORDER BY event_id
151192 ;
151193
151194
151195 --
151196 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
151197 IS
151198 SELECT /*+ leading(xet) cardinality(xet,1) */
151199 -- Event Class Code: FUTURE DATED PAYMENTS
151200 xet.entity_id
151201 ,xet.legal_entity_id
151202 ,xet.entity_code
151203 ,xet.transaction_number
151204 ,xet.event_id
151205 ,xet.event_class_code
151206 ,xet.event_type_code
151207 ,xet.event_number
151208 ,xet.event_date
151209 ,xet.transaction_date
151210 ,xet.reference_num_1
151211 ,xet.reference_num_2
151212 ,xet.reference_num_3
151213 ,xet.reference_num_4
151214 ,xet.reference_char_1
151215 ,xet.reference_char_2
151216 ,xet.reference_char_3
151217 ,xet.reference_char_4
151218 ,xet.reference_date_1
151219 ,xet.reference_date_2
151220 ,xet.reference_date_3
151221 ,xet.reference_date_4
151222 ,xet.event_created_by
151223 ,xet.budgetary_control_flag
151224 , l1.LINE_NUMBER
151225 , l1.AID_DIST_CCID source_30
151226 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
151227 , fvl33.meaning source_33_meaning
151228 , l4.TAX_ACCOUNT_CCID source_51
151229 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
151230 , l1.DISTRIBUTION_LINK_TYPE source_54
151231 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
151232 , fvl79.meaning source_79_meaning
151233 , l1.BUS_FLOW_AP_APP_ID source_90
151234 , l1.BUS_FLOW_INV_DIST_TYPE source_91
151235 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
151236 , l1.BUS_FLOW_INV_DIST_ID source_93
151237 , l1.BUS_FLOW_INV_ID source_94
151238 , l1.APHD_PAY_DIST_LOOKUP_CODE source_97
151239 , fvl97.meaning source_97_meaning
151240 , l1.APHD_AMOUNT source_98
151241 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_99
151242 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_100
151243 , l1.BUS_FLOW_PAYMENT_DIST_ID source_101
151244 , l1.BUS_FLOW_PAYMENT_ID source_102
151245 , l1.APHD_PAYMENT_HIST_DIST_ID source_103
151246 , l1.APHD_REV_PAY_HIST_DIST_ID source_111
151247 , l1.APHD_PAYMENT_BASE_AMT source_115
151248 , l1.APHD_INVOICE_BASE_AMT source_116
151249 , l1.APHD_MATURED_BASE_AMOUNT source_121
151250 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_125
151251 , fvl125.meaning source_125_meaning
151252 , l1.PMT_MAT_BASE_AMT_DIFF source_151
151253 , l1.PMT_MAT_GAIN_LOSS_INDICATOR source_158
151254 FROM xla_events_gt xet
151255 , AP_PAYMENT_EXTRACT_DETAILS_V l1
151256 , ZX_AP_DEF_TAX_EXTRACT_V l4
151257 , fnd_lookup_values fvl33
151258 , fnd_lookup_values fvl79
151259 , fnd_lookup_values fvl97
151260 , fnd_lookup_values fvl125
151261 WHERE xet.event_id between x_first_event_id and x_last_event_id
151262 and xet.event_date between p_pad_start_date and p_pad_end_date
151263 and xet.event_class_code = C_EVENT_CLASS_CODE
151264 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
151265 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
151266 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
151267 AND fvl33.view_application_id(+) = 200
151268 AND fvl33.language(+) = USERENV('LANG')
151269 AND fvl79.lookup_type(+) = 'YES_NO'
151270 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
151271 AND fvl79.view_application_id(+) = 0
151272 AND fvl79.language(+) = USERENV('LANG')
151273 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
151274 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
151275 AND fvl97.view_application_id(+) = 200
151276 AND fvl97.language(+) = USERENV('LANG')
151277 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
151278 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
151279 AND fvl125.view_application_id(+) = 0
151280 AND fvl125.language(+) = USERENV('LANG')
151281 ;
151282
151283 --
151284 BEGIN
151285 IF g_log_enabled THEN
151286 l_log_module := C_DEFAULT_MODULE||'.EventClass_228';
151287 END IF;
151288 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151289 trace
151290 (p_msg => 'BEGIN of EventClass_228'
151291 ,p_level => C_LEVEL_PROCEDURE
151292 ,p_module => l_log_module);
151293 END IF;
151294
151295 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151296 trace
151297 (p_msg => 'p_application_id = '||p_application_id||
151298 ' - p_base_ledger_id = '||p_base_ledger_id||
151299 ' - p_target_ledger_id = '||p_target_ledger_id||
151300 ' - p_language = '||p_language||
151301 ' - p_currency_code = '||p_currency_code||
151302 ' - p_sla_ledger_id = '||p_sla_ledger_id
151303 ,p_level => C_LEVEL_STATEMENT
151304 ,p_module => l_log_module);
151305 END IF;
151306 --
151307 -- initialze arrays
151308 --
151309 g_array_event.DELETE;
151310 l_rec_array_event := l_null_rec_array_event;
151311 --
151312 --------------------------------------
151313 -- 4262811 Initialze MPA Line Number
151314 --------------------------------------
151315 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
151316
151317 --
151318
151319 --
151320 OPEN header_cur;
151321 --
151322 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151323 trace
151324 (p_msg => 'SQL - FETCH header_cur'
151325 ,p_level => C_LEVEL_STATEMENT
151326 ,p_module => l_log_module);
151327 END IF;
151328 --
151332 , l_array_legal_entity_id
151329 LOOP
151330 FETCH header_cur BULK COLLECT INTO
151331 l_array_entity_id
151333 , l_array_entity_code
151334 , l_array_transaction_num
151335 , l_array_event_id
151336 , l_array_class_code
151337 , l_array_event_type
151338 , l_array_event_number
151339 , l_array_event_date
151340 , l_array_transaction_date
151341 , l_array_reference_num_1
151342 , l_array_reference_num_2
151343 , l_array_reference_num_3
151344 , l_array_reference_num_4
151345 , l_array_reference_char_1
151346 , l_array_reference_char_2
151347 , l_array_reference_char_3
151348 , l_array_reference_char_4
151349 , l_array_reference_date_1
151350 , l_array_reference_date_2
151351 , l_array_reference_date_3
151352 , l_array_reference_date_4
151353 , l_array_event_created_by
151354 , l_array_budgetary_control_flag
151355 , l_array_source_6
151356 , l_array_source_9
151357 , l_array_source_10
151358 , l_array_source_11
151359 , l_array_source_12
151360 , l_array_source_13
151361 , l_array_source_15
151362 , l_array_source_15_meaning
151363 , l_array_source_17
151364 , l_array_source_35
151365 , l_array_source_36
151366 , l_array_source_37
151367 , l_array_source_38
151368 , l_array_source_39
151369 , l_array_source_47
151370 , l_array_source_47_meaning
151371 , l_array_source_48
151372 , l_array_source_82
151373 , l_array_source_96
151374 , l_array_source_109
151375 , l_array_source_110
151376 , l_array_source_112
151377 , l_array_source_113
151378 , l_array_source_113_meaning
151379 , l_array_source_114
151380 , l_array_source_117
151381 , l_array_source_118
151382 , l_array_source_119
151383 , l_array_source_170
151384 , l_array_source_171
151385 LIMIT l_rows;
151386 --
151387 IF (C_LEVEL_EVENT >= g_log_level) THEN
151388 trace
151389 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
151390 ,p_level => C_LEVEL_EVENT
151391 ,p_module => l_log_module);
151392 END IF;
151393 --
151394 EXIT WHEN l_array_entity_id.COUNT = 0;
151395
151396 -- initialize arrays
151397 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
151398 XLA_AE_LINES_PKG.g_rec_lines := NULL;
151399
151400 --
151401 -- Bug 4458708
151402 --
151403 XLA_AE_LINES_PKG.g_LineNumber := 0;
151404
151405
151406 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
151407 g_last_hdr_idx := l_array_event_id.LAST;
151408 --
151409 -- loop for the headers. Each iteration is for each header extract row
151410 -- fetched in header cursor
151411 --
151412 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
151413
151414 --
151415 -- set event info as cache for other routines to refer event attributes
151416 --
151417 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
151418 (p_application_id => p_application_id
151419 ,p_primary_ledger_id => p_primary_ledger_id
151420 ,p_base_ledger_id => p_base_ledger_id
151421 ,p_target_ledger_id => p_target_ledger_id
151422 ,p_entity_id => l_array_entity_id(hdr_idx)
151423 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
151424 ,p_entity_code => l_array_entity_code(hdr_idx)
151425 ,p_transaction_num => l_array_transaction_num(hdr_idx)
151426 ,p_event_id => l_array_event_id(hdr_idx)
151427 ,p_event_class_code => l_array_class_code(hdr_idx)
151428 ,p_event_type_code => l_array_event_type(hdr_idx)
151429 ,p_event_number => l_array_event_number(hdr_idx)
151430 ,p_event_date => l_array_event_date(hdr_idx)
151431 ,p_transaction_date => l_array_transaction_date(hdr_idx)
151432 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
151433 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
151434 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
151435 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
151436 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
151437 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
151438 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
151439 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
151440 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
151441 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
151442 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
151443 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
151444 ,p_event_created_by => l_array_event_created_by(hdr_idx)
151445 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
151446
151447 --
151448 -- set the status of entry to C_VALID (0)
151449 --
151450 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
151451
151452 --
151453 -- initialize a row for ae header
151454 --
151455 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
151456
151457 l_event_id := l_array_event_id(hdr_idx);
151458
151459 --
151460 -- storing the hdr_idx for event. May be used by line cursor.
151461 --
151462 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
151463
151464 --
151465 -- store sources from header extract. This can be improved to
151466 -- store only those sources from header extract that may be used in lines
151467 --
151468
151469 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
151470 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
151474 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
151471 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
151472 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
151473 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
151475 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
151476 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
151477 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
151478 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
151479 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
151480 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
151481 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
151482 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
151483 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
151484 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
151485 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
151486 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
151487 g_array_event(l_event_id).array_value_char('source_96') := l_array_source_96(hdr_idx);
151488 g_array_event(l_event_id).array_value_num('source_109') := l_array_source_109(hdr_idx);
151489 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
151490 g_array_event(l_event_id).array_value_num('source_112') := l_array_source_112(hdr_idx);
151491 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
151492 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
151493 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
151494 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
151495 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
151496 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
151497 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
151498 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
151499
151500 --
151501 -- initilaize the status of ae headers for diffrent balance types
151502 -- the status is initialised to C_NOT_CREATED (2)
151503 --
151504 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151505 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151506 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151507
151508 --
151509 -- call api to validate and store accounting attributes for header
151510 --
151511
151512 ------------------------------------------------------------
151513 -- Accrual Reversal : to get date for Standard Source (NONE)
151514 ------------------------------------------------------------
151515 l_acc_rev_gl_date_source := NULL;
151516
151517 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
151518 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
151519 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
151520 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
151521 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
151522 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
151523 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
151524 l_rec_acct_attrs.array_date_value(4) :=
151525 xla_ae_sources_pkg.GetSystemSourceDate(
151526 p_source_code => 'XLA_EVENT_DATE'
151527 , p_source_type_code => 'Y'
151528 , p_source_application_id => 602
151529 );
151530
151531
151532 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
151533
151534 XLA_AE_HEADER_PKG.SetJeCategoryName;
151535
151536 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
151537 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
151538 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
151539 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
151540 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
151541
151542
151543 --
151544 xla_ae_header_pkg.SetHdrDescription(
151545 p_description => Description_3 (
151546 p_application_id => p_application_id
151547 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
151548 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
151549 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
151550 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
151551 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
151552 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151553 )
151554 );
151555 --
151556
151557 -- No header level analytical criteria
151558
151559 --
151560 --accounting attribute enhancement, bug 3612931
151561 --
151562 l_trx_reversal_source := SUBSTR(NULL, 1,30);
151563
151564 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
151565 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
151566
151567 xla_accounting_err_pkg.build_message
151568 (p_appli_s_name => 'XLA'
151569 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
151570 ,p_token_1 => 'ACCT_ATTR_NAME'
151574 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
151571 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
151572 ,p_token_2 => 'PRODUCT_NAME'
151573 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
151575 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
151576 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
151577
151578 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
151579 --
151580 -- following sets the accounting attributes needed to reverse
151581 -- accounting for a distributeion
151582 --
151583 xla_ae_lines_pkg.SetTrxReversalAttrs
151584 (p_event_id => l_event_id
151585 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
151586 ,p_trx_reversal_source => l_trx_reversal_source);
151587
151588 END IF;
151589
151590
151591 ----------------------------------------------------------------
151592 -- 4262811 - update the header statuses to invalid in need be
151593 ----------------------------------------------------------------
151594 --
151595 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
151596
151597
151598 -----------------------------------------------
151599 -- No accrual reversal for the event class/type
151600 -----------------------------------------------
151601 ----------------------------------------------------------------
151602
151603 --
151604 -- this ends the header loop iteration for one bulk fetch
151605 --
151606 END LOOP;
151607
151608 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
151609 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
151610
151611 --
151612 -- insert dummy rows into lines gt table that were created due to
151613 -- transaction reversals
151614 --
151615 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
151616 l_result := XLA_AE_LINES_PKG.InsertLines;
151617 END IF;
151618
151619 --
151620 -- reset the temp_line_num for each set of events fetched from header
151621 -- cursor rather than doing it for each new event in line cursor
151622 -- Bug 3939231
151623 --
151624 xla_ae_lines_pkg.g_temp_line_num := 0;
151625
151626
151627
151628 --
151629 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
151630 --
151631 --
151632 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151633
151634 trace
151635 (p_msg => 'SQL - FETCH line_cur'
151636 ,p_level => C_LEVEL_STATEMENT
151637 ,p_module => l_log_module);
151638
151639 END IF;
151640 --
151641 --
151642 LOOP
151643 --
151644 FETCH line_cur BULK COLLECT INTO
151645 l_array_entity_id
151646 , l_array_legal_entity_id
151647 , l_array_entity_code
151648 , l_array_transaction_num
151649 , l_array_event_id
151650 , l_array_class_code
151651 , l_array_event_type
151652 , l_array_event_number
151653 , l_array_event_date
151654 , l_array_transaction_date
151655 , l_array_reference_num_1
151656 , l_array_reference_num_2
151657 , l_array_reference_num_3
151658 , l_array_reference_num_4
151659 , l_array_reference_char_1
151660 , l_array_reference_char_2
151661 , l_array_reference_char_3
151662 , l_array_reference_char_4
151663 , l_array_reference_date_1
151664 , l_array_reference_date_2
151665 , l_array_reference_date_3
151666 , l_array_reference_date_4
151667 , l_array_event_created_by
151668 , l_array_budgetary_control_flag
151669 , l_array_extract_line_num
151670 , l_array_source_30
151671 , l_array_source_33
151672 , l_array_source_33_meaning
151673 , l_array_source_51
151674 , l_array_source_52
151675 , l_array_source_54
151676 , l_array_source_79
151677 , l_array_source_79_meaning
151678 , l_array_source_90
151679 , l_array_source_91
151680 , l_array_source_92
151681 , l_array_source_93
151682 , l_array_source_94
151683 , l_array_source_97
151684 , l_array_source_97_meaning
151685 , l_array_source_98
151686 , l_array_source_99
151687 , l_array_source_100
151688 , l_array_source_101
151689 , l_array_source_102
151690 , l_array_source_103
151691 , l_array_source_111
151692 , l_array_source_115
151693 , l_array_source_116
151694 , l_array_source_121
151695 , l_array_source_125
151696 , l_array_source_125_meaning
151697 , l_array_source_151
151698 , l_array_source_158
151699 LIMIT l_rows;
151700
151701 --
151702 IF (C_LEVEL_EVENT >= g_log_level) THEN
151703 trace
151704 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
151705 ,p_level => C_LEVEL_EVENT
151706 ,p_module => l_log_module);
151707 END IF;
151708 --
151709 EXIT WHEN l_array_entity_id.count = 0;
151710
151711 XLA_AE_LINES_PKG.g_rec_lines := null;
151712
151713 --
151714 -- Bug 4458708
151715 --
151716 XLA_AE_LINES_PKG.g_LineNumber := 0;
151717 --
151718 --
151719
151720 FOR Idx IN 1..l_array_event_id.count LOOP
151721 --
151722 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
151723 --
151724 l_event_id := l_array_event_id(idx); -- 5648433
151725
151726 --
151727 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
151728 --
151729
151733 ) <> 'Y'
151730 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
151731 (g_array_event(l_event_id).array_value_num('header_index'))
151732 ,'N'
151734 THEN
151735 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151736 trace
151737 (p_msg => 'Trancaction revesal option is not Y '
151738 ,p_level => C_LEVEL_STATEMENT
151739 ,p_module => l_log_module);
151740 END IF;
151741
151742 --
151743 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
151744 --
151745 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
151746 --
151747 -- set event info as cache for other routines to refer event attributes
151748 --
151749
151750 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
151751 l_previous_event_id := l_event_id;
151752
151753 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
151754 (p_application_id => p_application_id
151755 ,p_primary_ledger_id => p_primary_ledger_id
151756 ,p_base_ledger_id => p_base_ledger_id
151757 ,p_target_ledger_id => p_target_ledger_id
151758 ,p_entity_id => l_array_entity_id(Idx)
151759 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
151760 ,p_entity_code => l_array_entity_code(Idx)
151761 ,p_transaction_num => l_array_transaction_num(Idx)
151762 ,p_event_id => l_array_event_id(Idx)
151763 ,p_event_class_code => l_array_class_code(Idx)
151764 ,p_event_type_code => l_array_event_type(Idx)
151765 ,p_event_number => l_array_event_number(Idx)
151766 ,p_event_date => l_array_event_date(Idx)
151767 ,p_transaction_date => l_array_transaction_date(Idx)
151768 ,p_reference_num_1 => l_array_reference_num_1(Idx)
151769 ,p_reference_num_2 => l_array_reference_num_2(Idx)
151770 ,p_reference_num_3 => l_array_reference_num_3(Idx)
151771 ,p_reference_num_4 => l_array_reference_num_4(Idx)
151772 ,p_reference_char_1 => l_array_reference_char_1(Idx)
151773 ,p_reference_char_2 => l_array_reference_char_2(Idx)
151774 ,p_reference_char_3 => l_array_reference_char_3(Idx)
151775 ,p_reference_char_4 => l_array_reference_char_4(Idx)
151776 ,p_reference_date_1 => l_array_reference_date_1(Idx)
151777 ,p_reference_date_2 => l_array_reference_date_2(Idx)
151778 ,p_reference_date_3 => l_array_reference_date_3(Idx)
151779 ,p_reference_date_4 => l_array_reference_date_4(Idx)
151780 ,p_event_created_by => l_array_event_created_by(Idx)
151781 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
151782 --
151783 END IF;
151784
151785
151786
151787 --
151788 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
151789
151790 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
151791
151792 IF l_continue_with_lines THEN
151793 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
151794 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
151795
151796 xla_accounting_err_pkg.build_message
151797 (p_appli_s_name => 'XLA'
151798 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
151799 ,p_token_1 => 'LINE_NUMBER'
151800 ,p_value_1 => l_array_extract_line_num(Idx)
151801 ,p_token_2 => 'PRODUCT_NAME'
151802 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
151803 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
151804 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
151805 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
151806
151807 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
151808 --
151809 -- following sets the accounting attributes needed to reverse
151810 -- accounting for a distributeion
151811 --
151812
151813 --
151814 -- 5217187
151815 --
151816 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
151817 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
151818 g_array_event(l_event_id).array_value_num('header_index'));
151819 --
151820 --
151821
151822 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
151823 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
151824 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
151825 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_103(Idx);
151826 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
151827 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
151828 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
151829 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_82');
151830 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
151831 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_111(Idx);
151832 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
151833 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_54(Idx);
151834
151835
151836 xla_ae_lines_pkg.SetAcctReversalAttrs
151837 (p_event_id => l_event_id
151838 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
151839 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151840 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
151841 END IF;
151842
151843 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
151847 AcctLineType_65 (
151844 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
151845
151846 --
151848 p_application_id => p_application_id
151849 ,p_event_id => l_event_id
151850 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151851 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151852 ,p_actual_flag => l_actual_flag
151853 ,p_balance_type_code => l_balance_type_code
151854 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151855
151856 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151857 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
151858 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
151859 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
151860 , p_source_52 => l_array_source_52(Idx)
151861 , p_source_54 => l_array_source_54(Idx)
151862 , p_source_79 => l_array_source_79(Idx)
151863 , p_source_79_meaning => l_array_source_79_meaning(Idx)
151864 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
151865 , p_source_90 => l_array_source_90(Idx)
151866 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
151867 , p_source_97 => l_array_source_97(Idx)
151868 , p_source_97_meaning => l_array_source_97_meaning(Idx)
151869 , p_source_98 => l_array_source_98(Idx)
151870 , p_source_99 => l_array_source_99(Idx)
151871 , p_source_100 => l_array_source_100(Idx)
151872 , p_source_101 => l_array_source_101(Idx)
151873 , p_source_102 => l_array_source_102(Idx)
151874 , p_source_103 => l_array_source_103(Idx)
151875 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
151876 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
151877 , p_source_111 => l_array_source_111(Idx)
151878 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
151879 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
151880 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
151881 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
151882 , p_source_116 => l_array_source_116(Idx)
151883 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
151884 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
151885 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
151886 );
151887 If(l_balance_type_code = 'A') THEN
151888 l_actual_gain_loss_ref := l_gain_or_loss_ref;
151889 END IF;
151890
151891 --
151892
151893
151894 --
151895 AcctLineType_66 (
151896 p_application_id => p_application_id
151897 ,p_event_id => l_event_id
151898 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151899 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151900 ,p_actual_flag => l_actual_flag
151901 ,p_balance_type_code => l_balance_type_code
151902 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151903
151904 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151905 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
151906 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
151907 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
151908 , p_source_52 => l_array_source_52(Idx)
151909 , p_source_54 => l_array_source_54(Idx)
151910 , p_source_79 => l_array_source_79(Idx)
151911 , p_source_79_meaning => l_array_source_79_meaning(Idx)
151912 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
151913 , p_source_90 => l_array_source_90(Idx)
151914 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
151915 , p_source_97 => l_array_source_97(Idx)
151916 , p_source_97_meaning => l_array_source_97_meaning(Idx)
151917 , p_source_98 => l_array_source_98(Idx)
151918 , p_source_99 => l_array_source_99(Idx)
151919 , p_source_100 => l_array_source_100(Idx)
151920 , p_source_101 => l_array_source_101(Idx)
151921 , p_source_102 => l_array_source_102(Idx)
151922 , p_source_103 => l_array_source_103(Idx)
151923 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
151924 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
151925 , p_source_111 => l_array_source_111(Idx)
151926 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
151927 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
151928 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
151929 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
151930 , p_source_116 => l_array_source_116(Idx)
151931 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
151932 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
151933 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
151934 );
151935 If(l_balance_type_code = 'A') THEN
151936 l_actual_gain_loss_ref := l_gain_or_loss_ref;
151937 END IF;
151938
151939 --
151940
151941
151942 --
151943 AcctLineType_74 (
151944 p_application_id => p_application_id
151945 ,p_event_id => l_event_id
151946 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151947 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151948 ,p_actual_flag => l_actual_flag
151949 ,p_balance_type_code => l_balance_type_code
151950 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151951
151952 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151953 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
151954 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
151955 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
151956 , p_source_52 => l_array_source_52(Idx)
151957 , p_source_54 => l_array_source_54(Idx)
151958 , p_source_79 => l_array_source_79(Idx)
151959 , p_source_79_meaning => l_array_source_79_meaning(Idx)
151960 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
151964 , p_source_97_meaning => l_array_source_97_meaning(Idx)
151961 , p_source_90 => l_array_source_90(Idx)
151962 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
151963 , p_source_97 => l_array_source_97(Idx)
151965 , p_source_98 => l_array_source_98(Idx)
151966 , p_source_99 => l_array_source_99(Idx)
151967 , p_source_100 => l_array_source_100(Idx)
151968 , p_source_101 => l_array_source_101(Idx)
151969 , p_source_102 => l_array_source_102(Idx)
151970 , p_source_103 => l_array_source_103(Idx)
151971 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
151972 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
151973 , p_source_111 => l_array_source_111(Idx)
151974 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
151975 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
151976 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
151977 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
151978 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
151979 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
151980 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
151981 , p_source_121 => l_array_source_121(Idx)
151982 );
151983 If(l_balance_type_code = 'A') THEN
151984 l_actual_gain_loss_ref := l_gain_or_loss_ref;
151985 END IF;
151986
151987 --
151988
151989
151990 --
151991 AcctLineType_75 (
151992 p_application_id => p_application_id
151993 ,p_event_id => l_event_id
151994 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151995 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151996 ,p_actual_flag => l_actual_flag
151997 ,p_balance_type_code => l_balance_type_code
151998 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151999
152000 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152001 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152002 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152003 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152004 , p_source_52 => l_array_source_52(Idx)
152005 , p_source_54 => l_array_source_54(Idx)
152006 , p_source_79 => l_array_source_79(Idx)
152007 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152008 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152009 , p_source_90 => l_array_source_90(Idx)
152010 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152011 , p_source_97 => l_array_source_97(Idx)
152012 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152013 , p_source_98 => l_array_source_98(Idx)
152014 , p_source_99 => l_array_source_99(Idx)
152015 , p_source_100 => l_array_source_100(Idx)
152016 , p_source_101 => l_array_source_101(Idx)
152017 , p_source_102 => l_array_source_102(Idx)
152018 , p_source_103 => l_array_source_103(Idx)
152019 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152020 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152021 , p_source_111 => l_array_source_111(Idx)
152022 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152023 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152024 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152025 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152026 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152027 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152028 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152029 , p_source_121 => l_array_source_121(Idx)
152030 );
152031 If(l_balance_type_code = 'A') THEN
152032 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152033 END IF;
152034
152035 --
152036
152037
152038 --
152039 AcctLineType_76 (
152040 p_application_id => p_application_id
152041 ,p_event_id => l_event_id
152042 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152043 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152044 ,p_actual_flag => l_actual_flag
152045 ,p_balance_type_code => l_balance_type_code
152046 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152047
152048 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152049 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152050 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152051 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152052 , p_source_52 => l_array_source_52(Idx)
152053 , p_source_54 => l_array_source_54(Idx)
152054 , p_source_79 => l_array_source_79(Idx)
152055 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152056 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152057 , p_source_90 => l_array_source_90(Idx)
152058 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152059 , p_source_97 => l_array_source_97(Idx)
152060 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152061 , p_source_98 => l_array_source_98(Idx)
152062 , p_source_99 => l_array_source_99(Idx)
152063 , p_source_100 => l_array_source_100(Idx)
152064 , p_source_101 => l_array_source_101(Idx)
152065 , p_source_102 => l_array_source_102(Idx)
152066 , p_source_103 => l_array_source_103(Idx)
152067 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152068 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152069 , p_source_111 => l_array_source_111(Idx)
152070 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152071 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152072 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152073 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152077 , p_source_121 => l_array_source_121(Idx)
152074 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152075 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152076 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152078 );
152079 If(l_balance_type_code = 'A') THEN
152080 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152081 END IF;
152082
152083 --
152084
152085
152086 --
152087 AcctLineType_77 (
152088 p_application_id => p_application_id
152089 ,p_event_id => l_event_id
152090 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152091 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152092 ,p_actual_flag => l_actual_flag
152093 ,p_balance_type_code => l_balance_type_code
152094 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152095
152096 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152097 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152098 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
152099 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
152100 , p_source_52 => l_array_source_52(Idx)
152101 , p_source_54 => l_array_source_54(Idx)
152102 , p_source_79 => l_array_source_79(Idx)
152103 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152104 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152105 , p_source_90 => l_array_source_90(Idx)
152106 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152107 , p_source_97 => l_array_source_97(Idx)
152108 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152109 , p_source_98 => l_array_source_98(Idx)
152110 , p_source_99 => l_array_source_99(Idx)
152111 , p_source_100 => l_array_source_100(Idx)
152112 , p_source_101 => l_array_source_101(Idx)
152113 , p_source_102 => l_array_source_102(Idx)
152114 , p_source_103 => l_array_source_103(Idx)
152115 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152116 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152117 , p_source_111 => l_array_source_111(Idx)
152118 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152119 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152120 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152121 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152122 , p_source_116 => l_array_source_116(Idx)
152123 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152124 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152125 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152126 );
152127 If(l_balance_type_code = 'A') THEN
152128 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152129 END IF;
152130
152131 --
152132
152133
152134 --
152135 AcctLineType_87 (
152136 p_application_id => p_application_id
152137 ,p_event_id => l_event_id
152138 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152139 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152140 ,p_actual_flag => l_actual_flag
152141 ,p_balance_type_code => l_balance_type_code
152142 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152143
152144 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152145 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152146 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
152147 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
152148 , p_source_52 => l_array_source_52(Idx)
152149 , p_source_54 => l_array_source_54(Idx)
152150 , p_source_79 => l_array_source_79(Idx)
152151 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152152 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152153 , p_source_90 => l_array_source_90(Idx)
152154 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152155 , p_source_97 => l_array_source_97(Idx)
152156 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152157 , p_source_98 => l_array_source_98(Idx)
152158 , p_source_99 => l_array_source_99(Idx)
152159 , p_source_100 => l_array_source_100(Idx)
152160 , p_source_101 => l_array_source_101(Idx)
152161 , p_source_102 => l_array_source_102(Idx)
152162 , p_source_103 => l_array_source_103(Idx)
152163 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152164 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152165 , p_source_111 => l_array_source_111(Idx)
152166 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152167 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152168 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152169 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152170 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152171 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152172 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152173 , p_source_121 => l_array_source_121(Idx)
152174 );
152175 If(l_balance_type_code = 'A') THEN
152176 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152177 END IF;
152178
152179 --
152180
152181
152182 --
152183 AcctLineType_88 (
152184 p_application_id => p_application_id
152185 ,p_event_id => l_event_id
152186 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152187 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152188 ,p_actual_flag => l_actual_flag
152189 ,p_balance_type_code => l_balance_type_code
152190 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152191
152192 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152193 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152197 , p_source_54 => l_array_source_54(Idx)
152194 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152195 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152196 , p_source_52 => l_array_source_52(Idx)
152198 , p_source_79 => l_array_source_79(Idx)
152199 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152200 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152201 , p_source_90 => l_array_source_90(Idx)
152202 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152203 , p_source_97 => l_array_source_97(Idx)
152204 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152205 , p_source_98 => l_array_source_98(Idx)
152206 , p_source_99 => l_array_source_99(Idx)
152207 , p_source_100 => l_array_source_100(Idx)
152208 , p_source_101 => l_array_source_101(Idx)
152209 , p_source_102 => l_array_source_102(Idx)
152210 , p_source_103 => l_array_source_103(Idx)
152211 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152212 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152213 , p_source_111 => l_array_source_111(Idx)
152214 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152215 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152216 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152217 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152218 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152219 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152220 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152221 , p_source_121 => l_array_source_121(Idx)
152222 );
152223 If(l_balance_type_code = 'A') THEN
152224 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152225 END IF;
152226
152227 --
152228
152229
152230 --
152231 AcctLineType_89 (
152232 p_application_id => p_application_id
152233 ,p_event_id => l_event_id
152234 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152235 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152236 ,p_actual_flag => l_actual_flag
152237 ,p_balance_type_code => l_balance_type_code
152238 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152239
152240 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152241 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152242 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152243 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152244 , p_source_52 => l_array_source_52(Idx)
152245 , p_source_54 => l_array_source_54(Idx)
152246 , p_source_79 => l_array_source_79(Idx)
152247 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152248 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152249 , p_source_90 => l_array_source_90(Idx)
152250 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152251 , p_source_97 => l_array_source_97(Idx)
152252 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152253 , p_source_98 => l_array_source_98(Idx)
152254 , p_source_99 => l_array_source_99(Idx)
152255 , p_source_100 => l_array_source_100(Idx)
152256 , p_source_101 => l_array_source_101(Idx)
152257 , p_source_102 => l_array_source_102(Idx)
152258 , p_source_103 => l_array_source_103(Idx)
152259 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152260 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152261 , p_source_111 => l_array_source_111(Idx)
152262 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152263 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152264 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152265 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152266 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152267 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152268 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152269 , p_source_121 => l_array_source_121(Idx)
152270 );
152271 If(l_balance_type_code = 'A') THEN
152272 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152273 END IF;
152274
152275 --
152276
152277
152278 --
152279 AcctLineType_95 (
152280 p_application_id => p_application_id
152281 ,p_event_id => l_event_id
152282 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152283 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152284 ,p_actual_flag => l_actual_flag
152285 ,p_balance_type_code => l_balance_type_code
152286 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152287
152288 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152289 , p_source_33 => l_array_source_33(Idx)
152290 , p_source_33_meaning => l_array_source_33_meaning(Idx)
152291 , p_source_52 => l_array_source_52(Idx)
152292 , p_source_54 => l_array_source_54(Idx)
152293 , p_source_79 => l_array_source_79(Idx)
152294 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152295 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152296 , p_source_90 => l_array_source_90(Idx)
152297 , p_source_91 => l_array_source_91(Idx)
152298 , p_source_92 => l_array_source_92(Idx)
152299 , p_source_93 => l_array_source_93(Idx)
152300 , p_source_94 => l_array_source_94(Idx)
152301 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152302 , p_source_97 => l_array_source_97(Idx)
152303 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152304 , p_source_98 => l_array_source_98(Idx)
152305 , p_source_103 => l_array_source_103(Idx)
152306 , p_source_111 => l_array_source_111(Idx)
152307 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152308 , p_source_121 => l_array_source_121(Idx)
152309 , p_source_125 => l_array_source_125(Idx)
152313 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152310 , p_source_125_meaning => l_array_source_125_meaning(Idx)
152311 );
152312 If(l_balance_type_code = 'A') THEN
152314 END IF;
152315
152316 --
152317
152318
152319 --
152320 AcctLineType_99 (
152321 p_application_id => p_application_id
152322 ,p_event_id => l_event_id
152323 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152324 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152325 ,p_actual_flag => l_actual_flag
152326 ,p_balance_type_code => l_balance_type_code
152327 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152328
152329 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152330 , p_source_33 => l_array_source_33(Idx)
152331 , p_source_33_meaning => l_array_source_33_meaning(Idx)
152332 , p_source_51 => l_array_source_51(Idx)
152333 , p_source_52 => l_array_source_52(Idx)
152334 , p_source_54 => l_array_source_54(Idx)
152335 , p_source_79 => l_array_source_79(Idx)
152336 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152337 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152338 , p_source_90 => l_array_source_90(Idx)
152339 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152340 , p_source_97 => l_array_source_97(Idx)
152341 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152342 , p_source_98 => l_array_source_98(Idx)
152343 , p_source_99 => l_array_source_99(Idx)
152344 , p_source_100 => l_array_source_100(Idx)
152345 , p_source_101 => l_array_source_101(Idx)
152346 , p_source_102 => l_array_source_102(Idx)
152347 , p_source_103 => l_array_source_103(Idx)
152348 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152349 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152350 , p_source_111 => l_array_source_111(Idx)
152351 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152352 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152353 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152354 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152355 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152356 , p_source_121 => l_array_source_121(Idx)
152357 , p_source_125 => l_array_source_125(Idx)
152358 , p_source_125_meaning => l_array_source_125_meaning(Idx)
152359 );
152360 If(l_balance_type_code = 'A') THEN
152361 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152362 END IF;
152363
152364 --
152365
152366
152367 --
152368 AcctLineType_120 (
152369 p_application_id => p_application_id
152370 ,p_event_id => l_event_id
152371 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152372 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152373 ,p_actual_flag => l_actual_flag
152374 ,p_balance_type_code => l_balance_type_code
152375 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152376
152377 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152378 , p_source_52 => l_array_source_52(Idx)
152379 , p_source_54 => l_array_source_54(Idx)
152380 , p_source_79 => l_array_source_79(Idx)
152381 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152382 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152383 , p_source_90 => l_array_source_90(Idx)
152384 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152385 , p_source_97 => l_array_source_97(Idx)
152386 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152387 , p_source_98 => l_array_source_98(Idx)
152388 , p_source_99 => l_array_source_99(Idx)
152389 , p_source_100 => l_array_source_100(Idx)
152390 , p_source_101 => l_array_source_101(Idx)
152391 , p_source_102 => l_array_source_102(Idx)
152392 , p_source_103 => l_array_source_103(Idx)
152393 , p_source_111 => l_array_source_111(Idx)
152394 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152395 , p_source_115 => l_array_source_115(Idx)
152396 );
152397 If(l_balance_type_code = 'A') THEN
152398 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152399 END IF;
152400
152401 --
152402
152403
152404 --
152405 AcctLineType_121 (
152406 p_application_id => p_application_id
152407 ,p_event_id => l_event_id
152408 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152409 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152410 ,p_actual_flag => l_actual_flag
152411 ,p_balance_type_code => l_balance_type_code
152412 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152413
152414 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152415 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152416 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152417 , p_source_30 => l_array_source_30(Idx)
152418 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
152419 , p_source_52 => l_array_source_52(Idx)
152420 , p_source_54 => l_array_source_54(Idx)
152421 , p_source_79 => l_array_source_79(Idx)
152422 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152423 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152424 , p_source_90 => l_array_source_90(Idx)
152425 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152426 , p_source_97 => l_array_source_97(Idx)
152427 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152428 , p_source_98 => l_array_source_98(Idx)
152429 , p_source_99 => l_array_source_99(Idx)
152430 , p_source_100 => l_array_source_100(Idx)
152431 , p_source_101 => l_array_source_101(Idx)
152432 , p_source_102 => l_array_source_102(Idx)
152433 , p_source_103 => l_array_source_103(Idx)
152434 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152435 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152436 , p_source_111 => l_array_source_111(Idx)
152437 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152441 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152438 , p_source_115 => l_array_source_115(Idx)
152439 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152440 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152442 );
152443 If(l_balance_type_code = 'A') THEN
152444 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152445 END IF;
152446
152447 --
152448
152449
152450 --
152451 AcctLineType_125 (
152452 p_application_id => p_application_id
152453 ,p_event_id => l_event_id
152454 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152455 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152456 ,p_actual_flag => l_actual_flag
152457 ,p_balance_type_code => l_balance_type_code
152458 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152459
152460 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152461 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152462 , p_source_30 => l_array_source_30(Idx)
152463 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
152464 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
152465 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
152466 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
152467 , p_source_52 => l_array_source_52(Idx)
152468 , p_source_54 => l_array_source_54(Idx)
152469 , p_source_79 => l_array_source_79(Idx)
152470 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152471 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152472 , p_source_90 => l_array_source_90(Idx)
152473 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152474 , p_source_97 => l_array_source_97(Idx)
152475 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152476 , p_source_99 => l_array_source_99(Idx)
152477 , p_source_100 => l_array_source_100(Idx)
152478 , p_source_101 => l_array_source_101(Idx)
152479 , p_source_102 => l_array_source_102(Idx)
152480 , p_source_103 => l_array_source_103(Idx)
152481 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152482 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152483 , p_source_111 => l_array_source_111(Idx)
152484 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152485 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152486 , p_source_151 => l_array_source_151(Idx)
152487 );
152488 If(l_balance_type_code = 'A') THEN
152489 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152490 END IF;
152491
152492 --
152493
152494
152495 --
152496 AcctLineType_131 (
152497 p_application_id => p_application_id
152498 ,p_event_id => l_event_id
152499 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152500 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152501 ,p_actual_flag => l_actual_flag
152502 ,p_balance_type_code => l_balance_type_code
152503 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152504
152505 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152506 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152507 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152508 , p_source_30 => l_array_source_30(Idx)
152509 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
152510 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
152511 , p_source_52 => l_array_source_52(Idx)
152512 , p_source_54 => l_array_source_54(Idx)
152513 , p_source_79 => l_array_source_79(Idx)
152514 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152515 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152516 , p_source_90 => l_array_source_90(Idx)
152517 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152518 , p_source_97 => l_array_source_97(Idx)
152519 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152520 , p_source_98 => l_array_source_98(Idx)
152521 , p_source_99 => l_array_source_99(Idx)
152522 , p_source_100 => l_array_source_100(Idx)
152523 , p_source_101 => l_array_source_101(Idx)
152524 , p_source_102 => l_array_source_102(Idx)
152525 , p_source_103 => l_array_source_103(Idx)
152526 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152527 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152528 , p_source_111 => l_array_source_111(Idx)
152529 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152530 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152531 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152532 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152533 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152534 , p_source_151 => l_array_source_151(Idx)
152535 , p_source_158 => l_array_source_158(Idx)
152536 );
152537 If(l_balance_type_code = 'A') THEN
152538 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152539 END IF;
152540
152541 --
152542
152543
152544 --
152545 AcctLineType_165 (
152546 p_application_id => p_application_id
152547 ,p_event_id => l_event_id
152548 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152549 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152550 ,p_actual_flag => l_actual_flag
152551 ,p_balance_type_code => l_balance_type_code
152552 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152553
152554 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152555 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152556 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152557 , p_source_30 => l_array_source_30(Idx)
152558 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
152559 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
152563 , p_source_79_meaning => l_array_source_79_meaning(Idx)
152560 , p_source_52 => l_array_source_52(Idx)
152561 , p_source_54 => l_array_source_54(Idx)
152562 , p_source_79 => l_array_source_79(Idx)
152564 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
152565 , p_source_90 => l_array_source_90(Idx)
152566 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
152567 , p_source_97 => l_array_source_97(Idx)
152568 , p_source_97_meaning => l_array_source_97_meaning(Idx)
152569 , p_source_98 => l_array_source_98(Idx)
152570 , p_source_99 => l_array_source_99(Idx)
152571 , p_source_100 => l_array_source_100(Idx)
152572 , p_source_101 => l_array_source_101(Idx)
152573 , p_source_102 => l_array_source_102(Idx)
152574 , p_source_103 => l_array_source_103(Idx)
152575 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
152576 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152577 , p_source_111 => l_array_source_111(Idx)
152578 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
152579 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152580 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152581 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152582 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152583 , p_source_151 => l_array_source_151(Idx)
152584 , p_source_158 => l_array_source_158(Idx)
152585 );
152586 If(l_balance_type_code = 'A') THEN
152587 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152588 END IF;
152589
152590 --
152591
152592 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
152593 -- or secondary ledger that has different currency with primary
152594 -- or alc that is calculated by sla
152595 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
152596 (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'))
152597
152598 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
152599 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
152600 AND (l_actual_flag = 'A')) THEN
152601 XLA_AE_LINES_PKG.CreateGainOrLossLines(
152602 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
152603 ,p_application_id => p_application_id
152604 ,p_amb_context_code => 'DEFAULT'
152605 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
152606 ,p_event_class_code => C_EVENT_CLASS_CODE
152607 ,p_event_type_code => C_EVENT_TYPE_CODE
152608
152609 ,p_gain_ccid => -1
152610 ,p_loss_ccid => -1
152611
152612 ,p_actual_flag => l_actual_flag
152613 ,p_enc_flag => null
152614 ,p_actual_g_l_ref => l_actual_gain_loss_ref
152615 ,p_enc_g_l_ref => null
152616 );
152617 END IF;
152618 END IF;
152619 END IF;
152620
152621 ELSE
152622 --
152623 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
152624 --
152625 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152626 trace
152627 (p_msg => 'Trancaction revesal option is Y'
152628 ,p_level => C_LEVEL_STATEMENT
152629 ,p_module => l_log_module);
152630 END IF;
152631 END IF;
152632
152633 END LOOP;
152634 l_result := XLA_AE_LINES_PKG.InsertLines ;
152635 end loop;
152636 close line_cur;
152637
152638
152639 --
152640 -- insert headers into xla_ae_headers_gt table
152641 --
152642 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
152643
152644 -- insert into errors table here.
152645
152646 END LOOP;
152647
152648 --
152649 -- 4865292
152650 --
152651 -- Compare g_hdr_extract_count with event count in
152652 -- CreateHeadersAndLines.
152653 --
152654 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
152655
152656 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152657 trace (p_msg => '# rows extracted from header extract objects '
152658 || ' (running total): '
152659 || g_hdr_extract_count
152660 ,p_level => C_LEVEL_STATEMENT
152661 ,p_module => l_log_module);
152662 END IF;
152663
152664 CLOSE header_cur;
152665 --
152666
152667 --
152668 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152669 trace
152670 (p_msg => 'END of EventClass_228'
152671 ,p_level => C_LEVEL_PROCEDURE
152672 ,p_module => l_log_module);
152673 END IF;
152674 --
152675 RETURN l_result;
152676 EXCEPTION
152677 WHEN xla_exceptions_pkg.application_exception THEN
152678
152679 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
152680
152681
152682 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
152683
152684 RAISE;
152685
152686 WHEN NO_DATA_FOUND THEN
152687
152688 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
152689 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
152690
152691 FOR header_record IN header_cur
152692 LOOP
152693 l_array_header_events(header_record.event_id) := header_record.event_id;
152694 END LOOP;
152695
152696 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
152697 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
152698
152699 fnd_file.put_line(fnd_file.LOG, ' ');
152700 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
152701 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
152705 LOOP
152702 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
152703
152704 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
152706 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
152707 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
152708 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
152709 END IF;
152710 END LOOP;
152711
152712 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
152713 fnd_file.put_line(fnd_file.LOG, ' ');
152714
152715
152716 xla_exceptions_pkg.raise_message
152717 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_228');
152718
152719
152720 WHEN OTHERS THEN
152721 xla_exceptions_pkg.raise_message
152722 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_228');
152723 END EventClass_228;
152724 --
152725
152726 ---------------------------------------
152727 --
152728 -- PRIVATE PROCEDURE
152729 -- insert_sources_229
152730 --
152731 ----------------------------------------
152732 --
152733 PROCEDURE insert_sources_229(
152734 p_target_ledger_id IN NUMBER
152735 , p_language IN VARCHAR2
152736 , p_sla_ledger_id IN NUMBER
152737 , p_pad_start_date IN DATE
152738 , p_pad_end_date IN DATE
152739 )
152740 IS
152741
152742 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
152743 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
152744 p_apps_owner VARCHAR2(30);
152745 l_log_module VARCHAR2(240);
152746 BEGIN
152747 IF g_log_enabled THEN
152748 l_log_module := C_DEFAULT_MODULE||'.insert_sources_229';
152749 END IF;
152750 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152751
152752 trace
152753 (p_msg => 'BEGIN of insert_sources_229'
152754 ,p_level => C_LEVEL_PROCEDURE
152755 ,p_module => l_log_module);
152756
152757 END IF;
152758
152759 -- select APPS owner
152760 SELECT oracle_username
152761 INTO p_apps_owner
152762 FROM fnd_oracle_userid
152763 WHERE read_only_flag = 'U'
152764 ;
152765
152766 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152767 trace
152768 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
152769 ' - p_language = '||p_language||
152770 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
152771 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
152772 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
152773 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
152774 ,p_level => C_LEVEL_STATEMENT
152775 ,p_module => l_log_module);
152776 END IF;
152777
152778
152779 --
152780 INSERT INTO xla_diag_sources --hdr2
152781 (
152782 event_id
152783 , ledger_id
152784 , sla_ledger_id
152785 , description_language
152786 , object_name
152787 , object_type_code
152788 , line_number
152789 , source_application_id
152790 , source_type_code
152791 , source_code
152792 , source_value
152793 , source_meaning
152794 , created_by
152795 , creation_date
152796 , last_update_date
152797 , last_updated_by
152798 , last_update_login
152799 , program_update_date
152800 , program_application_id
152801 , program_id
152802 , request_id
152803 )
152804 SELECT
152805 event_id
152806 , p_target_ledger_id
152807 , p_sla_ledger_id
152808 , p_language
152809 , object_name
152810 , object_type_code
152811 , line_number
152812 , source_application_id
152813 , source_type_code
152814 , source_code
152815 , SUBSTR(source_value ,1,1996)
152816 , SUBSTR(source_meaning ,1,200)
152817 , xla_environment_pkg.g_Usr_Id
152818 , TRUNC(SYSDATE)
152819 , TRUNC(SYSDATE)
152820 , xla_environment_pkg.g_Usr_Id
152821 , xla_environment_pkg.g_Login_Id
152822 , TRUNC(SYSDATE)
152823 , xla_environment_pkg.g_Prog_Appl_Id
152824 , xla_environment_pkg.g_Prog_Id
152825 , xla_environment_pkg.g_Req_Id
152826 FROM (
152827 SELECT xet.event_id event_id
152828 , 0 line_number
152829 , CASE r
152830 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152831 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152832 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152833 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152834 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152835 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152836 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152837 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152838 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152839 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152840 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152841 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152842 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152843 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152844 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152845 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152846 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152850 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152847 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152848 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152849 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152851 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152852 WHEN 23 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152853
152854 ELSE null
152855 END object_name
152856 , CASE r
152857 WHEN 1 THEN 'HEADER'
152858 WHEN 2 THEN 'HEADER'
152859 WHEN 3 THEN 'HEADER'
152860 WHEN 4 THEN 'HEADER'
152861 WHEN 5 THEN 'HEADER'
152862 WHEN 6 THEN 'HEADER'
152863 WHEN 7 THEN 'HEADER'
152864 WHEN 8 THEN 'HEADER'
152865 WHEN 9 THEN 'HEADER'
152866 WHEN 10 THEN 'HEADER'
152867 WHEN 11 THEN 'HEADER'
152868 WHEN 12 THEN 'HEADER'
152869 WHEN 13 THEN 'HEADER'
152870 WHEN 14 THEN 'HEADER'
152871 WHEN 15 THEN 'HEADER'
152872 WHEN 16 THEN 'HEADER'
152873 WHEN 17 THEN 'HEADER'
152874 WHEN 18 THEN 'HEADER'
152875 WHEN 19 THEN 'HEADER'
152876 WHEN 20 THEN 'HEADER'
152877 WHEN 21 THEN 'HEADER'
152878 WHEN 22 THEN 'HEADER'
152879 WHEN 23 THEN 'HEADER'
152880
152881 ELSE null
152882 END object_type_code
152883 , CASE r
152884 WHEN 1 THEN '200'
152885 WHEN 2 THEN '200'
152886 WHEN 3 THEN '200'
152887 WHEN 4 THEN '200'
152888 WHEN 5 THEN '200'
152889 WHEN 6 THEN '200'
152890 WHEN 7 THEN '200'
152891 WHEN 8 THEN '200'
152892 WHEN 9 THEN '200'
152893 WHEN 10 THEN '200'
152894 WHEN 11 THEN '200'
152895 WHEN 12 THEN '200'
152896 WHEN 13 THEN '200'
152897 WHEN 14 THEN '200'
152898 WHEN 15 THEN '200'
152899 WHEN 16 THEN '200'
152900 WHEN 17 THEN '200'
152901 WHEN 18 THEN '200'
152902 WHEN 19 THEN '200'
152903 WHEN 20 THEN '200'
152904 WHEN 21 THEN '200'
152905 WHEN 22 THEN '200'
152906 WHEN 23 THEN '200'
152907
152908 ELSE null
152909 END source_application_id
152910 , 'S' source_type_code
152911 , CASE r
152912 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
152913 WHEN 2 THEN 'AI_INVOICE_DATE'
152914 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
152915 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
152916 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
152917 WHEN 6 THEN 'AI_DESCRIPTION'
152918 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
152919 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
152920 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
152921 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
152922 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
152923 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
152924 WHEN 13 THEN 'AI_INVOICE_ID'
152925 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
152926 WHEN 15 THEN 'AI_VENDOR_ID'
152927 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
152928 WHEN 17 THEN 'THIRD_PARTY_TYPE'
152929 WHEN 18 THEN 'INV_EXCHANGE_DATE'
152930 WHEN 19 THEN 'INV_EXCHANGE_RATE'
152931 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
152932 WHEN 21 THEN 'AI_SOURCE'
152933 WHEN 22 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
152934 WHEN 23 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
152935
152936 ELSE null
152937 END source_code
152938 , CASE r
152939 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
152940 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
152941 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
152942 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
152943 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
152944 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
152945 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
152946 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
152947 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
152948 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
152949 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
152950 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
152951 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
152952 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
152953 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
152954 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
152955 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
152956 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
152957 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
152958 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
152959 WHEN 21 THEN TO_CHAR(h2.AI_SOURCE)
152960 WHEN 22 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
152961 WHEN 23 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
152962
152963 ELSE null
152964 END source_value
152965 , CASE r
152966 WHEN 7 THEN fvl15.meaning
152970 ELSE null
152967 WHEN 12 THEN fvl47.meaning
152968 WHEN 22 THEN fvl164.meaning
152969
152971 END source_meaning
152972 FROM xla_events_gt xet
152973 , AP_INVOICE_EXTRACT_HEADER_V h2
152974 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
152975 , fnd_lookup_values fvl15
152976 , fnd_lookup_values fvl47
152977 , fnd_lookup_values fvl164
152978 ,(select rownum r from all_objects where rownum <= 23 and owner = p_apps_owner)
152979 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
152980 AND xet.event_class_code = C_EVENT_CLASS_CODE
152981 AND h2.event_id = xet.event_id
152982 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
152983 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
152984 AND fvl15.view_application_id(+) = 200
152985 AND fvl15.language(+) = USERENV('LANG')
152986 AND fvl47.lookup_type(+) = 'YES_NO'
152987 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
152988 AND fvl47.view_application_id(+) = 0
152989 AND fvl47.language(+) = USERENV('LANG')
152990 AND fvl164.lookup_type(+) = 'INVOICE TYPE'
152991 AND fvl164.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
152992 AND fvl164.view_application_id(+) = 200
152993 AND fvl164.language(+) = USERENV('LANG')
152994
152995 )
152996 ;
152997 --
152998 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152999
153000 trace
153001 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
153002 ,p_level => C_LEVEL_STATEMENT
153003 ,p_module => l_log_module);
153004
153005 END IF;
153006 --
153007
153008
153009
153010 --
153011 INSERT INTO xla_diag_sources --line2
153012 (
153013 event_id
153014 , ledger_id
153015 , sla_ledger_id
153016 , description_language
153017 , object_name
153018 , object_type_code
153019 , line_number
153020 , source_application_id
153021 , source_type_code
153022 , source_code
153023 , source_value
153024 , source_meaning
153025 , created_by
153026 , creation_date
153027 , last_update_date
153028 , last_updated_by
153029 , last_update_login
153030 , program_update_date
153031 , program_application_id
153032 , program_id
153033 , request_id
153034 )
153035 SELECT event_id
153036 , p_target_ledger_id
153037 , p_sla_ledger_id
153038 , p_language
153039 , object_name
153040 , object_type_code
153041 , line_number
153042 , source_application_id
153043 , source_type_code
153044 , source_code
153045 , SUBSTR(source_value,1,1996)
153046 , SUBSTR(source_meaning ,1,200)
153047 , xla_environment_pkg.g_Usr_Id
153048 , TRUNC(SYSDATE)
153049 , TRUNC(SYSDATE)
153050 , xla_environment_pkg.g_Usr_Id
153051 , xla_environment_pkg.g_Login_Id
153052 , TRUNC(SYSDATE)
153053 , xla_environment_pkg.g_Prog_Appl_Id
153054 , xla_environment_pkg.g_Prog_Id
153055 , xla_environment_pkg.g_Req_Id
153056 FROM (
153057 SELECT xet.event_id event_id
153058 , l1.line_number line_number
153059 , CASE r
153060 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153061 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153062 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153063 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153064 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153065 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153066 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153067 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153068 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153069 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153070 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153071 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153072 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153073 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153074 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153075 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153076 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153077 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153078 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153079 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153080 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153081 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153082 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153083 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153084 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153085 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153086 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
153087 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
153088 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
153089 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153090 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153091 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153092 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153093 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153094 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153095 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
153096 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
153097 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153101 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153098 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153099 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153100 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153102 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153103 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153104 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153105 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153106 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153107 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153108 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153109 WHEN 50 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153110
153111 ELSE null
153112 END object_name
153113 , CASE r
153114 WHEN 1 THEN 'LINE'
153115 WHEN 2 THEN 'LINE'
153116 WHEN 3 THEN 'LINE'
153117 WHEN 4 THEN 'LINE'
153118 WHEN 5 THEN 'LINE'
153119 WHEN 6 THEN 'LINE'
153120 WHEN 7 THEN 'LINE'
153121 WHEN 8 THEN 'LINE'
153122 WHEN 9 THEN 'LINE'
153123 WHEN 10 THEN 'LINE'
153124 WHEN 11 THEN 'LINE'
153125 WHEN 12 THEN 'LINE'
153126 WHEN 13 THEN 'LINE'
153127 WHEN 14 THEN 'LINE'
153128 WHEN 15 THEN 'LINE'
153129 WHEN 16 THEN 'LINE'
153130 WHEN 17 THEN 'LINE'
153131 WHEN 18 THEN 'LINE'
153132 WHEN 19 THEN 'LINE'
153133 WHEN 20 THEN 'LINE'
153134 WHEN 21 THEN 'LINE'
153135 WHEN 22 THEN 'LINE'
153136 WHEN 23 THEN 'LINE'
153137 WHEN 24 THEN 'LINE'
153138 WHEN 25 THEN 'LINE'
153139 WHEN 26 THEN 'LINE'
153140 WHEN 27 THEN 'LINE'
153141 WHEN 28 THEN 'LINE'
153142 WHEN 29 THEN 'LINE'
153143 WHEN 30 THEN 'LINE'
153144 WHEN 31 THEN 'LINE'
153145 WHEN 32 THEN 'LINE'
153146 WHEN 33 THEN 'LINE'
153147 WHEN 34 THEN 'LINE'
153148 WHEN 35 THEN 'LINE'
153149 WHEN 36 THEN 'LINE'
153150 WHEN 37 THEN 'LINE'
153151 WHEN 38 THEN 'LINE'
153152 WHEN 39 THEN 'LINE'
153153 WHEN 40 THEN 'LINE'
153154 WHEN 41 THEN 'LINE'
153155 WHEN 42 THEN 'LINE'
153156 WHEN 43 THEN 'LINE'
153157 WHEN 44 THEN 'LINE'
153158 WHEN 45 THEN 'LINE'
153159 WHEN 46 THEN 'LINE'
153160 WHEN 47 THEN 'LINE'
153161 WHEN 48 THEN 'LINE'
153162 WHEN 49 THEN 'LINE'
153163 WHEN 50 THEN 'LINE'
153164
153165 ELSE null
153166 END object_type_code
153167 , CASE r
153168 WHEN 1 THEN '200'
153169 WHEN 2 THEN '200'
153170 WHEN 3 THEN '200'
153171 WHEN 4 THEN '200'
153172 WHEN 5 THEN '200'
153173 WHEN 6 THEN '200'
153174 WHEN 7 THEN '200'
153175 WHEN 8 THEN '200'
153176 WHEN 9 THEN '200'
153177 WHEN 10 THEN '200'
153178 WHEN 11 THEN '200'
153179 WHEN 12 THEN '200'
153180 WHEN 13 THEN '200'
153181 WHEN 14 THEN '200'
153182 WHEN 15 THEN '200'
153183 WHEN 16 THEN '200'
153184 WHEN 17 THEN '200'
153185 WHEN 18 THEN '200'
153186 WHEN 19 THEN '200'
153187 WHEN 20 THEN '200'
153188 WHEN 21 THEN '200'
153189 WHEN 22 THEN '200'
153190 WHEN 23 THEN '200'
153191 WHEN 24 THEN '200'
153192 WHEN 25 THEN '200'
153193 WHEN 26 THEN '200'
153194 WHEN 27 THEN '200'
153195 WHEN 28 THEN '200'
153196 WHEN 29 THEN '200'
153197 WHEN 30 THEN '200'
153198 WHEN 31 THEN '200'
153199 WHEN 32 THEN '200'
153200 WHEN 33 THEN '200'
153201 WHEN 34 THEN '200'
153202 WHEN 35 THEN '200'
153203 WHEN 36 THEN '200'
153204 WHEN 37 THEN '200'
153205 WHEN 38 THEN '200'
153206 WHEN 39 THEN '200'
153207 WHEN 40 THEN '200'
153208 WHEN 41 THEN '200'
153209 WHEN 42 THEN '200'
153210 WHEN 43 THEN '200'
153211 WHEN 44 THEN '200'
153212 WHEN 45 THEN '200'
153213 WHEN 46 THEN '200'
153214 WHEN 47 THEN '200'
153215 WHEN 48 THEN '200'
153216 WHEN 49 THEN '200'
153217 WHEN 50 THEN '200'
153218
153219 ELSE null
153220 END source_application_id
153221 , 'S' source_type_code
153222 , CASE r
153223 WHEN 1 THEN 'AID_DESCRIPTION'
153224 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
153225 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
153226 WHEN 4 THEN 'AID_DIST_CCID'
153227 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
153228 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
153229 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
153233 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
153230 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
153231 WHEN 9 THEN 'ASAT_LIAB_CCID'
153232 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
153234 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
153235 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
153236 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
153237 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
153238 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
153239 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
153240 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
153241 WHEN 19 THEN 'UPG_ENC_CR_CCID'
153242 WHEN 20 THEN 'UPG_ENC_CR_AMT'
153243 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
153244 WHEN 22 THEN 'UPG_ENC_DR_CCID'
153245 WHEN 23 THEN 'UPG_ENC_DR_AMT'
153246 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
153247 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
153248 WHEN 26 THEN 'AID_AMOUNT'
153249 WHEN 27 THEN 'POH_RATE_DATE'
153250 WHEN 28 THEN 'POH_RATE'
153251 WHEN 29 THEN 'POH_RATE_TYPE'
153252 WHEN 30 THEN 'DEFERRED_END_DATE'
153253 WHEN 31 THEN 'DEFERRED_OPTION'
153254 WHEN 32 THEN 'DEFERRED_START_DATE'
153255 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
153256 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
153257 WHEN 35 THEN 'AID_STAT_AMOUNT'
153258 WHEN 36 THEN 'TAX_LINE_ID'
153259 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
153260 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
153261 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
153262 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
153263 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
153264 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
153265 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
153266 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
153267 WHEN 45 THEN 'BUS_FLOW_INV_ID'
153268 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
153269 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
153270 WHEN 48 THEN 'AID_PROJECT_ID'
153271 WHEN 49 THEN 'BUS_FLOW_RET_INV_DIST_ID'
153272 WHEN 50 THEN 'BUS_FLOW_RET_INV_ID'
153273
153274 ELSE null
153275 END source_code
153276 , CASE r
153277 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
153278 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
153279 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
153280 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
153281 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
153282 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
153283 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
153284 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
153285 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
153286 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
153287 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
153288 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
153289 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
153290 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
153291 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
153292 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
153293 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
153294 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
153295 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
153296 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
153297 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
153298 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
153299 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
153300 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
153301 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
153302 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
153303 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
153304 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
153305 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
153306 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
153307 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
153308 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
153309 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
153310 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
153311 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
153312 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
153313 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
153314 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
153315 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
153316 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
153317 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
153318 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
153319 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
153320 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
153321 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
153322 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
153323 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
153324 WHEN 48 THEN TO_CHAR(l1.AID_PROJECT_ID)
153325 WHEN 49 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_DIST_ID)
153326 WHEN 50 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_ID)
153327
153328 ELSE null
153329 END source_value
153330 , CASE r
153331 WHEN 3 THEN fvl22.meaning
153332 WHEN 5 THEN fvl33.meaning
153333 WHEN 33 THEN fvl79.meaning
153337 ELSE null
153334 WHEN 46 THEN fvl95.meaning
153335 WHEN 47 THEN fvl135.meaning
153336
153338 END source_meaning
153339 FROM xla_events_gt xet
153340 , AP_INVOICE_EXTRACT_DETAILS_V l1
153341 , AP_PO_HEADERS_EXTRACT_V l3
153342 , ZX_AP_DEF_TAX_EXTRACT_V l5
153343 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153344 , fnd_lookup_values fvl22
153345 , fnd_lookup_values fvl33
153346 , fnd_lookup_values fvl79
153347 , fnd_lookup_values fvl95
153348 , fnd_lookup_values fvl135
153349 , (select rownum r from all_objects where rownum <= 50 and owner = p_apps_owner)
153350 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
153351 AND xet.event_class_code = C_EVENT_CLASS_CODE
153352 AND l1.event_id = xet.event_id
153353 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'
153354 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153355 AND fvl22.view_application_id(+) = 201
153356 AND fvl22.language(+) = USERENV('LANG')
153357 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153358 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153359 AND fvl33.view_application_id(+) = 200
153360 AND fvl33.language(+) = USERENV('LANG')
153361 AND fvl79.lookup_type(+) = 'YES_NO'
153362 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153363 AND fvl79.view_application_id(+) = 0
153364 AND fvl79.language(+) = USERENV('LANG')
153365 AND fvl95.lookup_type(+) = 'YES_NO'
153366 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153367 AND fvl95.view_application_id(+) = 0
153368 AND fvl95.language(+) = USERENV('LANG')
153369 AND fvl135.lookup_type(+) = 'YES_NO'
153370 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153371 AND fvl135.view_application_id(+) = 0
153372 AND fvl135.language(+) = USERENV('LANG')
153373
153374 )
153375 ;
153376 --
153377 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153378
153379 trace
153380 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
153381 ,p_level => C_LEVEL_STATEMENT
153382 ,p_module => l_log_module);
153383
153384 END IF;
153385
153386
153387 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153388 trace
153389 (p_msg => 'END of insert_sources_229'
153390 ,p_level => C_LEVEL_PROCEDURE
153391 ,p_module => l_log_module);
153392 END IF;
153393 EXCEPTION
153394 WHEN xla_exceptions_pkg.application_exception THEN
153395 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153396 trace
153397 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153398 ,p_level => C_LEVEL_EXCEPTION
153399 ,p_module => l_log_module);
153400 END IF;
153401 RAISE;
153402 WHEN OTHERS THEN
153403 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153404 trace
153405 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153406 ,p_level => C_LEVEL_EXCEPTION
153407 ,p_module => l_log_module);
153408 END IF;
153409 xla_exceptions_pkg.raise_message
153410 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_229');
153411 END insert_sources_229;
153412 --
153413
153414 ---------------------------------------
153415 --
153416 -- PRIVATE FUNCTION
153417 -- EventClass_229
153418 --
153419 ----------------------------------------
153420 --
153421 FUNCTION EventClass_229
153422 (p_application_id IN NUMBER
153423 ,p_base_ledger_id IN NUMBER
153424 ,p_target_ledger_id IN NUMBER
153425 ,p_language IN VARCHAR2
153426 ,p_currency_code IN VARCHAR2
153427 ,p_sla_ledger_id IN NUMBER
153428 ,p_pad_start_date IN DATE
153429 ,p_pad_end_date IN DATE
153430 ,p_primary_ledger_id IN NUMBER)
153431 RETURN BOOLEAN IS
153432 --
153433 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
153434 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
153435
153436 l_calculate_acctd_flag VARCHAR2(1) :='N';
153437 l_calculate_g_l_flag VARCHAR2(1) :='N';
153438 --
153439 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153440 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153441 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153442 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153443 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153444 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153445 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153446 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153447 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153448 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153449 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153450 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153451 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153452 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153453 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153454 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153455 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153459 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153456 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153457 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153458 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153460 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153461 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
153462 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153463 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153464 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153465
153466 l_event_id NUMBER;
153467 l_previous_event_id NUMBER;
153468 l_first_event_id NUMBER;
153469 l_last_event_id NUMBER;
153470
153471 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
153472 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
153473 --
153474 --
153475 l_result BOOLEAN := TRUE;
153476 l_rows NUMBER := 1000;
153477 l_event_type_name VARCHAR2(80) := 'All';
153478 l_event_class_name VARCHAR2(80) := 'Invoices';
153479 l_description VARCHAR2(4000);
153480 l_transaction_reversal NUMBER;
153481 l_ae_header_id NUMBER;
153482 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
153483 l_log_module VARCHAR2(240);
153484 --
153485 l_acct_reversal_source VARCHAR2(30);
153486 l_trx_reversal_source VARCHAR2(30);
153487
153488 l_continue_with_lines BOOLEAN := TRUE;
153489 --
153490 l_acc_rev_gl_date_source DATE; -- 4262811
153491 --
153492 type t_array_event_id is table of number index by binary_integer;
153493
153494 l_rec_array_event t_rec_array_event;
153495 l_null_rec_array_event t_rec_array_event;
153496 l_array_ae_header_id xla_number_array_type;
153497 l_actual_flag VARCHAR2(1) := NULL;
153498 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
153499 l_balance_type_code VARCHAR2(1) :=NULL;
153500 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
153501
153502 --
153503 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
153504 --
153505
153506 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
153507 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
153508 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
153509 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
153510 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
153511 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
153512 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
153513 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
153514 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
153515 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
153516 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153517 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
153518 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
153519 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
153520 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
153521 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
153522 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
153523 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
153524 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
153525 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153526 TYPE t_array_source_163 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_SOURCE%TYPE INDEX BY BINARY_INTEGER;
153527 TYPE t_array_source_164 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153528 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
153529
153530 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
153531 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153532 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153533 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153534 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153535 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153536 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153537 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153538 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
153542 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153539 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
153540 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
153541 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153543 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153544 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153545 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153546 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
153547 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153548 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
153549 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
153550 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153551 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
153552 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
153553 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153554 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
153555 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153556 TYPE t_array_source_73 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
153557 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
153558 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153559 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
153560 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
153561 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
153562 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153563 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
153564 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153565 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153566 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153567 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153568 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153569 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153570 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153571 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153572 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153573 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153574 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
153575 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153576 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
153577 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PROJECT_ID%TYPE INDEX BY BINARY_INTEGER;
153578 TYPE t_array_source_166 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153579 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_ID%TYPE INDEX BY BINARY_INTEGER;
153580
153581 l_array_source_3 t_array_source_3;
153582 l_array_source_4 t_array_source_4;
153583 l_array_source_5 t_array_source_5;
153584 l_array_source_6 t_array_source_6;
153585 l_array_source_7 t_array_source_7;
153586 l_array_source_8 t_array_source_8;
153587 l_array_source_15 t_array_source_15;
153588 l_array_source_15_meaning t_array_lookup_meaning;
153589 l_array_source_20 t_array_source_20;
153590 l_array_source_23 t_array_source_23;
153591 l_array_source_34 t_array_source_34;
153592 l_array_source_40 t_array_source_40;
153593 l_array_source_47 t_array_source_47;
153594 l_array_source_47_meaning t_array_lookup_meaning;
153595 l_array_source_57 t_array_source_57;
153596 l_array_source_66 t_array_source_66;
153597 l_array_source_80 t_array_source_80;
153598 l_array_source_81 t_array_source_81;
153599 l_array_source_82 t_array_source_82;
153600 l_array_source_136 t_array_source_136;
153601 l_array_source_137 t_array_source_137;
153602 l_array_source_138 t_array_source_138;
153603 l_array_source_163 t_array_source_163;
153604 l_array_source_164 t_array_source_164;
153605 l_array_source_164_meaning t_array_lookup_meaning;
153606 l_array_source_168 t_array_source_168;
153607
153608 l_array_source_1 t_array_source_1;
153609 l_array_source_21 t_array_source_21;
153610 l_array_source_22 t_array_source_22;
153611 l_array_source_22_meaning t_array_lookup_meaning;
153615 l_array_source_42 t_array_source_42;
153612 l_array_source_30 t_array_source_30;
153613 l_array_source_33 t_array_source_33;
153614 l_array_source_33_meaning t_array_lookup_meaning;
153616 l_array_source_43 t_array_source_43;
153617 l_array_source_49 t_array_source_49;
153618 l_array_source_50 t_array_source_50;
153619 l_array_source_52 t_array_source_52;
153620 l_array_source_54 t_array_source_54;
153621 l_array_source_56 t_array_source_56;
153622 l_array_source_58 t_array_source_58;
153623 l_array_source_59 t_array_source_59;
153624 l_array_source_60 t_array_source_60;
153625 l_array_source_61 t_array_source_61;
153626 l_array_source_62 t_array_source_62;
153627 l_array_source_63 t_array_source_63;
153628 l_array_source_64 t_array_source_64;
153629 l_array_source_65 t_array_source_65;
153630 l_array_source_67 t_array_source_67;
153631 l_array_source_68 t_array_source_68;
153632 l_array_source_69 t_array_source_69;
153633 l_array_source_70 t_array_source_70;
153634 l_array_source_71 t_array_source_71;
153635 l_array_source_72 t_array_source_72;
153636 l_array_source_73 t_array_source_73;
153637 l_array_source_74 t_array_source_74;
153638 l_array_source_75 t_array_source_75;
153639 l_array_source_76 t_array_source_76;
153640 l_array_source_77 t_array_source_77;
153641 l_array_source_78 t_array_source_78;
153642 l_array_source_79 t_array_source_79;
153643 l_array_source_79_meaning t_array_lookup_meaning;
153644 l_array_source_83 t_array_source_83;
153645 l_array_source_84 t_array_source_84;
153646 l_array_source_85 t_array_source_85;
153647 l_array_source_86 t_array_source_86;
153648 l_array_source_87 t_array_source_87;
153649 l_array_source_88 t_array_source_88;
153650 l_array_source_89 t_array_source_89;
153651 l_array_source_90 t_array_source_90;
153652 l_array_source_91 t_array_source_91;
153653 l_array_source_92 t_array_source_92;
153654 l_array_source_93 t_array_source_93;
153655 l_array_source_94 t_array_source_94;
153656 l_array_source_95 t_array_source_95;
153657 l_array_source_95_meaning t_array_lookup_meaning;
153658 l_array_source_135 t_array_source_135;
153659 l_array_source_135_meaning t_array_lookup_meaning;
153660 l_array_source_146 t_array_source_146;
153661 l_array_source_166 t_array_source_166;
153662 l_array_source_167 t_array_source_167;
153663
153664 --
153665 CURSOR header_cur
153666 IS
153667 SELECT /*+ leading(xet) cardinality(xet,1) */
153668 -- Event Class Code: INVOICES
153669 xet.entity_id
153670 ,xet.legal_entity_id
153671 ,xet.entity_code
153672 ,xet.transaction_number
153673 ,xet.event_id
153674 ,xet.event_class_code
153675 ,xet.event_type_code
153676 ,xet.event_number
153677 ,xet.event_date
153678 ,xet.transaction_date
153679 ,xet.reference_num_1
153680 ,xet.reference_num_2
153681 ,xet.reference_num_3
153682 ,xet.reference_num_4
153683 ,xet.reference_char_1
153684 ,xet.reference_char_2
153685 ,xet.reference_char_3
153686 ,xet.reference_char_4
153687 ,xet.reference_date_1
153688 ,xet.reference_date_2
153689 ,xet.reference_date_3
153690 ,xet.reference_date_4
153691 ,xet.event_created_by
153692 ,xet.budgetary_control_flag
153693 , h2.INV_TRANSACTION_NUMBER source_3
153694 , h2.AI_INVOICE_DATE source_4
153695 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
153696 , h2.DOC_SEQUENCE_NAME source_6
153697 , h2.INV_DOC_SEQUENCE_VALUE source_7
153698 , h2.AI_DESCRIPTION source_8
153699 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
153700 , fvl15.meaning source_15_meaning
153701 , h4.ASP_RATE_VAR_GAIN_CCID source_20
153702 , h4.ASP_RATE_VAR_LOSS_CCID source_23
153703 , h2.AI_ACCTS_PAY_CCID source_34
153704 , h4.FSP_RETAINAGE_ACCOUNT source_40
153705 , h4.ASP_AUTO_OFFSET_FLAG source_47
153706 , fvl47.meaning source_47_meaning
153707 , h2.AI_INVOICE_ID source_57
153708 , h2.AI_INVOICE_CURRENCY_CODE source_66
153709 , h2.AI_VENDOR_ID source_80
153710 , h2.AI_VENDOR_SITE_ID source_81
153711 , h2.THIRD_PARTY_TYPE source_82
153712 , h2.INV_EXCHANGE_DATE source_136
153713 , h2.INV_EXCHANGE_RATE source_137
153714 , h2.INV_EXCHANGE_RATE_TYPE source_138
153715 , h2.AI_SOURCE source_163
153716 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_164
153717 , fvl164.meaning source_164_meaning
153718 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
153719 FROM xla_events_gt xet
153720 , AP_INVOICE_EXTRACT_HEADER_V h2
153721 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
153722 , fnd_lookup_values fvl15
153723 , fnd_lookup_values fvl47
153724 , fnd_lookup_values fvl164
153725 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
153726 and xet.event_class_code = C_EVENT_CLASS_CODE
153727 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
153728 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
153729 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
153730 AND fvl15.view_application_id(+) = 200
153731 AND fvl15.language(+) = USERENV('LANG')
153732 AND fvl47.lookup_type(+) = 'YES_NO'
153733 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
153734 AND fvl47.view_application_id(+) = 0
153735 AND fvl47.language(+) = USERENV('LANG')
153736 AND fvl164.lookup_type(+) = 'INVOICE TYPE'
153737 AND fvl164.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
153738 AND fvl164.view_application_id(+) = 200
153739 AND fvl164.language(+) = USERENV('LANG')
153740
153741 ORDER BY event_id
153742 ;
153743
153744
153745 --
153746 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
153747 IS
153751 ,xet.legal_entity_id
153748 SELECT /*+ leading(xet) cardinality(xet,1) */
153749 -- Event Class Code: INVOICES
153750 xet.entity_id
153752 ,xet.entity_code
153753 ,xet.transaction_number
153754 ,xet.event_id
153755 ,xet.event_class_code
153756 ,xet.event_type_code
153757 ,xet.event_number
153758 ,xet.event_date
153759 ,xet.transaction_date
153760 ,xet.reference_num_1
153761 ,xet.reference_num_2
153762 ,xet.reference_num_3
153763 ,xet.reference_num_4
153764 ,xet.reference_char_1
153765 ,xet.reference_char_2
153766 ,xet.reference_char_3
153767 ,xet.reference_char_4
153768 ,xet.reference_date_1
153769 ,xet.reference_date_2
153770 ,xet.reference_date_3
153771 ,xet.reference_date_4
153772 ,xet.event_created_by
153773 ,xet.budgetary_control_flag
153774 , l1.LINE_NUMBER
153775 , l1.AID_DESCRIPTION source_1
153776 , l1.INV_DIST_BASE_AMOUNT source_21
153777 , l1.RELATED_INV_DIST_DEST_TYPE source_22
153778 , fvl22.meaning source_22_meaning
153779 , l1.AID_DIST_CCID source_30
153780 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
153781 , fvl33.meaning source_33_meaning
153782 , l1.AID_RET_RELATED_DIST_CCID source_42
153783 , l1.AWT_RELATED_DIST_ACCOUNT source_43
153784 , l1.SELF_ASSESSED_TAX_ACCOUNT source_49
153785 , l1.ASAT_LIAB_CCID source_50
153786 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
153787 , l1.DISTRIBUTION_LINK_TYPE source_54
153788 , l1.ALLOC_TO_MAIN_DIST_ID source_56
153789 , l1.BUS_FLOW_PO_APP_ID source_58
153790 , l1.BUS_FLOW_PO_DIST_TYPE source_59
153791 , l1.BUS_FLOW_PO_ENTITY_CODE source_60
153792 , l1.BUS_FLOW_PO_DIST_ID source_61
153793 , l1.BUS_FLOW_PO_DOC_ID source_62
153794 , l1.AID_INVOICE_DIST_ID source_63
153795 , l1.UPG_ENC_CR_CCID source_64
153796 , l1.UPG_ENC_CR_AMT source_65
153797 , l1.UPG_ENC_CR_BASE_AMT source_67
153798 , l1.UPG_ENC_DR_CCID source_68
153799 , l1.UPG_ENC_DR_AMT source_69
153800 , l1.UPG_ENC_DR_BASE_AMT source_70
153801 , l1.UPG_AP_ENCUM_OPTION source_71
153802 , l1.AID_AMOUNT source_72
153803 , l3.POH_RATE_DATE source_73
153804 , l3.POH_RATE source_74
153805 , l3.POH_RATE_TYPE source_75
153806 , l1.DEFERRED_END_DATE source_76
153807 , l1.DEFERRED_OPTION source_77
153808 , l1.DEFERRED_START_DATE source_78
153809 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
153810 , fvl79.meaning source_79_meaning
153811 , l1.AID_PARENT_REVERSAL_ID source_83
153812 , l1.AID_STAT_AMOUNT source_84
153813 , l5.TAX_LINE_ID source_85
153814 , l6.REC_NREC_TAX_DIST_ID source_86
153815 , l1.SUMMARY_TAX_LINE_ID source_87
153816 , l1.UPG_CR_ENC_TYPE_ID source_88
153817 , l1.UPG_DR_ENC_TYPE_ID source_89
153818 , l1.BUS_FLOW_AP_APP_ID source_90
153819 , l1.BUS_FLOW_INV_DIST_TYPE source_91
153820 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
153821 , l1.BUS_FLOW_INV_DIST_ID source_93
153822 , l1.BUS_FLOW_INV_ID source_94
153823 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_95
153824 , fvl95.meaning source_95_meaning
153825 , l1.SELF_ASSESSED_TAX_FLAG source_135
153826 , fvl135.meaning source_135_meaning
153827 , l1.AID_PROJECT_ID source_146
153828 , l1.BUS_FLOW_RET_INV_DIST_ID source_166
153829 , l1.BUS_FLOW_RET_INV_ID source_167
153830 FROM xla_events_gt xet
153831 , AP_INVOICE_EXTRACT_DETAILS_V l1
153832 , AP_PO_HEADERS_EXTRACT_V l3
153833 , ZX_AP_DEF_TAX_EXTRACT_V l5
153834 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153835 , fnd_lookup_values fvl22
153836 , fnd_lookup_values fvl33
153837 , fnd_lookup_values fvl79
153838 , fnd_lookup_values fvl95
153839 , fnd_lookup_values fvl135
153840 WHERE xet.event_id between x_first_event_id and x_last_event_id
153841 and xet.event_date between p_pad_start_date and p_pad_end_date
153842 and xet.event_class_code = C_EVENT_CLASS_CODE
153843 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
153844 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'
153845 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153846 AND fvl22.view_application_id(+) = 201
153847 AND fvl22.language(+) = USERENV('LANG')
153848 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153849 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153850 AND fvl33.view_application_id(+) = 200
153851 AND fvl33.language(+) = USERENV('LANG')
153852 AND fvl79.lookup_type(+) = 'YES_NO'
153853 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153854 AND fvl79.view_application_id(+) = 0
153855 AND fvl79.language(+) = USERENV('LANG')
153856 AND fvl95.lookup_type(+) = 'YES_NO'
153857 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153858 AND fvl95.view_application_id(+) = 0
153859 AND fvl95.language(+) = USERENV('LANG')
153860 AND fvl135.lookup_type(+) = 'YES_NO'
153861 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153862 AND fvl135.view_application_id(+) = 0
153863 AND fvl135.language(+) = USERENV('LANG')
153864 ;
153865
153866 --
153867 BEGIN
153868 IF g_log_enabled THEN
153869 l_log_module := C_DEFAULT_MODULE||'.EventClass_229';
153870 END IF;
153871 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153872 trace
153873 (p_msg => 'BEGIN of EventClass_229'
153874 ,p_level => C_LEVEL_PROCEDURE
153875 ,p_module => l_log_module);
153876 END IF;
153877
153878 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153879 trace
153880 (p_msg => 'p_application_id = '||p_application_id||
153881 ' - p_base_ledger_id = '||p_base_ledger_id||
153885 ' - p_sla_ledger_id = '||p_sla_ledger_id
153882 ' - p_target_ledger_id = '||p_target_ledger_id||
153883 ' - p_language = '||p_language||
153884 ' - p_currency_code = '||p_currency_code||
153886 ,p_level => C_LEVEL_STATEMENT
153887 ,p_module => l_log_module);
153888 END IF;
153889 --
153890 -- initialze arrays
153891 --
153892 g_array_event.DELETE;
153893 l_rec_array_event := l_null_rec_array_event;
153894 --
153895 --------------------------------------
153896 -- 4262811 Initialze MPA Line Number
153897 --------------------------------------
153898 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
153899
153900 --
153901
153902 --
153903 OPEN header_cur;
153904 --
153905 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153906 trace
153907 (p_msg => 'SQL - FETCH header_cur'
153908 ,p_level => C_LEVEL_STATEMENT
153909 ,p_module => l_log_module);
153910 END IF;
153911 --
153912 LOOP
153913 FETCH header_cur BULK COLLECT INTO
153914 l_array_entity_id
153915 , l_array_legal_entity_id
153916 , l_array_entity_code
153917 , l_array_transaction_num
153918 , l_array_event_id
153919 , l_array_class_code
153920 , l_array_event_type
153921 , l_array_event_number
153922 , l_array_event_date
153923 , l_array_transaction_date
153924 , l_array_reference_num_1
153925 , l_array_reference_num_2
153926 , l_array_reference_num_3
153927 , l_array_reference_num_4
153928 , l_array_reference_char_1
153929 , l_array_reference_char_2
153930 , l_array_reference_char_3
153931 , l_array_reference_char_4
153932 , l_array_reference_date_1
153933 , l_array_reference_date_2
153934 , l_array_reference_date_3
153935 , l_array_reference_date_4
153936 , l_array_event_created_by
153937 , l_array_budgetary_control_flag
153938 , l_array_source_3
153939 , l_array_source_4
153940 , l_array_source_5
153941 , l_array_source_6
153942 , l_array_source_7
153943 , l_array_source_8
153944 , l_array_source_15
153945 , l_array_source_15_meaning
153946 , l_array_source_20
153947 , l_array_source_23
153948 , l_array_source_34
153949 , l_array_source_40
153950 , l_array_source_47
153951 , l_array_source_47_meaning
153952 , l_array_source_57
153953 , l_array_source_66
153954 , l_array_source_80
153955 , l_array_source_81
153956 , l_array_source_82
153957 , l_array_source_136
153958 , l_array_source_137
153959 , l_array_source_138
153960 , l_array_source_163
153961 , l_array_source_164
153962 , l_array_source_164_meaning
153963 , l_array_source_168
153964 LIMIT l_rows;
153965 --
153966 IF (C_LEVEL_EVENT >= g_log_level) THEN
153967 trace
153968 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
153969 ,p_level => C_LEVEL_EVENT
153970 ,p_module => l_log_module);
153971 END IF;
153972 --
153973 EXIT WHEN l_array_entity_id.COUNT = 0;
153974
153975 -- initialize arrays
153976 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
153977 XLA_AE_LINES_PKG.g_rec_lines := NULL;
153978
153979 --
153980 -- Bug 4458708
153981 --
153982 XLA_AE_LINES_PKG.g_LineNumber := 0;
153983
153984
153985 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
153986 g_last_hdr_idx := l_array_event_id.LAST;
153987 --
153988 -- loop for the headers. Each iteration is for each header extract row
153989 -- fetched in header cursor
153990 --
153991 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
153992
153993 --
153994 -- set event info as cache for other routines to refer event attributes
153995 --
153996 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
153997 (p_application_id => p_application_id
153998 ,p_primary_ledger_id => p_primary_ledger_id
153999 ,p_base_ledger_id => p_base_ledger_id
154000 ,p_target_ledger_id => p_target_ledger_id
154001 ,p_entity_id => l_array_entity_id(hdr_idx)
154002 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
154003 ,p_entity_code => l_array_entity_code(hdr_idx)
154004 ,p_transaction_num => l_array_transaction_num(hdr_idx)
154005 ,p_event_id => l_array_event_id(hdr_idx)
154006 ,p_event_class_code => l_array_class_code(hdr_idx)
154007 ,p_event_type_code => l_array_event_type(hdr_idx)
154008 ,p_event_number => l_array_event_number(hdr_idx)
154009 ,p_event_date => l_array_event_date(hdr_idx)
154010 ,p_transaction_date => l_array_transaction_date(hdr_idx)
154011 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
154012 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
154013 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
154014 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
154015 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
154016 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
154017 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
154018 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
154019 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
154020 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
154021 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
154022 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
154023 ,p_event_created_by => l_array_event_created_by(hdr_idx)
154024 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
154025
154029 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
154026 --
154027 -- set the status of entry to C_VALID (0)
154028 --
154030
154031 --
154032 -- initialize a row for ae header
154033 --
154034 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
154035
154036 l_event_id := l_array_event_id(hdr_idx);
154037
154038 --
154039 -- storing the hdr_idx for event. May be used by line cursor.
154040 --
154041 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
154042
154043 --
154044 -- store sources from header extract. This can be improved to
154045 -- store only those sources from header extract that may be used in lines
154046 --
154047
154048 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
154049 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
154050 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
154051 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
154052 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
154053 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
154054 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
154055 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
154056 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
154057 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
154058 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
154059 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
154060 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
154061 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
154062 g_array_event(l_event_id).array_value_num('source_57') := l_array_source_57(hdr_idx);
154063 g_array_event(l_event_id).array_value_char('source_66') := l_array_source_66(hdr_idx);
154064 g_array_event(l_event_id).array_value_num('source_80') := l_array_source_80(hdr_idx);
154065 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
154066 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
154067 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
154068 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
154069 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
154070 g_array_event(l_event_id).array_value_char('source_163') := l_array_source_163(hdr_idx);
154071 g_array_event(l_event_id).array_value_char('source_164') := l_array_source_164(hdr_idx);
154072 g_array_event(l_event_id).array_value_char('source_164_meaning') := l_array_source_164_meaning(hdr_idx);
154073 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
154074
154075 --
154076 -- initilaize the status of ae headers for diffrent balance types
154077 -- the status is initialised to C_NOT_CREATED (2)
154078 --
154079 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154080 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154081 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154082
154083 --
154084 -- call api to validate and store accounting attributes for header
154085 --
154086
154087 ------------------------------------------------------------
154088 -- Accrual Reversal : to get date for Standard Source (NONE)
154089 ------------------------------------------------------------
154090 l_acc_rev_gl_date_source := NULL;
154091
154092 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
154093 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
154094 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
154095 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
154096 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
154097 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
154098 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
154099 l_rec_acct_attrs.array_date_value(4) :=
154100 xla_ae_sources_pkg.GetSystemSourceDate(
154101 p_source_code => 'XLA_EVENT_DATE'
154102 , p_source_type_code => 'Y'
154103 , p_source_application_id => 602
154104 );
154105
154106
154107 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
154108
154109 XLA_AE_HEADER_PKG.SetJeCategoryName;
154110
154111 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
154112 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
154113 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
154114 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
154115 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
154116
154117
154118 --
154119 xla_ae_header_pkg.SetHdrDescription(
154120 p_description => Description_2 (
154121 p_application_id => p_application_id
154122 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
154123 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
154124 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
154125 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
154126 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
154127 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
154128 )
154129 );
154130 --
154131
154132 -- No header level analytical criteria
154133
154134 --
154138
154135 --accounting attribute enhancement, bug 3612931
154136 --
154137 l_trx_reversal_source := SUBSTR(NULL, 1,30);
154139 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
154140 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
154141
154142 xla_accounting_err_pkg.build_message
154143 (p_appli_s_name => 'XLA'
154144 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
154145 ,p_token_1 => 'ACCT_ATTR_NAME'
154146 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
154147 ,p_token_2 => 'PRODUCT_NAME'
154148 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
154149 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
154150 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
154151 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
154152
154153 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
154154 --
154155 -- following sets the accounting attributes needed to reverse
154156 -- accounting for a distributeion
154157 --
154158 xla_ae_lines_pkg.SetTrxReversalAttrs
154159 (p_event_id => l_event_id
154160 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
154161 ,p_trx_reversal_source => l_trx_reversal_source);
154162
154163 END IF;
154164
154165
154166 ----------------------------------------------------------------
154167 -- 4262811 - update the header statuses to invalid in need be
154168 ----------------------------------------------------------------
154169 --
154170 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
154171
154172
154173 -----------------------------------------------
154174 -- No accrual reversal for the event class/type
154175 -----------------------------------------------
154176 ----------------------------------------------------------------
154177
154178 --
154179 -- this ends the header loop iteration for one bulk fetch
154180 --
154181 END LOOP;
154182
154183 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
154184 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
154185
154186 --
154187 -- insert dummy rows into lines gt table that were created due to
154188 -- transaction reversals
154189 --
154190 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
154191 l_result := XLA_AE_LINES_PKG.InsertLines;
154192 END IF;
154193
154194 --
154195 -- reset the temp_line_num for each set of events fetched from header
154196 -- cursor rather than doing it for each new event in line cursor
154197 -- Bug 3939231
154198 --
154199 xla_ae_lines_pkg.g_temp_line_num := 0;
154200
154201
154202
154203 --
154204 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
154205 --
154206 --
154207 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
154208
154209 trace
154210 (p_msg => 'SQL - FETCH line_cur'
154211 ,p_level => C_LEVEL_STATEMENT
154212 ,p_module => l_log_module);
154213
154214 END IF;
154215 --
154216 --
154217 LOOP
154218 --
154219 FETCH line_cur BULK COLLECT INTO
154220 l_array_entity_id
154221 , l_array_legal_entity_id
154222 , l_array_entity_code
154223 , l_array_transaction_num
154224 , l_array_event_id
154225 , l_array_class_code
154226 , l_array_event_type
154227 , l_array_event_number
154228 , l_array_event_date
154229 , l_array_transaction_date
154230 , l_array_reference_num_1
154231 , l_array_reference_num_2
154232 , l_array_reference_num_3
154233 , l_array_reference_num_4
154234 , l_array_reference_char_1
154235 , l_array_reference_char_2
154236 , l_array_reference_char_3
154237 , l_array_reference_char_4
154238 , l_array_reference_date_1
154239 , l_array_reference_date_2
154240 , l_array_reference_date_3
154241 , l_array_reference_date_4
154242 , l_array_event_created_by
154243 , l_array_budgetary_control_flag
154244 , l_array_extract_line_num
154245 , l_array_source_1
154246 , l_array_source_21
154247 , l_array_source_22
154248 , l_array_source_22_meaning
154249 , l_array_source_30
154250 , l_array_source_33
154251 , l_array_source_33_meaning
154252 , l_array_source_42
154253 , l_array_source_43
154254 , l_array_source_49
154255 , l_array_source_50
154256 , l_array_source_52
154257 , l_array_source_54
154258 , l_array_source_56
154259 , l_array_source_58
154260 , l_array_source_59
154261 , l_array_source_60
154262 , l_array_source_61
154263 , l_array_source_62
154264 , l_array_source_63
154265 , l_array_source_64
154266 , l_array_source_65
154267 , l_array_source_67
154268 , l_array_source_68
154269 , l_array_source_69
154270 , l_array_source_70
154271 , l_array_source_71
154272 , l_array_source_72
154273 , l_array_source_73
154274 , l_array_source_74
154275 , l_array_source_75
154276 , l_array_source_76
154277 , l_array_source_77
154278 , l_array_source_78
154279 , l_array_source_79
154280 , l_array_source_79_meaning
154281 , l_array_source_83
154282 , l_array_source_84
154283 , l_array_source_85
154284 , l_array_source_86
154285 , l_array_source_87
154286 , l_array_source_88
154287 , l_array_source_89
154288 , l_array_source_90
154289 , l_array_source_91
154293 , l_array_source_95
154290 , l_array_source_92
154291 , l_array_source_93
154292 , l_array_source_94
154294 , l_array_source_95_meaning
154295 , l_array_source_135
154296 , l_array_source_135_meaning
154297 , l_array_source_146
154298 , l_array_source_166
154299 , l_array_source_167
154300 LIMIT l_rows;
154301
154302 --
154303 IF (C_LEVEL_EVENT >= g_log_level) THEN
154304 trace
154305 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
154306 ,p_level => C_LEVEL_EVENT
154307 ,p_module => l_log_module);
154308 END IF;
154309 --
154310 EXIT WHEN l_array_entity_id.count = 0;
154311
154312 XLA_AE_LINES_PKG.g_rec_lines := null;
154313
154314 --
154315 -- Bug 4458708
154316 --
154317 XLA_AE_LINES_PKG.g_LineNumber := 0;
154318 --
154319 --
154320
154321 FOR Idx IN 1..l_array_event_id.count LOOP
154322 --
154323 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
154324 --
154325 l_event_id := l_array_event_id(idx); -- 5648433
154326
154327 --
154328 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
154329 --
154330
154331 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
154332 (g_array_event(l_event_id).array_value_num('header_index'))
154333 ,'N'
154334 ) <> 'Y'
154335 THEN
154336 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
154337 trace
154338 (p_msg => 'Trancaction revesal option is not Y '
154339 ,p_level => C_LEVEL_STATEMENT
154340 ,p_module => l_log_module);
154341 END IF;
154342
154343 --
154344 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
154345 --
154346 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
154347 --
154348 -- set event info as cache for other routines to refer event attributes
154349 --
154350
154351 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
154352 l_previous_event_id := l_event_id;
154353
154354 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
154355 (p_application_id => p_application_id
154356 ,p_primary_ledger_id => p_primary_ledger_id
154357 ,p_base_ledger_id => p_base_ledger_id
154358 ,p_target_ledger_id => p_target_ledger_id
154359 ,p_entity_id => l_array_entity_id(Idx)
154360 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
154361 ,p_entity_code => l_array_entity_code(Idx)
154362 ,p_transaction_num => l_array_transaction_num(Idx)
154363 ,p_event_id => l_array_event_id(Idx)
154364 ,p_event_class_code => l_array_class_code(Idx)
154365 ,p_event_type_code => l_array_event_type(Idx)
154366 ,p_event_number => l_array_event_number(Idx)
154367 ,p_event_date => l_array_event_date(Idx)
154368 ,p_transaction_date => l_array_transaction_date(Idx)
154369 ,p_reference_num_1 => l_array_reference_num_1(Idx)
154370 ,p_reference_num_2 => l_array_reference_num_2(Idx)
154371 ,p_reference_num_3 => l_array_reference_num_3(Idx)
154372 ,p_reference_num_4 => l_array_reference_num_4(Idx)
154373 ,p_reference_char_1 => l_array_reference_char_1(Idx)
154374 ,p_reference_char_2 => l_array_reference_char_2(Idx)
154375 ,p_reference_char_3 => l_array_reference_char_3(Idx)
154376 ,p_reference_char_4 => l_array_reference_char_4(Idx)
154377 ,p_reference_date_1 => l_array_reference_date_1(Idx)
154378 ,p_reference_date_2 => l_array_reference_date_2(Idx)
154379 ,p_reference_date_3 => l_array_reference_date_3(Idx)
154380 ,p_reference_date_4 => l_array_reference_date_4(Idx)
154381 ,p_event_created_by => l_array_event_created_by(Idx)
154382 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
154383 --
154384 END IF;
154385
154386
154387
154388 --
154389 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
154390
154391 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
154392
154393 IF l_continue_with_lines THEN
154394 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
154395 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
154396
154397 xla_accounting_err_pkg.build_message
154398 (p_appli_s_name => 'XLA'
154399 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
154400 ,p_token_1 => 'LINE_NUMBER'
154401 ,p_value_1 => l_array_extract_line_num(Idx)
154402 ,p_token_2 => 'PRODUCT_NAME'
154403 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
154404 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
154405 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
154406 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
154407
154408 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
154409 --
154410 -- following sets the accounting attributes needed to reverse
154411 -- accounting for a distributeion
154412 --
154413
154414 --
154415 -- 5217187
154416 --
154417 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
154418 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
154419 g_array_event(l_event_id).array_value_num('header_index'));
154420 --
154421 --
154422
154426 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_63(Idx);
154423 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
154424 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
154425 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
154427 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
154428 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
154429 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
154430 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_64(Idx);
154431 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
154432 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_65(Idx);
154433 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
154434 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_66');
154435 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
154436 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_67(Idx);
154437 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
154438 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_68(Idx);
154439 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
154440 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_69(Idx);
154441 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
154442 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_66');
154443 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
154444 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_70(Idx);
154445 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
154446 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_71(Idx);
154447 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
154448 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_82');
154449 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
154450 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_83(Idx);
154451 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
154452 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_54(Idx);
154453 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
154454 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_85(Idx);
154455 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
154456 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_86(Idx);
154457 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
154458 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_87(Idx);
154459 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
154460 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_88(Idx);
154461 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
154462 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_89(Idx);
154463
154464
154465 xla_ae_lines_pkg.SetAcctReversalAttrs
154466 (p_event_id => l_event_id
154467 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
154468 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154469 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
154470 END IF;
154471
154472 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
154473 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
154474
154475 --
154476 AcctLineType_48 (
154477 p_application_id => p_application_id
154478 ,p_event_id => l_event_id
154479 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154480 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154481 ,p_actual_flag => l_actual_flag
154482 ,p_balance_type_code => l_balance_type_code
154483 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154484
154485 , p_source_1 => l_array_source_1(Idx)
154486 , p_source_21 => l_array_source_21(Idx)
154487 , p_source_30 => l_array_source_30(Idx)
154488 , p_source_33 => l_array_source_33(Idx)
154489 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154490 , p_source_52 => l_array_source_52(Idx)
154491 , p_source_54 => l_array_source_54(Idx)
154492 , p_source_56 => l_array_source_56(Idx)
154493 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154494 , p_source_58 => l_array_source_58(Idx)
154495 , p_source_59 => l_array_source_59(Idx)
154496 , p_source_60 => l_array_source_60(Idx)
154497 , p_source_61 => l_array_source_61(Idx)
154498 , p_source_62 => l_array_source_62(Idx)
154499 , p_source_63 => l_array_source_63(Idx)
154500 , p_source_64 => l_array_source_64(Idx)
154501 , p_source_65 => l_array_source_65(Idx)
154502 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154503 , p_source_67 => l_array_source_67(Idx)
154504 , p_source_68 => l_array_source_68(Idx)
154505 , p_source_69 => l_array_source_69(Idx)
154506 , p_source_70 => l_array_source_70(Idx)
154507 , p_source_71 => l_array_source_71(Idx)
154508 , p_source_72 => l_array_source_72(Idx)
154509 , p_source_73 => l_array_source_73(Idx)
154510 , p_source_74 => l_array_source_74(Idx)
154511 , p_source_75 => l_array_source_75(Idx)
154512 , p_source_76 => l_array_source_76(Idx)
154513 , p_source_77 => l_array_source_77(Idx)
154514 , p_source_78 => l_array_source_78(Idx)
154515 , p_source_79 => l_array_source_79(Idx)
154516 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154517 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154518 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154519 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154520 , p_source_83 => l_array_source_83(Idx)
154521 , p_source_84 => l_array_source_84(Idx)
154522 , p_source_85 => l_array_source_85(Idx)
154526 , p_source_89 => l_array_source_89(Idx)
154523 , p_source_86 => l_array_source_86(Idx)
154524 , p_source_87 => l_array_source_87(Idx)
154525 , p_source_88 => l_array_source_88(Idx)
154527 );
154528 If(l_balance_type_code = 'A') THEN
154529 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154530 END IF;
154531
154532 --
154533
154534
154535 --
154536 AcctLineType_52 (
154537 p_application_id => p_application_id
154538 ,p_event_id => l_event_id
154539 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154540 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154541 ,p_actual_flag => l_actual_flag
154542 ,p_balance_type_code => l_balance_type_code
154543 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154544
154545 , p_source_1 => l_array_source_1(Idx)
154546 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154547 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154548 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154549 , p_source_21 => l_array_source_21(Idx)
154550 , p_source_22 => l_array_source_22(Idx)
154551 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154552 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154553 , p_source_30 => l_array_source_30(Idx)
154554 , p_source_33 => l_array_source_33(Idx)
154555 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154556 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154557 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154558 , p_source_52 => l_array_source_52(Idx)
154559 , p_source_54 => l_array_source_54(Idx)
154560 , p_source_56 => l_array_source_56(Idx)
154561 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154562 , p_source_63 => l_array_source_63(Idx)
154563 , p_source_64 => l_array_source_64(Idx)
154564 , p_source_65 => l_array_source_65(Idx)
154565 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154566 , p_source_67 => l_array_source_67(Idx)
154567 , p_source_68 => l_array_source_68(Idx)
154568 , p_source_69 => l_array_source_69(Idx)
154569 , p_source_70 => l_array_source_70(Idx)
154570 , p_source_71 => l_array_source_71(Idx)
154571 , p_source_72 => l_array_source_72(Idx)
154572 , p_source_76 => l_array_source_76(Idx)
154573 , p_source_77 => l_array_source_77(Idx)
154574 , p_source_78 => l_array_source_78(Idx)
154575 , p_source_79 => l_array_source_79(Idx)
154576 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154577 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154578 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154579 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154580 , p_source_83 => l_array_source_83(Idx)
154581 , p_source_84 => l_array_source_84(Idx)
154582 , p_source_85 => l_array_source_85(Idx)
154583 , p_source_86 => l_array_source_86(Idx)
154584 , p_source_87 => l_array_source_87(Idx)
154585 , p_source_88 => l_array_source_88(Idx)
154586 , p_source_89 => l_array_source_89(Idx)
154587 , p_source_90 => l_array_source_90(Idx)
154588 , p_source_91 => l_array_source_91(Idx)
154589 , p_source_92 => l_array_source_92(Idx)
154590 , p_source_93 => l_array_source_93(Idx)
154591 , p_source_94 => l_array_source_94(Idx)
154592 );
154593 If(l_balance_type_code = 'A') THEN
154594 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154595 END IF;
154596
154597 --
154598
154599
154600 --
154601 AcctLineType_56 (
154602 p_application_id => p_application_id
154603 ,p_event_id => l_event_id
154604 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154605 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154606 ,p_actual_flag => l_actual_flag
154607 ,p_balance_type_code => l_balance_type_code
154608 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154609
154610 , p_source_1 => l_array_source_1(Idx)
154611 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154612 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154613 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154614 , p_source_21 => l_array_source_21(Idx)
154615 , p_source_22 => l_array_source_22(Idx)
154616 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154617 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154618 , p_source_30 => l_array_source_30(Idx)
154619 , p_source_33 => l_array_source_33(Idx)
154620 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154621 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154622 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154623 , p_source_52 => l_array_source_52(Idx)
154624 , p_source_54 => l_array_source_54(Idx)
154625 , p_source_56 => l_array_source_56(Idx)
154626 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154627 , p_source_63 => l_array_source_63(Idx)
154628 , p_source_64 => l_array_source_64(Idx)
154629 , p_source_65 => l_array_source_65(Idx)
154630 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154631 , p_source_67 => l_array_source_67(Idx)
154632 , p_source_68 => l_array_source_68(Idx)
154633 , p_source_69 => l_array_source_69(Idx)
154634 , p_source_70 => l_array_source_70(Idx)
154635 , p_source_71 => l_array_source_71(Idx)
154636 , p_source_72 => l_array_source_72(Idx)
154637 , p_source_76 => l_array_source_76(Idx)
154638 , p_source_77 => l_array_source_77(Idx)
154639 , p_source_78 => l_array_source_78(Idx)
154640 , p_source_79 => l_array_source_79(Idx)
154641 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154642 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154643 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154644 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154645 , p_source_83 => l_array_source_83(Idx)
154646 , p_source_84 => l_array_source_84(Idx)
154650 , p_source_88 => l_array_source_88(Idx)
154647 , p_source_85 => l_array_source_85(Idx)
154648 , p_source_86 => l_array_source_86(Idx)
154649 , p_source_87 => l_array_source_87(Idx)
154651 , p_source_89 => l_array_source_89(Idx)
154652 , p_source_90 => l_array_source_90(Idx)
154653 , p_source_91 => l_array_source_91(Idx)
154654 , p_source_92 => l_array_source_92(Idx)
154655 , p_source_93 => l_array_source_93(Idx)
154656 , p_source_94 => l_array_source_94(Idx)
154657 , p_source_95 => l_array_source_95(Idx)
154658 , p_source_95_meaning => l_array_source_95_meaning(Idx)
154659 );
154660 If(l_balance_type_code = 'A') THEN
154661 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154662 END IF;
154663
154664 --
154665
154666
154667 --
154668 AcctLineType_107 (
154669 p_application_id => p_application_id
154670 ,p_event_id => l_event_id
154671 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154672 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154673 ,p_actual_flag => l_actual_flag
154674 ,p_balance_type_code => l_balance_type_code
154675 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154676
154677 , p_source_1 => l_array_source_1(Idx)
154678 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154679 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154680 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154681 , p_source_21 => l_array_source_21(Idx)
154682 , p_source_22 => l_array_source_22(Idx)
154683 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154684 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154685 , p_source_30 => l_array_source_30(Idx)
154686 , p_source_33 => l_array_source_33(Idx)
154687 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154688 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154689 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154690 , p_source_52 => l_array_source_52(Idx)
154691 , p_source_54 => l_array_source_54(Idx)
154692 , p_source_56 => l_array_source_56(Idx)
154693 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154694 , p_source_63 => l_array_source_63(Idx)
154695 , p_source_64 => l_array_source_64(Idx)
154696 , p_source_65 => l_array_source_65(Idx)
154697 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154698 , p_source_67 => l_array_source_67(Idx)
154699 , p_source_68 => l_array_source_68(Idx)
154700 , p_source_69 => l_array_source_69(Idx)
154701 , p_source_70 => l_array_source_70(Idx)
154702 , p_source_71 => l_array_source_71(Idx)
154703 , p_source_72 => l_array_source_72(Idx)
154704 , p_source_76 => l_array_source_76(Idx)
154705 , p_source_77 => l_array_source_77(Idx)
154706 , p_source_78 => l_array_source_78(Idx)
154707 , p_source_79 => l_array_source_79(Idx)
154708 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154709 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154710 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154711 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154712 , p_source_83 => l_array_source_83(Idx)
154713 , p_source_84 => l_array_source_84(Idx)
154714 , p_source_85 => l_array_source_85(Idx)
154715 , p_source_86 => l_array_source_86(Idx)
154716 , p_source_87 => l_array_source_87(Idx)
154717 , p_source_88 => l_array_source_88(Idx)
154718 , p_source_89 => l_array_source_89(Idx)
154719 , p_source_90 => l_array_source_90(Idx)
154720 , p_source_91 => l_array_source_91(Idx)
154721 , p_source_92 => l_array_source_92(Idx)
154722 , p_source_93 => l_array_source_93(Idx)
154723 , p_source_94 => l_array_source_94(Idx)
154724 , p_source_95 => l_array_source_95(Idx)
154725 , p_source_95_meaning => l_array_source_95_meaning(Idx)
154726 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
154727 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
154728 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
154729 );
154730 If(l_balance_type_code = 'A') THEN
154731 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154732 END IF;
154733
154734 --
154735
154736
154737 --
154738 AcctLineType_116 (
154739 p_application_id => p_application_id
154740 ,p_event_id => l_event_id
154741 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154742 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154743 ,p_actual_flag => l_actual_flag
154744 ,p_balance_type_code => l_balance_type_code
154745 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154746
154747 , p_source_1 => l_array_source_1(Idx)
154748 , p_source_21 => l_array_source_21(Idx)
154749 , p_source_30 => l_array_source_30(Idx)
154750 , p_source_33 => l_array_source_33(Idx)
154751 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154752 , p_source_52 => l_array_source_52(Idx)
154753 , p_source_54 => l_array_source_54(Idx)
154754 , p_source_56 => l_array_source_56(Idx)
154755 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154756 , p_source_63 => l_array_source_63(Idx)
154757 , p_source_64 => l_array_source_64(Idx)
154758 , p_source_65 => l_array_source_65(Idx)
154759 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154760 , p_source_67 => l_array_source_67(Idx)
154761 , p_source_68 => l_array_source_68(Idx)
154762 , p_source_69 => l_array_source_69(Idx)
154763 , p_source_70 => l_array_source_70(Idx)
154764 , p_source_71 => l_array_source_71(Idx)
154765 , p_source_72 => l_array_source_72(Idx)
154766 , p_source_76 => l_array_source_76(Idx)
154767 , p_source_77 => l_array_source_77(Idx)
154768 , p_source_78 => l_array_source_78(Idx)
154769 , p_source_79 => l_array_source_79(Idx)
154770 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154771 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154772 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154776 , p_source_85 => l_array_source_85(Idx)
154773 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154774 , p_source_83 => l_array_source_83(Idx)
154775 , p_source_84 => l_array_source_84(Idx)
154777 , p_source_86 => l_array_source_86(Idx)
154778 , p_source_87 => l_array_source_87(Idx)
154779 , p_source_88 => l_array_source_88(Idx)
154780 , p_source_89 => l_array_source_89(Idx)
154781 , p_source_90 => l_array_source_90(Idx)
154782 , p_source_91 => l_array_source_91(Idx)
154783 , p_source_92 => l_array_source_92(Idx)
154784 , p_source_93 => l_array_source_93(Idx)
154785 , p_source_94 => l_array_source_94(Idx)
154786 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
154787 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
154788 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
154789 , p_source_146 => l_array_source_146(Idx)
154790 );
154791 If(l_balance_type_code = 'A') THEN
154792 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154793 END IF;
154794
154795 --
154796
154797
154798 --
154799 AcctLineType_138 (
154800 p_application_id => p_application_id
154801 ,p_event_id => l_event_id
154802 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154803 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154804 ,p_actual_flag => l_actual_flag
154805 ,p_balance_type_code => l_balance_type_code
154806 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154807
154808 , p_source_1 => l_array_source_1(Idx)
154809 , p_source_21 => l_array_source_21(Idx)
154810 , p_source_30 => l_array_source_30(Idx)
154811 , p_source_33 => l_array_source_33(Idx)
154812 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154813 , p_source_52 => l_array_source_52(Idx)
154814 , p_source_54 => l_array_source_54(Idx)
154815 , p_source_56 => l_array_source_56(Idx)
154816 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154817 , p_source_63 => l_array_source_63(Idx)
154818 , p_source_64 => l_array_source_64(Idx)
154819 , p_source_65 => l_array_source_65(Idx)
154820 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154821 , p_source_67 => l_array_source_67(Idx)
154822 , p_source_68 => l_array_source_68(Idx)
154823 , p_source_69 => l_array_source_69(Idx)
154824 , p_source_70 => l_array_source_70(Idx)
154825 , p_source_71 => l_array_source_71(Idx)
154826 , p_source_72 => l_array_source_72(Idx)
154827 , p_source_76 => l_array_source_76(Idx)
154828 , p_source_77 => l_array_source_77(Idx)
154829 , p_source_78 => l_array_source_78(Idx)
154830 , p_source_79 => l_array_source_79(Idx)
154831 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154832 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154833 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154834 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154835 , p_source_83 => l_array_source_83(Idx)
154836 , p_source_84 => l_array_source_84(Idx)
154837 , p_source_85 => l_array_source_85(Idx)
154838 , p_source_86 => l_array_source_86(Idx)
154839 , p_source_87 => l_array_source_87(Idx)
154840 , p_source_88 => l_array_source_88(Idx)
154841 , p_source_89 => l_array_source_89(Idx)
154842 , p_source_90 => l_array_source_90(Idx)
154843 , p_source_91 => l_array_source_91(Idx)
154844 , p_source_92 => l_array_source_92(Idx)
154845 , p_source_93 => l_array_source_93(Idx)
154846 , p_source_94 => l_array_source_94(Idx)
154847 , p_source_95 => l_array_source_95(Idx)
154848 , p_source_95_meaning => l_array_source_95_meaning(Idx)
154849 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
154850 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
154851 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
154852 );
154853 If(l_balance_type_code = 'A') THEN
154854 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154855 END IF;
154856
154857 --
154858
154859
154860 --
154861 AcctLineType_142 (
154862 p_application_id => p_application_id
154863 ,p_event_id => l_event_id
154864 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154865 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154866 ,p_actual_flag => l_actual_flag
154867 ,p_balance_type_code => l_balance_type_code
154868 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154869
154870 , p_source_1 => l_array_source_1(Idx)
154871 , p_source_21 => l_array_source_21(Idx)
154872 , p_source_30 => l_array_source_30(Idx)
154873 , p_source_33 => l_array_source_33(Idx)
154874 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154875 , p_source_52 => l_array_source_52(Idx)
154876 , p_source_54 => l_array_source_54(Idx)
154877 , p_source_56 => l_array_source_56(Idx)
154878 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154879 , p_source_63 => l_array_source_63(Idx)
154880 , p_source_64 => l_array_source_64(Idx)
154881 , p_source_65 => l_array_source_65(Idx)
154882 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154883 , p_source_67 => l_array_source_67(Idx)
154884 , p_source_68 => l_array_source_68(Idx)
154885 , p_source_69 => l_array_source_69(Idx)
154886 , p_source_70 => l_array_source_70(Idx)
154887 , p_source_71 => l_array_source_71(Idx)
154888 , p_source_72 => l_array_source_72(Idx)
154889 , p_source_76 => l_array_source_76(Idx)
154890 , p_source_77 => l_array_source_77(Idx)
154891 , p_source_78 => l_array_source_78(Idx)
154892 , p_source_79 => l_array_source_79(Idx)
154893 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154894 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154895 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154896 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154897 , p_source_83 => l_array_source_83(Idx)
154898 , p_source_84 => l_array_source_84(Idx)
154899 , p_source_85 => l_array_source_85(Idx)
154900 , p_source_86 => l_array_source_86(Idx)
154904 , p_source_90 => l_array_source_90(Idx)
154901 , p_source_87 => l_array_source_87(Idx)
154902 , p_source_88 => l_array_source_88(Idx)
154903 , p_source_89 => l_array_source_89(Idx)
154905 , p_source_91 => l_array_source_91(Idx)
154906 , p_source_92 => l_array_source_92(Idx)
154907 , p_source_93 => l_array_source_93(Idx)
154908 , p_source_94 => l_array_source_94(Idx)
154909 , p_source_95 => l_array_source_95(Idx)
154910 , p_source_95_meaning => l_array_source_95_meaning(Idx)
154911 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
154912 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
154913 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
154914 , p_source_146 => l_array_source_146(Idx)
154915 );
154916 If(l_balance_type_code = 'A') THEN
154917 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154918 END IF;
154919
154920 --
154921
154922
154923 --
154924 AcctLineType_152 (
154925 p_application_id => p_application_id
154926 ,p_event_id => l_event_id
154927 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154928 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154929 ,p_actual_flag => l_actual_flag
154930 ,p_balance_type_code => l_balance_type_code
154931 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154932
154933 , p_source_1 => l_array_source_1(Idx)
154934 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154935 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154936 , p_source_21 => l_array_source_21(Idx)
154937 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
154938 , p_source_52 => l_array_source_52(Idx)
154939 , p_source_54 => l_array_source_54(Idx)
154940 , p_source_56 => l_array_source_56(Idx)
154941 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
154942 , p_source_63 => l_array_source_63(Idx)
154943 , p_source_64 => l_array_source_64(Idx)
154944 , p_source_65 => l_array_source_65(Idx)
154945 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
154946 , p_source_67 => l_array_source_67(Idx)
154947 , p_source_68 => l_array_source_68(Idx)
154948 , p_source_69 => l_array_source_69(Idx)
154949 , p_source_70 => l_array_source_70(Idx)
154950 , p_source_71 => l_array_source_71(Idx)
154951 , p_source_72 => l_array_source_72(Idx)
154952 , p_source_76 => l_array_source_76(Idx)
154953 , p_source_77 => l_array_source_77(Idx)
154954 , p_source_78 => l_array_source_78(Idx)
154955 , p_source_79 => l_array_source_79(Idx)
154956 , p_source_79_meaning => l_array_source_79_meaning(Idx)
154957 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
154958 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154959 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
154960 , p_source_83 => l_array_source_83(Idx)
154961 , p_source_84 => l_array_source_84(Idx)
154962 , p_source_85 => l_array_source_85(Idx)
154963 , p_source_86 => l_array_source_86(Idx)
154964 , p_source_87 => l_array_source_87(Idx)
154965 , p_source_88 => l_array_source_88(Idx)
154966 , p_source_89 => l_array_source_89(Idx)
154967 , p_source_90 => l_array_source_90(Idx)
154968 , p_source_91 => l_array_source_91(Idx)
154969 , p_source_92 => l_array_source_92(Idx)
154970 , p_source_93 => l_array_source_93(Idx)
154971 , p_source_94 => l_array_source_94(Idx)
154972 , p_source_135 => l_array_source_135(Idx)
154973 , p_source_135_meaning => l_array_source_135_meaning(Idx)
154974 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
154975 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
154976 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
154977 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
154978 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
154979 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
154980 );
154981 If(l_balance_type_code = 'A') THEN
154982 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154983 END IF;
154984
154985 --
154986
154987
154988 --
154989 AcctLineType_153 (
154990 p_application_id => p_application_id
154991 ,p_event_id => l_event_id
154992 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154993 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154994 ,p_actual_flag => l_actual_flag
154995 ,p_balance_type_code => l_balance_type_code
154996 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154997
154998 , p_source_1 => l_array_source_1(Idx)
154999 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155000 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155001 , p_source_21 => l_array_source_21(Idx)
155002 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
155003 , p_source_52 => l_array_source_52(Idx)
155004 , p_source_54 => l_array_source_54(Idx)
155005 , p_source_56 => l_array_source_56(Idx)
155006 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155007 , p_source_63 => l_array_source_63(Idx)
155008 , p_source_64 => l_array_source_64(Idx)
155009 , p_source_65 => l_array_source_65(Idx)
155010 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155011 , p_source_67 => l_array_source_67(Idx)
155012 , p_source_68 => l_array_source_68(Idx)
155013 , p_source_69 => l_array_source_69(Idx)
155014 , p_source_70 => l_array_source_70(Idx)
155015 , p_source_71 => l_array_source_71(Idx)
155016 , p_source_72 => l_array_source_72(Idx)
155017 , p_source_76 => l_array_source_76(Idx)
155018 , p_source_77 => l_array_source_77(Idx)
155019 , p_source_78 => l_array_source_78(Idx)
155020 , p_source_79 => l_array_source_79(Idx)
155021 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155022 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155023 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155027 , p_source_85 => l_array_source_85(Idx)
155024 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155025 , p_source_83 => l_array_source_83(Idx)
155026 , p_source_84 => l_array_source_84(Idx)
155028 , p_source_86 => l_array_source_86(Idx)
155029 , p_source_87 => l_array_source_87(Idx)
155030 , p_source_88 => l_array_source_88(Idx)
155031 , p_source_89 => l_array_source_89(Idx)
155032 , p_source_90 => l_array_source_90(Idx)
155033 , p_source_91 => l_array_source_91(Idx)
155034 , p_source_92 => l_array_source_92(Idx)
155035 , p_source_93 => l_array_source_93(Idx)
155036 , p_source_94 => l_array_source_94(Idx)
155037 , p_source_135 => l_array_source_135(Idx)
155038 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155039 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155040 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155041 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155042 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
155043 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
155044 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
155045 );
155046 If(l_balance_type_code = 'A') THEN
155047 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155048 END IF;
155049
155050 --
155051
155052
155053 --
155054 AcctLineType_154 (
155055 p_application_id => p_application_id
155056 ,p_event_id => l_event_id
155057 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155058 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155059 ,p_actual_flag => l_actual_flag
155060 ,p_balance_type_code => l_balance_type_code
155061 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155062
155063 , p_source_1 => l_array_source_1(Idx)
155064 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155065 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155066 , p_source_21 => l_array_source_21(Idx)
155067 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
155068 , p_source_52 => l_array_source_52(Idx)
155069 , p_source_54 => l_array_source_54(Idx)
155070 , p_source_56 => l_array_source_56(Idx)
155071 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155072 , p_source_63 => l_array_source_63(Idx)
155073 , p_source_64 => l_array_source_64(Idx)
155074 , p_source_65 => l_array_source_65(Idx)
155075 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155076 , p_source_67 => l_array_source_67(Idx)
155077 , p_source_68 => l_array_source_68(Idx)
155078 , p_source_69 => l_array_source_69(Idx)
155079 , p_source_70 => l_array_source_70(Idx)
155080 , p_source_71 => l_array_source_71(Idx)
155081 , p_source_72 => l_array_source_72(Idx)
155082 , p_source_76 => l_array_source_76(Idx)
155083 , p_source_77 => l_array_source_77(Idx)
155084 , p_source_78 => l_array_source_78(Idx)
155085 , p_source_79 => l_array_source_79(Idx)
155086 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155087 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155088 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155089 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155090 , p_source_83 => l_array_source_83(Idx)
155091 , p_source_84 => l_array_source_84(Idx)
155092 , p_source_85 => l_array_source_85(Idx)
155093 , p_source_86 => l_array_source_86(Idx)
155094 , p_source_87 => l_array_source_87(Idx)
155095 , p_source_88 => l_array_source_88(Idx)
155096 , p_source_89 => l_array_source_89(Idx)
155097 , p_source_90 => l_array_source_90(Idx)
155098 , p_source_91 => l_array_source_91(Idx)
155099 , p_source_92 => l_array_source_92(Idx)
155100 , p_source_93 => l_array_source_93(Idx)
155101 , p_source_94 => l_array_source_94(Idx)
155102 , p_source_135 => l_array_source_135(Idx)
155103 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155104 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155105 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155106 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155107 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
155108 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
155109 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
155110 );
155111 If(l_balance_type_code = 'A') THEN
155112 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155113 END IF;
155114
155115 --
155116
155117
155118 --
155119 AcctLineType_170 (
155120 p_application_id => p_application_id
155121 ,p_event_id => l_event_id
155122 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155123 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155124 ,p_actual_flag => l_actual_flag
155125 ,p_balance_type_code => l_balance_type_code
155126 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155127
155128 , p_source_1 => l_array_source_1(Idx)
155129 , p_source_21 => l_array_source_21(Idx)
155130 , p_source_30 => l_array_source_30(Idx)
155131 , p_source_33 => l_array_source_33(Idx)
155132 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155133 , p_source_52 => l_array_source_52(Idx)
155134 , p_source_54 => l_array_source_54(Idx)
155135 , p_source_56 => l_array_source_56(Idx)
155136 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155137 , p_source_63 => l_array_source_63(Idx)
155138 , p_source_64 => l_array_source_64(Idx)
155139 , p_source_65 => l_array_source_65(Idx)
155140 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155141 , p_source_67 => l_array_source_67(Idx)
155142 , p_source_68 => l_array_source_68(Idx)
155143 , p_source_69 => l_array_source_69(Idx)
155144 , p_source_70 => l_array_source_70(Idx)
155145 , p_source_71 => l_array_source_71(Idx)
155146 , p_source_72 => l_array_source_72(Idx)
155150 , p_source_79 => l_array_source_79(Idx)
155147 , p_source_76 => l_array_source_76(Idx)
155148 , p_source_77 => l_array_source_77(Idx)
155149 , p_source_78 => l_array_source_78(Idx)
155151 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155152 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155153 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155154 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155155 , p_source_83 => l_array_source_83(Idx)
155156 , p_source_84 => l_array_source_84(Idx)
155157 , p_source_85 => l_array_source_85(Idx)
155158 , p_source_86 => l_array_source_86(Idx)
155159 , p_source_87 => l_array_source_87(Idx)
155160 , p_source_88 => l_array_source_88(Idx)
155161 , p_source_89 => l_array_source_89(Idx)
155162 , p_source_90 => l_array_source_90(Idx)
155163 , p_source_91 => l_array_source_91(Idx)
155164 , p_source_92 => l_array_source_92(Idx)
155165 , p_source_93 => l_array_source_93(Idx)
155166 , p_source_94 => l_array_source_94(Idx)
155167 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155168 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155169 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155170 , p_source_146 => l_array_source_146(Idx)
155171 );
155172 If(l_balance_type_code = 'A') THEN
155173 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155174 END IF;
155175
155176 --
155177
155178
155179 --
155180 AcctLineType_174 (
155181 p_application_id => p_application_id
155182 ,p_event_id => l_event_id
155183 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155184 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155185 ,p_actual_flag => l_actual_flag
155186 ,p_balance_type_code => l_balance_type_code
155187 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155188
155189 , p_source_1 => l_array_source_1(Idx)
155190 , p_source_21 => l_array_source_21(Idx)
155191 , p_source_30 => l_array_source_30(Idx)
155192 , p_source_33 => l_array_source_33(Idx)
155193 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155194 , p_source_52 => l_array_source_52(Idx)
155195 , p_source_54 => l_array_source_54(Idx)
155196 , p_source_56 => l_array_source_56(Idx)
155197 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155198 , p_source_63 => l_array_source_63(Idx)
155199 , p_source_64 => l_array_source_64(Idx)
155200 , p_source_65 => l_array_source_65(Idx)
155201 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155202 , p_source_67 => l_array_source_67(Idx)
155203 , p_source_68 => l_array_source_68(Idx)
155204 , p_source_69 => l_array_source_69(Idx)
155205 , p_source_70 => l_array_source_70(Idx)
155206 , p_source_71 => l_array_source_71(Idx)
155207 , p_source_72 => l_array_source_72(Idx)
155208 , p_source_73 => l_array_source_73(Idx)
155209 , p_source_74 => l_array_source_74(Idx)
155210 , p_source_75 => l_array_source_75(Idx)
155211 , p_source_76 => l_array_source_76(Idx)
155212 , p_source_77 => l_array_source_77(Idx)
155213 , p_source_78 => l_array_source_78(Idx)
155214 , p_source_79 => l_array_source_79(Idx)
155215 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155216 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155217 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155218 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155219 , p_source_83 => l_array_source_83(Idx)
155220 , p_source_84 => l_array_source_84(Idx)
155221 , p_source_85 => l_array_source_85(Idx)
155222 , p_source_86 => l_array_source_86(Idx)
155223 , p_source_87 => l_array_source_87(Idx)
155224 , p_source_88 => l_array_source_88(Idx)
155225 , p_source_89 => l_array_source_89(Idx)
155226 , p_source_90 => l_array_source_90(Idx)
155227 , p_source_91 => l_array_source_91(Idx)
155228 , p_source_92 => l_array_source_92(Idx)
155229 , p_source_93 => l_array_source_93(Idx)
155230 , p_source_94 => l_array_source_94(Idx)
155231 , p_source_95 => l_array_source_95(Idx)
155232 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155233 , p_source_135 => l_array_source_135(Idx)
155234 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155235 );
155236 If(l_balance_type_code = 'A') THEN
155237 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155238 END IF;
155239
155240 --
155241
155242
155243 --
155244 AcctLineType_177 (
155245 p_application_id => p_application_id
155246 ,p_event_id => l_event_id
155247 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155248 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155249 ,p_actual_flag => l_actual_flag
155250 ,p_balance_type_code => l_balance_type_code
155251 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155252
155253 , p_source_1 => l_array_source_1(Idx)
155254 , p_source_21 => l_array_source_21(Idx)
155255 , p_source_30 => l_array_source_30(Idx)
155256 , p_source_33 => l_array_source_33(Idx)
155257 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155258 , p_source_52 => l_array_source_52(Idx)
155259 , p_source_54 => l_array_source_54(Idx)
155260 , p_source_56 => l_array_source_56(Idx)
155261 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155262 , p_source_63 => l_array_source_63(Idx)
155263 , p_source_64 => l_array_source_64(Idx)
155264 , p_source_65 => l_array_source_65(Idx)
155265 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155266 , p_source_67 => l_array_source_67(Idx)
155267 , p_source_68 => l_array_source_68(Idx)
155268 , p_source_69 => l_array_source_69(Idx)
155269 , p_source_70 => l_array_source_70(Idx)
155270 , p_source_71 => l_array_source_71(Idx)
155271 , p_source_72 => l_array_source_72(Idx)
155272 , p_source_76 => l_array_source_76(Idx)
155273 , p_source_77 => l_array_source_77(Idx)
155274 , p_source_78 => l_array_source_78(Idx)
155275 , p_source_79 => l_array_source_79(Idx)
155279 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155276 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155277 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155278 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155280 , p_source_83 => l_array_source_83(Idx)
155281 , p_source_84 => l_array_source_84(Idx)
155282 , p_source_85 => l_array_source_85(Idx)
155283 , p_source_86 => l_array_source_86(Idx)
155284 , p_source_87 => l_array_source_87(Idx)
155285 , p_source_88 => l_array_source_88(Idx)
155286 , p_source_89 => l_array_source_89(Idx)
155287 , p_source_90 => l_array_source_90(Idx)
155288 , p_source_91 => l_array_source_91(Idx)
155289 , p_source_92 => l_array_source_92(Idx)
155290 , p_source_93 => l_array_source_93(Idx)
155291 , p_source_94 => l_array_source_94(Idx)
155292 , p_source_95 => l_array_source_95(Idx)
155293 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155294 , p_source_135 => l_array_source_135(Idx)
155295 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155296 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155297 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155298 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155299 );
155300 If(l_balance_type_code = 'A') THEN
155301 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155302 END IF;
155303
155304 --
155305
155306
155307 --
155308 AcctLineType_185 (
155309 p_application_id => p_application_id
155310 ,p_event_id => l_event_id
155311 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155312 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155313 ,p_actual_flag => l_actual_flag
155314 ,p_balance_type_code => l_balance_type_code
155315 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155316
155317 , p_source_1 => l_array_source_1(Idx)
155318 , p_source_21 => l_array_source_21(Idx)
155319 , p_source_30 => l_array_source_30(Idx)
155320 , p_source_33 => l_array_source_33(Idx)
155321 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155322 , p_source_52 => l_array_source_52(Idx)
155323 , p_source_54 => l_array_source_54(Idx)
155324 , p_source_56 => l_array_source_56(Idx)
155325 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155326 , p_source_63 => l_array_source_63(Idx)
155327 , p_source_64 => l_array_source_64(Idx)
155328 , p_source_65 => l_array_source_65(Idx)
155329 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155330 , p_source_67 => l_array_source_67(Idx)
155331 , p_source_68 => l_array_source_68(Idx)
155332 , p_source_69 => l_array_source_69(Idx)
155333 , p_source_70 => l_array_source_70(Idx)
155334 , p_source_71 => l_array_source_71(Idx)
155335 , p_source_72 => l_array_source_72(Idx)
155336 , p_source_76 => l_array_source_76(Idx)
155337 , p_source_77 => l_array_source_77(Idx)
155338 , p_source_78 => l_array_source_78(Idx)
155339 , p_source_79 => l_array_source_79(Idx)
155340 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155341 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155342 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155343 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155344 , p_source_83 => l_array_source_83(Idx)
155345 , p_source_84 => l_array_source_84(Idx)
155346 , p_source_85 => l_array_source_85(Idx)
155347 , p_source_86 => l_array_source_86(Idx)
155348 , p_source_87 => l_array_source_87(Idx)
155349 , p_source_88 => l_array_source_88(Idx)
155350 , p_source_89 => l_array_source_89(Idx)
155351 , p_source_90 => l_array_source_90(Idx)
155352 , p_source_91 => l_array_source_91(Idx)
155353 , p_source_92 => l_array_source_92(Idx)
155354 , p_source_93 => l_array_source_93(Idx)
155355 , p_source_94 => l_array_source_94(Idx)
155356 , p_source_135 => l_array_source_135(Idx)
155357 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155358 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155359 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155360 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155361 );
155362 If(l_balance_type_code = 'A') THEN
155363 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155364 END IF;
155365
155366 --
155367
155368
155369 --
155370 AcctLineType_187 (
155371 p_application_id => p_application_id
155372 ,p_event_id => l_event_id
155373 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155374 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155375 ,p_actual_flag => l_actual_flag
155376 ,p_balance_type_code => l_balance_type_code
155377 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155378
155379 , p_source_1 => l_array_source_1(Idx)
155380 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155381 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155382 , p_source_21 => l_array_source_21(Idx)
155383 , p_source_30 => l_array_source_30(Idx)
155384 , p_source_33 => l_array_source_33(Idx)
155385 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155386 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
155387 , p_source_42 => l_array_source_42(Idx)
155388 , p_source_52 => l_array_source_52(Idx)
155389 , p_source_54 => l_array_source_54(Idx)
155390 , p_source_56 => l_array_source_56(Idx)
155391 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155392 , p_source_63 => l_array_source_63(Idx)
155393 , p_source_64 => l_array_source_64(Idx)
155394 , p_source_65 => l_array_source_65(Idx)
155395 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155396 , p_source_67 => l_array_source_67(Idx)
155397 , p_source_68 => l_array_source_68(Idx)
155398 , p_source_69 => l_array_source_69(Idx)
155399 , p_source_70 => l_array_source_70(Idx)
155400 , p_source_71 => l_array_source_71(Idx)
155401 , p_source_72 => l_array_source_72(Idx)
155405 , p_source_79 => l_array_source_79(Idx)
155402 , p_source_76 => l_array_source_76(Idx)
155403 , p_source_77 => l_array_source_77(Idx)
155404 , p_source_78 => l_array_source_78(Idx)
155406 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155407 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155408 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155409 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155410 , p_source_83 => l_array_source_83(Idx)
155411 , p_source_84 => l_array_source_84(Idx)
155412 , p_source_85 => l_array_source_85(Idx)
155413 , p_source_86 => l_array_source_86(Idx)
155414 , p_source_87 => l_array_source_87(Idx)
155415 , p_source_88 => l_array_source_88(Idx)
155416 , p_source_89 => l_array_source_89(Idx)
155417 , p_source_90 => l_array_source_90(Idx)
155418 , p_source_91 => l_array_source_91(Idx)
155419 , p_source_92 => l_array_source_92(Idx)
155420 , p_source_93 => l_array_source_93(Idx)
155421 , p_source_94 => l_array_source_94(Idx)
155422 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155423 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155424 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155425 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
155426 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
155427 );
155428 If(l_balance_type_code = 'A') THEN
155429 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155430 END IF;
155431
155432 --
155433
155434
155435 --
155436 AcctLineType_190 (
155437 p_application_id => p_application_id
155438 ,p_event_id => l_event_id
155439 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155440 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155441 ,p_actual_flag => l_actual_flag
155442 ,p_balance_type_code => l_balance_type_code
155443 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155444
155445 , p_source_1 => l_array_source_1(Idx)
155446 , p_source_21 => l_array_source_21(Idx)
155447 , p_source_33 => l_array_source_33(Idx)
155448 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155449 , p_source_52 => l_array_source_52(Idx)
155450 , p_source_54 => l_array_source_54(Idx)
155451 , p_source_56 => l_array_source_56(Idx)
155452 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155453 , p_source_63 => l_array_source_63(Idx)
155454 , p_source_64 => l_array_source_64(Idx)
155455 , p_source_65 => l_array_source_65(Idx)
155456 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155457 , p_source_67 => l_array_source_67(Idx)
155458 , p_source_68 => l_array_source_68(Idx)
155459 , p_source_69 => l_array_source_69(Idx)
155460 , p_source_70 => l_array_source_70(Idx)
155461 , p_source_71 => l_array_source_71(Idx)
155462 , p_source_72 => l_array_source_72(Idx)
155463 , p_source_76 => l_array_source_76(Idx)
155464 , p_source_77 => l_array_source_77(Idx)
155465 , p_source_78 => l_array_source_78(Idx)
155466 , p_source_79 => l_array_source_79(Idx)
155467 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155468 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155469 , p_source_83 => l_array_source_83(Idx)
155470 , p_source_84 => l_array_source_84(Idx)
155471 , p_source_85 => l_array_source_85(Idx)
155472 , p_source_86 => l_array_source_86(Idx)
155473 , p_source_87 => l_array_source_87(Idx)
155474 , p_source_88 => l_array_source_88(Idx)
155475 , p_source_89 => l_array_source_89(Idx)
155476 , p_source_90 => l_array_source_90(Idx)
155477 , p_source_91 => l_array_source_91(Idx)
155478 , p_source_92 => l_array_source_92(Idx)
155479 , p_source_164 => g_array_event(l_event_id).array_value_char('source_164')
155480 , p_source_164_meaning => g_array_event(l_event_id).array_value_char('source_164_meaning')
155481 , p_source_166 => l_array_source_166(Idx)
155482 , p_source_167 => l_array_source_167(Idx)
155483 );
155484 If(l_balance_type_code = 'A') THEN
155485 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155486 END IF;
155487
155488 --
155489
155490
155491 --
155492 AcctLineType_194 (
155493 p_application_id => p_application_id
155494 ,p_event_id => l_event_id
155495 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155496 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155497 ,p_actual_flag => l_actual_flag
155498 ,p_balance_type_code => l_balance_type_code
155499 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155500
155501 , p_source_1 => l_array_source_1(Idx)
155502 , p_source_21 => l_array_source_21(Idx)
155503 , p_source_33 => l_array_source_33(Idx)
155504 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155505 , p_source_49 => l_array_source_49(Idx)
155506 , p_source_52 => l_array_source_52(Idx)
155507 , p_source_54 => l_array_source_54(Idx)
155508 , p_source_56 => l_array_source_56(Idx)
155509 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155510 , p_source_63 => l_array_source_63(Idx)
155511 , p_source_64 => l_array_source_64(Idx)
155512 , p_source_65 => l_array_source_65(Idx)
155513 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155514 , p_source_67 => l_array_source_67(Idx)
155515 , p_source_68 => l_array_source_68(Idx)
155516 , p_source_69 => l_array_source_69(Idx)
155517 , p_source_70 => l_array_source_70(Idx)
155518 , p_source_71 => l_array_source_71(Idx)
155519 , p_source_72 => l_array_source_72(Idx)
155520 , p_source_76 => l_array_source_76(Idx)
155521 , p_source_77 => l_array_source_77(Idx)
155522 , p_source_78 => l_array_source_78(Idx)
155523 , p_source_79 => l_array_source_79(Idx)
155524 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155525 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155526 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155527 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155531 , p_source_86 => l_array_source_86(Idx)
155528 , p_source_83 => l_array_source_83(Idx)
155529 , p_source_84 => l_array_source_84(Idx)
155530 , p_source_85 => l_array_source_85(Idx)
155532 , p_source_87 => l_array_source_87(Idx)
155533 , p_source_88 => l_array_source_88(Idx)
155534 , p_source_89 => l_array_source_89(Idx)
155535 , p_source_90 => l_array_source_90(Idx)
155536 , p_source_91 => l_array_source_91(Idx)
155537 , p_source_92 => l_array_source_92(Idx)
155538 , p_source_93 => l_array_source_93(Idx)
155539 , p_source_94 => l_array_source_94(Idx)
155540 , p_source_95 => l_array_source_95(Idx)
155541 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155542 , p_source_135 => l_array_source_135(Idx)
155543 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155544 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155545 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155546 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155547 );
155548 If(l_balance_type_code = 'A') THEN
155549 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155550 END IF;
155551
155552 --
155553
155554
155555 --
155556 AcctLineType_198 (
155557 p_application_id => p_application_id
155558 ,p_event_id => l_event_id
155559 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155560 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155561 ,p_actual_flag => l_actual_flag
155562 ,p_balance_type_code => l_balance_type_code
155563 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155564
155565 , p_source_1 => l_array_source_1(Idx)
155566 , p_source_21 => l_array_source_21(Idx)
155567 , p_source_33 => l_array_source_33(Idx)
155568 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155569 , p_source_49 => l_array_source_49(Idx)
155570 , p_source_52 => l_array_source_52(Idx)
155571 , p_source_54 => l_array_source_54(Idx)
155572 , p_source_56 => l_array_source_56(Idx)
155573 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155574 , p_source_63 => l_array_source_63(Idx)
155575 , p_source_64 => l_array_source_64(Idx)
155576 , p_source_65 => l_array_source_65(Idx)
155577 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155578 , p_source_67 => l_array_source_67(Idx)
155579 , p_source_68 => l_array_source_68(Idx)
155580 , p_source_69 => l_array_source_69(Idx)
155581 , p_source_70 => l_array_source_70(Idx)
155582 , p_source_71 => l_array_source_71(Idx)
155583 , p_source_72 => l_array_source_72(Idx)
155584 , p_source_76 => l_array_source_76(Idx)
155585 , p_source_77 => l_array_source_77(Idx)
155586 , p_source_78 => l_array_source_78(Idx)
155587 , p_source_79 => l_array_source_79(Idx)
155588 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155589 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155590 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155591 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155592 , p_source_83 => l_array_source_83(Idx)
155593 , p_source_84 => l_array_source_84(Idx)
155594 , p_source_85 => l_array_source_85(Idx)
155595 , p_source_86 => l_array_source_86(Idx)
155596 , p_source_87 => l_array_source_87(Idx)
155597 , p_source_88 => l_array_source_88(Idx)
155598 , p_source_89 => l_array_source_89(Idx)
155599 , p_source_90 => l_array_source_90(Idx)
155600 , p_source_91 => l_array_source_91(Idx)
155601 , p_source_92 => l_array_source_92(Idx)
155602 , p_source_93 => l_array_source_93(Idx)
155603 , p_source_94 => l_array_source_94(Idx)
155604 , p_source_135 => l_array_source_135(Idx)
155605 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155606 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155607 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155608 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155609 );
155610 If(l_balance_type_code = 'A') THEN
155611 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155612 END IF;
155613
155614 --
155615
155616
155617 --
155618 AcctLineType_201 (
155619 p_application_id => p_application_id
155620 ,p_event_id => l_event_id
155621 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155622 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155623 ,p_actual_flag => l_actual_flag
155624 ,p_balance_type_code => l_balance_type_code
155625 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155626
155627 , p_source_1 => l_array_source_1(Idx)
155628 , p_source_21 => l_array_source_21(Idx)
155629 , p_source_33 => l_array_source_33(Idx)
155630 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155631 , p_source_50 => l_array_source_50(Idx)
155632 , p_source_52 => l_array_source_52(Idx)
155633 , p_source_54 => l_array_source_54(Idx)
155634 , p_source_56 => l_array_source_56(Idx)
155635 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155636 , p_source_63 => l_array_source_63(Idx)
155637 , p_source_64 => l_array_source_64(Idx)
155638 , p_source_65 => l_array_source_65(Idx)
155639 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155640 , p_source_67 => l_array_source_67(Idx)
155641 , p_source_68 => l_array_source_68(Idx)
155642 , p_source_69 => l_array_source_69(Idx)
155643 , p_source_70 => l_array_source_70(Idx)
155644 , p_source_71 => l_array_source_71(Idx)
155645 , p_source_72 => l_array_source_72(Idx)
155646 , p_source_76 => l_array_source_76(Idx)
155647 , p_source_77 => l_array_source_77(Idx)
155648 , p_source_78 => l_array_source_78(Idx)
155649 , p_source_79 => l_array_source_79(Idx)
155650 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155651 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155652 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155653 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155654 , p_source_83 => l_array_source_83(Idx)
155658 , p_source_87 => l_array_source_87(Idx)
155655 , p_source_84 => l_array_source_84(Idx)
155656 , p_source_85 => l_array_source_85(Idx)
155657 , p_source_86 => l_array_source_86(Idx)
155659 , p_source_88 => l_array_source_88(Idx)
155660 , p_source_89 => l_array_source_89(Idx)
155661 , p_source_90 => l_array_source_90(Idx)
155662 , p_source_91 => l_array_source_91(Idx)
155663 , p_source_92 => l_array_source_92(Idx)
155664 , p_source_93 => l_array_source_93(Idx)
155665 , p_source_94 => l_array_source_94(Idx)
155666 , p_source_135 => l_array_source_135(Idx)
155667 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155668 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155669 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155670 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155671 );
155672 If(l_balance_type_code = 'A') THEN
155673 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155674 END IF;
155675
155676 --
155677
155678
155679 --
155680 AcctLineType_206 (
155681 p_application_id => p_application_id
155682 ,p_event_id => l_event_id
155683 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155684 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155685 ,p_actual_flag => l_actual_flag
155686 ,p_balance_type_code => l_balance_type_code
155687 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155688
155689 , p_source_1 => l_array_source_1(Idx)
155690 , p_source_21 => l_array_source_21(Idx)
155691 , p_source_33 => l_array_source_33(Idx)
155692 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155693 , p_source_49 => l_array_source_49(Idx)
155694 , p_source_52 => l_array_source_52(Idx)
155695 , p_source_54 => l_array_source_54(Idx)
155696 , p_source_56 => l_array_source_56(Idx)
155697 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155698 , p_source_63 => l_array_source_63(Idx)
155699 , p_source_64 => l_array_source_64(Idx)
155700 , p_source_65 => l_array_source_65(Idx)
155701 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155702 , p_source_67 => l_array_source_67(Idx)
155703 , p_source_68 => l_array_source_68(Idx)
155704 , p_source_69 => l_array_source_69(Idx)
155705 , p_source_70 => l_array_source_70(Idx)
155706 , p_source_71 => l_array_source_71(Idx)
155707 , p_source_72 => l_array_source_72(Idx)
155708 , p_source_73 => l_array_source_73(Idx)
155709 , p_source_74 => l_array_source_74(Idx)
155710 , p_source_75 => l_array_source_75(Idx)
155711 , p_source_76 => l_array_source_76(Idx)
155712 , p_source_77 => l_array_source_77(Idx)
155713 , p_source_78 => l_array_source_78(Idx)
155714 , p_source_79 => l_array_source_79(Idx)
155715 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155716 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155717 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155718 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155719 , p_source_83 => l_array_source_83(Idx)
155720 , p_source_84 => l_array_source_84(Idx)
155721 , p_source_85 => l_array_source_85(Idx)
155722 , p_source_86 => l_array_source_86(Idx)
155723 , p_source_87 => l_array_source_87(Idx)
155724 , p_source_88 => l_array_source_88(Idx)
155725 , p_source_89 => l_array_source_89(Idx)
155726 , p_source_90 => l_array_source_90(Idx)
155727 , p_source_91 => l_array_source_91(Idx)
155728 , p_source_92 => l_array_source_92(Idx)
155729 , p_source_93 => l_array_source_93(Idx)
155730 , p_source_94 => l_array_source_94(Idx)
155731 , p_source_95 => l_array_source_95(Idx)
155732 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155733 , p_source_135 => l_array_source_135(Idx)
155734 , p_source_135_meaning => l_array_source_135_meaning(Idx)
155735 );
155736 If(l_balance_type_code = 'A') THEN
155737 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155738 END IF;
155739
155740 --
155741
155742
155743 --
155744 AcctLineType_210 (
155745 p_application_id => p_application_id
155746 ,p_event_id => l_event_id
155747 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155748 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155749 ,p_actual_flag => l_actual_flag
155750 ,p_balance_type_code => l_balance_type_code
155751 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155752
155753 , p_source_1 => l_array_source_1(Idx)
155754 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155755 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155756 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
155757 , p_source_21 => l_array_source_21(Idx)
155758 , p_source_22 => l_array_source_22(Idx)
155759 , p_source_22_meaning => l_array_source_22_meaning(Idx)
155760 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
155761 , p_source_30 => l_array_source_30(Idx)
155762 , p_source_33 => l_array_source_33(Idx)
155763 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155764 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
155765 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
155766 , p_source_52 => l_array_source_52(Idx)
155767 , p_source_54 => l_array_source_54(Idx)
155768 , p_source_56 => l_array_source_56(Idx)
155769 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155770 , p_source_63 => l_array_source_63(Idx)
155771 , p_source_64 => l_array_source_64(Idx)
155772 , p_source_65 => l_array_source_65(Idx)
155773 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155774 , p_source_67 => l_array_source_67(Idx)
155775 , p_source_68 => l_array_source_68(Idx)
155776 , p_source_69 => l_array_source_69(Idx)
155777 , p_source_70 => l_array_source_70(Idx)
155778 , p_source_71 => l_array_source_71(Idx)
155779 , p_source_72 => l_array_source_72(Idx)
155780 , p_source_76 => l_array_source_76(Idx)
155781 , p_source_77 => l_array_source_77(Idx)
155785 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155782 , p_source_78 => l_array_source_78(Idx)
155783 , p_source_79 => l_array_source_79(Idx)
155784 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155786 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155787 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155788 , p_source_83 => l_array_source_83(Idx)
155789 , p_source_84 => l_array_source_84(Idx)
155790 , p_source_85 => l_array_source_85(Idx)
155791 , p_source_86 => l_array_source_86(Idx)
155792 , p_source_87 => l_array_source_87(Idx)
155793 , p_source_88 => l_array_source_88(Idx)
155794 , p_source_89 => l_array_source_89(Idx)
155795 , p_source_90 => l_array_source_90(Idx)
155796 , p_source_91 => l_array_source_91(Idx)
155797 , p_source_92 => l_array_source_92(Idx)
155798 , p_source_93 => l_array_source_93(Idx)
155799 , p_source_94 => l_array_source_94(Idx)
155800 , p_source_95 => l_array_source_95(Idx)
155801 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155802 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155803 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155804 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155805 );
155806 If(l_balance_type_code = 'A') THEN
155807 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155808 END IF;
155809
155810 --
155811
155812
155813 --
155814 AcctLineType_214 (
155815 p_application_id => p_application_id
155816 ,p_event_id => l_event_id
155817 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155818 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155819 ,p_actual_flag => l_actual_flag
155820 ,p_balance_type_code => l_balance_type_code
155821 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155822
155823 , p_source_1 => l_array_source_1(Idx)
155824 , p_source_21 => l_array_source_21(Idx)
155825 , p_source_30 => l_array_source_30(Idx)
155826 , p_source_33 => l_array_source_33(Idx)
155827 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155828 , p_source_52 => l_array_source_52(Idx)
155829 , p_source_54 => l_array_source_54(Idx)
155830 , p_source_56 => l_array_source_56(Idx)
155831 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155832 , p_source_63 => l_array_source_63(Idx)
155833 , p_source_64 => l_array_source_64(Idx)
155834 , p_source_65 => l_array_source_65(Idx)
155835 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155836 , p_source_67 => l_array_source_67(Idx)
155837 , p_source_68 => l_array_source_68(Idx)
155838 , p_source_69 => l_array_source_69(Idx)
155839 , p_source_70 => l_array_source_70(Idx)
155840 , p_source_71 => l_array_source_71(Idx)
155841 , p_source_72 => l_array_source_72(Idx)
155842 , p_source_76 => l_array_source_76(Idx)
155843 , p_source_77 => l_array_source_77(Idx)
155844 , p_source_78 => l_array_source_78(Idx)
155845 , p_source_79 => l_array_source_79(Idx)
155846 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155847 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155848 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155849 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155850 , p_source_83 => l_array_source_83(Idx)
155851 , p_source_84 => l_array_source_84(Idx)
155852 , p_source_85 => l_array_source_85(Idx)
155853 , p_source_86 => l_array_source_86(Idx)
155854 , p_source_87 => l_array_source_87(Idx)
155855 , p_source_88 => l_array_source_88(Idx)
155856 , p_source_89 => l_array_source_89(Idx)
155857 , p_source_90 => l_array_source_90(Idx)
155858 , p_source_91 => l_array_source_91(Idx)
155859 , p_source_92 => l_array_source_92(Idx)
155860 , p_source_93 => l_array_source_93(Idx)
155861 , p_source_94 => l_array_source_94(Idx)
155862 , p_source_95 => l_array_source_95(Idx)
155863 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155864 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155865 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155866 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155867 );
155868 If(l_balance_type_code = 'A') THEN
155869 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155870 END IF;
155871
155872 --
155873
155874
155875 --
155876 AcctLineType_218 (
155877 p_application_id => p_application_id
155878 ,p_event_id => l_event_id
155879 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155880 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155881 ,p_actual_flag => l_actual_flag
155882 ,p_balance_type_code => l_balance_type_code
155883 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155884
155885 , p_source_1 => l_array_source_1(Idx)
155886 , p_source_21 => l_array_source_21(Idx)
155887 , p_source_30 => l_array_source_30(Idx)
155888 , p_source_33 => l_array_source_33(Idx)
155889 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155890 , p_source_52 => l_array_source_52(Idx)
155891 , p_source_54 => l_array_source_54(Idx)
155892 , p_source_56 => l_array_source_56(Idx)
155893 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155894 , p_source_63 => l_array_source_63(Idx)
155895 , p_source_64 => l_array_source_64(Idx)
155896 , p_source_65 => l_array_source_65(Idx)
155897 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155898 , p_source_67 => l_array_source_67(Idx)
155899 , p_source_68 => l_array_source_68(Idx)
155900 , p_source_69 => l_array_source_69(Idx)
155901 , p_source_70 => l_array_source_70(Idx)
155902 , p_source_71 => l_array_source_71(Idx)
155903 , p_source_72 => l_array_source_72(Idx)
155904 , p_source_76 => l_array_source_76(Idx)
155905 , p_source_77 => l_array_source_77(Idx)
155906 , p_source_78 => l_array_source_78(Idx)
155907 , p_source_79 => l_array_source_79(Idx)
155908 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155912 , p_source_83 => l_array_source_83(Idx)
155909 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155910 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155911 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155913 , p_source_84 => l_array_source_84(Idx)
155914 , p_source_85 => l_array_source_85(Idx)
155915 , p_source_86 => l_array_source_86(Idx)
155916 , p_source_87 => l_array_source_87(Idx)
155917 , p_source_88 => l_array_source_88(Idx)
155918 , p_source_89 => l_array_source_89(Idx)
155919 , p_source_90 => l_array_source_90(Idx)
155920 , p_source_91 => l_array_source_91(Idx)
155921 , p_source_92 => l_array_source_92(Idx)
155922 , p_source_93 => l_array_source_93(Idx)
155923 , p_source_94 => l_array_source_94(Idx)
155924 , p_source_95 => l_array_source_95(Idx)
155925 , p_source_95_meaning => l_array_source_95_meaning(Idx)
155926 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155927 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155928 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155929 );
155930 If(l_balance_type_code = 'A') THEN
155931 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155932 END IF;
155933
155934 --
155935
155936
155937 --
155938 AcctLineType_224 (
155939 p_application_id => p_application_id
155940 ,p_event_id => l_event_id
155941 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155942 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155943 ,p_actual_flag => l_actual_flag
155944 ,p_balance_type_code => l_balance_type_code
155945 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155946
155947 , p_source_1 => l_array_source_1(Idx)
155948 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155949 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155950 , p_source_21 => l_array_source_21(Idx)
155951 , p_source_30 => l_array_source_30(Idx)
155952 , p_source_33 => l_array_source_33(Idx)
155953 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155954 , p_source_43 => l_array_source_43(Idx)
155955 , p_source_52 => l_array_source_52(Idx)
155956 , p_source_54 => l_array_source_54(Idx)
155957 , p_source_56 => l_array_source_56(Idx)
155958 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
155959 , p_source_63 => l_array_source_63(Idx)
155960 , p_source_64 => l_array_source_64(Idx)
155961 , p_source_65 => l_array_source_65(Idx)
155962 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
155963 , p_source_67 => l_array_source_67(Idx)
155964 , p_source_68 => l_array_source_68(Idx)
155965 , p_source_69 => l_array_source_69(Idx)
155966 , p_source_70 => l_array_source_70(Idx)
155967 , p_source_71 => l_array_source_71(Idx)
155968 , p_source_72 => l_array_source_72(Idx)
155969 , p_source_76 => l_array_source_76(Idx)
155970 , p_source_77 => l_array_source_77(Idx)
155971 , p_source_78 => l_array_source_78(Idx)
155972 , p_source_79 => l_array_source_79(Idx)
155973 , p_source_79_meaning => l_array_source_79_meaning(Idx)
155974 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
155975 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155976 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
155977 , p_source_83 => l_array_source_83(Idx)
155978 , p_source_84 => l_array_source_84(Idx)
155979 , p_source_85 => l_array_source_85(Idx)
155980 , p_source_86 => l_array_source_86(Idx)
155981 , p_source_87 => l_array_source_87(Idx)
155982 , p_source_88 => l_array_source_88(Idx)
155983 , p_source_89 => l_array_source_89(Idx)
155984 , p_source_90 => l_array_source_90(Idx)
155985 , p_source_91 => l_array_source_91(Idx)
155986 , p_source_92 => l_array_source_92(Idx)
155987 , p_source_93 => l_array_source_93(Idx)
155988 , p_source_94 => l_array_source_94(Idx)
155989 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
155990 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
155991 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
155992 );
155993 If(l_balance_type_code = 'A') THEN
155994 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155995 END IF;
155996
155997 --
155998
155999 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
156000 -- or secondary ledger that has different currency with primary
156001 -- or alc that is calculated by sla
156002 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
156003 (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'))
156004
156005 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
156006 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
156007 AND (l_actual_flag = 'A')) THEN
156008 XLA_AE_LINES_PKG.CreateGainOrLossLines(
156009 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
156010 ,p_application_id => p_application_id
156011 ,p_amb_context_code => 'DEFAULT'
156012 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
156013 ,p_event_class_code => C_EVENT_CLASS_CODE
156014 ,p_event_type_code => C_EVENT_TYPE_CODE
156015
156016 ,p_gain_ccid => -1
156017 ,p_loss_ccid => -1
156018
156019 ,p_actual_flag => l_actual_flag
156020 ,p_enc_flag => null
156021 ,p_actual_g_l_ref => l_actual_gain_loss_ref
156022 ,p_enc_g_l_ref => null
156023 );
156024 END IF;
156025 END IF;
156026 END IF;
156027
156028 ELSE
156029 --
156030 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
156031 --
156035 ,p_level => C_LEVEL_STATEMENT
156032 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156033 trace
156034 (p_msg => 'Trancaction revesal option is Y'
156036 ,p_module => l_log_module);
156037 END IF;
156038 END IF;
156039
156040 END LOOP;
156041 l_result := XLA_AE_LINES_PKG.InsertLines ;
156042 end loop;
156043 close line_cur;
156044
156045
156046 --
156047 -- insert headers into xla_ae_headers_gt table
156048 --
156049 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
156050
156051 -- insert into errors table here.
156052
156053 END LOOP;
156054
156055 --
156056 -- 4865292
156057 --
156058 -- Compare g_hdr_extract_count with event count in
156059 -- CreateHeadersAndLines.
156060 --
156061 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
156062
156063 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156064 trace (p_msg => '# rows extracted from header extract objects '
156065 || ' (running total): '
156066 || g_hdr_extract_count
156067 ,p_level => C_LEVEL_STATEMENT
156068 ,p_module => l_log_module);
156069 END IF;
156070
156071 CLOSE header_cur;
156072 --
156073
156074 --
156075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156076 trace
156077 (p_msg => 'END of EventClass_229'
156078 ,p_level => C_LEVEL_PROCEDURE
156079 ,p_module => l_log_module);
156080 END IF;
156081 --
156082 RETURN l_result;
156083 EXCEPTION
156084 WHEN xla_exceptions_pkg.application_exception THEN
156085
156086 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
156087
156088
156089 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
156090
156091 RAISE;
156092
156093 WHEN NO_DATA_FOUND THEN
156094
156095 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
156096 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
156097
156098 FOR header_record IN header_cur
156099 LOOP
156100 l_array_header_events(header_record.event_id) := header_record.event_id;
156101 END LOOP;
156102
156103 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
156104 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
156105
156106 fnd_file.put_line(fnd_file.LOG, ' ');
156107 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
156108 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
156109 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
156110
156111 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
156112 LOOP
156113 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
156114 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
156115 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
156116 END IF;
156117 END LOOP;
156118
156119 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
156120 fnd_file.put_line(fnd_file.LOG, ' ');
156121
156122
156123 xla_exceptions_pkg.raise_message
156124 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_229');
156125
156126
156127 WHEN OTHERS THEN
156128 xla_exceptions_pkg.raise_message
156129 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_229');
156130 END EventClass_229;
156131 --
156132
156133 ---------------------------------------
156134 --
156135 -- PRIVATE PROCEDURE
156136 -- insert_sources_230
156137 --
156138 ----------------------------------------
156139 --
156140 PROCEDURE insert_sources_230(
156141 p_target_ledger_id IN NUMBER
156142 , p_language IN VARCHAR2
156143 , p_sla_ledger_id IN NUMBER
156144 , p_pad_start_date IN DATE
156145 , p_pad_end_date IN DATE
156146 )
156147 IS
156148
156149 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
156150 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
156151 p_apps_owner VARCHAR2(30);
156152 l_log_module VARCHAR2(240);
156153 BEGIN
156154 IF g_log_enabled THEN
156155 l_log_module := C_DEFAULT_MODULE||'.insert_sources_230';
156156 END IF;
156157 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156158
156159 trace
156160 (p_msg => 'BEGIN of insert_sources_230'
156161 ,p_level => C_LEVEL_PROCEDURE
156162 ,p_module => l_log_module);
156163
156164 END IF;
156165
156166 -- select APPS owner
156167 SELECT oracle_username
156168 INTO p_apps_owner
156169 FROM fnd_oracle_userid
156170 WHERE read_only_flag = 'U'
156171 ;
156172
156173 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156174 trace
156175 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
156176 ' - p_language = '||p_language||
156177 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
156178 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
156179 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
156180 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
156181 ,p_level => C_LEVEL_STATEMENT
156182 ,p_module => l_log_module);
156183 END IF;
156184
156185
156186 --
156187 INSERT INTO xla_diag_sources --hdr2
156188 (
156189 event_id
156190 , ledger_id
156191 , sla_ledger_id
156195 , line_number
156192 , description_language
156193 , object_name
156194 , object_type_code
156196 , source_application_id
156197 , source_type_code
156198 , source_code
156199 , source_value
156200 , source_meaning
156201 , created_by
156202 , creation_date
156203 , last_update_date
156204 , last_updated_by
156205 , last_update_login
156206 , program_update_date
156207 , program_application_id
156208 , program_id
156209 , request_id
156210 )
156211 SELECT
156212 event_id
156213 , p_target_ledger_id
156214 , p_sla_ledger_id
156215 , p_language
156216 , object_name
156217 , object_type_code
156218 , line_number
156219 , source_application_id
156220 , source_type_code
156221 , source_code
156222 , SUBSTR(source_value ,1,1996)
156223 , SUBSTR(source_meaning ,1,200)
156224 , xla_environment_pkg.g_Usr_Id
156225 , TRUNC(SYSDATE)
156226 , TRUNC(SYSDATE)
156227 , xla_environment_pkg.g_Usr_Id
156228 , xla_environment_pkg.g_Login_Id
156229 , TRUNC(SYSDATE)
156230 , xla_environment_pkg.g_Prog_Appl_Id
156231 , xla_environment_pkg.g_Prog_Id
156232 , xla_environment_pkg.g_Req_Id
156233 FROM (
156234 SELECT xet.event_id event_id
156235 , 0 line_number
156236 , CASE r
156237 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156238 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156239 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156240 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156241 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156242 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156243 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156244 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156245 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156246 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156247 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156248 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156249 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156250 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156251 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156252 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156253 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156254 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156255 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156256 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156257 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156258 WHEN 22 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156259 WHEN 23 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156260 WHEN 24 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156261 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156262 WHEN 26 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156263 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156264 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156265 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156266 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156267 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156268 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156269 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156270 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156271 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156272 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156273 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156274 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156275 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156276
156277 ELSE null
156278 END object_name
156279 , CASE r
156280 WHEN 1 THEN 'HEADER'
156281 WHEN 2 THEN 'HEADER'
156282 WHEN 3 THEN 'HEADER'
156283 WHEN 4 THEN 'HEADER'
156284 WHEN 5 THEN 'HEADER'
156285 WHEN 6 THEN 'HEADER'
156286 WHEN 7 THEN 'HEADER'
156287 WHEN 8 THEN 'HEADER'
156288 WHEN 9 THEN 'HEADER'
156289 WHEN 10 THEN 'HEADER'
156290 WHEN 11 THEN 'HEADER'
156291 WHEN 12 THEN 'HEADER'
156292 WHEN 13 THEN 'HEADER'
156293 WHEN 14 THEN 'HEADER'
156294 WHEN 15 THEN 'HEADER'
156295 WHEN 16 THEN 'HEADER'
156296 WHEN 17 THEN 'HEADER'
156297 WHEN 18 THEN 'HEADER'
156298 WHEN 19 THEN 'HEADER'
156299 WHEN 20 THEN 'HEADER'
156300 WHEN 21 THEN 'HEADER'
156301 WHEN 22 THEN 'HEADER'
156302 WHEN 23 THEN 'HEADER'
156303 WHEN 24 THEN 'HEADER'
156304 WHEN 25 THEN 'HEADER'
156305 WHEN 26 THEN 'HEADER'
156306 WHEN 27 THEN 'HEADER'
156307 WHEN 28 THEN 'HEADER'
156308 WHEN 29 THEN 'HEADER'
156309 WHEN 30 THEN 'HEADER'
156310 WHEN 31 THEN 'HEADER'
156311 WHEN 32 THEN 'HEADER'
156312 WHEN 33 THEN 'HEADER'
156313 WHEN 34 THEN 'HEADER'
156314 WHEN 35 THEN 'HEADER'
156315 WHEN 36 THEN 'HEADER'
156316 WHEN 37 THEN 'HEADER'
156317 WHEN 38 THEN 'HEADER'
156318 WHEN 39 THEN 'HEADER'
156319
156320 ELSE null
156324 WHEN 2 THEN '200'
156321 END object_type_code
156322 , CASE r
156323 WHEN 1 THEN '200'
156325 WHEN 3 THEN '200'
156326 WHEN 4 THEN '200'
156327 WHEN 5 THEN '200'
156328 WHEN 6 THEN '200'
156329 WHEN 7 THEN '200'
156330 WHEN 8 THEN '200'
156331 WHEN 9 THEN '200'
156332 WHEN 10 THEN '200'
156333 WHEN 11 THEN '200'
156334 WHEN 12 THEN '200'
156335 WHEN 13 THEN '200'
156336 WHEN 14 THEN '200'
156337 WHEN 15 THEN '200'
156338 WHEN 16 THEN '200'
156339 WHEN 17 THEN '200'
156340 WHEN 18 THEN '200'
156341 WHEN 19 THEN '200'
156342 WHEN 20 THEN '200'
156343 WHEN 21 THEN '200'
156344 WHEN 22 THEN '200'
156345 WHEN 23 THEN '200'
156346 WHEN 24 THEN '200'
156347 WHEN 25 THEN '200'
156348 WHEN 26 THEN '200'
156349 WHEN 27 THEN '200'
156350 WHEN 28 THEN '200'
156351 WHEN 29 THEN '200'
156352 WHEN 30 THEN '200'
156353 WHEN 31 THEN '200'
156354 WHEN 32 THEN '200'
156355 WHEN 33 THEN '200'
156356 WHEN 34 THEN '200'
156357 WHEN 35 THEN '200'
156358 WHEN 36 THEN '200'
156359 WHEN 37 THEN '200'
156360 WHEN 38 THEN '200'
156361 WHEN 39 THEN '200'
156362
156363 ELSE null
156364 END source_application_id
156365 , 'S' source_type_code
156366 , CASE r
156367 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
156368 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
156369 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
156370 WHEN 4 THEN 'AC_CHECK_DATE'
156371 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
156372 WHEN 6 THEN 'AC_CURRENCY_CODE'
156373 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
156374 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
156375 WHEN 9 THEN 'FSP_DISC_TAKEN_CCID'
156376 WHEN 10 THEN 'ASP_DISCOUNT_DIST_METHOD'
156377 WHEN 11 THEN 'CGAC_FUTURE_DATED_PMT_CCID'
156378 WHEN 12 THEN 'ASP_FD_PMT_ACCT_SOURCE'
156379 WHEN 13 THEN 'FSP_FUTURE_DATED_PAYMENT_CCID'
156380 WHEN 14 THEN 'POS_FDP_CCID'
156381 WHEN 15 THEN 'ASP_INTEREST_CCID'
156382 WHEN 16 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
156383 WHEN 17 THEN 'CGAC_CASH_CLEARING_CCID'
156384 WHEN 18 THEN 'CGAC_GAIN_CCID'
156385 WHEN 19 THEN 'ASP_GAIN_CCID'
156386 WHEN 20 THEN 'CGAC_LOSS_CCID'
156387 WHEN 21 THEN 'ASP_LOSS_CCID'
156388 WHEN 22 THEN 'ASP_DISC_TAKEN_CCID'
156389 WHEN 23 THEN 'ASP_AUTO_OFFSET_FLAG'
156390 WHEN 24 THEN 'ASP_ROUNDING_ERROR_CCID'
156391 WHEN 25 THEN 'THIRD_PARTY_TYPE'
156392 WHEN 26 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
156393 WHEN 27 THEN 'AC_VENDOR_ID'
156394 WHEN 28 THEN 'AC_VENDOR_SITE_ID'
156395 WHEN 29 THEN 'AC_CHECK_ID'
156396 WHEN 30 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
156397 WHEN 31 THEN 'AC_FUTURE_PAY_DUE_DATE'
156398 WHEN 32 THEN 'AC_EXCHANGE_DATE'
156399 WHEN 33 THEN 'AC_EXCHANGE_RATE'
156400 WHEN 34 THEN 'AC_EXCHANGE_RATE_TYPE'
156401 WHEN 35 THEN 'PAYMENT_TYPE'
156402 WHEN 36 THEN 'PAYMENT_PROCESSING_TYPE'
156403 WHEN 37 THEN 'AC_DOC_CATEGORY_CODE'
156404 WHEN 38 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
156405 WHEN 39 THEN 'TRANSAC_REVERSAL_FLAG'
156406
156407 ELSE null
156408 END source_code
156409 , CASE r
156410 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
156411 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
156412 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
156413 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
156414 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
156415 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
156416 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
156417 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
156418 WHEN 9 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
156419 WHEN 10 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
156420 WHEN 11 THEN TO_CHAR(h2.CGAC_FUTURE_DATED_PMT_CCID)
156421 WHEN 12 THEN TO_CHAR(h3.ASP_FD_PMT_ACCT_SOURCE)
156422 WHEN 13 THEN TO_CHAR(h3.FSP_FUTURE_DATED_PAYMENT_CCID)
156423 WHEN 14 THEN TO_CHAR(h2.POS_FDP_CCID)
156424 WHEN 15 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
156425 WHEN 16 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
156426 WHEN 17 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
156427 WHEN 18 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
156428 WHEN 19 THEN TO_CHAR(h3.ASP_GAIN_CCID)
156429 WHEN 20 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
156430 WHEN 21 THEN TO_CHAR(h3.ASP_LOSS_CCID)
156431 WHEN 22 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
156432 WHEN 23 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
156433 WHEN 24 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
156434 WHEN 25 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
156435 WHEN 26 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
156439 WHEN 30 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
156436 WHEN 27 THEN TO_CHAR(h2.AC_VENDOR_ID)
156437 WHEN 28 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
156438 WHEN 29 THEN TO_CHAR(h2.AC_CHECK_ID)
156440 WHEN 31 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
156441 WHEN 32 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
156442 WHEN 33 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
156443 WHEN 34 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
156444 WHEN 35 THEN TO_CHAR(h2.PAYMENT_TYPE)
156445 WHEN 36 THEN TO_CHAR(h2.PAYMENT_PROCESSING_TYPE)
156446 WHEN 37 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
156447 WHEN 38 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
156448 WHEN 39 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
156449
156450 ELSE null
156451 END source_value
156452 , CASE r
156453 WHEN 7 THEN fvl15.meaning
156454 WHEN 10 THEN fvl19.meaning
156455 WHEN 12 THEN fvl25.meaning
156456 WHEN 23 THEN fvl47.meaning
156457 WHEN 30 THEN fvl113.meaning
156458 WHEN 35 THEN fvl122.meaning
156459 WHEN 39 THEN fvl172.meaning
156460
156461 ELSE null
156462 END source_meaning
156463 FROM xla_events_gt xet
156464 , AP_PAYMENT_EXTRACT_HEADER_V h2
156465 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
156466 , fnd_lookup_values fvl15
156467 , fnd_lookup_values fvl19
156468 , fnd_lookup_values fvl25
156469 , fnd_lookup_values fvl47
156470 , fnd_lookup_values fvl113
156471 , fnd_lookup_values fvl122
156472 , fnd_lookup_values fvl172
156473 ,(select rownum r from all_objects where rownum <= 39 and owner = p_apps_owner)
156474 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
156475 AND xet.event_class_code = C_EVENT_CLASS_CODE
156476 AND h2.event_id = xet.event_id
156477 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
156478 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
156479 AND fvl15.view_application_id(+) = 200
156480 AND fvl15.language(+) = USERENV('LANG')
156481 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
156482 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
156483 AND fvl19.view_application_id(+) = 200
156484 AND fvl19.language(+) = USERENV('LANG')
156485 AND fvl25.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
156486 AND fvl25.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
156487 AND fvl25.view_application_id(+) = 200
156488 AND fvl25.language(+) = USERENV('LANG')
156489 AND fvl47.lookup_type(+) = 'YES_NO'
156490 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
156491 AND fvl47.view_application_id(+) = 0
156492 AND fvl47.language(+) = USERENV('LANG')
156493 AND fvl113.lookup_type(+) = 'YES_NO'
156494 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
156495 AND fvl113.view_application_id(+) = 0
156496 AND fvl113.language(+) = USERENV('LANG')
156497 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
156498 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
156499 AND fvl122.view_application_id(+) = 200
156500 AND fvl122.language(+) = USERENV('LANG')
156501 AND fvl172.lookup_type(+) = 'YES_NO'
156502 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
156503 AND fvl172.view_application_id(+) = 0
156504 AND fvl172.language(+) = USERENV('LANG')
156505
156506 )
156507 ;
156508 --
156509 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156510
156511 trace
156512 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
156513 ,p_level => C_LEVEL_STATEMENT
156514 ,p_module => l_log_module);
156515
156516 END IF;
156517 --
156518
156519
156520
156521 --
156522 INSERT INTO xla_diag_sources --line2
156523 (
156524 event_id
156525 , ledger_id
156526 , sla_ledger_id
156527 , description_language
156528 , object_name
156529 , object_type_code
156530 , line_number
156531 , source_application_id
156532 , source_type_code
156533 , source_code
156534 , source_value
156535 , source_meaning
156536 , created_by
156537 , creation_date
156538 , last_update_date
156539 , last_updated_by
156540 , last_update_login
156541 , program_update_date
156542 , program_application_id
156543 , program_id
156544 , request_id
156545 )
156546 SELECT event_id
156547 , p_target_ledger_id
156548 , p_sla_ledger_id
156549 , p_language
156550 , object_name
156551 , object_type_code
156552 , line_number
156553 , source_application_id
156554 , source_type_code
156555 , source_code
156556 , SUBSTR(source_value,1,1996)
156557 , SUBSTR(source_meaning ,1,200)
156558 , xla_environment_pkg.g_Usr_Id
156559 , TRUNC(SYSDATE)
156560 , TRUNC(SYSDATE)
156561 , xla_environment_pkg.g_Usr_Id
156562 , xla_environment_pkg.g_Login_Id
156563 , TRUNC(SYSDATE)
156564 , xla_environment_pkg.g_Prog_Appl_Id
156565 , xla_environment_pkg.g_Prog_Id
156566 , xla_environment_pkg.g_Req_Id
156567 FROM (
156568 SELECT xet.event_id event_id
156569 , l1.line_number line_number
156570 , CASE r
156571 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156572 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156576 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156573 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156574 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156575 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156577 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156578 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156579 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156580 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156581 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156582 WHEN 12 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
156583 WHEN 13 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156584 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156585 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156586 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156587 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156588 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156589 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156590 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156591 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156592 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156593 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156594 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156595 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156596 WHEN 26 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156597 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156598 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156599 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156600 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156601 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156602 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156603 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156604 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156605
156606 ELSE null
156607 END object_name
156608 , CASE r
156609 WHEN 1 THEN 'LINE'
156610 WHEN 2 THEN 'LINE'
156611 WHEN 3 THEN 'LINE'
156612 WHEN 4 THEN 'LINE'
156613 WHEN 5 THEN 'LINE'
156614 WHEN 6 THEN 'LINE'
156615 WHEN 7 THEN 'LINE'
156616 WHEN 8 THEN 'LINE'
156617 WHEN 9 THEN 'LINE'
156618 WHEN 10 THEN 'LINE'
156619 WHEN 11 THEN 'LINE'
156620 WHEN 12 THEN 'LINE'
156621 WHEN 13 THEN 'LINE'
156622 WHEN 14 THEN 'LINE'
156623 WHEN 15 THEN 'LINE'
156624 WHEN 16 THEN 'LINE'
156625 WHEN 17 THEN 'LINE'
156626 WHEN 18 THEN 'LINE'
156627 WHEN 19 THEN 'LINE'
156628 WHEN 20 THEN 'LINE'
156629 WHEN 21 THEN 'LINE'
156630 WHEN 22 THEN 'LINE'
156631 WHEN 23 THEN 'LINE'
156632 WHEN 24 THEN 'LINE'
156633 WHEN 25 THEN 'LINE'
156634 WHEN 26 THEN 'LINE'
156635 WHEN 27 THEN 'LINE'
156636 WHEN 28 THEN 'LINE'
156637 WHEN 29 THEN 'LINE'
156638 WHEN 30 THEN 'LINE'
156639 WHEN 31 THEN 'LINE'
156640 WHEN 32 THEN 'LINE'
156641 WHEN 33 THEN 'LINE'
156642 WHEN 34 THEN 'LINE'
156643
156644 ELSE null
156645 END object_type_code
156646 , CASE r
156647 WHEN 1 THEN '200'
156648 WHEN 2 THEN '200'
156649 WHEN 3 THEN '200'
156650 WHEN 4 THEN '200'
156651 WHEN 5 THEN '200'
156652 WHEN 6 THEN '200'
156653 WHEN 7 THEN '200'
156654 WHEN 8 THEN '200'
156655 WHEN 9 THEN '200'
156656 WHEN 10 THEN '200'
156657 WHEN 11 THEN '200'
156658 WHEN 12 THEN '200'
156659 WHEN 13 THEN '200'
156660 WHEN 14 THEN '200'
156661 WHEN 15 THEN '200'
156662 WHEN 16 THEN '200'
156663 WHEN 17 THEN '200'
156664 WHEN 18 THEN '200'
156665 WHEN 19 THEN '200'
156666 WHEN 20 THEN '200'
156667 WHEN 21 THEN '200'
156668 WHEN 22 THEN '200'
156669 WHEN 23 THEN '200'
156670 WHEN 24 THEN '200'
156671 WHEN 25 THEN '200'
156672 WHEN 26 THEN '200'
156673 WHEN 27 THEN '200'
156674 WHEN 28 THEN '200'
156675 WHEN 29 THEN '200'
156676 WHEN 30 THEN '200'
156677 WHEN 31 THEN '200'
156678 WHEN 32 THEN '200'
156679 WHEN 33 THEN '200'
156680 WHEN 34 THEN '200'
156681
156682 ELSE null
156683 END source_application_id
156684 , 'S' source_type_code
156685 , CASE r
156686 WHEN 1 THEN 'AID_DIST_CCID'
156687 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
156688 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
156689 WHEN 4 THEN 'POD_CCID'
156690 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
156691 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
156692 WHEN 7 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
156693 WHEN 8 THEN 'DISTRIBUTION_LINK_TYPE'
156694 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
156698 WHEN 13 THEN 'SUMMARY_TAX_LINE_ID'
156695 WHEN 10 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
156696 WHEN 11 THEN 'TAX_LINE_ID'
156697 WHEN 12 THEN 'REC_NREC_TAX_DIST_ID'
156699 WHEN 14 THEN 'BUS_FLOW_AP_APP_ID'
156700 WHEN 15 THEN 'BUS_FLOW_INV_DIST_TYPE'
156701 WHEN 16 THEN 'BUS_FLOW_INV_ENTITY_CODE'
156702 WHEN 17 THEN 'BUS_FLOW_INV_DIST_ID'
156703 WHEN 18 THEN 'BUS_FLOW_INV_ID'
156704 WHEN 19 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
156705 WHEN 20 THEN 'APHD_AMOUNT'
156706 WHEN 21 THEN 'APHD_PAYMENT_HIST_DIST_ID'
156707 WHEN 22 THEN 'APHD_REV_PAY_HIST_DIST_ID'
156708 WHEN 23 THEN 'APHD_PAYMENT_BASE_AMT'
156709 WHEN 24 THEN 'APHD_INVOICE_BASE_AMT'
156710 WHEN 25 THEN 'APHD_INVOICE_DIST_AMOUNT'
156711 WHEN 26 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
156712 WHEN 27 THEN 'AWT_RELATED_DIST_TYPE'
156713 WHEN 28 THEN 'INV_EXCHANGE_DATE'
156714 WHEN 29 THEN 'INV_EXCHANGE_RATE'
156715 WHEN 30 THEN 'INV_EXCHANGE_RATE_TYPE'
156716 WHEN 31 THEN 'INV_PMT_BASE_AMT_DIFF'
156717 WHEN 32 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
156718 WHEN 33 THEN 'AI_INVOICE_TYPE_PAID'
156719 WHEN 34 THEN 'AWT_AT_PMT_TIME'
156720
156721 ELSE null
156722 END source_code
156723 , CASE r
156724 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
156725 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
156726 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
156727 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
156728 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
156729 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
156730 WHEN 7 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
156731 WHEN 8 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
156732 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
156733 WHEN 10 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
156734 WHEN 11 THEN TO_CHAR(l4.TAX_LINE_ID)
156735 WHEN 12 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
156736 WHEN 13 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
156737 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
156738 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
156739 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
156740 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
156741 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
156742 WHEN 19 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
156743 WHEN 20 THEN TO_CHAR(l1.APHD_AMOUNT)
156744 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
156745 WHEN 22 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
156746 WHEN 23 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
156747 WHEN 24 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
156748 WHEN 25 THEN TO_CHAR(l1.APHD_INVOICE_DIST_AMOUNT)
156749 WHEN 26 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
156750 WHEN 27 THEN TO_CHAR(l1.AWT_RELATED_DIST_TYPE)
156751 WHEN 28 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
156752 WHEN 29 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
156753 WHEN 30 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
156754 WHEN 31 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
156755 WHEN 32 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
156756 WHEN 33 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
156757 WHEN 34 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
156758
156759 ELSE null
156760 END source_value
156761 , CASE r
156762 WHEN 2 THEN fvl33.meaning
156763 WHEN 10 THEN fvl79.meaning
156764 WHEN 19 THEN fvl97.meaning
156765 WHEN 26 THEN fvl125.meaning
156766 WHEN 33 THEN fvl160.meaning
156767 WHEN 34 THEN fvl161.meaning
156768
156769 ELSE null
156770 END source_meaning
156771 FROM xla_events_gt xet
156772 , AP_PAYMENT_EXTRACT_DETAILS_V l1
156773 , ZX_AP_DEF_TAX_EXTRACT_V l4
156774 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
156775 , fnd_lookup_values fvl33
156776 , fnd_lookup_values fvl79
156777 , fnd_lookup_values fvl97
156778 , fnd_lookup_values fvl125
156779 , fnd_lookup_values fvl160
156780 , fnd_lookup_values fvl161
156781 , (select rownum r from all_objects where rownum <= 34 and owner = p_apps_owner)
156782 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
156783 AND xet.event_class_code = C_EVENT_CLASS_CODE
156784 AND l1.event_id = xet.event_id
156785 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'
156786 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
156787 AND fvl33.view_application_id(+) = 200
156788 AND fvl33.language(+) = USERENV('LANG')
156789 AND fvl79.lookup_type(+) = 'YES_NO'
156790 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
156791 AND fvl79.view_application_id(+) = 0
156792 AND fvl79.language(+) = USERENV('LANG')
156793 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
156794 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
156795 AND fvl97.view_application_id(+) = 200
156796 AND fvl97.language(+) = USERENV('LANG')
156797 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
156798 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
156802 AND fvl160.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
156799 AND fvl125.view_application_id(+) = 0
156800 AND fvl125.language(+) = USERENV('LANG')
156801 AND fvl160.lookup_type(+) = 'INVOICE TYPE'
156803 AND fvl160.view_application_id(+) = 200
156804 AND fvl160.language(+) = USERENV('LANG')
156805 AND fvl161.lookup_type(+) = 'YES_NO'
156806 AND fvl161.lookup_code(+) = l1.AWT_AT_PMT_TIME
156807 AND fvl161.view_application_id(+) = 0
156808 AND fvl161.language(+) = USERENV('LANG')
156809
156810 )
156811 ;
156812 --
156813 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156814
156815 trace
156816 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
156817 ,p_level => C_LEVEL_STATEMENT
156818 ,p_module => l_log_module);
156819
156820 END IF;
156821
156822
156823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156824 trace
156825 (p_msg => 'END of insert_sources_230'
156826 ,p_level => C_LEVEL_PROCEDURE
156827 ,p_module => l_log_module);
156828 END IF;
156829 EXCEPTION
156830 WHEN xla_exceptions_pkg.application_exception THEN
156831 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156832 trace
156833 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156834 ,p_level => C_LEVEL_EXCEPTION
156835 ,p_module => l_log_module);
156836 END IF;
156837 RAISE;
156838 WHEN OTHERS THEN
156839 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156840 trace
156841 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156842 ,p_level => C_LEVEL_EXCEPTION
156843 ,p_module => l_log_module);
156844 END IF;
156845 xla_exceptions_pkg.raise_message
156846 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_230');
156847 END insert_sources_230;
156848 --
156849
156850 ---------------------------------------
156851 --
156852 -- PRIVATE FUNCTION
156853 -- EventClass_230
156854 --
156855 ----------------------------------------
156856 --
156857 FUNCTION EventClass_230
156858 (p_application_id IN NUMBER
156859 ,p_base_ledger_id IN NUMBER
156860 ,p_target_ledger_id IN NUMBER
156861 ,p_language IN VARCHAR2
156862 ,p_currency_code IN VARCHAR2
156863 ,p_sla_ledger_id IN NUMBER
156864 ,p_pad_start_date IN DATE
156865 ,p_pad_end_date IN DATE
156866 ,p_primary_ledger_id IN NUMBER)
156867 RETURN BOOLEAN IS
156868 --
156869 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
156870 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
156871
156872 l_calculate_acctd_flag VARCHAR2(1) :='N';
156873 l_calculate_g_l_flag VARCHAR2(1) :='N';
156874 --
156875 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156876 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156877 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156878 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156879 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156880 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156881 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156882 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156883 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156884 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156885 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156886 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156887 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156888 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156889 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156890 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156891 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156892 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156893 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156894 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156895 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156896 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156897 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
156898 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156899 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156900 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156901
156902 l_event_id NUMBER;
156903 l_previous_event_id NUMBER;
156904 l_first_event_id NUMBER;
156905 l_last_event_id NUMBER;
156906
156907 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
156908 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
156909 --
156910 --
156911 l_result BOOLEAN := TRUE;
156912 l_rows NUMBER := 1000;
156913 l_event_type_name VARCHAR2(80) := 'All';
156914 l_event_class_name VARCHAR2(80) := 'Payments';
156915 l_description VARCHAR2(4000);
156916 l_transaction_reversal NUMBER;
156917 l_ae_header_id NUMBER;
156918 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
156919 l_log_module VARCHAR2(240);
156920 --
156921 l_acct_reversal_source VARCHAR2(30);
156925 --
156922 l_trx_reversal_source VARCHAR2(30);
156923
156924 l_continue_with_lines BOOLEAN := TRUE;
156926 l_acc_rev_gl_date_source DATE; -- 4262811
156927 --
156928 type t_array_event_id is table of number index by binary_integer;
156929
156930 l_rec_array_event t_rec_array_event;
156931 l_null_rec_array_event t_rec_array_event;
156932 l_array_ae_header_id xla_number_array_type;
156933 l_actual_flag VARCHAR2(1) := NULL;
156934 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
156935 l_balance_type_code VARCHAR2(1) :=NULL;
156936 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
156937
156938 --
156939 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
156940 --
156941
156942 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
156943 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
156944 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
156945 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
156946 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
156947 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
156948 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
156949 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
156950 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
156951 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
156952 TYPE t_array_source_24 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_FUTURE_DATED_PMT_CCID%TYPE INDEX BY BINARY_INTEGER;
156953 TYPE t_array_source_25 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_FD_PMT_ACCT_SOURCE%TYPE INDEX BY BINARY_INTEGER;
156954 TYPE t_array_source_26 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_FUTURE_DATED_PAYMENT_CCID%TYPE INDEX BY BINARY_INTEGER;
156955 TYPE t_array_source_27 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.POS_FDP_CCID%TYPE INDEX BY BINARY_INTEGER;
156956 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
156957 TYPE t_array_source_29 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
156958 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
156959 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
156960 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
156961 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
156962 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
156963 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
156964 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
156965 TYPE t_array_source_48 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
156966 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
156967 TYPE t_array_source_96 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
156968 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
156969 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
156970 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_ID%TYPE INDEX BY BINARY_INTEGER;
156971 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
156972 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
156973 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
156974 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
156975 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
156976 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
156977 TYPE t_array_source_123 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_PROCESSING_TYPE%TYPE INDEX BY BINARY_INTEGER;
156978 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
156979 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
156980 TYPE t_array_source_172 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
156981
156982 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
156983 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
156984 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
156985 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
156986 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
156987 TYPE t_array_source_51 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
156988 TYPE t_array_source_52 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
156989 TYPE t_array_source_54 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
156993 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156990 TYPE t_array_source_66 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
156991 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
156992 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
156994 TYPE t_array_source_87 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
156995 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
156996 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
156997 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
156998 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156999 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
157000 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
157001 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
157002 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157003 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157004 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
157005 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
157006 TYPE t_array_source_124 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_DIST_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
157007 TYPE t_array_source_125 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
157008 TYPE t_array_source_126 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
157009 TYPE t_array_source_136 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
157010 TYPE t_array_source_137 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
157011 TYPE t_array_source_138 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
157012 TYPE t_array_source_150 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
157013 TYPE t_array_source_155 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
157014 TYPE t_array_source_160 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
157015 TYPE t_array_source_161 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
157016
157017 l_array_source_6 t_array_source_6;
157018 l_array_source_9 t_array_source_9;
157019 l_array_source_10 t_array_source_10;
157020 l_array_source_11 t_array_source_11;
157021 l_array_source_12 t_array_source_12;
157022 l_array_source_13 t_array_source_13;
157023 l_array_source_15 t_array_source_15;
157024 l_array_source_15_meaning t_array_lookup_meaning;
157025 l_array_source_17 t_array_source_17;
157026 l_array_source_18 t_array_source_18;
157027 l_array_source_19 t_array_source_19;
157028 l_array_source_19_meaning t_array_lookup_meaning;
157029 l_array_source_24 t_array_source_24;
157030 l_array_source_25 t_array_source_25;
157031 l_array_source_25_meaning t_array_lookup_meaning;
157032 l_array_source_26 t_array_source_26;
157033 l_array_source_27 t_array_source_27;
157034 l_array_source_28 t_array_source_28;
157035 l_array_source_29 t_array_source_29;
157036 l_array_source_35 t_array_source_35;
157037 l_array_source_36 t_array_source_36;
157038 l_array_source_37 t_array_source_37;
157039 l_array_source_38 t_array_source_38;
157040 l_array_source_39 t_array_source_39;
157041 l_array_source_44 t_array_source_44;
157042 l_array_source_47 t_array_source_47;
157043 l_array_source_47_meaning t_array_lookup_meaning;
157044 l_array_source_48 t_array_source_48;
157045 l_array_source_82 t_array_source_82;
157046 l_array_source_96 t_array_source_96;
157047 l_array_source_109 t_array_source_109;
157048 l_array_source_110 t_array_source_110;
157049 l_array_source_112 t_array_source_112;
157050 l_array_source_113 t_array_source_113;
157051 l_array_source_113_meaning t_array_lookup_meaning;
157052 l_array_source_114 t_array_source_114;
157053 l_array_source_117 t_array_source_117;
157054 l_array_source_118 t_array_source_118;
157055 l_array_source_119 t_array_source_119;
157056 l_array_source_122 t_array_source_122;
157057 l_array_source_122_meaning t_array_lookup_meaning;
157058 l_array_source_123 t_array_source_123;
157059 l_array_source_170 t_array_source_170;
157060 l_array_source_171 t_array_source_171;
157061 l_array_source_172 t_array_source_172;
157062 l_array_source_172_meaning t_array_lookup_meaning;
157063
157064 l_array_source_30 t_array_source_30;
157065 l_array_source_33 t_array_source_33;
157066 l_array_source_33_meaning t_array_lookup_meaning;
157067 l_array_source_43 t_array_source_43;
157068 l_array_source_45 t_array_source_45;
157069 l_array_source_46 t_array_source_46;
157070 l_array_source_51 t_array_source_51;
157071 l_array_source_52 t_array_source_52;
157072 l_array_source_54 t_array_source_54;
157073 l_array_source_66 t_array_source_66;
157074 l_array_source_79 t_array_source_79;
157075 l_array_source_79_meaning t_array_lookup_meaning;
157079 l_array_source_90 t_array_source_90;
157076 l_array_source_85 t_array_source_85;
157077 l_array_source_86 t_array_source_86;
157078 l_array_source_87 t_array_source_87;
157080 l_array_source_91 t_array_source_91;
157081 l_array_source_92 t_array_source_92;
157082 l_array_source_93 t_array_source_93;
157083 l_array_source_94 t_array_source_94;
157084 l_array_source_97 t_array_source_97;
157085 l_array_source_97_meaning t_array_lookup_meaning;
157086 l_array_source_98 t_array_source_98;
157087 l_array_source_103 t_array_source_103;
157088 l_array_source_111 t_array_source_111;
157089 l_array_source_115 t_array_source_115;
157090 l_array_source_116 t_array_source_116;
157091 l_array_source_124 t_array_source_124;
157092 l_array_source_125 t_array_source_125;
157093 l_array_source_125_meaning t_array_lookup_meaning;
157094 l_array_source_126 t_array_source_126;
157095 l_array_source_136 t_array_source_136;
157096 l_array_source_137 t_array_source_137;
157097 l_array_source_138 t_array_source_138;
157098 l_array_source_150 t_array_source_150;
157099 l_array_source_155 t_array_source_155;
157100 l_array_source_160 t_array_source_160;
157101 l_array_source_160_meaning t_array_lookup_meaning;
157102 l_array_source_161 t_array_source_161;
157103 l_array_source_161_meaning t_array_lookup_meaning;
157104
157105 --
157106 CURSOR header_cur
157107 IS
157108 SELECT /*+ leading(xet) cardinality(xet,1) */
157109 -- Event Class Code: PAYMENTS
157110 xet.entity_id
157111 ,xet.legal_entity_id
157112 ,xet.entity_code
157113 ,xet.transaction_number
157114 ,xet.event_id
157115 ,xet.event_class_code
157116 ,xet.event_type_code
157117 ,xet.event_number
157118 ,xet.event_date
157119 ,xet.transaction_date
157120 ,xet.reference_num_1
157121 ,xet.reference_num_2
157122 ,xet.reference_num_3
157123 ,xet.reference_num_4
157124 ,xet.reference_char_1
157125 ,xet.reference_char_2
157126 ,xet.reference_char_3
157127 ,xet.reference_char_4
157128 ,xet.reference_date_1
157129 ,xet.reference_date_2
157130 ,xet.reference_date_3
157131 ,xet.reference_date_4
157132 ,xet.event_created_by
157133 ,xet.budgetary_control_flag
157134 , h2.DOC_SEQUENCE_NAME source_6
157135 , h2.AC_DOC_SEQUENCE_VALUE source_9
157136 , h2.PAYMENT_TRANSACTION_NUMBER source_10
157137 , h2.AC_CHECK_DATE source_11
157138 , h2.CBA_BANK_ACCOUNT_NAME source_12
157139 , h2.AC_CURRENCY_CODE source_13
157140 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
157141 , fvl15.meaning source_15_meaning
157142 , h2.CGAC_AP_ASSET_CCID source_17
157143 , h3.FSP_DISC_TAKEN_CCID source_18
157144 , h3.ASP_DISCOUNT_DIST_METHOD source_19
157145 , fvl19.meaning source_19_meaning
157146 , h2.CGAC_FUTURE_DATED_PMT_CCID source_24
157147 , h3.ASP_FD_PMT_ACCT_SOURCE source_25
157148 , fvl25.meaning source_25_meaning
157149 , h3.FSP_FUTURE_DATED_PAYMENT_CCID source_26
157150 , h2.POS_FDP_CCID source_27
157151 , h3.ASP_INTEREST_CCID source_28
157152 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_29
157153 , h2.CGAC_CASH_CLEARING_CCID source_35
157154 , h2.CGAC_GAIN_CCID source_36
157155 , h3.ASP_GAIN_CCID source_37
157156 , h2.CGAC_LOSS_CCID source_38
157157 , h3.ASP_LOSS_CCID source_39
157158 , h3.ASP_DISC_TAKEN_CCID source_44
157159 , h3.ASP_AUTO_OFFSET_FLAG source_47
157160 , fvl47.meaning source_47_meaning
157161 , h3.ASP_ROUNDING_ERROR_CCID source_48
157162 , h2.THIRD_PARTY_TYPE source_82
157163 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_96
157164 , h2.AC_VENDOR_ID source_109
157165 , h2.AC_VENDOR_SITE_ID source_110
157166 , h2.AC_CHECK_ID source_112
157167 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
157168 , fvl113.meaning source_113_meaning
157169 , h2.AC_FUTURE_PAY_DUE_DATE source_114
157170 , h2.AC_EXCHANGE_DATE source_117
157171 , h2.AC_EXCHANGE_RATE source_118
157172 , h2.AC_EXCHANGE_RATE_TYPE source_119
157173 , h2.PAYMENT_TYPE source_122
157174 , fvl122.meaning source_122_meaning
157175 , h2.PAYMENT_PROCESSING_TYPE source_123
157176 , h2.AC_DOC_CATEGORY_CODE source_170
157177 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
157178 , h2.TRANSAC_REVERSAL_FLAG source_172
157179 , fvl172.meaning source_172_meaning
157180 FROM xla_events_gt xet
157181 , AP_PAYMENT_EXTRACT_HEADER_V h2
157182 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
157183 , fnd_lookup_values fvl15
157184 , fnd_lookup_values fvl19
157185 , fnd_lookup_values fvl25
157186 , fnd_lookup_values fvl47
157187 , fnd_lookup_values fvl113
157188 , fnd_lookup_values fvl122
157189 , fnd_lookup_values fvl172
157190 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
157191 and xet.event_class_code = C_EVENT_CLASS_CODE
157192 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
157193 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
157194 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
157195 AND fvl15.view_application_id(+) = 200
157196 AND fvl15.language(+) = USERENV('LANG')
157197 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
157198 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
157199 AND fvl19.view_application_id(+) = 200
157200 AND fvl19.language(+) = USERENV('LANG')
157201 AND fvl25.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
157202 AND fvl25.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
157203 AND fvl25.view_application_id(+) = 200
157204 AND fvl25.language(+) = USERENV('LANG')
157205 AND fvl47.lookup_type(+) = 'YES_NO'
157206 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
157207 AND fvl47.view_application_id(+) = 0
157211 AND fvl113.view_application_id(+) = 0
157208 AND fvl47.language(+) = USERENV('LANG')
157209 AND fvl113.lookup_type(+) = 'YES_NO'
157210 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
157212 AND fvl113.language(+) = USERENV('LANG')
157213 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
157214 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
157215 AND fvl122.view_application_id(+) = 200
157216 AND fvl122.language(+) = USERENV('LANG')
157217 AND fvl172.lookup_type(+) = 'YES_NO'
157218 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
157219 AND fvl172.view_application_id(+) = 0
157220 AND fvl172.language(+) = USERENV('LANG')
157221
157222 ORDER BY event_id
157223 ;
157224
157225
157226 --
157227 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
157228 IS
157229 SELECT /*+ leading(xet) cardinality(xet,1) */
157230 -- Event Class Code: PAYMENTS
157231 xet.entity_id
157232 ,xet.legal_entity_id
157233 ,xet.entity_code
157234 ,xet.transaction_number
157235 ,xet.event_id
157236 ,xet.event_class_code
157237 ,xet.event_type_code
157238 ,xet.event_number
157239 ,xet.event_date
157240 ,xet.transaction_date
157241 ,xet.reference_num_1
157242 ,xet.reference_num_2
157243 ,xet.reference_num_3
157244 ,xet.reference_num_4
157245 ,xet.reference_char_1
157246 ,xet.reference_char_2
157247 ,xet.reference_char_3
157248 ,xet.reference_char_4
157249 ,xet.reference_date_1
157250 ,xet.reference_date_2
157251 ,xet.reference_date_3
157252 ,xet.reference_date_4
157253 ,xet.event_created_by
157254 ,xet.budgetary_control_flag
157255 , l1.LINE_NUMBER
157256 , l1.AID_DIST_CCID source_30
157257 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
157258 , fvl33.meaning source_33_meaning
157259 , l1.AWT_RELATED_DIST_ACCOUNT source_43
157260 , l1.POD_CCID source_45
157261 , l1.PO_VARIANCE_ACCOUNT source_46
157262 , l4.TAX_ACCOUNT_CCID source_51
157263 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
157264 , l1.DISTRIBUTION_LINK_TYPE source_54
157265 , l1.AI_INVOICE_CURRENCY_CODE source_66
157266 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
157267 , fvl79.meaning source_79_meaning
157268 , l4.TAX_LINE_ID source_85
157269 , l5.REC_NREC_TAX_DIST_ID source_86
157270 , l4.SUMMARY_TAX_LINE_ID source_87
157271 , l1.BUS_FLOW_AP_APP_ID source_90
157272 , l1.BUS_FLOW_INV_DIST_TYPE source_91
157273 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
157274 , l1.BUS_FLOW_INV_DIST_ID source_93
157275 , l1.BUS_FLOW_INV_ID source_94
157276 , l1.APHD_PAY_DIST_LOOKUP_CODE source_97
157277 , fvl97.meaning source_97_meaning
157278 , l1.APHD_AMOUNT source_98
157279 , l1.APHD_PAYMENT_HIST_DIST_ID source_103
157280 , l1.APHD_REV_PAY_HIST_DIST_ID source_111
157281 , l1.APHD_PAYMENT_BASE_AMT source_115
157282 , l1.APHD_INVOICE_BASE_AMT source_116
157283 , l1.APHD_INVOICE_DIST_AMOUNT source_124
157284 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_125
157285 , fvl125.meaning source_125_meaning
157286 , l1.AWT_RELATED_DIST_TYPE source_126
157287 , l1.INV_EXCHANGE_DATE source_136
157288 , l1.INV_EXCHANGE_RATE source_137
157289 , l1.INV_EXCHANGE_RATE_TYPE source_138
157290 , l1.INV_PMT_BASE_AMT_DIFF source_150
157291 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_155
157292 , l1.AI_INVOICE_TYPE_PAID source_160
157293 , fvl160.meaning source_160_meaning
157294 , l1.AWT_AT_PMT_TIME source_161
157295 , fvl161.meaning source_161_meaning
157296 FROM xla_events_gt xet
157297 , AP_PAYMENT_EXTRACT_DETAILS_V l1
157298 , ZX_AP_DEF_TAX_EXTRACT_V l4
157299 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
157300 , fnd_lookup_values fvl33
157301 , fnd_lookup_values fvl79
157302 , fnd_lookup_values fvl97
157303 , fnd_lookup_values fvl125
157304 , fnd_lookup_values fvl160
157305 , fnd_lookup_values fvl161
157306 WHERE xet.event_id between x_first_event_id and x_last_event_id
157307 and xet.event_date between p_pad_start_date and p_pad_end_date
157308 and xet.event_class_code = C_EVENT_CLASS_CODE
157309 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
157310 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'
157311 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
157312 AND fvl33.view_application_id(+) = 200
157313 AND fvl33.language(+) = USERENV('LANG')
157314 AND fvl79.lookup_type(+) = 'YES_NO'
157315 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
157316 AND fvl79.view_application_id(+) = 0
157317 AND fvl79.language(+) = USERENV('LANG')
157318 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
157319 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
157320 AND fvl97.view_application_id(+) = 200
157321 AND fvl97.language(+) = USERENV('LANG')
157322 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
157323 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
157324 AND fvl125.view_application_id(+) = 0
157325 AND fvl125.language(+) = USERENV('LANG')
157326 AND fvl160.lookup_type(+) = 'INVOICE TYPE'
157327 AND fvl160.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
157328 AND fvl160.view_application_id(+) = 200
157329 AND fvl160.language(+) = USERENV('LANG')
157330 AND fvl161.lookup_type(+) = 'YES_NO'
157331 AND fvl161.lookup_code(+) = l1.AWT_AT_PMT_TIME
157332 AND fvl161.view_application_id(+) = 0
157333 AND fvl161.language(+) = USERENV('LANG')
157334 ;
157335
157336 --
157337 BEGIN
157338 IF g_log_enabled THEN
157342 trace
157339 l_log_module := C_DEFAULT_MODULE||'.EventClass_230';
157340 END IF;
157341 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
157343 (p_msg => 'BEGIN of EventClass_230'
157344 ,p_level => C_LEVEL_PROCEDURE
157345 ,p_module => l_log_module);
157346 END IF;
157347
157348 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157349 trace
157350 (p_msg => 'p_application_id = '||p_application_id||
157351 ' - p_base_ledger_id = '||p_base_ledger_id||
157352 ' - p_target_ledger_id = '||p_target_ledger_id||
157353 ' - p_language = '||p_language||
157354 ' - p_currency_code = '||p_currency_code||
157355 ' - p_sla_ledger_id = '||p_sla_ledger_id
157356 ,p_level => C_LEVEL_STATEMENT
157357 ,p_module => l_log_module);
157358 END IF;
157359 --
157360 -- initialze arrays
157361 --
157362 g_array_event.DELETE;
157363 l_rec_array_event := l_null_rec_array_event;
157364 --
157365 --------------------------------------
157366 -- 4262811 Initialze MPA Line Number
157367 --------------------------------------
157368 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
157369
157370 --
157371
157372 --
157373 OPEN header_cur;
157374 --
157375 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157376 trace
157377 (p_msg => 'SQL - FETCH header_cur'
157378 ,p_level => C_LEVEL_STATEMENT
157379 ,p_module => l_log_module);
157380 END IF;
157381 --
157382 LOOP
157383 FETCH header_cur BULK COLLECT INTO
157384 l_array_entity_id
157385 , l_array_legal_entity_id
157386 , l_array_entity_code
157387 , l_array_transaction_num
157388 , l_array_event_id
157389 , l_array_class_code
157390 , l_array_event_type
157391 , l_array_event_number
157392 , l_array_event_date
157393 , l_array_transaction_date
157394 , l_array_reference_num_1
157395 , l_array_reference_num_2
157396 , l_array_reference_num_3
157397 , l_array_reference_num_4
157398 , l_array_reference_char_1
157399 , l_array_reference_char_2
157400 , l_array_reference_char_3
157401 , l_array_reference_char_4
157402 , l_array_reference_date_1
157403 , l_array_reference_date_2
157404 , l_array_reference_date_3
157405 , l_array_reference_date_4
157406 , l_array_event_created_by
157407 , l_array_budgetary_control_flag
157408 , l_array_source_6
157409 , l_array_source_9
157410 , l_array_source_10
157411 , l_array_source_11
157412 , l_array_source_12
157413 , l_array_source_13
157414 , l_array_source_15
157415 , l_array_source_15_meaning
157416 , l_array_source_17
157417 , l_array_source_18
157418 , l_array_source_19
157419 , l_array_source_19_meaning
157420 , l_array_source_24
157421 , l_array_source_25
157422 , l_array_source_25_meaning
157423 , l_array_source_26
157424 , l_array_source_27
157425 , l_array_source_28
157426 , l_array_source_29
157427 , l_array_source_35
157428 , l_array_source_36
157429 , l_array_source_37
157430 , l_array_source_38
157431 , l_array_source_39
157432 , l_array_source_44
157433 , l_array_source_47
157434 , l_array_source_47_meaning
157435 , l_array_source_48
157436 , l_array_source_82
157437 , l_array_source_96
157438 , l_array_source_109
157439 , l_array_source_110
157440 , l_array_source_112
157441 , l_array_source_113
157442 , l_array_source_113_meaning
157443 , l_array_source_114
157444 , l_array_source_117
157445 , l_array_source_118
157446 , l_array_source_119
157447 , l_array_source_122
157448 , l_array_source_122_meaning
157449 , l_array_source_123
157450 , l_array_source_170
157451 , l_array_source_171
157452 , l_array_source_172
157453 , l_array_source_172_meaning
157454 LIMIT l_rows;
157455 --
157456 IF (C_LEVEL_EVENT >= g_log_level) THEN
157457 trace
157458 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
157459 ,p_level => C_LEVEL_EVENT
157460 ,p_module => l_log_module);
157461 END IF;
157462 --
157463 EXIT WHEN l_array_entity_id.COUNT = 0;
157464
157465 -- initialize arrays
157466 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
157467 XLA_AE_LINES_PKG.g_rec_lines := NULL;
157468
157469 --
157470 -- Bug 4458708
157471 --
157472 XLA_AE_LINES_PKG.g_LineNumber := 0;
157473
157474
157475 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
157476 g_last_hdr_idx := l_array_event_id.LAST;
157477 --
157478 -- loop for the headers. Each iteration is for each header extract row
157479 -- fetched in header cursor
157480 --
157481 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
157482
157483 --
157484 -- set event info as cache for other routines to refer event attributes
157485 --
157486 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
157487 (p_application_id => p_application_id
157488 ,p_primary_ledger_id => p_primary_ledger_id
157489 ,p_base_ledger_id => p_base_ledger_id
157490 ,p_target_ledger_id => p_target_ledger_id
157491 ,p_entity_id => l_array_entity_id(hdr_idx)
157492 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
157493 ,p_entity_code => l_array_entity_code(hdr_idx)
157494 ,p_transaction_num => l_array_transaction_num(hdr_idx)
157495 ,p_event_id => l_array_event_id(hdr_idx)
157496 ,p_event_class_code => l_array_class_code(hdr_idx)
157500 ,p_transaction_date => l_array_transaction_date(hdr_idx)
157497 ,p_event_type_code => l_array_event_type(hdr_idx)
157498 ,p_event_number => l_array_event_number(hdr_idx)
157499 ,p_event_date => l_array_event_date(hdr_idx)
157501 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
157502 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
157503 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
157504 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
157505 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
157506 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
157507 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
157508 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
157509 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
157510 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
157511 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
157512 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
157513 ,p_event_created_by => l_array_event_created_by(hdr_idx)
157514 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
157515
157516 --
157517 -- set the status of entry to C_VALID (0)
157518 --
157519 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
157520
157521 --
157522 -- initialize a row for ae header
157523 --
157524 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
157525
157526 l_event_id := l_array_event_id(hdr_idx);
157527
157528 --
157529 -- storing the hdr_idx for event. May be used by line cursor.
157530 --
157531 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
157532
157533 --
157534 -- store sources from header extract. This can be improved to
157535 -- store only those sources from header extract that may be used in lines
157536 --
157537
157538 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
157539 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
157540 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
157541 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
157542 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
157543 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
157544 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
157545 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
157546 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
157547 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
157548 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
157549 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
157550 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
157551 g_array_event(l_event_id).array_value_char('source_25') := l_array_source_25(hdr_idx);
157552 g_array_event(l_event_id).array_value_char('source_25_meaning') := l_array_source_25_meaning(hdr_idx);
157553 g_array_event(l_event_id).array_value_num('source_26') := l_array_source_26(hdr_idx);
157554 g_array_event(l_event_id).array_value_num('source_27') := l_array_source_27(hdr_idx);
157555 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
157556 g_array_event(l_event_id).array_value_char('source_29') := l_array_source_29(hdr_idx);
157557 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
157558 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
157559 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
157560 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
157561 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
157562 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
157563 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
157564 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
157565 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
157566 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
157567 g_array_event(l_event_id).array_value_char('source_96') := l_array_source_96(hdr_idx);
157568 g_array_event(l_event_id).array_value_num('source_109') := l_array_source_109(hdr_idx);
157569 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
157570 g_array_event(l_event_id).array_value_num('source_112') := l_array_source_112(hdr_idx);
157571 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
157572 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
157573 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
157574 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
157575 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
157576 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
157577 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
157578 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
157579 g_array_event(l_event_id).array_value_char('source_123') := l_array_source_123(hdr_idx);
157580 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
157581 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
157582 g_array_event(l_event_id).array_value_char('source_172') := l_array_source_172(hdr_idx);
157583 g_array_event(l_event_id).array_value_char('source_172_meaning') := l_array_source_172_meaning(hdr_idx);
157584
157588 --
157585 --
157586 -- initilaize the status of ae headers for diffrent balance types
157587 -- the status is initialised to C_NOT_CREATED (2)
157589 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157590 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157591 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157592
157593 --
157594 -- call api to validate and store accounting attributes for header
157595 --
157596
157597 ------------------------------------------------------------
157598 -- Accrual Reversal : to get date for Standard Source (NONE)
157599 ------------------------------------------------------------
157600 l_acc_rev_gl_date_source := NULL;
157601
157602 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
157603 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
157604 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
157605 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
157606 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
157607 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
157608 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
157609 l_rec_acct_attrs.array_date_value(4) :=
157610 xla_ae_sources_pkg.GetSystemSourceDate(
157611 p_source_code => 'XLA_EVENT_DATE'
157612 , p_source_type_code => 'Y'
157613 , p_source_application_id => 602
157614 );
157615 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
157616 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_172');
157617
157618
157619 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
157620
157621 XLA_AE_HEADER_PKG.SetJeCategoryName;
157622
157623 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
157624 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
157625 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
157626 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
157627 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
157628
157629
157630 --
157631 xla_ae_header_pkg.SetHdrDescription(
157632 p_description => Description_3 (
157633 p_application_id => p_application_id
157634 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
157635 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
157636 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
157637 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
157638 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
157639 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
157640 )
157641 );
157642 --
157643
157644 -- No header level analytical criteria
157645
157646 --
157647 --accounting attribute enhancement, bug 3612931
157648 --
157649 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_172'), 1,30);
157650
157651 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
157652 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157653
157654 xla_accounting_err_pkg.build_message
157655 (p_appli_s_name => 'XLA'
157656 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
157657 ,p_token_1 => 'ACCT_ATTR_NAME'
157658 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
157659 ,p_token_2 => 'PRODUCT_NAME'
157660 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157661 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157662 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157663 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157664
157665 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
157666 --
157667 -- following sets the accounting attributes needed to reverse
157668 -- accounting for a distributeion
157669 --
157670 xla_ae_lines_pkg.SetTrxReversalAttrs
157671 (p_event_id => l_event_id
157672 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
157673 ,p_trx_reversal_source => l_trx_reversal_source);
157674
157675 END IF;
157676
157677
157678 ----------------------------------------------------------------
157679 -- 4262811 - update the header statuses to invalid in need be
157680 ----------------------------------------------------------------
157681 --
157682 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
157683
157684
157685 -----------------------------------------------
157686 -- No accrual reversal for the event class/type
157687 -----------------------------------------------
157688 ----------------------------------------------------------------
157689
157690 --
157691 -- this ends the header loop iteration for one bulk fetch
157692 --
157693 END LOOP;
157694
157695 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
157696 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
157697
157698 --
157699 -- insert dummy rows into lines gt table that were created due to
157700 -- transaction reversals
157701 --
157702 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
157703 l_result := XLA_AE_LINES_PKG.InsertLines;
157704 END IF;
157705
157706 --
157707 -- reset the temp_line_num for each set of events fetched from header
157711 xla_ae_lines_pkg.g_temp_line_num := 0;
157708 -- cursor rather than doing it for each new event in line cursor
157709 -- Bug 3939231
157710 --
157712
157713
157714
157715 --
157716 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
157717 --
157718 --
157719 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157720
157721 trace
157722 (p_msg => 'SQL - FETCH line_cur'
157723 ,p_level => C_LEVEL_STATEMENT
157724 ,p_module => l_log_module);
157725
157726 END IF;
157727 --
157728 --
157729 LOOP
157730 --
157731 FETCH line_cur BULK COLLECT INTO
157732 l_array_entity_id
157733 , l_array_legal_entity_id
157734 , l_array_entity_code
157735 , l_array_transaction_num
157736 , l_array_event_id
157737 , l_array_class_code
157738 , l_array_event_type
157739 , l_array_event_number
157740 , l_array_event_date
157741 , l_array_transaction_date
157742 , l_array_reference_num_1
157743 , l_array_reference_num_2
157744 , l_array_reference_num_3
157745 , l_array_reference_num_4
157746 , l_array_reference_char_1
157747 , l_array_reference_char_2
157748 , l_array_reference_char_3
157749 , l_array_reference_char_4
157750 , l_array_reference_date_1
157751 , l_array_reference_date_2
157752 , l_array_reference_date_3
157753 , l_array_reference_date_4
157754 , l_array_event_created_by
157755 , l_array_budgetary_control_flag
157756 , l_array_extract_line_num
157757 , l_array_source_30
157758 , l_array_source_33
157759 , l_array_source_33_meaning
157760 , l_array_source_43
157761 , l_array_source_45
157762 , l_array_source_46
157763 , l_array_source_51
157764 , l_array_source_52
157765 , l_array_source_54
157766 , l_array_source_66
157767 , l_array_source_79
157768 , l_array_source_79_meaning
157769 , l_array_source_85
157770 , l_array_source_86
157771 , l_array_source_87
157772 , l_array_source_90
157773 , l_array_source_91
157774 , l_array_source_92
157775 , l_array_source_93
157776 , l_array_source_94
157777 , l_array_source_97
157778 , l_array_source_97_meaning
157779 , l_array_source_98
157780 , l_array_source_103
157781 , l_array_source_111
157782 , l_array_source_115
157783 , l_array_source_116
157784 , l_array_source_124
157785 , l_array_source_125
157786 , l_array_source_125_meaning
157787 , l_array_source_126
157788 , l_array_source_136
157789 , l_array_source_137
157790 , l_array_source_138
157791 , l_array_source_150
157792 , l_array_source_155
157793 , l_array_source_160
157794 , l_array_source_160_meaning
157795 , l_array_source_161
157796 , l_array_source_161_meaning
157797 LIMIT l_rows;
157798
157799 --
157800 IF (C_LEVEL_EVENT >= g_log_level) THEN
157801 trace
157802 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
157803 ,p_level => C_LEVEL_EVENT
157804 ,p_module => l_log_module);
157805 END IF;
157806 --
157807 EXIT WHEN l_array_entity_id.count = 0;
157808
157809 XLA_AE_LINES_PKG.g_rec_lines := null;
157810
157811 --
157812 -- Bug 4458708
157813 --
157814 XLA_AE_LINES_PKG.g_LineNumber := 0;
157815 --
157816 --
157817
157818 FOR Idx IN 1..l_array_event_id.count LOOP
157819 --
157820 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
157821 --
157822 l_event_id := l_array_event_id(idx); -- 5648433
157823
157824 --
157825 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
157826 --
157827
157828 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
157829 (g_array_event(l_event_id).array_value_num('header_index'))
157830 ,'N'
157831 ) <> 'Y'
157832 THEN
157833 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157834 trace
157835 (p_msg => 'Trancaction revesal option is not Y '
157836 ,p_level => C_LEVEL_STATEMENT
157837 ,p_module => l_log_module);
157838 END IF;
157839
157840 --
157841 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
157842 --
157843 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
157844 --
157845 -- set event info as cache for other routines to refer event attributes
157846 --
157847
157848 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
157849 l_previous_event_id := l_event_id;
157850
157851 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
157852 (p_application_id => p_application_id
157853 ,p_primary_ledger_id => p_primary_ledger_id
157854 ,p_base_ledger_id => p_base_ledger_id
157855 ,p_target_ledger_id => p_target_ledger_id
157856 ,p_entity_id => l_array_entity_id(Idx)
157857 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
157858 ,p_entity_code => l_array_entity_code(Idx)
157859 ,p_transaction_num => l_array_transaction_num(Idx)
157860 ,p_event_id => l_array_event_id(Idx)
157861 ,p_event_class_code => l_array_class_code(Idx)
157862 ,p_event_type_code => l_array_event_type(Idx)
157863 ,p_event_number => l_array_event_number(Idx)
157864 ,p_event_date => l_array_event_date(Idx)
157865 ,p_transaction_date => l_array_transaction_date(Idx)
157869 ,p_reference_num_4 => l_array_reference_num_4(Idx)
157866 ,p_reference_num_1 => l_array_reference_num_1(Idx)
157867 ,p_reference_num_2 => l_array_reference_num_2(Idx)
157868 ,p_reference_num_3 => l_array_reference_num_3(Idx)
157870 ,p_reference_char_1 => l_array_reference_char_1(Idx)
157871 ,p_reference_char_2 => l_array_reference_char_2(Idx)
157872 ,p_reference_char_3 => l_array_reference_char_3(Idx)
157873 ,p_reference_char_4 => l_array_reference_char_4(Idx)
157874 ,p_reference_date_1 => l_array_reference_date_1(Idx)
157875 ,p_reference_date_2 => l_array_reference_date_2(Idx)
157876 ,p_reference_date_3 => l_array_reference_date_3(Idx)
157877 ,p_reference_date_4 => l_array_reference_date_4(Idx)
157878 ,p_event_created_by => l_array_event_created_by(Idx)
157879 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
157880 --
157881 END IF;
157882
157883
157884
157885 --
157886 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
157887
157888 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
157889
157890 IF l_continue_with_lines THEN
157891 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
157892 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157893
157894 xla_accounting_err_pkg.build_message
157895 (p_appli_s_name => 'XLA'
157896 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
157897 ,p_token_1 => 'LINE_NUMBER'
157898 ,p_value_1 => l_array_extract_line_num(Idx)
157899 ,p_token_2 => 'PRODUCT_NAME'
157900 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157901 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157902 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157903 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157904
157905 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
157906 --
157907 -- following sets the accounting attributes needed to reverse
157908 -- accounting for a distributeion
157909 --
157910
157911 --
157912 -- 5217187
157913 --
157914 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
157915 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
157916 g_array_event(l_event_id).array_value_num('header_index'));
157917 --
157918 --
157919
157920 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
157921 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
157922 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
157923 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_103(Idx);
157924 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
157925 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
157926 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
157927 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_82');
157928 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
157929 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_111(Idx);
157930 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
157931 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_54(Idx);
157932 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
157933 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_85(Idx);
157934 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
157935 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_86(Idx);
157936 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
157937 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_87(Idx);
157938
157939
157940 xla_ae_lines_pkg.SetAcctReversalAttrs
157941 (p_event_id => l_event_id
157942 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
157943 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157944 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
157945 END IF;
157946
157947 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
157948 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
157949
157950 --
157951 AcctLineType_68 (
157952 p_application_id => p_application_id
157953 ,p_event_id => l_event_id
157954 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157955 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157956 ,p_actual_flag => l_actual_flag
157957 ,p_balance_type_code => l_balance_type_code
157958 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157959
157960 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
157961 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
157962 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
157963 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
157964 , p_source_52 => l_array_source_52(Idx)
157965 , p_source_54 => l_array_source_54(Idx)
157966 , p_source_79 => l_array_source_79(Idx)
157967 , p_source_79_meaning => l_array_source_79_meaning(Idx)
157968 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
157969 , p_source_85 => l_array_source_85(Idx)
157970 , p_source_86 => l_array_source_86(Idx)
157971 , p_source_87 => l_array_source_87(Idx)
157972 , p_source_90 => l_array_source_90(Idx)
157973 , p_source_91 => l_array_source_91(Idx)
157974 , p_source_92 => l_array_source_92(Idx)
157975 , p_source_93 => l_array_source_93(Idx)
157979 , p_source_97_meaning => l_array_source_97_meaning(Idx)
157976 , p_source_94 => l_array_source_94(Idx)
157977 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
157978 , p_source_97 => l_array_source_97(Idx)
157980 , p_source_98 => l_array_source_98(Idx)
157981 , p_source_103 => l_array_source_103(Idx)
157982 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
157983 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
157984 , p_source_111 => l_array_source_111(Idx)
157985 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
157986 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
157987 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
157988 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
157989 , p_source_115 => l_array_source_115(Idx)
157990 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
157991 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
157992 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
157993 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
157994 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
157995 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
157996 , p_source_124 => l_array_source_124(Idx)
157997 );
157998 If(l_balance_type_code = 'A') THEN
157999 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158000 END IF;
158001
158002 --
158003
158004
158005 --
158006 AcctLineType_69 (
158007 p_application_id => p_application_id
158008 ,p_event_id => l_event_id
158009 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158010 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158011 ,p_actual_flag => l_actual_flag
158012 ,p_balance_type_code => l_balance_type_code
158013 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158014
158015 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158016 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158017 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158018 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158019 , p_source_52 => l_array_source_52(Idx)
158020 , p_source_54 => l_array_source_54(Idx)
158021 , p_source_79 => l_array_source_79(Idx)
158022 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158023 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158024 , p_source_85 => l_array_source_85(Idx)
158025 , p_source_86 => l_array_source_86(Idx)
158026 , p_source_87 => l_array_source_87(Idx)
158027 , p_source_90 => l_array_source_90(Idx)
158028 , p_source_91 => l_array_source_91(Idx)
158029 , p_source_92 => l_array_source_92(Idx)
158030 , p_source_93 => l_array_source_93(Idx)
158031 , p_source_94 => l_array_source_94(Idx)
158032 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158033 , p_source_97 => l_array_source_97(Idx)
158034 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158035 , p_source_98 => l_array_source_98(Idx)
158036 , p_source_103 => l_array_source_103(Idx)
158037 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158038 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158039 , p_source_111 => l_array_source_111(Idx)
158040 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158041 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158042 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158043 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158044 , p_source_115 => l_array_source_115(Idx)
158045 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158046 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158047 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158048 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158049 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158050 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158051 , p_source_124 => l_array_source_124(Idx)
158052 );
158053 If(l_balance_type_code = 'A') THEN
158054 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158055 END IF;
158056
158057 --
158058
158059
158060 --
158061 AcctLineType_70 (
158062 p_application_id => p_application_id
158063 ,p_event_id => l_event_id
158064 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158065 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158066 ,p_actual_flag => l_actual_flag
158067 ,p_balance_type_code => l_balance_type_code
158068 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158069
158070 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158071 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158072 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158073 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158074 , p_source_52 => l_array_source_52(Idx)
158075 , p_source_54 => l_array_source_54(Idx)
158076 , p_source_79 => l_array_source_79(Idx)
158077 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158078 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158079 , p_source_85 => l_array_source_85(Idx)
158080 , p_source_86 => l_array_source_86(Idx)
158081 , p_source_87 => l_array_source_87(Idx)
158082 , p_source_90 => l_array_source_90(Idx)
158083 , p_source_91 => l_array_source_91(Idx)
158084 , p_source_92 => l_array_source_92(Idx)
158085 , p_source_93 => l_array_source_93(Idx)
158086 , p_source_94 => l_array_source_94(Idx)
158087 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158088 , p_source_97 => l_array_source_97(Idx)
158092 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158089 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158090 , p_source_98 => l_array_source_98(Idx)
158091 , p_source_103 => l_array_source_103(Idx)
158093 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158094 , p_source_111 => l_array_source_111(Idx)
158095 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158096 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158097 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158098 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158099 , p_source_115 => l_array_source_115(Idx)
158100 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158101 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158102 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158103 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158104 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158105 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158106 , p_source_124 => l_array_source_124(Idx)
158107 );
158108 If(l_balance_type_code = 'A') THEN
158109 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158110 END IF;
158111
158112 --
158113
158114
158115 --
158116 AcctLineType_71 (
158117 p_application_id => p_application_id
158118 ,p_event_id => l_event_id
158119 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158120 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158121 ,p_actual_flag => l_actual_flag
158122 ,p_balance_type_code => l_balance_type_code
158123 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158124
158125 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158126 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158127 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158128 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158129 , p_source_52 => l_array_source_52(Idx)
158130 , p_source_54 => l_array_source_54(Idx)
158131 , p_source_79 => l_array_source_79(Idx)
158132 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158133 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158134 , p_source_85 => l_array_source_85(Idx)
158135 , p_source_86 => l_array_source_86(Idx)
158136 , p_source_87 => l_array_source_87(Idx)
158137 , p_source_90 => l_array_source_90(Idx)
158138 , p_source_91 => l_array_source_91(Idx)
158139 , p_source_92 => l_array_source_92(Idx)
158140 , p_source_93 => l_array_source_93(Idx)
158141 , p_source_94 => l_array_source_94(Idx)
158142 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158143 , p_source_97 => l_array_source_97(Idx)
158144 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158145 , p_source_98 => l_array_source_98(Idx)
158146 , p_source_103 => l_array_source_103(Idx)
158147 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158148 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158149 , p_source_111 => l_array_source_111(Idx)
158150 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158151 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158152 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158153 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158154 , p_source_116 => l_array_source_116(Idx)
158155 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158156 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158157 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158158 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158159 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158160 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158161 , p_source_124 => l_array_source_124(Idx)
158162 );
158163 If(l_balance_type_code = 'A') THEN
158164 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158165 END IF;
158166
158167 --
158168
158169
158170 --
158171 AcctLineType_72 (
158172 p_application_id => p_application_id
158173 ,p_event_id => l_event_id
158174 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158175 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158176 ,p_actual_flag => l_actual_flag
158177 ,p_balance_type_code => l_balance_type_code
158178 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158179
158180 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158181 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158182 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158183 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158184 , p_source_52 => l_array_source_52(Idx)
158185 , p_source_54 => l_array_source_54(Idx)
158186 , p_source_79 => l_array_source_79(Idx)
158187 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158188 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158189 , p_source_85 => l_array_source_85(Idx)
158190 , p_source_86 => l_array_source_86(Idx)
158191 , p_source_87 => l_array_source_87(Idx)
158192 , p_source_90 => l_array_source_90(Idx)
158193 , p_source_91 => l_array_source_91(Idx)
158194 , p_source_92 => l_array_source_92(Idx)
158195 , p_source_93 => l_array_source_93(Idx)
158196 , p_source_94 => l_array_source_94(Idx)
158197 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158198 , p_source_97 => l_array_source_97(Idx)
158199 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158200 , p_source_98 => l_array_source_98(Idx)
158201 , p_source_103 => l_array_source_103(Idx)
158205 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158202 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158203 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158204 , p_source_111 => l_array_source_111(Idx)
158206 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158207 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158208 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158209 , p_source_116 => l_array_source_116(Idx)
158210 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158211 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158212 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158213 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158214 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158215 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158216 , p_source_124 => l_array_source_124(Idx)
158217 );
158218 If(l_balance_type_code = 'A') THEN
158219 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158220 END IF;
158221
158222 --
158223
158224
158225 --
158226 AcctLineType_73 (
158227 p_application_id => p_application_id
158228 ,p_event_id => l_event_id
158229 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158230 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158231 ,p_actual_flag => l_actual_flag
158232 ,p_balance_type_code => l_balance_type_code
158233 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158234
158235 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158236 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158237 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
158238 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
158239 , p_source_52 => l_array_source_52(Idx)
158240 , p_source_54 => l_array_source_54(Idx)
158241 , p_source_79 => l_array_source_79(Idx)
158242 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158243 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158244 , p_source_85 => l_array_source_85(Idx)
158245 , p_source_86 => l_array_source_86(Idx)
158246 , p_source_87 => l_array_source_87(Idx)
158247 , p_source_90 => l_array_source_90(Idx)
158248 , p_source_91 => l_array_source_91(Idx)
158249 , p_source_92 => l_array_source_92(Idx)
158250 , p_source_93 => l_array_source_93(Idx)
158251 , p_source_94 => l_array_source_94(Idx)
158252 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158253 , p_source_97 => l_array_source_97(Idx)
158254 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158255 , p_source_98 => l_array_source_98(Idx)
158256 , p_source_103 => l_array_source_103(Idx)
158257 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158258 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158259 , p_source_111 => l_array_source_111(Idx)
158260 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158261 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158262 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158263 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158264 , p_source_116 => l_array_source_116(Idx)
158265 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158266 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158267 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158268 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158269 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158270 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158271 , p_source_124 => l_array_source_124(Idx)
158272 );
158273 If(l_balance_type_code = 'A') THEN
158274 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158275 END IF;
158276
158277 --
158278
158279
158280 --
158281 AcctLineType_84 (
158282 p_application_id => p_application_id
158283 ,p_event_id => l_event_id
158284 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158285 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158286 ,p_actual_flag => l_actual_flag
158287 ,p_balance_type_code => l_balance_type_code
158288 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158289
158290 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158291 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158292 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
158293 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
158294 , p_source_52 => l_array_source_52(Idx)
158295 , p_source_54 => l_array_source_54(Idx)
158296 , p_source_79 => l_array_source_79(Idx)
158297 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158298 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158299 , p_source_85 => l_array_source_85(Idx)
158300 , p_source_86 => l_array_source_86(Idx)
158301 , p_source_87 => l_array_source_87(Idx)
158302 , p_source_90 => l_array_source_90(Idx)
158303 , p_source_91 => l_array_source_91(Idx)
158304 , p_source_92 => l_array_source_92(Idx)
158305 , p_source_93 => l_array_source_93(Idx)
158306 , p_source_94 => l_array_source_94(Idx)
158307 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158308 , p_source_97 => l_array_source_97(Idx)
158309 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158310 , p_source_98 => l_array_source_98(Idx)
158311 , p_source_103 => l_array_source_103(Idx)
158312 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158313 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158314 , p_source_111 => l_array_source_111(Idx)
158318 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158315 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158316 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158317 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158319 , p_source_115 => l_array_source_115(Idx)
158320 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158321 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158322 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158323 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158324 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158325 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158326 , p_source_124 => l_array_source_124(Idx)
158327 );
158328 If(l_balance_type_code = 'A') THEN
158329 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158330 END IF;
158331
158332 --
158333
158334
158335 --
158336 AcctLineType_85 (
158337 p_application_id => p_application_id
158338 ,p_event_id => l_event_id
158339 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158340 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158341 ,p_actual_flag => l_actual_flag
158342 ,p_balance_type_code => l_balance_type_code
158343 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158344
158345 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158346 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158347 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158348 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158349 , p_source_52 => l_array_source_52(Idx)
158350 , p_source_54 => l_array_source_54(Idx)
158351 , p_source_79 => l_array_source_79(Idx)
158352 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158353 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158354 , p_source_85 => l_array_source_85(Idx)
158355 , p_source_86 => l_array_source_86(Idx)
158356 , p_source_87 => l_array_source_87(Idx)
158357 , p_source_90 => l_array_source_90(Idx)
158358 , p_source_91 => l_array_source_91(Idx)
158359 , p_source_92 => l_array_source_92(Idx)
158360 , p_source_93 => l_array_source_93(Idx)
158361 , p_source_94 => l_array_source_94(Idx)
158362 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158363 , p_source_97 => l_array_source_97(Idx)
158364 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158365 , p_source_98 => l_array_source_98(Idx)
158366 , p_source_103 => l_array_source_103(Idx)
158367 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158368 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158369 , p_source_111 => l_array_source_111(Idx)
158370 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158371 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158372 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158373 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158374 , p_source_115 => l_array_source_115(Idx)
158375 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158376 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158377 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158378 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158379 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158380 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158381 , p_source_124 => l_array_source_124(Idx)
158382 );
158383 If(l_balance_type_code = 'A') THEN
158384 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158385 END IF;
158386
158387 --
158388
158389
158390 --
158391 AcctLineType_86 (
158392 p_application_id => p_application_id
158393 ,p_event_id => l_event_id
158394 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158395 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158396 ,p_actual_flag => l_actual_flag
158397 ,p_balance_type_code => l_balance_type_code
158398 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158399
158400 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158401 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158402 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158403 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158404 , p_source_52 => l_array_source_52(Idx)
158405 , p_source_54 => l_array_source_54(Idx)
158406 , p_source_79 => l_array_source_79(Idx)
158407 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158408 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158409 , p_source_85 => l_array_source_85(Idx)
158410 , p_source_86 => l_array_source_86(Idx)
158411 , p_source_87 => l_array_source_87(Idx)
158412 , p_source_90 => l_array_source_90(Idx)
158413 , p_source_91 => l_array_source_91(Idx)
158414 , p_source_92 => l_array_source_92(Idx)
158415 , p_source_93 => l_array_source_93(Idx)
158416 , p_source_94 => l_array_source_94(Idx)
158417 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158418 , p_source_97 => l_array_source_97(Idx)
158419 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158420 , p_source_98 => l_array_source_98(Idx)
158421 , p_source_103 => l_array_source_103(Idx)
158422 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158423 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158424 , p_source_111 => l_array_source_111(Idx)
158425 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158426 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158430 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158427 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158428 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158429 , p_source_115 => l_array_source_115(Idx)
158431 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158432 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158433 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158434 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158435 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158436 , p_source_124 => l_array_source_124(Idx)
158437 );
158438 If(l_balance_type_code = 'A') THEN
158439 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158440 END IF;
158441
158442 --
158443
158444
158445 --
158446 AcctLineType_96 (
158447 p_application_id => p_application_id
158448 ,p_event_id => l_event_id
158449 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158450 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158451 ,p_actual_flag => l_actual_flag
158452 ,p_balance_type_code => l_balance_type_code
158453 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158454
158455 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158456 , p_source_33 => l_array_source_33(Idx)
158457 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158458 , p_source_52 => l_array_source_52(Idx)
158459 , p_source_54 => l_array_source_54(Idx)
158460 , p_source_79 => l_array_source_79(Idx)
158461 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158462 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158463 , p_source_85 => l_array_source_85(Idx)
158464 , p_source_86 => l_array_source_86(Idx)
158465 , p_source_87 => l_array_source_87(Idx)
158466 , p_source_90 => l_array_source_90(Idx)
158467 , p_source_91 => l_array_source_91(Idx)
158468 , p_source_92 => l_array_source_92(Idx)
158469 , p_source_93 => l_array_source_93(Idx)
158470 , p_source_94 => l_array_source_94(Idx)
158471 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158472 , p_source_97 => l_array_source_97(Idx)
158473 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158474 , p_source_98 => l_array_source_98(Idx)
158475 , p_source_103 => l_array_source_103(Idx)
158476 , p_source_111 => l_array_source_111(Idx)
158477 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158478 , p_source_116 => l_array_source_116(Idx)
158479 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158480 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158481 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158482 , p_source_124 => l_array_source_124(Idx)
158483 , p_source_125 => l_array_source_125(Idx)
158484 , p_source_125_meaning => l_array_source_125_meaning(Idx)
158485 , p_source_126 => l_array_source_126(Idx)
158486 );
158487 If(l_balance_type_code = 'A') THEN
158488 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158489 END IF;
158490
158491 --
158492
158493
158494 --
158495 AcctLineType_100 (
158496 p_application_id => p_application_id
158497 ,p_event_id => l_event_id
158498 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158499 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158500 ,p_actual_flag => l_actual_flag
158501 ,p_balance_type_code => l_balance_type_code
158502 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158503
158504 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158505 , p_source_33 => l_array_source_33(Idx)
158506 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158507 , p_source_51 => l_array_source_51(Idx)
158508 , p_source_52 => l_array_source_52(Idx)
158509 , p_source_54 => l_array_source_54(Idx)
158510 , p_source_79 => l_array_source_79(Idx)
158511 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158512 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158513 , p_source_85 => l_array_source_85(Idx)
158514 , p_source_86 => l_array_source_86(Idx)
158515 , p_source_87 => l_array_source_87(Idx)
158516 , p_source_90 => l_array_source_90(Idx)
158517 , p_source_91 => l_array_source_91(Idx)
158518 , p_source_92 => l_array_source_92(Idx)
158519 , p_source_93 => l_array_source_93(Idx)
158520 , p_source_94 => l_array_source_94(Idx)
158521 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158522 , p_source_97 => l_array_source_97(Idx)
158523 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158524 , p_source_98 => l_array_source_98(Idx)
158525 , p_source_103 => l_array_source_103(Idx)
158526 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158527 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158528 , p_source_111 => l_array_source_111(Idx)
158529 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158530 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158531 , p_source_116 => l_array_source_116(Idx)
158532 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158533 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158534 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158535 , p_source_124 => l_array_source_124(Idx)
158536 , p_source_125 => l_array_source_125(Idx)
158537 , p_source_125_meaning => l_array_source_125_meaning(Idx)
158538 , p_source_126 => l_array_source_126(Idx)
158539 , p_source_136 => l_array_source_136(Idx)
158540 , p_source_137 => l_array_source_137(Idx)
158541 , p_source_138 => l_array_source_138(Idx)
158542 );
158543 If(l_balance_type_code = 'A') THEN
158544 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158545 END IF;
158546
158547 --
158548
158549
158550 --
158551 AcctLineType_103 (
158555 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158552 p_application_id => p_application_id
158553 ,p_event_id => l_event_id
158554 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158556 ,p_actual_flag => l_actual_flag
158557 ,p_balance_type_code => l_balance_type_code
158558 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158559
158560 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158561 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158562 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158563 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
158564 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
158565 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
158566 , p_source_30 => l_array_source_30(Idx)
158567 , p_source_33 => l_array_source_33(Idx)
158568 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158569 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
158570 , p_source_45 => l_array_source_45(Idx)
158571 , p_source_46 => l_array_source_46(Idx)
158572 , p_source_52 => l_array_source_52(Idx)
158573 , p_source_54 => l_array_source_54(Idx)
158574 , p_source_79 => l_array_source_79(Idx)
158575 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158576 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158577 , p_source_85 => l_array_source_85(Idx)
158578 , p_source_86 => l_array_source_86(Idx)
158579 , p_source_87 => l_array_source_87(Idx)
158580 , p_source_90 => l_array_source_90(Idx)
158581 , p_source_91 => l_array_source_91(Idx)
158582 , p_source_92 => l_array_source_92(Idx)
158583 , p_source_93 => l_array_source_93(Idx)
158584 , p_source_94 => l_array_source_94(Idx)
158585 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158586 , p_source_97 => l_array_source_97(Idx)
158587 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158588 , p_source_98 => l_array_source_98(Idx)
158589 , p_source_103 => l_array_source_103(Idx)
158590 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158591 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158592 , p_source_111 => l_array_source_111(Idx)
158593 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158594 , p_source_115 => l_array_source_115(Idx)
158595 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158596 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158597 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158598 , p_source_124 => l_array_source_124(Idx)
158599 , p_source_136 => l_array_source_136(Idx)
158600 , p_source_137 => l_array_source_137(Idx)
158601 , p_source_138 => l_array_source_138(Idx)
158602 );
158603 If(l_balance_type_code = 'A') THEN
158604 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158605 END IF;
158606
158607 --
158608
158609
158610 --
158611 AcctLineType_111 (
158612 p_application_id => p_application_id
158613 ,p_event_id => l_event_id
158614 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158615 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158616 ,p_actual_flag => l_actual_flag
158617 ,p_balance_type_code => l_balance_type_code
158618 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158619
158620 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158621 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158622 , p_source_30 => l_array_source_30(Idx)
158623 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
158624 , p_source_52 => l_array_source_52(Idx)
158625 , p_source_54 => l_array_source_54(Idx)
158626 , p_source_66 => l_array_source_66(Idx)
158627 , p_source_79 => l_array_source_79(Idx)
158628 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158629 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158630 , p_source_85 => l_array_source_85(Idx)
158631 , p_source_86 => l_array_source_86(Idx)
158632 , p_source_87 => l_array_source_87(Idx)
158633 , p_source_90 => l_array_source_90(Idx)
158634 , p_source_91 => l_array_source_91(Idx)
158635 , p_source_92 => l_array_source_92(Idx)
158636 , p_source_93 => l_array_source_93(Idx)
158637 , p_source_94 => l_array_source_94(Idx)
158638 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158639 , p_source_97 => l_array_source_97(Idx)
158640 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158641 , p_source_98 => l_array_source_98(Idx)
158642 , p_source_103 => l_array_source_103(Idx)
158643 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158644 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158645 , p_source_111 => l_array_source_111(Idx)
158646 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158647 , p_source_116 => l_array_source_116(Idx)
158648 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158649 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158650 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158651 , p_source_124 => l_array_source_124(Idx)
158652 , p_source_136 => l_array_source_136(Idx)
158653 , p_source_137 => l_array_source_137(Idx)
158654 , p_source_138 => l_array_source_138(Idx)
158655 );
158656 If(l_balance_type_code = 'A') THEN
158657 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158658 END IF;
158659
158660 --
158661
158662
158663 --
158664 AcctLineType_118 (
158665 p_application_id => p_application_id
158666 ,p_event_id => l_event_id
158667 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158668 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158669 ,p_actual_flag => l_actual_flag
158670 ,p_balance_type_code => l_balance_type_code
158671 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158672
158676 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
158673 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158674 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158675 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158677 , p_source_25 => g_array_event(l_event_id).array_value_char('source_25')
158678 , p_source_25_meaning => g_array_event(l_event_id).array_value_char('source_25_meaning')
158679 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
158680 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
158681 , p_source_30 => l_array_source_30(Idx)
158682 , p_source_52 => l_array_source_52(Idx)
158683 , p_source_54 => l_array_source_54(Idx)
158684 , p_source_79 => l_array_source_79(Idx)
158685 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158686 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158687 , p_source_85 => l_array_source_85(Idx)
158688 , p_source_86 => l_array_source_86(Idx)
158689 , p_source_87 => l_array_source_87(Idx)
158690 , p_source_90 => l_array_source_90(Idx)
158691 , p_source_91 => l_array_source_91(Idx)
158692 , p_source_92 => l_array_source_92(Idx)
158693 , p_source_93 => l_array_source_93(Idx)
158694 , p_source_94 => l_array_source_94(Idx)
158695 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158696 , p_source_97 => l_array_source_97(Idx)
158697 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158698 , p_source_98 => l_array_source_98(Idx)
158699 , p_source_103 => l_array_source_103(Idx)
158700 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158701 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158702 , p_source_111 => l_array_source_111(Idx)
158703 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158704 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158705 , p_source_115 => l_array_source_115(Idx)
158706 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158707 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158708 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158709 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158710 , p_source_124 => l_array_source_124(Idx)
158711 );
158712 If(l_balance_type_code = 'A') THEN
158713 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158714 END IF;
158715
158716 --
158717
158718
158719 --
158720 AcctLineType_119 (
158721 p_application_id => p_application_id
158722 ,p_event_id => l_event_id
158723 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158724 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158725 ,p_actual_flag => l_actual_flag
158726 ,p_balance_type_code => l_balance_type_code
158727 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158728
158729 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158730 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158731 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158732 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
158733 , p_source_25 => g_array_event(l_event_id).array_value_char('source_25')
158734 , p_source_25_meaning => g_array_event(l_event_id).array_value_char('source_25_meaning')
158735 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
158736 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
158737 , p_source_30 => l_array_source_30(Idx)
158738 , p_source_52 => l_array_source_52(Idx)
158739 , p_source_54 => l_array_source_54(Idx)
158740 , p_source_79 => l_array_source_79(Idx)
158741 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158742 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158743 , p_source_85 => l_array_source_85(Idx)
158744 , p_source_86 => l_array_source_86(Idx)
158745 , p_source_87 => l_array_source_87(Idx)
158746 , p_source_90 => l_array_source_90(Idx)
158747 , p_source_91 => l_array_source_91(Idx)
158748 , p_source_92 => l_array_source_92(Idx)
158749 , p_source_93 => l_array_source_93(Idx)
158750 , p_source_94 => l_array_source_94(Idx)
158751 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158752 , p_source_97 => l_array_source_97(Idx)
158753 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158754 , p_source_98 => l_array_source_98(Idx)
158755 , p_source_103 => l_array_source_103(Idx)
158756 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158757 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158758 , p_source_111 => l_array_source_111(Idx)
158759 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158760 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158761 , p_source_116 => l_array_source_116(Idx)
158762 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158763 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158764 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158765 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158766 , p_source_124 => l_array_source_124(Idx)
158767 );
158768 If(l_balance_type_code = 'A') THEN
158769 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158770 END IF;
158771
158772 --
158773
158774
158775 --
158776 AcctLineType_124 (
158777 p_application_id => p_application_id
158778 ,p_event_id => l_event_id
158779 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158780 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158781 ,p_actual_flag => l_actual_flag
158782 ,p_balance_type_code => l_balance_type_code
158783 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158784
158785 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158786 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158790 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
158787 , p_source_30 => l_array_source_30(Idx)
158788 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
158789 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
158791 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
158792 , p_source_52 => l_array_source_52(Idx)
158793 , p_source_54 => l_array_source_54(Idx)
158794 , p_source_79 => l_array_source_79(Idx)
158795 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158796 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158797 , p_source_85 => l_array_source_85(Idx)
158798 , p_source_86 => l_array_source_86(Idx)
158799 , p_source_87 => l_array_source_87(Idx)
158800 , p_source_90 => l_array_source_90(Idx)
158801 , p_source_91 => l_array_source_91(Idx)
158802 , p_source_92 => l_array_source_92(Idx)
158803 , p_source_93 => l_array_source_93(Idx)
158804 , p_source_94 => l_array_source_94(Idx)
158805 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158806 , p_source_97 => l_array_source_97(Idx)
158807 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158808 , p_source_103 => l_array_source_103(Idx)
158809 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158810 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158811 , p_source_111 => l_array_source_111(Idx)
158812 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158813 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158814 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158815 , p_source_124 => l_array_source_124(Idx)
158816 , p_source_150 => l_array_source_150(Idx)
158817 );
158818 If(l_balance_type_code = 'A') THEN
158819 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158820 END IF;
158821
158822 --
158823
158824
158825 --
158826 AcctLineType_129 (
158827 p_application_id => p_application_id
158828 ,p_event_id => l_event_id
158829 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158830 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158831 ,p_actual_flag => l_actual_flag
158832 ,p_balance_type_code => l_balance_type_code
158833 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158834
158835 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158836 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158837 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158838 , p_source_30 => l_array_source_30(Idx)
158839 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
158840 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
158841 , p_source_52 => l_array_source_52(Idx)
158842 , p_source_54 => l_array_source_54(Idx)
158843 , p_source_79 => l_array_source_79(Idx)
158844 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158845 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158846 , p_source_85 => l_array_source_85(Idx)
158847 , p_source_86 => l_array_source_86(Idx)
158848 , p_source_87 => l_array_source_87(Idx)
158849 , p_source_90 => l_array_source_90(Idx)
158850 , p_source_91 => l_array_source_91(Idx)
158851 , p_source_92 => l_array_source_92(Idx)
158852 , p_source_93 => l_array_source_93(Idx)
158853 , p_source_94 => l_array_source_94(Idx)
158854 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158855 , p_source_97 => l_array_source_97(Idx)
158856 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158857 , p_source_98 => l_array_source_98(Idx)
158858 , p_source_103 => l_array_source_103(Idx)
158859 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158860 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158861 , p_source_111 => l_array_source_111(Idx)
158862 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158863 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158864 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158865 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158866 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158867 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158868 , p_source_124 => l_array_source_124(Idx)
158869 , p_source_150 => l_array_source_150(Idx)
158870 , p_source_155 => l_array_source_155(Idx)
158871 );
158872 If(l_balance_type_code = 'A') THEN
158873 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158874 END IF;
158875
158876 --
158877
158878
158879 --
158880 AcctLineType_135 (
158881 p_application_id => p_application_id
158882 ,p_event_id => l_event_id
158883 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158884 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158885 ,p_actual_flag => l_actual_flag
158886 ,p_balance_type_code => l_balance_type_code
158887 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158888
158889 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158890 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
158891 , p_source_29 => g_array_event(l_event_id).array_value_char('source_29')
158892 , p_source_30 => l_array_source_30(Idx)
158893 , p_source_33 => l_array_source_33(Idx)
158894 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158895 , p_source_52 => l_array_source_52(Idx)
158896 , p_source_54 => l_array_source_54(Idx)
158897 , p_source_79 => l_array_source_79(Idx)
158898 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158899 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158900 , p_source_85 => l_array_source_85(Idx)
158901 , p_source_86 => l_array_source_86(Idx)
158902 , p_source_87 => l_array_source_87(Idx)
158903 , p_source_90 => l_array_source_90(Idx)
158904 , p_source_91 => l_array_source_91(Idx)
158908 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158905 , p_source_92 => l_array_source_92(Idx)
158906 , p_source_93 => l_array_source_93(Idx)
158907 , p_source_94 => l_array_source_94(Idx)
158909 , p_source_97 => l_array_source_97(Idx)
158910 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158911 , p_source_98 => l_array_source_98(Idx)
158912 , p_source_103 => l_array_source_103(Idx)
158913 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
158914 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158915 , p_source_111 => l_array_source_111(Idx)
158916 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
158917 , p_source_115 => l_array_source_115(Idx)
158918 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158919 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158920 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158921 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158922 , p_source_124 => l_array_source_124(Idx)
158923 , p_source_160 => l_array_source_160(Idx)
158924 , p_source_160_meaning => l_array_source_160_meaning(Idx)
158925 );
158926 If(l_balance_type_code = 'A') THEN
158927 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158928 END IF;
158929
158930 --
158931
158932
158933 --
158934 AcctLineType_144 (
158935 p_application_id => p_application_id
158936 ,p_event_id => l_event_id
158937 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158938 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158939 ,p_actual_flag => l_actual_flag
158940 ,p_balance_type_code => l_balance_type_code
158941 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158942
158943 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158944 , p_source_52 => l_array_source_52(Idx)
158945 , p_source_54 => l_array_source_54(Idx)
158946 , p_source_79 => l_array_source_79(Idx)
158947 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158948 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158949 , p_source_85 => l_array_source_85(Idx)
158950 , p_source_86 => l_array_source_86(Idx)
158951 , p_source_87 => l_array_source_87(Idx)
158952 , p_source_90 => l_array_source_90(Idx)
158953 , p_source_91 => l_array_source_91(Idx)
158954 , p_source_92 => l_array_source_92(Idx)
158955 , p_source_93 => l_array_source_93(Idx)
158956 , p_source_94 => l_array_source_94(Idx)
158957 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
158958 , p_source_97 => l_array_source_97(Idx)
158959 , p_source_97_meaning => l_array_source_97_meaning(Idx)
158960 , p_source_98 => l_array_source_98(Idx)
158961 , p_source_103 => l_array_source_103(Idx)
158962 , p_source_111 => l_array_source_111(Idx)
158963 , p_source_116 => l_array_source_116(Idx)
158964 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158965 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158966 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158967 , p_source_124 => l_array_source_124(Idx)
158968 , p_source_160 => l_array_source_160(Idx)
158969 , p_source_160_meaning => l_array_source_160_meaning(Idx)
158970 , p_source_161 => l_array_source_161(Idx)
158971 , p_source_161_meaning => l_array_source_161_meaning(Idx)
158972 );
158973 If(l_balance_type_code = 'A') THEN
158974 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158975 END IF;
158976
158977 --
158978
158979
158980 --
158981 AcctLineType_155 (
158982 p_application_id => p_application_id
158983 ,p_event_id => l_event_id
158984 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158985 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158986 ,p_actual_flag => l_actual_flag
158987 ,p_balance_type_code => l_balance_type_code
158988 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158989
158990 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158991 , p_source_52 => l_array_source_52(Idx)
158992 , p_source_54 => l_array_source_54(Idx)
158993 , p_source_79 => l_array_source_79(Idx)
158994 , p_source_79_meaning => l_array_source_79_meaning(Idx)
158995 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
158996 , p_source_85 => l_array_source_85(Idx)
158997 , p_source_86 => l_array_source_86(Idx)
158998 , p_source_87 => l_array_source_87(Idx)
158999 , p_source_90 => l_array_source_90(Idx)
159000 , p_source_91 => l_array_source_91(Idx)
159001 , p_source_92 => l_array_source_92(Idx)
159002 , p_source_93 => l_array_source_93(Idx)
159003 , p_source_94 => l_array_source_94(Idx)
159004 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
159005 , p_source_97 => l_array_source_97(Idx)
159006 , p_source_97_meaning => l_array_source_97_meaning(Idx)
159007 , p_source_98 => l_array_source_98(Idx)
159008 , p_source_103 => l_array_source_103(Idx)
159009 , p_source_111 => l_array_source_111(Idx)
159010 , p_source_116 => l_array_source_116(Idx)
159011 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159012 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159013 , p_source_124 => l_array_source_124(Idx)
159014 , p_source_160 => l_array_source_160(Idx)
159015 , p_source_160_meaning => l_array_source_160_meaning(Idx)
159016 );
159017 If(l_balance_type_code = 'A') THEN
159018 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159019 END IF;
159020
159021 --
159022
159023
159024 --
159025 AcctLineType_163 (
159026 p_application_id => p_application_id
159027 ,p_event_id => l_event_id
159028 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159029 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159030 ,p_actual_flag => l_actual_flag
159031 ,p_balance_type_code => l_balance_type_code
159032 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159033
159037 , p_source_30 => l_array_source_30(Idx)
159034 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159035 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
159036 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
159038 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
159039 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
159040 , p_source_52 => l_array_source_52(Idx)
159041 , p_source_54 => l_array_source_54(Idx)
159042 , p_source_79 => l_array_source_79(Idx)
159043 , p_source_79_meaning => l_array_source_79_meaning(Idx)
159044 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
159045 , p_source_85 => l_array_source_85(Idx)
159046 , p_source_86 => l_array_source_86(Idx)
159047 , p_source_87 => l_array_source_87(Idx)
159048 , p_source_90 => l_array_source_90(Idx)
159049 , p_source_91 => l_array_source_91(Idx)
159050 , p_source_92 => l_array_source_92(Idx)
159051 , p_source_93 => l_array_source_93(Idx)
159052 , p_source_94 => l_array_source_94(Idx)
159053 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
159054 , p_source_97 => l_array_source_97(Idx)
159055 , p_source_97_meaning => l_array_source_97_meaning(Idx)
159056 , p_source_98 => l_array_source_98(Idx)
159057 , p_source_103 => l_array_source_103(Idx)
159058 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
159059 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
159060 , p_source_111 => l_array_source_111(Idx)
159061 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
159062 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
159063 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
159064 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
159065 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159066 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159067 , p_source_124 => l_array_source_124(Idx)
159068 , p_source_150 => l_array_source_150(Idx)
159069 , p_source_155 => l_array_source_155(Idx)
159070 );
159071 If(l_balance_type_code = 'A') THEN
159072 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159073 END IF;
159074
159075 --
159076
159077
159078 --
159079 AcctLineType_221 (
159080 p_application_id => p_application_id
159081 ,p_event_id => l_event_id
159082 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159083 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159084 ,p_actual_flag => l_actual_flag
159085 ,p_balance_type_code => l_balance_type_code
159086 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159087
159088 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159089 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
159090 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
159091 , p_source_30 => l_array_source_30(Idx)
159092 , p_source_43 => l_array_source_43(Idx)
159093 , p_source_52 => l_array_source_52(Idx)
159094 , p_source_54 => l_array_source_54(Idx)
159095 , p_source_79 => l_array_source_79(Idx)
159096 , p_source_79_meaning => l_array_source_79_meaning(Idx)
159097 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
159098 , p_source_85 => l_array_source_85(Idx)
159099 , p_source_86 => l_array_source_86(Idx)
159100 , p_source_87 => l_array_source_87(Idx)
159101 , p_source_90 => l_array_source_90(Idx)
159102 , p_source_91 => l_array_source_91(Idx)
159103 , p_source_92 => l_array_source_92(Idx)
159104 , p_source_93 => l_array_source_93(Idx)
159105 , p_source_94 => l_array_source_94(Idx)
159106 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
159107 , p_source_97 => l_array_source_97(Idx)
159108 , p_source_97_meaning => l_array_source_97_meaning(Idx)
159109 , p_source_98 => l_array_source_98(Idx)
159110 , p_source_103 => l_array_source_103(Idx)
159111 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
159112 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
159113 , p_source_111 => l_array_source_111(Idx)
159114 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
159115 , p_source_116 => l_array_source_116(Idx)
159116 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159117 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159118 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
159119 , p_source_124 => l_array_source_124(Idx)
159120 , p_source_136 => l_array_source_136(Idx)
159121 , p_source_137 => l_array_source_137(Idx)
159122 , p_source_138 => l_array_source_138(Idx)
159123 , p_source_161 => l_array_source_161(Idx)
159124 , p_source_161_meaning => l_array_source_161_meaning(Idx)
159125 );
159126 If(l_balance_type_code = 'A') THEN
159127 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159128 END IF;
159129
159130 --
159131
159132 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
159133 -- or secondary ledger that has different currency with primary
159134 -- or alc that is calculated by sla
159135 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
159136 (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'))
159137
159138 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
159139 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
159140 AND (l_actual_flag = 'A')) THEN
159141 XLA_AE_LINES_PKG.CreateGainOrLossLines(
159142 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
159143 ,p_application_id => p_application_id
159144 ,p_amb_context_code => 'DEFAULT'
159148
159145 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
159146 ,p_event_class_code => C_EVENT_CLASS_CODE
159147 ,p_event_type_code => C_EVENT_TYPE_CODE
159149 ,p_gain_ccid => -1
159150 ,p_loss_ccid => -1
159151
159152 ,p_actual_flag => l_actual_flag
159153 ,p_enc_flag => null
159154 ,p_actual_g_l_ref => l_actual_gain_loss_ref
159155 ,p_enc_g_l_ref => null
159156 );
159157 END IF;
159158 END IF;
159159 END IF;
159160
159161 ELSE
159162 --
159163 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
159164 --
159165 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159166 trace
159167 (p_msg => 'Trancaction revesal option is Y'
159168 ,p_level => C_LEVEL_STATEMENT
159169 ,p_module => l_log_module);
159170 END IF;
159171 END IF;
159172
159173 END LOOP;
159174 l_result := XLA_AE_LINES_PKG.InsertLines ;
159175 end loop;
159176 close line_cur;
159177
159178
159179 --
159180 -- insert headers into xla_ae_headers_gt table
159181 --
159182 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
159183
159184 -- insert into errors table here.
159185
159186 END LOOP;
159187
159188 --
159189 -- 4865292
159190 --
159191 -- Compare g_hdr_extract_count with event count in
159192 -- CreateHeadersAndLines.
159193 --
159194 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
159195
159196 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159197 trace (p_msg => '# rows extracted from header extract objects '
159198 || ' (running total): '
159199 || g_hdr_extract_count
159200 ,p_level => C_LEVEL_STATEMENT
159201 ,p_module => l_log_module);
159202 END IF;
159203
159204 CLOSE header_cur;
159205 --
159206
159207 --
159208 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159209 trace
159210 (p_msg => 'END of EventClass_230'
159211 ,p_level => C_LEVEL_PROCEDURE
159212 ,p_module => l_log_module);
159213 END IF;
159214 --
159215 RETURN l_result;
159216 EXCEPTION
159217 WHEN xla_exceptions_pkg.application_exception THEN
159218
159219 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
159220
159221
159222 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
159223
159224 RAISE;
159225
159226 WHEN NO_DATA_FOUND THEN
159227
159228 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
159229 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
159230
159231 FOR header_record IN header_cur
159232 LOOP
159233 l_array_header_events(header_record.event_id) := header_record.event_id;
159234 END LOOP;
159235
159236 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
159237 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
159238
159239 fnd_file.put_line(fnd_file.LOG, ' ');
159240 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
159241 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
159242 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
159243
159244 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
159245 LOOP
159246 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
159247 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
159248 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
159249 END IF;
159250 END LOOP;
159251
159252 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
159253 fnd_file.put_line(fnd_file.LOG, ' ');
159254
159255
159256 xla_exceptions_pkg.raise_message
159257 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_230');
159258
159259
159260 WHEN OTHERS THEN
159261 xla_exceptions_pkg.raise_message
159262 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_230');
159263 END EventClass_230;
159264 --
159265
159266 ---------------------------------------
159267 --
159268 -- PRIVATE PROCEDURE
159269 -- insert_sources_231
159270 --
159271 ----------------------------------------
159272 --
159273 PROCEDURE insert_sources_231(
159274 p_target_ledger_id IN NUMBER
159275 , p_language IN VARCHAR2
159276 , p_sla_ledger_id IN NUMBER
159277 , p_pad_start_date IN DATE
159278 , p_pad_end_date IN DATE
159279 )
159280 IS
159281
159282 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
159283 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
159284 p_apps_owner VARCHAR2(30);
159285 l_log_module VARCHAR2(240);
159286 BEGIN
159287 IF g_log_enabled THEN
159288 l_log_module := C_DEFAULT_MODULE||'.insert_sources_231';
159289 END IF;
159290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159291
159292 trace
159293 (p_msg => 'BEGIN of insert_sources_231'
159294 ,p_level => C_LEVEL_PROCEDURE
159295 ,p_module => l_log_module);
159296
159297 END IF;
159298
159299 -- select APPS owner
159300 SELECT oracle_username
159301 INTO p_apps_owner
159302 FROM fnd_oracle_userid
159303 WHERE read_only_flag = 'U'
159304 ;
159305
159309 ' - p_language = '||p_language||
159306 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159307 trace
159308 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
159310 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
159311 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
159312 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
159313 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
159314 ,p_level => C_LEVEL_STATEMENT
159315 ,p_module => l_log_module);
159316 END IF;
159317
159318
159319 --
159320 INSERT INTO xla_diag_sources --hdr2
159321 (
159322 event_id
159323 , ledger_id
159324 , sla_ledger_id
159325 , description_language
159326 , object_name
159327 , object_type_code
159328 , line_number
159329 , source_application_id
159330 , source_type_code
159331 , source_code
159332 , source_value
159333 , source_meaning
159334 , created_by
159335 , creation_date
159336 , last_update_date
159337 , last_updated_by
159338 , last_update_login
159339 , program_update_date
159340 , program_application_id
159341 , program_id
159342 , request_id
159343 )
159344 SELECT
159345 event_id
159346 , p_target_ledger_id
159347 , p_sla_ledger_id
159348 , p_language
159349 , object_name
159350 , object_type_code
159351 , line_number
159352 , source_application_id
159353 , source_type_code
159354 , source_code
159355 , SUBSTR(source_value ,1,1996)
159356 , SUBSTR(source_meaning ,1,200)
159357 , xla_environment_pkg.g_Usr_Id
159358 , TRUNC(SYSDATE)
159359 , TRUNC(SYSDATE)
159360 , xla_environment_pkg.g_Usr_Id
159361 , xla_environment_pkg.g_Login_Id
159362 , TRUNC(SYSDATE)
159363 , xla_environment_pkg.g_Prog_Appl_Id
159364 , xla_environment_pkg.g_Prog_Id
159365 , xla_environment_pkg.g_Req_Id
159366 FROM (
159367 SELECT xet.event_id event_id
159368 , 0 line_number
159369 , CASE r
159370 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159371 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159372 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159373 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159374 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159375 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159376 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159377 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159378 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159379 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159380 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159381 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159382 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159383 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159384 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159385 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159386
159387 ELSE null
159388 END object_name
159389 , CASE r
159390 WHEN 1 THEN 'HEADER'
159391 WHEN 2 THEN 'HEADER'
159392 WHEN 3 THEN 'HEADER'
159393 WHEN 4 THEN 'HEADER'
159394 WHEN 5 THEN 'HEADER'
159395 WHEN 6 THEN 'HEADER'
159396 WHEN 7 THEN 'HEADER'
159397 WHEN 8 THEN 'HEADER'
159398 WHEN 9 THEN 'HEADER'
159399 WHEN 10 THEN 'HEADER'
159400 WHEN 11 THEN 'HEADER'
159401 WHEN 12 THEN 'HEADER'
159402 WHEN 13 THEN 'HEADER'
159403 WHEN 14 THEN 'HEADER'
159404 WHEN 15 THEN 'HEADER'
159405 WHEN 16 THEN 'HEADER'
159406
159407 ELSE null
159408 END object_type_code
159409 , CASE r
159410 WHEN 1 THEN '200'
159411 WHEN 2 THEN '200'
159412 WHEN 3 THEN '200'
159413 WHEN 4 THEN '200'
159414 WHEN 5 THEN '200'
159415 WHEN 6 THEN '200'
159416 WHEN 7 THEN '200'
159417 WHEN 8 THEN '200'
159418 WHEN 9 THEN '200'
159419 WHEN 10 THEN '200'
159420 WHEN 11 THEN '200'
159421 WHEN 12 THEN '200'
159422 WHEN 13 THEN '200'
159423 WHEN 14 THEN '200'
159424 WHEN 15 THEN '200'
159425 WHEN 16 THEN '200'
159426
159427 ELSE null
159428 END source_application_id
159429 , 'S' source_type_code
159430 , CASE r
159431 WHEN 1 THEN 'INV_DOC_SEQUENCE_CATEGORY'
159432 WHEN 2 THEN 'INV_DOC_SEQUENCE_VALUE'
159433 WHEN 3 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
159434 WHEN 4 THEN 'ASP_GAIN_CCID'
159435 WHEN 5 THEN 'ASP_LOSS_CCID'
159436 WHEN 6 THEN 'ASP_PREPAY_TAX_DIFF_CCID'
159437 WHEN 7 THEN 'ASP_ROUNDING_ERROR_CCID'
159438 WHEN 8 THEN 'AI_INVOICE_ID'
159439 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
159440 WHEN 10 THEN 'AI_VENDOR_ID'
159441 WHEN 11 THEN 'AI_VENDOR_SITE_ID'
159442 WHEN 12 THEN 'THIRD_PARTY_TYPE'
159443 WHEN 13 THEN 'INV_EXCHANGE_DATE'
159447
159444 WHEN 14 THEN 'INV_EXCHANGE_RATE'
159445 WHEN 15 THEN 'INV_EXCHANGE_RATE_TYPE'
159446 WHEN 16 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
159448 ELSE null
159449 END source_code
159450 , CASE r
159451 WHEN 1 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_CATEGORY)
159452 WHEN 2 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_VALUE)
159453 WHEN 3 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
159454 WHEN 4 THEN TO_CHAR(h4.ASP_GAIN_CCID)
159455 WHEN 5 THEN TO_CHAR(h4.ASP_LOSS_CCID)
159456 WHEN 6 THEN TO_CHAR(h4.ASP_PREPAY_TAX_DIFF_CCID)
159457 WHEN 7 THEN TO_CHAR(h4.ASP_ROUNDING_ERROR_CCID)
159458 WHEN 8 THEN TO_CHAR(h1.AI_INVOICE_ID)
159459 WHEN 9 THEN TO_CHAR(h1.AI_INVOICE_CURRENCY_CODE)
159460 WHEN 10 THEN TO_CHAR(h1.AI_VENDOR_ID)
159461 WHEN 11 THEN TO_CHAR(h1.AI_VENDOR_SITE_ID)
159462 WHEN 12 THEN TO_CHAR(h1.THIRD_PARTY_TYPE)
159463 WHEN 13 THEN TO_CHAR(h1.INV_EXCHANGE_DATE)
159464 WHEN 14 THEN TO_CHAR(h1.INV_EXCHANGE_RATE)
159465 WHEN 15 THEN TO_CHAR(h1.INV_EXCHANGE_RATE_TYPE)
159466 WHEN 16 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_IDENTIFIER)
159467
159468 ELSE null
159469 END source_value
159470 , CASE r
159471 WHEN 3 THEN fvl15.meaning
159472
159473 ELSE null
159474 END source_meaning
159475 FROM xla_events_gt xet
159476 , AP_INVOICE_EXTRACT_HEADER_V h1
159477 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
159478 , fnd_lookup_values fvl15
159479 ,(select rownum r from all_objects where rownum <= 16 and owner = p_apps_owner)
159480 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159481 AND xet.event_class_code = C_EVENT_CLASS_CODE
159482 AND h1.event_id = xet.event_id
159483 AND h4.asp_org_id = h1.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
159484 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
159485 AND fvl15.view_application_id(+) = 200
159486 AND fvl15.language(+) = USERENV('LANG')
159487
159488 )
159489 ;
159490 --
159491 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159492
159493 trace
159494 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
159495 ,p_level => C_LEVEL_STATEMENT
159496 ,p_module => l_log_module);
159497
159498 END IF;
159499 --
159500
159501
159502
159503 --
159504 INSERT INTO xla_diag_sources --line2
159505 (
159506 event_id
159507 , ledger_id
159508 , sla_ledger_id
159509 , description_language
159510 , object_name
159511 , object_type_code
159512 , line_number
159513 , source_application_id
159514 , source_type_code
159515 , source_code
159516 , source_value
159517 , source_meaning
159518 , created_by
159519 , creation_date
159520 , last_update_date
159521 , last_updated_by
159522 , last_update_login
159523 , program_update_date
159524 , program_application_id
159525 , program_id
159526 , request_id
159527 )
159528 SELECT event_id
159529 , p_target_ledger_id
159530 , p_sla_ledger_id
159531 , p_language
159532 , object_name
159533 , object_type_code
159534 , line_number
159535 , source_application_id
159536 , source_type_code
159537 , source_code
159538 , SUBSTR(source_value,1,1996)
159539 , SUBSTR(source_meaning ,1,200)
159540 , xla_environment_pkg.g_Usr_Id
159541 , TRUNC(SYSDATE)
159542 , TRUNC(SYSDATE)
159543 , xla_environment_pkg.g_Usr_Id
159544 , xla_environment_pkg.g_Login_Id
159545 , TRUNC(SYSDATE)
159546 , xla_environment_pkg.g_Prog_Appl_Id
159547 , xla_environment_pkg.g_Prog_Id
159548 , xla_environment_pkg.g_Req_Id
159549 FROM (
159550 SELECT xet.event_id event_id
159551 , l2.line_number line_number
159552 , CASE r
159553 WHEN 1 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159554 WHEN 2 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159555 WHEN 3 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159556 WHEN 4 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159557 WHEN 5 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159558 WHEN 6 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159559 WHEN 7 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159560 WHEN 8 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159561 WHEN 9 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159562 WHEN 10 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159563 WHEN 11 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159564 WHEN 12 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159565 WHEN 13 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159566 WHEN 14 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159567 WHEN 15 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159568 WHEN 16 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159569 WHEN 17 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159570 WHEN 18 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159571 WHEN 19 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
159572 WHEN 20 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159573 WHEN 21 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159574 WHEN 22 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159575 WHEN 23 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159579 WHEN 27 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159576 WHEN 24 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159577 WHEN 25 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159578 WHEN 26 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159580 WHEN 28 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159581 WHEN 29 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159582 WHEN 30 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159583 WHEN 31 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159584 WHEN 32 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159585 WHEN 33 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159586 WHEN 34 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159587 WHEN 35 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159588 WHEN 36 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159589 WHEN 37 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159590 WHEN 38 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159591 WHEN 39 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159592 WHEN 40 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159593 WHEN 41 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159594 WHEN 42 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159595 WHEN 43 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159596 WHEN 44 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159597 WHEN 45 THEN 'AP_PREPAY_DEF_TAX_EXTRACT_V'
159598
159599 ELSE null
159600 END object_name
159601 , CASE r
159602 WHEN 1 THEN 'LINE'
159603 WHEN 2 THEN 'LINE'
159604 WHEN 3 THEN 'LINE'
159605 WHEN 4 THEN 'LINE'
159606 WHEN 5 THEN 'LINE'
159607 WHEN 6 THEN 'LINE'
159608 WHEN 7 THEN 'LINE'
159609 WHEN 8 THEN 'LINE'
159610 WHEN 9 THEN 'LINE'
159611 WHEN 10 THEN 'LINE'
159612 WHEN 11 THEN 'LINE'
159613 WHEN 12 THEN 'LINE'
159614 WHEN 13 THEN 'LINE'
159615 WHEN 14 THEN 'LINE'
159616 WHEN 15 THEN 'LINE'
159617 WHEN 16 THEN 'LINE'
159618 WHEN 17 THEN 'LINE'
159619 WHEN 18 THEN 'LINE'
159620 WHEN 19 THEN 'LINE'
159621 WHEN 20 THEN 'LINE'
159622 WHEN 21 THEN 'LINE'
159623 WHEN 22 THEN 'LINE'
159624 WHEN 23 THEN 'LINE'
159625 WHEN 24 THEN 'LINE'
159626 WHEN 25 THEN 'LINE'
159627 WHEN 26 THEN 'LINE'
159628 WHEN 27 THEN 'LINE'
159629 WHEN 28 THEN 'LINE'
159630 WHEN 29 THEN 'LINE'
159631 WHEN 30 THEN 'LINE'
159632 WHEN 31 THEN 'LINE'
159633 WHEN 32 THEN 'LINE'
159634 WHEN 33 THEN 'LINE'
159635 WHEN 34 THEN 'LINE'
159636 WHEN 35 THEN 'LINE'
159637 WHEN 36 THEN 'LINE'
159638 WHEN 37 THEN 'LINE'
159639 WHEN 38 THEN 'LINE'
159640 WHEN 39 THEN 'LINE'
159641 WHEN 40 THEN 'LINE'
159642 WHEN 41 THEN 'LINE'
159643 WHEN 42 THEN 'LINE'
159644 WHEN 43 THEN 'LINE'
159645 WHEN 44 THEN 'LINE'
159646 WHEN 45 THEN 'LINE'
159647
159648 ELSE null
159649 END object_type_code
159650 , CASE r
159651 WHEN 1 THEN '200'
159652 WHEN 2 THEN '200'
159653 WHEN 3 THEN '200'
159654 WHEN 4 THEN '200'
159655 WHEN 5 THEN '200'
159656 WHEN 6 THEN '200'
159657 WHEN 7 THEN '200'
159658 WHEN 8 THEN '200'
159659 WHEN 9 THEN '200'
159660 WHEN 10 THEN '200'
159661 WHEN 11 THEN '200'
159662 WHEN 12 THEN '200'
159663 WHEN 13 THEN '200'
159664 WHEN 14 THEN '200'
159665 WHEN 15 THEN '200'
159666 WHEN 16 THEN '200'
159667 WHEN 17 THEN '200'
159668 WHEN 18 THEN '200'
159669 WHEN 19 THEN '200'
159670 WHEN 20 THEN '200'
159671 WHEN 21 THEN '200'
159672 WHEN 22 THEN '200'
159673 WHEN 23 THEN '200'
159674 WHEN 24 THEN '200'
159675 WHEN 25 THEN '200'
159676 WHEN 26 THEN '200'
159677 WHEN 27 THEN '200'
159678 WHEN 28 THEN '200'
159679 WHEN 29 THEN '200'
159680 WHEN 30 THEN '200'
159681 WHEN 31 THEN '200'
159682 WHEN 32 THEN '200'
159683 WHEN 33 THEN '200'
159684 WHEN 34 THEN '200'
159685 WHEN 35 THEN '200'
159686 WHEN 36 THEN '200'
159687 WHEN 37 THEN '200'
159688 WHEN 38 THEN '200'
159689 WHEN 39 THEN '200'
159690 WHEN 40 THEN '200'
159691 WHEN 41 THEN '200'
159692 WHEN 42 THEN '200'
159693 WHEN 43 THEN '200'
159694 WHEN 44 THEN '200'
159695 WHEN 45 THEN '200'
159696
159697 ELSE null
159698 END source_application_id
159699 , 'S' source_type_code
159700 , CASE r
159701 WHEN 1 THEN 'AID_DIST_CCID'
159702 WHEN 2 THEN 'CGAC_GAIN_CCID'
159703 WHEN 3 THEN 'CGAC_LOSS_CCID'
159707 WHEN 7 THEN 'UPG_ENC_CR_CCID'
159704 WHEN 4 THEN 'TAX_ACCOUNT_CCID'
159705 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
159706 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
159708 WHEN 8 THEN 'UPG_ENC_CR_AMT'
159709 WHEN 9 THEN 'UPG_ENC_CR_BASE_AMT'
159710 WHEN 10 THEN 'UPG_ENC_DR_CCID'
159711 WHEN 11 THEN 'UPG_ENC_DR_AMT'
159712 WHEN 12 THEN 'UPG_ENC_DR_BASE_AMT'
159713 WHEN 13 THEN 'UPG_AP_ENCUM_OPTION'
159714 WHEN 14 THEN 'DEFERRED_END_DATE'
159715 WHEN 15 THEN 'DEFERRED_OPTION'
159716 WHEN 16 THEN 'DEFERRED_START_DATE'
159717 WHEN 17 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
159718 WHEN 18 THEN 'TAX_LINE_ID'
159719 WHEN 19 THEN 'REC_NREC_TAX_DIST_ID'
159720 WHEN 20 THEN 'SUMMARY_TAX_LINE_ID'
159721 WHEN 21 THEN 'UPG_CR_ENC_TYPE_ID'
159722 WHEN 22 THEN 'UPG_DR_ENC_TYPE_ID'
159723 WHEN 23 THEN 'BUS_FLOW_AP_APP_ID'
159724 WHEN 24 THEN 'BUS_FLOW_INV_DIST_TYPE'
159725 WHEN 25 THEN 'BUS_FLOW_INV_ENTITY_CODE'
159726 WHEN 26 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
159727 WHEN 27 THEN 'APAD_DISTRIBUTION_IDENTIFIER'
159728 WHEN 28 THEN 'BF_PREPAY_REC_DIST_ID'
159729 WHEN 29 THEN 'BF_PREPAY_REC_INV'
159730 WHEN 30 THEN 'UPG_ENC_CR_ACCT_CLASS'
159731 WHEN 31 THEN 'UPG_ENC_DR_ACCT_CLASS'
159732 WHEN 32 THEN 'APAD_AMOUNT'
159733 WHEN 33 THEN 'APAD_BASE_AMOUNT'
159734 WHEN 34 THEN 'REVERSED_PREPAY_APP_DIST_ID'
159735 WHEN 35 THEN 'BF_ACCRUAL_PREPAY_DIST_TYPE'
159736 WHEN 36 THEN 'BF_ACCRUAL_PREPAY_ENTITY_CODE'
159737 WHEN 37 THEN 'BF_ACCRUAL_PP_DIST_ID'
159738 WHEN 38 THEN 'BF_ACCRUAL_PP_INV'
159739 WHEN 39 THEN 'APAD_DIST_LOOKUP_CODE'
159740 WHEN 40 THEN 'BASE_AMT_AT_PP_XRATE'
159741 WHEN 41 THEN 'AID_PROJECT_ID'
159742 WHEN 42 THEN 'BASE_AMT_AT_PP_PAY_XRATE'
159743 WHEN 43 THEN 'APAD_BASE_AMOUNT_DIFF'
159744 WHEN 44 THEN 'INV_PREPMT_GAIN_LOSS_INDICATOR'
159745 WHEN 45 THEN 'DEF_REC_PP_SET_OPTION_CODE'
159746
159747 ELSE null
159748 END source_code
159749 , CASE r
159750 WHEN 1 THEN TO_CHAR(l2.AID_DIST_CCID)
159751 WHEN 2 THEN TO_CHAR(l2.CGAC_GAIN_CCID)
159752 WHEN 3 THEN TO_CHAR(l2.CGAC_LOSS_CCID)
159753 WHEN 4 THEN TO_CHAR(l5.TAX_ACCOUNT_CCID)
159754 WHEN 5 THEN TO_CHAR(l2.DIST_ACCOUNT_REVERSAL_OPTION)
159755 WHEN 6 THEN TO_CHAR(l2.DISTRIBUTION_LINK_TYPE)
159756 WHEN 7 THEN TO_CHAR(l2.UPG_ENC_CR_CCID)
159757 WHEN 8 THEN TO_CHAR(l2.UPG_ENC_CR_AMT)
159758 WHEN 9 THEN TO_CHAR(l2.UPG_ENC_CR_BASE_AMT)
159759 WHEN 10 THEN TO_CHAR(l2.UPG_ENC_DR_CCID)
159760 WHEN 11 THEN TO_CHAR(l2.UPG_ENC_DR_AMT)
159761 WHEN 12 THEN TO_CHAR(l2.UPG_ENC_DR_BASE_AMT)
159762 WHEN 13 THEN TO_CHAR(l2.UPG_AP_ENCUM_OPTION)
159763 WHEN 14 THEN TO_CHAR(l2.DEFERRED_END_DATE)
159764 WHEN 15 THEN TO_CHAR(l2.DEFERRED_OPTION)
159765 WHEN 16 THEN TO_CHAR(l2.DEFERRED_START_DATE)
159766 WHEN 17 THEN TO_CHAR(l2.OVERRIDE_ACCTD_AMT_FLAG)
159767 WHEN 18 THEN TO_CHAR(l5.TAX_LINE_ID)
159768 WHEN 19 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
159769 WHEN 20 THEN TO_CHAR(l2.SUMMARY_TAX_LINE_ID)
159770 WHEN 21 THEN TO_CHAR(l2.UPG_CR_ENC_TYPE_ID)
159771 WHEN 22 THEN TO_CHAR(l2.UPG_DR_ENC_TYPE_ID)
159772 WHEN 23 THEN TO_CHAR(l2.BUS_FLOW_AP_APP_ID)
159773 WHEN 24 THEN TO_CHAR(l2.BUS_FLOW_INV_DIST_TYPE)
159774 WHEN 25 THEN TO_CHAR(l2.BUS_FLOW_INV_ENTITY_CODE)
159775 WHEN 26 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
159776 WHEN 27 THEN TO_CHAR(l2.APAD_DISTRIBUTION_IDENTIFIER)
159777 WHEN 28 THEN TO_CHAR(l2.BF_PREPAY_REC_DIST_ID)
159778 WHEN 29 THEN TO_CHAR(l2.BF_PREPAY_REC_INV)
159779 WHEN 30 THEN TO_CHAR(l2.UPG_ENC_CR_ACCT_CLASS)
159780 WHEN 31 THEN TO_CHAR(l2.UPG_ENC_DR_ACCT_CLASS)
159781 WHEN 32 THEN TO_CHAR(l2.APAD_AMOUNT)
159782 WHEN 33 THEN TO_CHAR(l2.APAD_BASE_AMOUNT)
159783 WHEN 34 THEN TO_CHAR(l2.REVERSED_PREPAY_APP_DIST_ID)
159784 WHEN 35 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_DIST_TYPE)
159785 WHEN 36 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_ENTITY_CODE)
159786 WHEN 37 THEN TO_CHAR(l2.BF_ACCRUAL_PP_DIST_ID)
159787 WHEN 38 THEN TO_CHAR(l2.BF_ACCRUAL_PP_INV)
159788 WHEN 39 THEN TO_CHAR(l2.APAD_DIST_LOOKUP_CODE)
159789 WHEN 40 THEN TO_CHAR(l2.BASE_AMT_AT_PP_XRATE)
159790 WHEN 41 THEN TO_CHAR(l2.AID_PROJECT_ID)
159791 WHEN 42 THEN TO_CHAR(l2.BASE_AMT_AT_PP_PAY_XRATE)
159792 WHEN 43 THEN TO_CHAR(l2.APAD_BASE_AMOUNT_DIFF)
159793 WHEN 44 THEN TO_CHAR(l2.INV_PREPMT_GAIN_LOSS_INDICATOR)
159794 WHEN 45 THEN TO_CHAR(l3.DEF_REC_PP_SET_OPTION_CODE)
159795
159796 ELSE null
159797 END source_value
159798 , CASE r
159799 WHEN 17 THEN fvl79.meaning
159800 WHEN 26 THEN fvl125.meaning
159801 WHEN 45 THEN fvl165.meaning
159802
159803 ELSE null
159804 END source_meaning
159805 FROM xla_events_gt xet
159806 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
159807 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
159811 , fnd_lookup_values fvl125
159808 , ZX_AP_DEF_TAX_EXTRACT_V l5
159809 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
159810 , fnd_lookup_values fvl79
159812 , fnd_lookup_values fvl165
159813 , (select rownum r from all_objects where rownum <= 45 and owner = p_apps_owner)
159814 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159815 AND xet.event_class_code = C_EVENT_CLASS_CODE
159816 AND l2.event_id = xet.event_id
159817 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 fvl79.lookup_type(+) = 'YES_NO'
159818 AND fvl79.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
159819 AND fvl79.view_application_id(+) = 0
159820 AND fvl79.language(+) = USERENV('LANG')
159821 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159822 AND fvl125.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
159823 AND fvl125.view_application_id(+) = 0
159824 AND fvl125.language(+) = USERENV('LANG')
159825 AND fvl165.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159826 AND fvl165.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
159827 AND fvl165.view_application_id(+) = 0
159828 AND fvl165.language(+) = USERENV('LANG')
159829
159830 )
159831 ;
159832 --
159833 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159834
159835 trace
159836 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
159837 ,p_level => C_LEVEL_STATEMENT
159838 ,p_module => l_log_module);
159839
159840 END IF;
159841
159842
159843 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159844 trace
159845 (p_msg => 'END of insert_sources_231'
159846 ,p_level => C_LEVEL_PROCEDURE
159847 ,p_module => l_log_module);
159848 END IF;
159849 EXCEPTION
159850 WHEN xla_exceptions_pkg.application_exception THEN
159851 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159852 trace
159853 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159854 ,p_level => C_LEVEL_EXCEPTION
159855 ,p_module => l_log_module);
159856 END IF;
159857 RAISE;
159858 WHEN OTHERS THEN
159859 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159860 trace
159861 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159862 ,p_level => C_LEVEL_EXCEPTION
159863 ,p_module => l_log_module);
159864 END IF;
159865 xla_exceptions_pkg.raise_message
159866 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_231');
159867 END insert_sources_231;
159868 --
159869
159870 ---------------------------------------
159871 --
159872 -- PRIVATE FUNCTION
159873 -- EventClass_231
159874 --
159875 ----------------------------------------
159876 --
159877 FUNCTION EventClass_231
159878 (p_application_id IN NUMBER
159879 ,p_base_ledger_id IN NUMBER
159880 ,p_target_ledger_id IN NUMBER
159881 ,p_language IN VARCHAR2
159882 ,p_currency_code IN VARCHAR2
159883 ,p_sla_ledger_id IN NUMBER
159884 ,p_pad_start_date IN DATE
159885 ,p_pad_end_date IN DATE
159886 ,p_primary_ledger_id IN NUMBER)
159887 RETURN BOOLEAN IS
159888 --
159889 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
159890 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
159891
159892 l_calculate_acctd_flag VARCHAR2(1) :='N';
159893 l_calculate_g_l_flag VARCHAR2(1) :='N';
159894 --
159895 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159896 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159897 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159898 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159899 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159900 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159901 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159902 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159903 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159904 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159905 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159906 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159907 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159908 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159909 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159910 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159911 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159912 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159913 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159914 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159915 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159916 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159917 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
159918 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159919 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
159920 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
159921
159922 l_event_id NUMBER;
159923 l_previous_event_id NUMBER;
159927 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
159924 l_first_event_id NUMBER;
159925 l_last_event_id NUMBER;
159926
159928 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
159929 --
159930 --
159931 l_result BOOLEAN := TRUE;
159932 l_rows NUMBER := 1000;
159933 l_event_type_name VARCHAR2(80) := 'All';
159934 l_event_class_name VARCHAR2(80) := 'Prepayment Applications';
159935 l_description VARCHAR2(4000);
159936 l_transaction_reversal NUMBER;
159937 l_ae_header_id NUMBER;
159938 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
159939 l_log_module VARCHAR2(240);
159940 --
159941 l_acct_reversal_source VARCHAR2(30);
159942 l_trx_reversal_source VARCHAR2(30);
159943
159944 l_continue_with_lines BOOLEAN := TRUE;
159945 --
159946 l_acc_rev_gl_date_source DATE; -- 4262811
159947 --
159948 type t_array_event_id is table of number index by binary_integer;
159949
159950 l_rec_array_event t_rec_array_event;
159951 l_null_rec_array_event t_rec_array_event;
159952 l_array_ae_header_id xla_number_array_type;
159953 l_actual_flag VARCHAR2(1) := NULL;
159954 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
159955 l_balance_type_code VARCHAR2(1) :=NULL;
159956 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
159957
159958 --
159959 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
159960 --
159961
159962 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
159963 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
159964 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
159965 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
159966 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
159967 TYPE t_array_source_41 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PREPAY_TAX_DIFF_CCID%TYPE INDEX BY BINARY_INTEGER;
159968 TYPE t_array_source_48 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
159969 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
159970 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
159971 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
159972 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
159973 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
159974 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
159975 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
159976 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
159977 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
159978
159979 TYPE t_array_source_30 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
159980 TYPE t_array_source_36 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
159981 TYPE t_array_source_38 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
159982 TYPE t_array_source_51 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
159983 TYPE t_array_source_52 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
159984 TYPE t_array_source_54 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
159985 TYPE t_array_source_64 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
159986 TYPE t_array_source_65 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
159987 TYPE t_array_source_67 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
159988 TYPE t_array_source_68 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
159989 TYPE t_array_source_69 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
159990 TYPE t_array_source_70 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
159991 TYPE t_array_source_71 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
159992 TYPE t_array_source_76 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
159993 TYPE t_array_source_77 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
159994 TYPE t_array_source_78 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
159995 TYPE t_array_source_79 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
159996 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
159997 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
159998 TYPE t_array_source_87 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
159999 TYPE t_array_source_88 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
160000 TYPE t_array_source_89 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
160001 TYPE t_array_source_90 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
160005 TYPE t_array_source_127 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DISTRIBUTION_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
160002 TYPE t_array_source_91 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
160003 TYPE t_array_source_92 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
160004 TYPE t_array_source_125 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
160006 TYPE t_array_source_128 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160007 TYPE t_array_source_129 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_INV%TYPE INDEX BY BINARY_INTEGER;
160008 TYPE t_array_source_130 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
160009 TYPE t_array_source_131 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
160010 TYPE t_array_source_132 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
160011 TYPE t_array_source_133 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
160012 TYPE t_array_source_134 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.REVERSED_PREPAY_APP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160013 TYPE t_array_source_139 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
160014 TYPE t_array_source_140 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
160015 TYPE t_array_source_141 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160016 TYPE t_array_source_142 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_INV%TYPE INDEX BY BINARY_INTEGER;
160017 TYPE t_array_source_143 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
160018 TYPE t_array_source_144 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_XRATE%TYPE INDEX BY BINARY_INTEGER;
160019 TYPE t_array_source_146 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.AID_PROJECT_ID%TYPE INDEX BY BINARY_INTEGER;
160020 TYPE t_array_source_147 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_PAY_XRATE%TYPE INDEX BY BINARY_INTEGER;
160021 TYPE t_array_source_152 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT_DIFF%TYPE INDEX BY BINARY_INTEGER;
160022 TYPE t_array_source_159 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.INV_PREPMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
160023 TYPE t_array_source_165 IS TABLE OF AP_PREPAY_DEF_TAX_EXTRACT_V.DEF_REC_PP_SET_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
160024
160025 l_array_source_5 t_array_source_5;
160026 l_array_source_7 t_array_source_7;
160027 l_array_source_15 t_array_source_15;
160028 l_array_source_15_meaning t_array_lookup_meaning;
160029 l_array_source_37 t_array_source_37;
160030 l_array_source_39 t_array_source_39;
160031 l_array_source_41 t_array_source_41;
160032 l_array_source_48 t_array_source_48;
160033 l_array_source_57 t_array_source_57;
160034 l_array_source_66 t_array_source_66;
160035 l_array_source_80 t_array_source_80;
160036 l_array_source_81 t_array_source_81;
160037 l_array_source_82 t_array_source_82;
160038 l_array_source_136 t_array_source_136;
160039 l_array_source_137 t_array_source_137;
160040 l_array_source_138 t_array_source_138;
160041 l_array_source_168 t_array_source_168;
160042
160043 l_array_source_30 t_array_source_30;
160044 l_array_source_36 t_array_source_36;
160045 l_array_source_38 t_array_source_38;
160046 l_array_source_51 t_array_source_51;
160047 l_array_source_52 t_array_source_52;
160048 l_array_source_54 t_array_source_54;
160049 l_array_source_64 t_array_source_64;
160050 l_array_source_65 t_array_source_65;
160051 l_array_source_67 t_array_source_67;
160052 l_array_source_68 t_array_source_68;
160053 l_array_source_69 t_array_source_69;
160054 l_array_source_70 t_array_source_70;
160055 l_array_source_71 t_array_source_71;
160056 l_array_source_76 t_array_source_76;
160057 l_array_source_77 t_array_source_77;
160058 l_array_source_78 t_array_source_78;
160059 l_array_source_79 t_array_source_79;
160060 l_array_source_79_meaning t_array_lookup_meaning;
160061 l_array_source_85 t_array_source_85;
160062 l_array_source_86 t_array_source_86;
160063 l_array_source_87 t_array_source_87;
160064 l_array_source_88 t_array_source_88;
160065 l_array_source_89 t_array_source_89;
160066 l_array_source_90 t_array_source_90;
160067 l_array_source_91 t_array_source_91;
160068 l_array_source_92 t_array_source_92;
160069 l_array_source_125 t_array_source_125;
160070 l_array_source_125_meaning t_array_lookup_meaning;
160071 l_array_source_127 t_array_source_127;
160072 l_array_source_128 t_array_source_128;
160073 l_array_source_129 t_array_source_129;
160074 l_array_source_130 t_array_source_130;
160075 l_array_source_131 t_array_source_131;
160076 l_array_source_132 t_array_source_132;
160077 l_array_source_133 t_array_source_133;
160078 l_array_source_134 t_array_source_134;
160079 l_array_source_139 t_array_source_139;
160080 l_array_source_140 t_array_source_140;
160081 l_array_source_141 t_array_source_141;
160082 l_array_source_142 t_array_source_142;
160083 l_array_source_143 t_array_source_143;
160084 l_array_source_144 t_array_source_144;
160085 l_array_source_146 t_array_source_146;
160086 l_array_source_147 t_array_source_147;
160087 l_array_source_152 t_array_source_152;
160088 l_array_source_159 t_array_source_159;
160089 l_array_source_165 t_array_source_165;
160090 l_array_source_165_meaning t_array_lookup_meaning;
160091
160092 --
160093 CURSOR header_cur
160094 IS
160095 SELECT /*+ leading(xet) cardinality(xet,1) */
160096 -- Event Class Code: PREPAYMENT APPLICATIONS
160097 xet.entity_id
160101 ,xet.event_id
160098 ,xet.legal_entity_id
160099 ,xet.entity_code
160100 ,xet.transaction_number
160102 ,xet.event_class_code
160103 ,xet.event_type_code
160104 ,xet.event_number
160105 ,xet.event_date
160106 ,xet.transaction_date
160107 ,xet.reference_num_1
160108 ,xet.reference_num_2
160109 ,xet.reference_num_3
160110 ,xet.reference_num_4
160111 ,xet.reference_char_1
160112 ,xet.reference_char_2
160113 ,xet.reference_char_3
160114 ,xet.reference_char_4
160115 ,xet.reference_date_1
160116 ,xet.reference_date_2
160117 ,xet.reference_date_3
160118 ,xet.reference_date_4
160119 ,xet.event_created_by
160120 ,xet.budgetary_control_flag
160121 , h1.INV_DOC_SEQUENCE_CATEGORY source_5
160122 , h1.INV_DOC_SEQUENCE_VALUE source_7
160123 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
160124 , fvl15.meaning source_15_meaning
160125 , h4.ASP_GAIN_CCID source_37
160126 , h4.ASP_LOSS_CCID source_39
160127 , h4.ASP_PREPAY_TAX_DIFF_CCID source_41
160128 , h4.ASP_ROUNDING_ERROR_CCID source_48
160129 , h1.AI_INVOICE_ID source_57
160130 , h1.AI_INVOICE_CURRENCY_CODE source_66
160131 , h1.AI_VENDOR_ID source_80
160132 , h1.AI_VENDOR_SITE_ID source_81
160133 , h1.THIRD_PARTY_TYPE source_82
160134 , h1.INV_EXCHANGE_DATE source_136
160135 , h1.INV_EXCHANGE_RATE source_137
160136 , h1.INV_EXCHANGE_RATE_TYPE source_138
160137 , h1.INV_DOC_SEQUENCE_IDENTIFIER source_168
160138 FROM xla_events_gt xet
160139 , AP_INVOICE_EXTRACT_HEADER_V h1
160140 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
160141 , fnd_lookup_values fvl15
160142 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
160143 and xet.event_class_code = C_EVENT_CLASS_CODE
160144 and xet.event_status_code <> 'N' AND h1.event_id = xet.event_id
160145 AND h4.asp_org_id = h1.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
160146 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
160147 AND fvl15.view_application_id(+) = 200
160148 AND fvl15.language(+) = USERENV('LANG')
160149
160150 ORDER BY event_id
160151 ;
160152
160153
160154 --
160155 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
160156 IS
160157 SELECT /*+ leading(xet) cardinality(xet,1) */
160158 -- Event Class Code: PREPAYMENT APPLICATIONS
160159 xet.entity_id
160160 ,xet.legal_entity_id
160161 ,xet.entity_code
160162 ,xet.transaction_number
160163 ,xet.event_id
160164 ,xet.event_class_code
160165 ,xet.event_type_code
160166 ,xet.event_number
160167 ,xet.event_date
160168 ,xet.transaction_date
160169 ,xet.reference_num_1
160170 ,xet.reference_num_2
160171 ,xet.reference_num_3
160172 ,xet.reference_num_4
160173 ,xet.reference_char_1
160174 ,xet.reference_char_2
160175 ,xet.reference_char_3
160176 ,xet.reference_char_4
160177 ,xet.reference_date_1
160178 ,xet.reference_date_2
160179 ,xet.reference_date_3
160180 ,xet.reference_date_4
160181 ,xet.event_created_by
160182 ,xet.budgetary_control_flag
160183 , l2.LINE_NUMBER
160184 , l2.AID_DIST_CCID source_30
160185 , l2.CGAC_GAIN_CCID source_36
160186 , l2.CGAC_LOSS_CCID source_38
160187 , l5.TAX_ACCOUNT_CCID source_51
160188 , l2.DIST_ACCOUNT_REVERSAL_OPTION source_52
160189 , l2.DISTRIBUTION_LINK_TYPE source_54
160190 , l2.UPG_ENC_CR_CCID source_64
160191 , l2.UPG_ENC_CR_AMT source_65
160192 , l2.UPG_ENC_CR_BASE_AMT source_67
160193 , l2.UPG_ENC_DR_CCID source_68
160194 , l2.UPG_ENC_DR_AMT source_69
160195 , l2.UPG_ENC_DR_BASE_AMT source_70
160196 , l2.UPG_AP_ENCUM_OPTION source_71
160197 , l2.DEFERRED_END_DATE source_76
160198 , l2.DEFERRED_OPTION source_77
160199 , l2.DEFERRED_START_DATE source_78
160200 , l2.OVERRIDE_ACCTD_AMT_FLAG source_79
160201 , fvl79.meaning source_79_meaning
160202 , l5.TAX_LINE_ID source_85
160203 , l6.REC_NREC_TAX_DIST_ID source_86
160204 , l2.SUMMARY_TAX_LINE_ID source_87
160205 , l2.UPG_CR_ENC_TYPE_ID source_88
160206 , l2.UPG_DR_ENC_TYPE_ID source_89
160207 , l2.BUS_FLOW_AP_APP_ID source_90
160208 , l2.BUS_FLOW_INV_DIST_TYPE source_91
160209 , l2.BUS_FLOW_INV_ENTITY_CODE source_92
160210 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_125
160211 , fvl125.meaning source_125_meaning
160212 , l2.APAD_DISTRIBUTION_IDENTIFIER source_127
160213 , l2.BF_PREPAY_REC_DIST_ID source_128
160214 , l2.BF_PREPAY_REC_INV source_129
160215 , l2.UPG_ENC_CR_ACCT_CLASS source_130
160216 , l2.UPG_ENC_DR_ACCT_CLASS source_131
160217 , l2.APAD_AMOUNT source_132
160218 , l2.APAD_BASE_AMOUNT source_133
160219 , l2.REVERSED_PREPAY_APP_DIST_ID source_134
160220 , l2.BF_ACCRUAL_PREPAY_DIST_TYPE source_139
160221 , l2.BF_ACCRUAL_PREPAY_ENTITY_CODE source_140
160222 , l2.BF_ACCRUAL_PP_DIST_ID source_141
160223 , l2.BF_ACCRUAL_PP_INV source_142
160224 , l2.APAD_DIST_LOOKUP_CODE source_143
160225 , l2.BASE_AMT_AT_PP_XRATE source_144
160226 , l2.AID_PROJECT_ID source_146
160227 , l2.BASE_AMT_AT_PP_PAY_XRATE source_147
160228 , l2.APAD_BASE_AMOUNT_DIFF source_152
160229 , l2.INV_PREPMT_GAIN_LOSS_INDICATOR source_159
160230 , l3.DEF_REC_PP_SET_OPTION_CODE source_165
160231 , fvl165.meaning source_165_meaning
160232 FROM xla_events_gt xet
160233 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
160234 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
160235 , ZX_AP_DEF_TAX_EXTRACT_V l5
160236 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
160237 , fnd_lookup_values fvl79
160238 , fnd_lookup_values fvl125
160239 , fnd_lookup_values fvl165
160240 WHERE xet.event_id between x_first_event_id and x_last_event_id
160241 and xet.event_date between p_pad_start_date and p_pad_end_date
160245 AND fvl79.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
160242 and xet.event_class_code = C_EVENT_CLASS_CODE
160243 and xet.event_status_code <> 'N' AND l2.event_id = xet.event_id
160244 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 fvl79.lookup_type(+) = 'YES_NO'
160246 AND fvl79.view_application_id(+) = 0
160247 AND fvl79.language(+) = USERENV('LANG')
160248 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
160249 AND fvl125.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
160250 AND fvl125.view_application_id(+) = 0
160251 AND fvl125.language(+) = USERENV('LANG')
160252 AND fvl165.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
160253 AND fvl165.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
160254 AND fvl165.view_application_id(+) = 0
160255 AND fvl165.language(+) = USERENV('LANG')
160256 ;
160257
160258 --
160259 BEGIN
160260 IF g_log_enabled THEN
160261 l_log_module := C_DEFAULT_MODULE||'.EventClass_231';
160262 END IF;
160263 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
160264 trace
160265 (p_msg => 'BEGIN of EventClass_231'
160266 ,p_level => C_LEVEL_PROCEDURE
160267 ,p_module => l_log_module);
160268 END IF;
160269
160270 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160271 trace
160272 (p_msg => 'p_application_id = '||p_application_id||
160273 ' - p_base_ledger_id = '||p_base_ledger_id||
160274 ' - p_target_ledger_id = '||p_target_ledger_id||
160275 ' - p_language = '||p_language||
160276 ' - p_currency_code = '||p_currency_code||
160277 ' - p_sla_ledger_id = '||p_sla_ledger_id
160278 ,p_level => C_LEVEL_STATEMENT
160279 ,p_module => l_log_module);
160280 END IF;
160281 --
160282 -- initialze arrays
160283 --
160284 g_array_event.DELETE;
160285 l_rec_array_event := l_null_rec_array_event;
160286 --
160287 --------------------------------------
160288 -- 4262811 Initialze MPA Line Number
160289 --------------------------------------
160290 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
160291
160292 --
160293
160294 --
160295 OPEN header_cur;
160296 --
160297 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160298 trace
160299 (p_msg => 'SQL - FETCH header_cur'
160300 ,p_level => C_LEVEL_STATEMENT
160301 ,p_module => l_log_module);
160302 END IF;
160303 --
160304 LOOP
160305 FETCH header_cur BULK COLLECT INTO
160306 l_array_entity_id
160307 , l_array_legal_entity_id
160308 , l_array_entity_code
160309 , l_array_transaction_num
160310 , l_array_event_id
160311 , l_array_class_code
160312 , l_array_event_type
160313 , l_array_event_number
160314 , l_array_event_date
160315 , l_array_transaction_date
160316 , l_array_reference_num_1
160317 , l_array_reference_num_2
160318 , l_array_reference_num_3
160319 , l_array_reference_num_4
160320 , l_array_reference_char_1
160321 , l_array_reference_char_2
160322 , l_array_reference_char_3
160323 , l_array_reference_char_4
160324 , l_array_reference_date_1
160325 , l_array_reference_date_2
160326 , l_array_reference_date_3
160327 , l_array_reference_date_4
160328 , l_array_event_created_by
160329 , l_array_budgetary_control_flag
160330 , l_array_source_5
160331 , l_array_source_7
160332 , l_array_source_15
160333 , l_array_source_15_meaning
160334 , l_array_source_37
160335 , l_array_source_39
160336 , l_array_source_41
160337 , l_array_source_48
160338 , l_array_source_57
160339 , l_array_source_66
160340 , l_array_source_80
160341 , l_array_source_81
160342 , l_array_source_82
160343 , l_array_source_136
160344 , l_array_source_137
160345 , l_array_source_138
160346 , l_array_source_168
160347 LIMIT l_rows;
160348 --
160349 IF (C_LEVEL_EVENT >= g_log_level) THEN
160350 trace
160351 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
160352 ,p_level => C_LEVEL_EVENT
160353 ,p_module => l_log_module);
160354 END IF;
160355 --
160356 EXIT WHEN l_array_entity_id.COUNT = 0;
160357
160358 -- initialize arrays
160359 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
160360 XLA_AE_LINES_PKG.g_rec_lines := NULL;
160361
160362 --
160363 -- Bug 4458708
160364 --
160365 XLA_AE_LINES_PKG.g_LineNumber := 0;
160366
160367
160368 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
160369 g_last_hdr_idx := l_array_event_id.LAST;
160370 --
160371 -- loop for the headers. Each iteration is for each header extract row
160372 -- fetched in header cursor
160373 --
160374 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
160375
160376 --
160377 -- set event info as cache for other routines to refer event attributes
160378 --
160379 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
160380 (p_application_id => p_application_id
160381 ,p_primary_ledger_id => p_primary_ledger_id
160382 ,p_base_ledger_id => p_base_ledger_id
160383 ,p_target_ledger_id => p_target_ledger_id
160384 ,p_entity_id => l_array_entity_id(hdr_idx)
160385 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
160386 ,p_entity_code => l_array_entity_code(hdr_idx)
160387 ,p_transaction_num => l_array_transaction_num(hdr_idx)
160388 ,p_event_id => l_array_event_id(hdr_idx)
160392 ,p_event_date => l_array_event_date(hdr_idx)
160389 ,p_event_class_code => l_array_class_code(hdr_idx)
160390 ,p_event_type_code => l_array_event_type(hdr_idx)
160391 ,p_event_number => l_array_event_number(hdr_idx)
160393 ,p_transaction_date => l_array_transaction_date(hdr_idx)
160394 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
160395 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
160396 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
160397 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
160398 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
160399 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
160400 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
160401 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
160402 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
160403 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
160404 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
160405 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
160406 ,p_event_created_by => l_array_event_created_by(hdr_idx)
160407 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
160408
160409 --
160410 -- set the status of entry to C_VALID (0)
160411 --
160412 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160413
160414 --
160415 -- initialize a row for ae header
160416 --
160417 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
160418
160419 l_event_id := l_array_event_id(hdr_idx);
160420
160421 --
160422 -- storing the hdr_idx for event. May be used by line cursor.
160423 --
160424 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
160425
160426 --
160427 -- store sources from header extract. This can be improved to
160428 -- store only those sources from header extract that may be used in lines
160429 --
160430
160431 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
160432 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
160433 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
160434 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
160435 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
160436 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
160437 g_array_event(l_event_id).array_value_num('source_41') := l_array_source_41(hdr_idx);
160438 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
160439 g_array_event(l_event_id).array_value_num('source_57') := l_array_source_57(hdr_idx);
160440 g_array_event(l_event_id).array_value_char('source_66') := l_array_source_66(hdr_idx);
160441 g_array_event(l_event_id).array_value_num('source_80') := l_array_source_80(hdr_idx);
160442 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
160443 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
160444 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
160445 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
160446 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
160447 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
160448
160449 --
160450 -- initilaize the status of ae headers for diffrent balance types
160451 -- the status is initialised to C_NOT_CREATED (2)
160452 --
160453 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160454 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160455 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160456
160457 --
160458 -- call api to validate and store accounting attributes for header
160459 --
160460
160461 ------------------------------------------------------------
160462 -- Accrual Reversal : to get date for Standard Source (NONE)
160463 ------------------------------------------------------------
160464 l_acc_rev_gl_date_source := NULL;
160465
160466 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
160467 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
160468 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
160469 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
160470 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
160471 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
160472 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
160473 l_rec_acct_attrs.array_date_value(4) :=
160474 xla_ae_sources_pkg.GetSystemSourceDate(
160475 p_source_code => 'XLA_EVENT_DATE'
160476 , p_source_type_code => 'Y'
160477 , p_source_application_id => 602
160478 );
160479
160480
160481 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
160482
160483 XLA_AE_HEADER_PKG.SetJeCategoryName;
160484
160485 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
160486 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
160487 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
160488 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
160489 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
160490
160491
160492 -- No header level analytical criteria
160493
160494 --
160495 --accounting attribute enhancement, bug 3612931
160496 --
160497 l_trx_reversal_source := SUBSTR(NULL, 1,30);
160501
160498
160499 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
160500 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160502 xla_accounting_err_pkg.build_message
160503 (p_appli_s_name => 'XLA'
160504 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
160505 ,p_token_1 => 'ACCT_ATTR_NAME'
160506 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
160507 ,p_token_2 => 'PRODUCT_NAME'
160508 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160509 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160510 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160511 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160512
160513 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
160514 --
160515 -- following sets the accounting attributes needed to reverse
160516 -- accounting for a distributeion
160517 --
160518 xla_ae_lines_pkg.SetTrxReversalAttrs
160519 (p_event_id => l_event_id
160520 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
160521 ,p_trx_reversal_source => l_trx_reversal_source);
160522
160523 END IF;
160524
160525
160526 ----------------------------------------------------------------
160527 -- 4262811 - update the header statuses to invalid in need be
160528 ----------------------------------------------------------------
160529 --
160530 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
160531
160532
160533 -----------------------------------------------
160534 -- No accrual reversal for the event class/type
160535 -----------------------------------------------
160536 ----------------------------------------------------------------
160537
160538 --
160539 -- this ends the header loop iteration for one bulk fetch
160540 --
160541 END LOOP;
160542
160543 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
160544 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
160545
160546 --
160547 -- insert dummy rows into lines gt table that were created due to
160548 -- transaction reversals
160549 --
160550 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
160551 l_result := XLA_AE_LINES_PKG.InsertLines;
160552 END IF;
160553
160554 --
160555 -- reset the temp_line_num for each set of events fetched from header
160556 -- cursor rather than doing it for each new event in line cursor
160557 -- Bug 3939231
160558 --
160559 xla_ae_lines_pkg.g_temp_line_num := 0;
160560
160561
160562
160563 --
160564 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
160565 --
160566 --
160567 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160568
160569 trace
160570 (p_msg => 'SQL - FETCH line_cur'
160571 ,p_level => C_LEVEL_STATEMENT
160572 ,p_module => l_log_module);
160573
160574 END IF;
160575 --
160576 --
160577 LOOP
160578 --
160579 FETCH line_cur BULK COLLECT INTO
160580 l_array_entity_id
160581 , l_array_legal_entity_id
160582 , l_array_entity_code
160583 , l_array_transaction_num
160584 , l_array_event_id
160585 , l_array_class_code
160586 , l_array_event_type
160587 , l_array_event_number
160588 , l_array_event_date
160589 , l_array_transaction_date
160590 , l_array_reference_num_1
160591 , l_array_reference_num_2
160592 , l_array_reference_num_3
160593 , l_array_reference_num_4
160594 , l_array_reference_char_1
160595 , l_array_reference_char_2
160596 , l_array_reference_char_3
160597 , l_array_reference_char_4
160598 , l_array_reference_date_1
160599 , l_array_reference_date_2
160600 , l_array_reference_date_3
160601 , l_array_reference_date_4
160602 , l_array_event_created_by
160603 , l_array_budgetary_control_flag
160604 , l_array_extract_line_num
160605 , l_array_source_30
160606 , l_array_source_36
160607 , l_array_source_38
160608 , l_array_source_51
160609 , l_array_source_52
160610 , l_array_source_54
160611 , l_array_source_64
160612 , l_array_source_65
160613 , l_array_source_67
160614 , l_array_source_68
160615 , l_array_source_69
160616 , l_array_source_70
160617 , l_array_source_71
160618 , l_array_source_76
160619 , l_array_source_77
160620 , l_array_source_78
160621 , l_array_source_79
160622 , l_array_source_79_meaning
160623 , l_array_source_85
160624 , l_array_source_86
160625 , l_array_source_87
160626 , l_array_source_88
160627 , l_array_source_89
160628 , l_array_source_90
160629 , l_array_source_91
160630 , l_array_source_92
160631 , l_array_source_125
160632 , l_array_source_125_meaning
160633 , l_array_source_127
160634 , l_array_source_128
160635 , l_array_source_129
160636 , l_array_source_130
160637 , l_array_source_131
160638 , l_array_source_132
160639 , l_array_source_133
160640 , l_array_source_134
160641 , l_array_source_139
160642 , l_array_source_140
160643 , l_array_source_141
160644 , l_array_source_142
160645 , l_array_source_143
160646 , l_array_source_144
160647 , l_array_source_146
160648 , l_array_source_147
160649 , l_array_source_152
160650 , l_array_source_159
160651 , l_array_source_165
160652 , l_array_source_165_meaning
160656 IF (C_LEVEL_EVENT >= g_log_level) THEN
160653 LIMIT l_rows;
160654
160655 --
160657 trace
160658 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
160659 ,p_level => C_LEVEL_EVENT
160660 ,p_module => l_log_module);
160661 END IF;
160662 --
160663 EXIT WHEN l_array_entity_id.count = 0;
160664
160665 XLA_AE_LINES_PKG.g_rec_lines := null;
160666
160667 --
160668 -- Bug 4458708
160669 --
160670 XLA_AE_LINES_PKG.g_LineNumber := 0;
160671 --
160672 --
160673
160674 FOR Idx IN 1..l_array_event_id.count LOOP
160675 --
160676 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
160677 --
160678 l_event_id := l_array_event_id(idx); -- 5648433
160679
160680 --
160681 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
160682 --
160683
160684 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
160685 (g_array_event(l_event_id).array_value_num('header_index'))
160686 ,'N'
160687 ) <> 'Y'
160688 THEN
160689 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160690 trace
160691 (p_msg => 'Trancaction revesal option is not Y '
160692 ,p_level => C_LEVEL_STATEMENT
160693 ,p_module => l_log_module);
160694 END IF;
160695
160696 --
160697 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
160698 --
160699 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160700 --
160701 -- set event info as cache for other routines to refer event attributes
160702 --
160703
160704 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
160705 l_previous_event_id := l_event_id;
160706
160707 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
160708 (p_application_id => p_application_id
160709 ,p_primary_ledger_id => p_primary_ledger_id
160710 ,p_base_ledger_id => p_base_ledger_id
160711 ,p_target_ledger_id => p_target_ledger_id
160712 ,p_entity_id => l_array_entity_id(Idx)
160713 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
160714 ,p_entity_code => l_array_entity_code(Idx)
160715 ,p_transaction_num => l_array_transaction_num(Idx)
160716 ,p_event_id => l_array_event_id(Idx)
160717 ,p_event_class_code => l_array_class_code(Idx)
160718 ,p_event_type_code => l_array_event_type(Idx)
160719 ,p_event_number => l_array_event_number(Idx)
160720 ,p_event_date => l_array_event_date(Idx)
160721 ,p_transaction_date => l_array_transaction_date(Idx)
160722 ,p_reference_num_1 => l_array_reference_num_1(Idx)
160723 ,p_reference_num_2 => l_array_reference_num_2(Idx)
160724 ,p_reference_num_3 => l_array_reference_num_3(Idx)
160725 ,p_reference_num_4 => l_array_reference_num_4(Idx)
160726 ,p_reference_char_1 => l_array_reference_char_1(Idx)
160727 ,p_reference_char_2 => l_array_reference_char_2(Idx)
160728 ,p_reference_char_3 => l_array_reference_char_3(Idx)
160729 ,p_reference_char_4 => l_array_reference_char_4(Idx)
160730 ,p_reference_date_1 => l_array_reference_date_1(Idx)
160731 ,p_reference_date_2 => l_array_reference_date_2(Idx)
160732 ,p_reference_date_3 => l_array_reference_date_3(Idx)
160733 ,p_reference_date_4 => l_array_reference_date_4(Idx)
160734 ,p_event_created_by => l_array_event_created_by(Idx)
160735 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
160736 --
160737 END IF;
160738
160739
160740
160741 --
160742 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
160743
160744 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
160745
160746 IF l_continue_with_lines THEN
160747 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
160748 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160749
160750 xla_accounting_err_pkg.build_message
160751 (p_appli_s_name => 'XLA'
160752 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
160753 ,p_token_1 => 'LINE_NUMBER'
160754 ,p_value_1 => l_array_extract_line_num(Idx)
160755 ,p_token_2 => 'PRODUCT_NAME'
160756 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160757 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160758 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160759 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160760
160761 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
160762 --
160763 -- following sets the accounting attributes needed to reverse
160764 -- accounting for a distributeion
160765 --
160766
160767 --
160768 -- 5217187
160769 --
160770 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
160771 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
160772 g_array_event(l_event_id).array_value_num('header_index'));
160773 --
160774 --
160775
160776 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
160777 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
160778 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
160779 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_127(Idx);
160783 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_130(Idx);
160780 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
160781 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
160782 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_ACCT_CLASS';
160784 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_CCID';
160785 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_64(Idx);
160786 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_AMT';
160787 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_65(Idx);
160788 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_CURR';
160789 l_rec_rev_acct_attrs.array_char_value(8) := g_array_event(l_event_id).array_value_char('source_66');
160790 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_LEDGER_AMT';
160791 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_67(Idx);
160792 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ACCT_CLASS';
160793 l_rec_rev_acct_attrs.array_char_value(10) := l_array_source_131(Idx);
160794 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_CCID';
160795 l_rec_rev_acct_attrs.array_num_value(11) := l_array_source_68(Idx);
160796 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_ENTERED_AMT';
160797 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_69(Idx);
160798 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_CURR';
160799 l_rec_rev_acct_attrs.array_char_value(13) := g_array_event(l_event_id).array_value_char('source_66');
160800 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_LEDGER_AMT';
160801 l_rec_rev_acct_attrs.array_num_value(14) := l_array_source_70(Idx);
160802 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_OPTION';
160803 l_rec_rev_acct_attrs.array_char_value(15) := l_array_source_71(Idx);
160804 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'PARTY_TYPE';
160805 l_rec_rev_acct_attrs.array_char_value(16) := g_array_event(l_event_id).array_value_char('source_82');
160806 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
160807 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_134(Idx);
160808 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_TYPE';
160809 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_54(Idx);
160810 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_LINE_REF_ID';
160811 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_85(Idx);
160812 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'TAX_REC_NREC_DIST_REF_ID';
160813 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_86(Idx);
160814 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'TAX_SUMMARY_LINE_REF_ID';
160815 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_87(Idx);
160816 l_rec_rev_acct_attrs.array_acct_attr_code(22) := 'UPG_CR_ENC_TYPE_ID';
160817 l_rec_rev_acct_attrs.array_num_value(22) := l_array_source_88(Idx);
160818 l_rec_rev_acct_attrs.array_acct_attr_code(23) := 'UPG_DR_ENC_TYPE_ID';
160819 l_rec_rev_acct_attrs.array_num_value(23) := l_array_source_89(Idx);
160820
160821
160822 xla_ae_lines_pkg.SetAcctReversalAttrs
160823 (p_event_id => l_event_id
160824 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
160825 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160826 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
160827 END IF;
160828
160829 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
160830 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
160831
160832 --
160833 AcctLineType_97 (
160834 p_application_id => p_application_id
160835 ,p_event_id => l_event_id
160836 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160837 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160838 ,p_actual_flag => l_actual_flag
160839 ,p_balance_type_code => l_balance_type_code
160840 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160841
160842 , p_source_52 => l_array_source_52(Idx)
160843 , p_source_54 => l_array_source_54(Idx)
160844 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
160845 , p_source_64 => l_array_source_64(Idx)
160846 , p_source_65 => l_array_source_65(Idx)
160847 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
160848 , p_source_67 => l_array_source_67(Idx)
160849 , p_source_68 => l_array_source_68(Idx)
160850 , p_source_69 => l_array_source_69(Idx)
160851 , p_source_70 => l_array_source_70(Idx)
160852 , p_source_71 => l_array_source_71(Idx)
160853 , p_source_76 => l_array_source_76(Idx)
160854 , p_source_77 => l_array_source_77(Idx)
160855 , p_source_78 => l_array_source_78(Idx)
160856 , p_source_79 => l_array_source_79(Idx)
160857 , p_source_79_meaning => l_array_source_79_meaning(Idx)
160858 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
160859 , p_source_85 => l_array_source_85(Idx)
160860 , p_source_86 => l_array_source_86(Idx)
160861 , p_source_87 => l_array_source_87(Idx)
160862 , p_source_88 => l_array_source_88(Idx)
160863 , p_source_89 => l_array_source_89(Idx)
160864 , p_source_90 => l_array_source_90(Idx)
160865 , p_source_91 => l_array_source_91(Idx)
160866 , p_source_92 => l_array_source_92(Idx)
160867 , p_source_125 => l_array_source_125(Idx)
160868 , p_source_125_meaning => l_array_source_125_meaning(Idx)
160869 , p_source_127 => l_array_source_127(Idx)
160870 , p_source_128 => l_array_source_128(Idx)
160871 , p_source_129 => l_array_source_129(Idx)
160872 , p_source_130 => l_array_source_130(Idx)
160873 , p_source_131 => l_array_source_131(Idx)
160874 , p_source_132 => l_array_source_132(Idx)
160875 , p_source_133 => l_array_source_133(Idx)
160876 , p_source_134 => l_array_source_134(Idx)
160877 );
160878 If(l_balance_type_code = 'A') THEN
160879 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160880 END IF;
160881
160882 --
160883
160884
160885 --
160889 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160886 AcctLineType_101 (
160887 p_application_id => p_application_id
160888 ,p_event_id => l_event_id
160890 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160891 ,p_actual_flag => l_actual_flag
160892 ,p_balance_type_code => l_balance_type_code
160893 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160894
160895 , p_source_51 => l_array_source_51(Idx)
160896 , p_source_52 => l_array_source_52(Idx)
160897 , p_source_54 => l_array_source_54(Idx)
160898 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
160899 , p_source_64 => l_array_source_64(Idx)
160900 , p_source_65 => l_array_source_65(Idx)
160901 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
160902 , p_source_67 => l_array_source_67(Idx)
160903 , p_source_68 => l_array_source_68(Idx)
160904 , p_source_69 => l_array_source_69(Idx)
160905 , p_source_70 => l_array_source_70(Idx)
160906 , p_source_71 => l_array_source_71(Idx)
160907 , p_source_76 => l_array_source_76(Idx)
160908 , p_source_77 => l_array_source_77(Idx)
160909 , p_source_78 => l_array_source_78(Idx)
160910 , p_source_79 => l_array_source_79(Idx)
160911 , p_source_79_meaning => l_array_source_79_meaning(Idx)
160912 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
160913 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
160914 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
160915 , p_source_85 => l_array_source_85(Idx)
160916 , p_source_86 => l_array_source_86(Idx)
160917 , p_source_87 => l_array_source_87(Idx)
160918 , p_source_88 => l_array_source_88(Idx)
160919 , p_source_89 => l_array_source_89(Idx)
160920 , p_source_90 => l_array_source_90(Idx)
160921 , p_source_125 => l_array_source_125(Idx)
160922 , p_source_125_meaning => l_array_source_125_meaning(Idx)
160923 , p_source_127 => l_array_source_127(Idx)
160924 , p_source_130 => l_array_source_130(Idx)
160925 , p_source_131 => l_array_source_131(Idx)
160926 , p_source_132 => l_array_source_132(Idx)
160927 , p_source_133 => l_array_source_133(Idx)
160928 , p_source_134 => l_array_source_134(Idx)
160929 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
160930 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
160931 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
160932 , p_source_139 => l_array_source_139(Idx)
160933 , p_source_140 => l_array_source_140(Idx)
160934 , p_source_141 => l_array_source_141(Idx)
160935 , p_source_142 => l_array_source_142(Idx)
160936 );
160937 If(l_balance_type_code = 'A') THEN
160938 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160939 END IF;
160940
160941 --
160942
160943
160944 --
160945 AcctLineType_109 (
160946 p_application_id => p_application_id
160947 ,p_event_id => l_event_id
160948 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160949 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160950 ,p_actual_flag => l_actual_flag
160951 ,p_balance_type_code => l_balance_type_code
160952 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160953
160954 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
160955 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
160956 , p_source_30 => l_array_source_30(Idx)
160957 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
160958 , p_source_52 => l_array_source_52(Idx)
160959 , p_source_54 => l_array_source_54(Idx)
160960 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
160961 , p_source_64 => l_array_source_64(Idx)
160962 , p_source_65 => l_array_source_65(Idx)
160963 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
160964 , p_source_67 => l_array_source_67(Idx)
160965 , p_source_68 => l_array_source_68(Idx)
160966 , p_source_69 => l_array_source_69(Idx)
160967 , p_source_70 => l_array_source_70(Idx)
160968 , p_source_71 => l_array_source_71(Idx)
160969 , p_source_76 => l_array_source_76(Idx)
160970 , p_source_77 => l_array_source_77(Idx)
160971 , p_source_78 => l_array_source_78(Idx)
160972 , p_source_79 => l_array_source_79(Idx)
160973 , p_source_79_meaning => l_array_source_79_meaning(Idx)
160974 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
160975 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
160976 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
160977 , p_source_85 => l_array_source_85(Idx)
160978 , p_source_86 => l_array_source_86(Idx)
160979 , p_source_87 => l_array_source_87(Idx)
160980 , p_source_88 => l_array_source_88(Idx)
160981 , p_source_89 => l_array_source_89(Idx)
160982 , p_source_90 => l_array_source_90(Idx)
160983 , p_source_127 => l_array_source_127(Idx)
160984 , p_source_130 => l_array_source_130(Idx)
160985 , p_source_131 => l_array_source_131(Idx)
160986 , p_source_132 => l_array_source_132(Idx)
160987 , p_source_134 => l_array_source_134(Idx)
160988 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
160989 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
160990 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
160991 , p_source_139 => l_array_source_139(Idx)
160992 , p_source_140 => l_array_source_140(Idx)
160993 , p_source_141 => l_array_source_141(Idx)
160994 , p_source_142 => l_array_source_142(Idx)
160995 , p_source_143 => l_array_source_143(Idx)
160996 , p_source_144 => l_array_source_144(Idx)
160997 , p_source_146 => l_array_source_146(Idx)
160998 );
160999 If(l_balance_type_code = 'A') THEN
161000 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161001 END IF;
161002
161003 --
161004
161005
161006 --
161007 AcctLineType_113 (
161008 p_application_id => p_application_id
161009 ,p_event_id => l_event_id
161010 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161011 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161015
161012 ,p_actual_flag => l_actual_flag
161013 ,p_balance_type_code => l_balance_type_code
161014 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161016 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161017 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161018 , p_source_30 => l_array_source_30(Idx)
161019 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
161020 , p_source_52 => l_array_source_52(Idx)
161021 , p_source_54 => l_array_source_54(Idx)
161022 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161023 , p_source_64 => l_array_source_64(Idx)
161024 , p_source_65 => l_array_source_65(Idx)
161025 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161026 , p_source_67 => l_array_source_67(Idx)
161027 , p_source_68 => l_array_source_68(Idx)
161028 , p_source_69 => l_array_source_69(Idx)
161029 , p_source_70 => l_array_source_70(Idx)
161030 , p_source_71 => l_array_source_71(Idx)
161031 , p_source_76 => l_array_source_76(Idx)
161032 , p_source_77 => l_array_source_77(Idx)
161033 , p_source_78 => l_array_source_78(Idx)
161034 , p_source_79 => l_array_source_79(Idx)
161035 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161036 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
161037 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161038 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161039 , p_source_85 => l_array_source_85(Idx)
161040 , p_source_86 => l_array_source_86(Idx)
161041 , p_source_87 => l_array_source_87(Idx)
161042 , p_source_88 => l_array_source_88(Idx)
161043 , p_source_89 => l_array_source_89(Idx)
161044 , p_source_90 => l_array_source_90(Idx)
161045 , p_source_127 => l_array_source_127(Idx)
161046 , p_source_130 => l_array_source_130(Idx)
161047 , p_source_131 => l_array_source_131(Idx)
161048 , p_source_132 => l_array_source_132(Idx)
161049 , p_source_134 => l_array_source_134(Idx)
161050 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
161051 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
161052 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
161053 , p_source_139 => l_array_source_139(Idx)
161054 , p_source_140 => l_array_source_140(Idx)
161055 , p_source_141 => l_array_source_141(Idx)
161056 , p_source_142 => l_array_source_142(Idx)
161057 , p_source_143 => l_array_source_143(Idx)
161058 , p_source_147 => l_array_source_147(Idx)
161059 );
161060 If(l_balance_type_code = 'A') THEN
161061 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161062 END IF;
161063
161064 --
161065
161066
161067 --
161068 AcctLineType_126 (
161069 p_application_id => p_application_id
161070 ,p_event_id => l_event_id
161071 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161072 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161073 ,p_actual_flag => l_actual_flag
161074 ,p_balance_type_code => l_balance_type_code
161075 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161076
161077 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161078 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161079 , p_source_30 => l_array_source_30(Idx)
161080 , p_source_36 => l_array_source_36(Idx)
161081 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
161082 , p_source_38 => l_array_source_38(Idx)
161083 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
161084 , p_source_52 => l_array_source_52(Idx)
161085 , p_source_54 => l_array_source_54(Idx)
161086 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161087 , p_source_64 => l_array_source_64(Idx)
161088 , p_source_65 => l_array_source_65(Idx)
161089 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161090 , p_source_67 => l_array_source_67(Idx)
161091 , p_source_68 => l_array_source_68(Idx)
161092 , p_source_69 => l_array_source_69(Idx)
161093 , p_source_70 => l_array_source_70(Idx)
161094 , p_source_71 => l_array_source_71(Idx)
161095 , p_source_76 => l_array_source_76(Idx)
161096 , p_source_77 => l_array_source_77(Idx)
161097 , p_source_78 => l_array_source_78(Idx)
161098 , p_source_79 => l_array_source_79(Idx)
161099 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161100 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
161101 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161102 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161103 , p_source_85 => l_array_source_85(Idx)
161104 , p_source_86 => l_array_source_86(Idx)
161105 , p_source_87 => l_array_source_87(Idx)
161106 , p_source_88 => l_array_source_88(Idx)
161107 , p_source_89 => l_array_source_89(Idx)
161108 , p_source_90 => l_array_source_90(Idx)
161109 , p_source_127 => l_array_source_127(Idx)
161110 , p_source_130 => l_array_source_130(Idx)
161111 , p_source_131 => l_array_source_131(Idx)
161112 , p_source_134 => l_array_source_134(Idx)
161113 , p_source_139 => l_array_source_139(Idx)
161114 , p_source_140 => l_array_source_140(Idx)
161115 , p_source_141 => l_array_source_141(Idx)
161116 , p_source_142 => l_array_source_142(Idx)
161117 , p_source_143 => l_array_source_143(Idx)
161118 , p_source_152 => l_array_source_152(Idx)
161119 );
161120 If(l_balance_type_code = 'A') THEN
161121 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161122 END IF;
161123
161124 --
161125
161126
161127 --
161128 AcctLineType_132 (
161129 p_application_id => p_application_id
161130 ,p_event_id => l_event_id
161131 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161132 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161133 ,p_actual_flag => l_actual_flag
161134 ,p_balance_type_code => l_balance_type_code
161135 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161136
161137 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161141 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
161138 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161139 , p_source_30 => l_array_source_30(Idx)
161140 , p_source_36 => l_array_source_36(Idx)
161142 , p_source_52 => l_array_source_52(Idx)
161143 , p_source_54 => l_array_source_54(Idx)
161144 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161145 , p_source_64 => l_array_source_64(Idx)
161146 , p_source_65 => l_array_source_65(Idx)
161147 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161148 , p_source_67 => l_array_source_67(Idx)
161149 , p_source_68 => l_array_source_68(Idx)
161150 , p_source_69 => l_array_source_69(Idx)
161151 , p_source_70 => l_array_source_70(Idx)
161152 , p_source_71 => l_array_source_71(Idx)
161153 , p_source_76 => l_array_source_76(Idx)
161154 , p_source_77 => l_array_source_77(Idx)
161155 , p_source_78 => l_array_source_78(Idx)
161156 , p_source_79 => l_array_source_79(Idx)
161157 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161158 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
161159 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161160 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161161 , p_source_85 => l_array_source_85(Idx)
161162 , p_source_86 => l_array_source_86(Idx)
161163 , p_source_87 => l_array_source_87(Idx)
161164 , p_source_88 => l_array_source_88(Idx)
161165 , p_source_89 => l_array_source_89(Idx)
161166 , p_source_90 => l_array_source_90(Idx)
161167 , p_source_127 => l_array_source_127(Idx)
161168 , p_source_130 => l_array_source_130(Idx)
161169 , p_source_131 => l_array_source_131(Idx)
161170 , p_source_132 => l_array_source_132(Idx)
161171 , p_source_134 => l_array_source_134(Idx)
161172 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
161173 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
161174 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
161175 , p_source_139 => l_array_source_139(Idx)
161176 , p_source_140 => l_array_source_140(Idx)
161177 , p_source_141 => l_array_source_141(Idx)
161178 , p_source_142 => l_array_source_142(Idx)
161179 , p_source_143 => l_array_source_143(Idx)
161180 , p_source_152 => l_array_source_152(Idx)
161181 , p_source_159 => l_array_source_159(Idx)
161182 );
161183 If(l_balance_type_code = 'A') THEN
161184 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161185 END IF;
161186
161187 --
161188
161189
161190 --
161191 AcctLineType_159 (
161192 p_application_id => p_application_id
161193 ,p_event_id => l_event_id
161194 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161195 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161196 ,p_actual_flag => l_actual_flag
161197 ,p_balance_type_code => l_balance_type_code
161198 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161199
161200 , p_source_52 => l_array_source_52(Idx)
161201 , p_source_54 => l_array_source_54(Idx)
161202 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161203 , p_source_64 => l_array_source_64(Idx)
161204 , p_source_65 => l_array_source_65(Idx)
161205 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161206 , p_source_67 => l_array_source_67(Idx)
161207 , p_source_68 => l_array_source_68(Idx)
161208 , p_source_69 => l_array_source_69(Idx)
161209 , p_source_70 => l_array_source_70(Idx)
161210 , p_source_71 => l_array_source_71(Idx)
161211 , p_source_76 => l_array_source_76(Idx)
161212 , p_source_77 => l_array_source_77(Idx)
161213 , p_source_78 => l_array_source_78(Idx)
161214 , p_source_79 => l_array_source_79(Idx)
161215 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161216 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161217 , p_source_85 => l_array_source_85(Idx)
161218 , p_source_86 => l_array_source_86(Idx)
161219 , p_source_87 => l_array_source_87(Idx)
161220 , p_source_88 => l_array_source_88(Idx)
161221 , p_source_89 => l_array_source_89(Idx)
161222 , p_source_90 => l_array_source_90(Idx)
161223 , p_source_127 => l_array_source_127(Idx)
161224 , p_source_128 => l_array_source_128(Idx)
161225 , p_source_129 => l_array_source_129(Idx)
161226 , p_source_130 => l_array_source_130(Idx)
161227 , p_source_131 => l_array_source_131(Idx)
161228 , p_source_132 => l_array_source_132(Idx)
161229 , p_source_133 => l_array_source_133(Idx)
161230 , p_source_134 => l_array_source_134(Idx)
161231 , p_source_139 => l_array_source_139(Idx)
161232 , p_source_140 => l_array_source_140(Idx)
161233 , p_source_143 => l_array_source_143(Idx)
161234 );
161235 If(l_balance_type_code = 'A') THEN
161236 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161237 END IF;
161238
161239 --
161240
161241
161242 --
161243 AcctLineType_166 (
161244 p_application_id => p_application_id
161245 ,p_event_id => l_event_id
161246 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161247 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161248 ,p_actual_flag => l_actual_flag
161249 ,p_balance_type_code => l_balance_type_code
161250 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161251
161252 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161253 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161254 , p_source_30 => l_array_source_30(Idx)
161255 , p_source_38 => l_array_source_38(Idx)
161256 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
161257 , p_source_52 => l_array_source_52(Idx)
161258 , p_source_54 => l_array_source_54(Idx)
161259 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161260 , p_source_64 => l_array_source_64(Idx)
161261 , p_source_65 => l_array_source_65(Idx)
161262 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161263 , p_source_67 => l_array_source_67(Idx)
161264 , p_source_68 => l_array_source_68(Idx)
161268 , p_source_76 => l_array_source_76(Idx)
161265 , p_source_69 => l_array_source_69(Idx)
161266 , p_source_70 => l_array_source_70(Idx)
161267 , p_source_71 => l_array_source_71(Idx)
161269 , p_source_77 => l_array_source_77(Idx)
161270 , p_source_78 => l_array_source_78(Idx)
161271 , p_source_79 => l_array_source_79(Idx)
161272 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161273 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
161274 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161275 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161276 , p_source_85 => l_array_source_85(Idx)
161277 , p_source_86 => l_array_source_86(Idx)
161278 , p_source_87 => l_array_source_87(Idx)
161279 , p_source_88 => l_array_source_88(Idx)
161280 , p_source_89 => l_array_source_89(Idx)
161281 , p_source_90 => l_array_source_90(Idx)
161282 , p_source_127 => l_array_source_127(Idx)
161283 , p_source_130 => l_array_source_130(Idx)
161284 , p_source_131 => l_array_source_131(Idx)
161285 , p_source_132 => l_array_source_132(Idx)
161286 , p_source_134 => l_array_source_134(Idx)
161287 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
161288 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
161289 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
161290 , p_source_139 => l_array_source_139(Idx)
161291 , p_source_140 => l_array_source_140(Idx)
161292 , p_source_141 => l_array_source_141(Idx)
161293 , p_source_142 => l_array_source_142(Idx)
161294 , p_source_143 => l_array_source_143(Idx)
161295 , p_source_152 => l_array_source_152(Idx)
161296 , p_source_159 => l_array_source_159(Idx)
161297 );
161298 If(l_balance_type_code = 'A') THEN
161299 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161300 END IF;
161301
161302 --
161303
161304
161305 --
161306 AcctLineType_182 (
161307 p_application_id => p_application_id
161308 ,p_event_id => l_event_id
161309 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161310 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161311 ,p_actual_flag => l_actual_flag
161312 ,p_balance_type_code => l_balance_type_code
161313 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161314
161315 , p_source_52 => l_array_source_52(Idx)
161316 , p_source_54 => l_array_source_54(Idx)
161317 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161318 , p_source_64 => l_array_source_64(Idx)
161319 , p_source_65 => l_array_source_65(Idx)
161320 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161321 , p_source_67 => l_array_source_67(Idx)
161322 , p_source_68 => l_array_source_68(Idx)
161323 , p_source_69 => l_array_source_69(Idx)
161324 , p_source_70 => l_array_source_70(Idx)
161325 , p_source_71 => l_array_source_71(Idx)
161326 , p_source_76 => l_array_source_76(Idx)
161327 , p_source_77 => l_array_source_77(Idx)
161328 , p_source_78 => l_array_source_78(Idx)
161329 , p_source_79 => l_array_source_79(Idx)
161330 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161331 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161332 , p_source_85 => l_array_source_85(Idx)
161333 , p_source_86 => l_array_source_86(Idx)
161334 , p_source_87 => l_array_source_87(Idx)
161335 , p_source_88 => l_array_source_88(Idx)
161336 , p_source_89 => l_array_source_89(Idx)
161337 , p_source_90 => l_array_source_90(Idx)
161338 , p_source_127 => l_array_source_127(Idx)
161339 , p_source_130 => l_array_source_130(Idx)
161340 , p_source_131 => l_array_source_131(Idx)
161341 , p_source_132 => l_array_source_132(Idx)
161342 , p_source_134 => l_array_source_134(Idx)
161343 , p_source_139 => l_array_source_139(Idx)
161344 , p_source_140 => l_array_source_140(Idx)
161345 , p_source_141 => l_array_source_141(Idx)
161346 , p_source_142 => l_array_source_142(Idx)
161347 , p_source_143 => l_array_source_143(Idx)
161348 , p_source_144 => l_array_source_144(Idx)
161349 , p_source_165 => l_array_source_165(Idx)
161350 , p_source_165_meaning => l_array_source_165_meaning(Idx)
161351 );
161352 If(l_balance_type_code = 'A') THEN
161353 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161354 END IF;
161355
161356 --
161357
161358
161359 --
161360 AcctLineType_207 (
161361 p_application_id => p_application_id
161362 ,p_event_id => l_event_id
161363 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161364 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161365 ,p_actual_flag => l_actual_flag
161366 ,p_balance_type_code => l_balance_type_code
161367 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161368
161369 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161370 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161371 , p_source_30 => l_array_source_30(Idx)
161372 , p_source_41 => g_array_event(l_event_id).array_value_num('source_41')
161373 , p_source_52 => l_array_source_52(Idx)
161374 , p_source_54 => l_array_source_54(Idx)
161375 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
161376 , p_source_64 => l_array_source_64(Idx)
161377 , p_source_65 => l_array_source_65(Idx)
161378 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
161379 , p_source_67 => l_array_source_67(Idx)
161380 , p_source_68 => l_array_source_68(Idx)
161381 , p_source_69 => l_array_source_69(Idx)
161382 , p_source_70 => l_array_source_70(Idx)
161383 , p_source_71 => l_array_source_71(Idx)
161384 , p_source_76 => l_array_source_76(Idx)
161385 , p_source_77 => l_array_source_77(Idx)
161386 , p_source_78 => l_array_source_78(Idx)
161387 , p_source_79 => l_array_source_79(Idx)
161388 , p_source_79_meaning => l_array_source_79_meaning(Idx)
161389 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
161390 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161391 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
161395 , p_source_88 => l_array_source_88(Idx)
161392 , p_source_85 => l_array_source_85(Idx)
161393 , p_source_86 => l_array_source_86(Idx)
161394 , p_source_87 => l_array_source_87(Idx)
161396 , p_source_89 => l_array_source_89(Idx)
161397 , p_source_90 => l_array_source_90(Idx)
161398 , p_source_127 => l_array_source_127(Idx)
161399 , p_source_130 => l_array_source_130(Idx)
161400 , p_source_131 => l_array_source_131(Idx)
161401 , p_source_132 => l_array_source_132(Idx)
161402 , p_source_133 => l_array_source_133(Idx)
161403 , p_source_134 => l_array_source_134(Idx)
161404 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
161405 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
161406 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
161407 , p_source_139 => l_array_source_139(Idx)
161408 , p_source_140 => l_array_source_140(Idx)
161409 , p_source_141 => l_array_source_141(Idx)
161410 , p_source_142 => l_array_source_142(Idx)
161411 , p_source_143 => l_array_source_143(Idx)
161412 );
161413 If(l_balance_type_code = 'A') THEN
161414 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161415 END IF;
161416
161417 --
161418
161419 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
161420 -- or secondary ledger that has different currency with primary
161421 -- or alc that is calculated by sla
161422 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
161423 (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'))
161424
161425 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
161426 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
161427 AND (l_actual_flag = 'A')) THEN
161428 XLA_AE_LINES_PKG.CreateGainOrLossLines(
161429 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
161430 ,p_application_id => p_application_id
161431 ,p_amb_context_code => 'DEFAULT'
161432 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
161433 ,p_event_class_code => C_EVENT_CLASS_CODE
161434 ,p_event_type_code => C_EVENT_TYPE_CODE
161435
161436 ,p_gain_ccid => -1
161437 ,p_loss_ccid => -1
161438
161439 ,p_actual_flag => l_actual_flag
161440 ,p_enc_flag => null
161441 ,p_actual_g_l_ref => l_actual_gain_loss_ref
161442 ,p_enc_g_l_ref => null
161443 );
161444 END IF;
161445 END IF;
161446 END IF;
161447
161448 ELSE
161449 --
161450 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
161451 --
161452 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161453 trace
161454 (p_msg => 'Trancaction revesal option is Y'
161455 ,p_level => C_LEVEL_STATEMENT
161456 ,p_module => l_log_module);
161457 END IF;
161458 END IF;
161459
161460 END LOOP;
161461 l_result := XLA_AE_LINES_PKG.InsertLines ;
161462 end loop;
161463 close line_cur;
161464
161465
161466 --
161467 -- insert headers into xla_ae_headers_gt table
161468 --
161469 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
161470
161471 -- insert into errors table here.
161472
161473 END LOOP;
161474
161475 --
161476 -- 4865292
161477 --
161478 -- Compare g_hdr_extract_count with event count in
161479 -- CreateHeadersAndLines.
161480 --
161481 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
161482
161483 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161484 trace (p_msg => '# rows extracted from header extract objects '
161485 || ' (running total): '
161486 || g_hdr_extract_count
161487 ,p_level => C_LEVEL_STATEMENT
161488 ,p_module => l_log_module);
161489 END IF;
161490
161491 CLOSE header_cur;
161492 --
161493
161494 --
161495 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161496 trace
161497 (p_msg => 'END of EventClass_231'
161498 ,p_level => C_LEVEL_PROCEDURE
161499 ,p_module => l_log_module);
161500 END IF;
161501 --
161502 RETURN l_result;
161503 EXCEPTION
161504 WHEN xla_exceptions_pkg.application_exception THEN
161505
161506 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161507
161508
161509 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161510
161511 RAISE;
161512
161513 WHEN NO_DATA_FOUND THEN
161514
161515 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161516 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161517
161518 FOR header_record IN header_cur
161519 LOOP
161520 l_array_header_events(header_record.event_id) := header_record.event_id;
161521 END LOOP;
161522
161523 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
161524 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
161525
161526 fnd_file.put_line(fnd_file.LOG, ' ');
161527 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161528 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
161529 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
161530
161531 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
161532 LOOP
161533 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
161534 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
161538
161535 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
161536 END IF;
161537 END LOOP;
161539 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161540 fnd_file.put_line(fnd_file.LOG, ' ');
161541
161542
161543 xla_exceptions_pkg.raise_message
161544 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_231');
161545
161546
161547 WHEN OTHERS THEN
161548 xla_exceptions_pkg.raise_message
161549 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_231');
161550 END EventClass_231;
161551 --
161552
161553 ---------------------------------------
161554 --
161555 -- PRIVATE PROCEDURE
161556 -- insert_sources_232
161557 --
161558 ----------------------------------------
161559 --
161560 PROCEDURE insert_sources_232(
161561 p_target_ledger_id IN NUMBER
161562 , p_language IN VARCHAR2
161563 , p_sla_ledger_id IN NUMBER
161564 , p_pad_start_date IN DATE
161565 , p_pad_end_date IN DATE
161566 )
161567 IS
161568
161569 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
161570 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
161571 p_apps_owner VARCHAR2(30);
161572 l_log_module VARCHAR2(240);
161573 BEGIN
161574 IF g_log_enabled THEN
161575 l_log_module := C_DEFAULT_MODULE||'.insert_sources_232';
161576 END IF;
161577 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161578
161579 trace
161580 (p_msg => 'BEGIN of insert_sources_232'
161581 ,p_level => C_LEVEL_PROCEDURE
161582 ,p_module => l_log_module);
161583
161584 END IF;
161585
161586 -- select APPS owner
161587 SELECT oracle_username
161588 INTO p_apps_owner
161589 FROM fnd_oracle_userid
161590 WHERE read_only_flag = 'U'
161591 ;
161592
161593 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161594 trace
161595 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
161596 ' - p_language = '||p_language||
161597 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
161598 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
161599 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
161600 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
161601 ,p_level => C_LEVEL_STATEMENT
161602 ,p_module => l_log_module);
161603 END IF;
161604
161605
161606 --
161607 INSERT INTO xla_diag_sources --hdr2
161608 (
161609 event_id
161610 , ledger_id
161611 , sla_ledger_id
161612 , description_language
161613 , object_name
161614 , object_type_code
161615 , line_number
161616 , source_application_id
161617 , source_type_code
161618 , source_code
161619 , source_value
161620 , source_meaning
161621 , created_by
161622 , creation_date
161623 , last_update_date
161624 , last_updated_by
161625 , last_update_login
161626 , program_update_date
161627 , program_application_id
161628 , program_id
161629 , request_id
161630 )
161631 SELECT
161632 event_id
161633 , p_target_ledger_id
161634 , p_sla_ledger_id
161635 , p_language
161636 , object_name
161637 , object_type_code
161638 , line_number
161639 , source_application_id
161640 , source_type_code
161641 , source_code
161642 , SUBSTR(source_value ,1,1996)
161643 , SUBSTR(source_meaning ,1,200)
161644 , xla_environment_pkg.g_Usr_Id
161645 , TRUNC(SYSDATE)
161646 , TRUNC(SYSDATE)
161647 , xla_environment_pkg.g_Usr_Id
161648 , xla_environment_pkg.g_Login_Id
161649 , TRUNC(SYSDATE)
161650 , xla_environment_pkg.g_Prog_Appl_Id
161651 , xla_environment_pkg.g_Prog_Id
161652 , xla_environment_pkg.g_Req_Id
161653 FROM (
161654 SELECT xet.event_id event_id
161655 , 0 line_number
161656 , CASE r
161657 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161658 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161659 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161660 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161661 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161662 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161663 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161664 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161665 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161666 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161667 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161668 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161669 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161670 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161671 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161672 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161673 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161674 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161675 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161676 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161677 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161678 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161679
161680 ELSE null
161684 WHEN 2 THEN 'HEADER'
161681 END object_name
161682 , CASE r
161683 WHEN 1 THEN 'HEADER'
161685 WHEN 3 THEN 'HEADER'
161686 WHEN 4 THEN 'HEADER'
161687 WHEN 5 THEN 'HEADER'
161688 WHEN 6 THEN 'HEADER'
161689 WHEN 7 THEN 'HEADER'
161690 WHEN 8 THEN 'HEADER'
161691 WHEN 9 THEN 'HEADER'
161692 WHEN 10 THEN 'HEADER'
161693 WHEN 11 THEN 'HEADER'
161694 WHEN 12 THEN 'HEADER'
161695 WHEN 13 THEN 'HEADER'
161696 WHEN 14 THEN 'HEADER'
161697 WHEN 15 THEN 'HEADER'
161698 WHEN 16 THEN 'HEADER'
161699 WHEN 17 THEN 'HEADER'
161700 WHEN 18 THEN 'HEADER'
161701 WHEN 19 THEN 'HEADER'
161702 WHEN 20 THEN 'HEADER'
161703 WHEN 21 THEN 'HEADER'
161704 WHEN 22 THEN 'HEADER'
161705
161706 ELSE null
161707 END object_type_code
161708 , CASE r
161709 WHEN 1 THEN '200'
161710 WHEN 2 THEN '200'
161711 WHEN 3 THEN '200'
161712 WHEN 4 THEN '200'
161713 WHEN 5 THEN '200'
161714 WHEN 6 THEN '200'
161715 WHEN 7 THEN '200'
161716 WHEN 8 THEN '200'
161717 WHEN 9 THEN '200'
161718 WHEN 10 THEN '200'
161719 WHEN 11 THEN '200'
161720 WHEN 12 THEN '200'
161721 WHEN 13 THEN '200'
161722 WHEN 14 THEN '200'
161723 WHEN 15 THEN '200'
161724 WHEN 16 THEN '200'
161725 WHEN 17 THEN '200'
161726 WHEN 18 THEN '200'
161727 WHEN 19 THEN '200'
161728 WHEN 20 THEN '200'
161729 WHEN 21 THEN '200'
161730 WHEN 22 THEN '200'
161731
161732 ELSE null
161733 END source_application_id
161734 , 'S' source_type_code
161735 , CASE r
161736 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
161737 WHEN 2 THEN 'AI_INVOICE_DATE'
161738 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
161739 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
161740 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
161741 WHEN 6 THEN 'AI_DESCRIPTION'
161742 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
161743 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
161744 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
161745 WHEN 10 THEN 'ASP_BUILD_PREPAY_ACCOUNTS_FLAG'
161746 WHEN 11 THEN 'AI_ACCTS_PAY_CCID'
161747 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
161748 WHEN 13 THEN 'AI_INVOICE_ID'
161749 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
161750 WHEN 15 THEN 'AI_VENDOR_ID'
161751 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
161752 WHEN 17 THEN 'THIRD_PARTY_TYPE'
161753 WHEN 18 THEN 'INV_EXCHANGE_DATE'
161754 WHEN 19 THEN 'INV_EXCHANGE_RATE'
161755 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
161756 WHEN 21 THEN 'AI_SOURCE'
161757 WHEN 22 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
161758
161759 ELSE null
161760 END source_code
161761 , CASE r
161762 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
161763 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
161764 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
161765 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
161766 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
161767 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
161768 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
161769 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
161770 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
161771 WHEN 10 THEN TO_CHAR(h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG)
161772 WHEN 11 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
161773 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
161774 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
161775 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
161776 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
161777 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
161778 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
161779 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
161780 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
161781 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
161782 WHEN 21 THEN TO_CHAR(h2.AI_SOURCE)
161783 WHEN 22 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
161784
161785 ELSE null
161786 END source_value
161787 , CASE r
161788 WHEN 7 THEN fvl15.meaning
161789 WHEN 10 THEN fvl31.meaning
161790 WHEN 12 THEN fvl47.meaning
161791
161792 ELSE null
161793 END source_meaning
161794 FROM xla_events_gt xet
161795 , AP_INVOICE_EXTRACT_HEADER_V h2
161796 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
161797 , fnd_lookup_values fvl15
161798 , fnd_lookup_values fvl31
161799 , fnd_lookup_values fvl47
161800 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
161801 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
161805 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
161802 AND xet.event_class_code = C_EVENT_CLASS_CODE
161803 AND h2.event_id = xet.event_id
161804 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
161806 AND fvl15.view_application_id(+) = 200
161807 AND fvl15.language(+) = USERENV('LANG')
161808 AND fvl31.lookup_type(+) = 'YES_NO'
161809 AND fvl31.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
161810 AND fvl31.view_application_id(+) = 0
161811 AND fvl31.language(+) = USERENV('LANG')
161812 AND fvl47.lookup_type(+) = 'YES_NO'
161813 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
161814 AND fvl47.view_application_id(+) = 0
161815 AND fvl47.language(+) = USERENV('LANG')
161816
161817 )
161818 ;
161819 --
161820 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161821
161822 trace
161823 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
161824 ,p_level => C_LEVEL_STATEMENT
161825 ,p_module => l_log_module);
161826
161827 END IF;
161828 --
161829
161830
161831
161832 --
161833 INSERT INTO xla_diag_sources --line2
161834 (
161835 event_id
161836 , ledger_id
161837 , sla_ledger_id
161838 , description_language
161839 , object_name
161840 , object_type_code
161841 , line_number
161842 , source_application_id
161843 , source_type_code
161844 , source_code
161845 , source_value
161846 , source_meaning
161847 , created_by
161848 , creation_date
161849 , last_update_date
161850 , last_updated_by
161851 , last_update_login
161852 , program_update_date
161853 , program_application_id
161854 , program_id
161855 , request_id
161856 )
161857 SELECT event_id
161858 , p_target_ledger_id
161859 , p_sla_ledger_id
161860 , p_language
161861 , object_name
161862 , object_type_code
161863 , line_number
161864 , source_application_id
161865 , source_type_code
161866 , source_code
161867 , SUBSTR(source_value,1,1996)
161868 , SUBSTR(source_meaning ,1,200)
161869 , xla_environment_pkg.g_Usr_Id
161870 , TRUNC(SYSDATE)
161871 , TRUNC(SYSDATE)
161872 , xla_environment_pkg.g_Usr_Id
161873 , xla_environment_pkg.g_Login_Id
161874 , TRUNC(SYSDATE)
161875 , xla_environment_pkg.g_Prog_Appl_Id
161876 , xla_environment_pkg.g_Prog_Id
161877 , xla_environment_pkg.g_Req_Id
161878 FROM (
161879 SELECT xet.event_id event_id
161880 , l1.line_number line_number
161881 , CASE r
161882 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161883 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161884 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161885 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161886 WHEN 5 THEN 'AP_PO_HEADERS_EXTRACT_V'
161887 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161888 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161889 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161890 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161891 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161892 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161893 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161894 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161895 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161896 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161897 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161898 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161899 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161900 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161901 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161902 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161903 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161904 WHEN 23 THEN 'AP_PO_HEADERS_EXTRACT_V'
161905 WHEN 24 THEN 'AP_PO_HEADERS_EXTRACT_V'
161906 WHEN 25 THEN 'AP_PO_HEADERS_EXTRACT_V'
161907 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161908 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161909 WHEN 28 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161910 WHEN 29 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161911 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161912 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161913 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
161914 WHEN 33 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
161915 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161916 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161917 WHEN 36 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161918 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161919 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161920 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161921 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161922 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161923 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161924 WHEN 43 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
161925 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161926 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161927
161928 ELSE null
161929 END object_name
161930 , CASE r
161931 WHEN 1 THEN 'LINE'
161932 WHEN 2 THEN 'LINE'
161936 WHEN 6 THEN 'LINE'
161933 WHEN 3 THEN 'LINE'
161934 WHEN 4 THEN 'LINE'
161935 WHEN 5 THEN 'LINE'
161937 WHEN 7 THEN 'LINE'
161938 WHEN 8 THEN 'LINE'
161939 WHEN 9 THEN 'LINE'
161940 WHEN 10 THEN 'LINE'
161941 WHEN 11 THEN 'LINE'
161942 WHEN 12 THEN 'LINE'
161943 WHEN 13 THEN 'LINE'
161944 WHEN 14 THEN 'LINE'
161945 WHEN 15 THEN 'LINE'
161946 WHEN 16 THEN 'LINE'
161947 WHEN 17 THEN 'LINE'
161948 WHEN 18 THEN 'LINE'
161949 WHEN 19 THEN 'LINE'
161950 WHEN 20 THEN 'LINE'
161951 WHEN 21 THEN 'LINE'
161952 WHEN 22 THEN 'LINE'
161953 WHEN 23 THEN 'LINE'
161954 WHEN 24 THEN 'LINE'
161955 WHEN 25 THEN 'LINE'
161956 WHEN 26 THEN 'LINE'
161957 WHEN 27 THEN 'LINE'
161958 WHEN 28 THEN 'LINE'
161959 WHEN 29 THEN 'LINE'
161960 WHEN 30 THEN 'LINE'
161961 WHEN 31 THEN 'LINE'
161962 WHEN 32 THEN 'LINE'
161963 WHEN 33 THEN 'LINE'
161964 WHEN 34 THEN 'LINE'
161965 WHEN 35 THEN 'LINE'
161966 WHEN 36 THEN 'LINE'
161967 WHEN 37 THEN 'LINE'
161968 WHEN 38 THEN 'LINE'
161969 WHEN 39 THEN 'LINE'
161970 WHEN 40 THEN 'LINE'
161971 WHEN 41 THEN 'LINE'
161972 WHEN 42 THEN 'LINE'
161973 WHEN 43 THEN 'LINE'
161974 WHEN 44 THEN 'LINE'
161975 WHEN 45 THEN 'LINE'
161976
161977 ELSE null
161978 END object_type_code
161979 , CASE r
161980 WHEN 1 THEN '200'
161981 WHEN 2 THEN '200'
161982 WHEN 3 THEN '200'
161983 WHEN 4 THEN '200'
161984 WHEN 5 THEN '200'
161985 WHEN 6 THEN '200'
161986 WHEN 7 THEN '200'
161987 WHEN 8 THEN '200'
161988 WHEN 9 THEN '200'
161989 WHEN 10 THEN '200'
161990 WHEN 11 THEN '200'
161991 WHEN 12 THEN '200'
161992 WHEN 13 THEN '200'
161993 WHEN 14 THEN '200'
161994 WHEN 15 THEN '200'
161995 WHEN 16 THEN '200'
161996 WHEN 17 THEN '200'
161997 WHEN 18 THEN '200'
161998 WHEN 19 THEN '200'
161999 WHEN 20 THEN '200'
162000 WHEN 21 THEN '200'
162001 WHEN 22 THEN '200'
162002 WHEN 23 THEN '200'
162003 WHEN 24 THEN '200'
162004 WHEN 25 THEN '200'
162005 WHEN 26 THEN '200'
162006 WHEN 27 THEN '200'
162007 WHEN 28 THEN '200'
162008 WHEN 29 THEN '200'
162009 WHEN 30 THEN '200'
162010 WHEN 31 THEN '200'
162011 WHEN 32 THEN '200'
162012 WHEN 33 THEN '200'
162013 WHEN 34 THEN '200'
162014 WHEN 35 THEN '200'
162015 WHEN 36 THEN '200'
162016 WHEN 37 THEN '200'
162017 WHEN 38 THEN '200'
162018 WHEN 39 THEN '200'
162019 WHEN 40 THEN '200'
162020 WHEN 41 THEN '200'
162021 WHEN 42 THEN '200'
162022 WHEN 43 THEN '200'
162023 WHEN 44 THEN '200'
162024 WHEN 45 THEN '200'
162025
162026 ELSE null
162027 END source_application_id
162028 , 'S' source_type_code
162029 , CASE r
162030 WHEN 1 THEN 'AID_DESCRIPTION'
162031 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
162032 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
162033 WHEN 4 THEN 'AID_DIST_CCID'
162034 WHEN 5 THEN 'PO_NUMBER'
162035 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
162036 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
162037 WHEN 8 THEN 'POD_CCID'
162038 WHEN 9 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
162039 WHEN 10 THEN 'ASAT_LIAB_CCID'
162040 WHEN 11 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
162041 WHEN 12 THEN 'DISTRIBUTION_LINK_TYPE'
162042 WHEN 13 THEN 'ALLOC_TO_MAIN_DIST_ID'
162043 WHEN 14 THEN 'AID_INVOICE_DIST_ID'
162044 WHEN 15 THEN 'UPG_ENC_CR_CCID'
162045 WHEN 16 THEN 'UPG_ENC_CR_AMT'
162046 WHEN 17 THEN 'UPG_ENC_CR_BASE_AMT'
162047 WHEN 18 THEN 'UPG_ENC_DR_CCID'
162048 WHEN 19 THEN 'UPG_ENC_DR_AMT'
162049 WHEN 20 THEN 'UPG_ENC_DR_BASE_AMT'
162050 WHEN 21 THEN 'UPG_AP_ENCUM_OPTION'
162051 WHEN 22 THEN 'AID_AMOUNT'
162052 WHEN 23 THEN 'POH_RATE_DATE'
162053 WHEN 24 THEN 'POH_RATE'
162054 WHEN 25 THEN 'POH_RATE_TYPE'
162055 WHEN 26 THEN 'DEFERRED_END_DATE'
162056 WHEN 27 THEN 'DEFERRED_OPTION'
162057 WHEN 28 THEN 'DEFERRED_START_DATE'
162058 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
162059 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
162060 WHEN 31 THEN 'AID_STAT_AMOUNT'
162061 WHEN 32 THEN 'TAX_LINE_ID'
162062 WHEN 33 THEN 'REC_NREC_TAX_DIST_ID'
162066 WHEN 37 THEN 'BUS_FLOW_AP_APP_ID'
162063 WHEN 34 THEN 'SUMMARY_TAX_LINE_ID'
162064 WHEN 35 THEN 'UPG_CR_ENC_TYPE_ID'
162065 WHEN 36 THEN 'UPG_DR_ENC_TYPE_ID'
162067 WHEN 38 THEN 'BUS_FLOW_INV_DIST_TYPE'
162068 WHEN 39 THEN 'BUS_FLOW_INV_ENTITY_CODE'
162069 WHEN 40 THEN 'BUS_FLOW_INV_DIST_ID'
162070 WHEN 41 THEN 'BUS_FLOW_INV_ID'
162071 WHEN 42 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
162072 WHEN 43 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
162073 WHEN 44 THEN 'SELF_ASSESSED_TAX_FLAG'
162074 WHEN 45 THEN 'AID_PROJECT_ID'
162075
162076 ELSE null
162077 END source_code
162078 , CASE r
162079 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
162080 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
162081 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
162082 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
162083 WHEN 5 THEN TO_CHAR(l3.PO_NUMBER)
162084 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
162085 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
162086 WHEN 8 THEN TO_CHAR(l1.POD_CCID)
162087 WHEN 9 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
162088 WHEN 10 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
162089 WHEN 11 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
162090 WHEN 12 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
162091 WHEN 13 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
162092 WHEN 14 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
162093 WHEN 15 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
162094 WHEN 16 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
162095 WHEN 17 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
162096 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
162097 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
162098 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
162099 WHEN 21 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
162100 WHEN 22 THEN TO_CHAR(l1.AID_AMOUNT)
162101 WHEN 23 THEN TO_CHAR(l3.POH_RATE_DATE)
162102 WHEN 24 THEN TO_CHAR(l3.POH_RATE)
162103 WHEN 25 THEN TO_CHAR(l3.POH_RATE_TYPE)
162104 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
162105 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
162106 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
162107 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
162108 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
162109 WHEN 31 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
162110 WHEN 32 THEN TO_CHAR(l5.TAX_LINE_ID)
162111 WHEN 33 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
162112 WHEN 34 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
162113 WHEN 35 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
162114 WHEN 36 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
162115 WHEN 37 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
162116 WHEN 38 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
162117 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
162118 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
162119 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
162120 WHEN 42 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
162121 WHEN 43 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
162122 WHEN 44 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
162123 WHEN 45 THEN TO_CHAR(l1.AID_PROJECT_ID)
162124
162125 ELSE null
162126 END source_value
162127 , CASE r
162128 WHEN 3 THEN fvl22.meaning
162129 WHEN 6 THEN fvl33.meaning
162130 WHEN 29 THEN fvl79.meaning
162131 WHEN 42 THEN fvl95.meaning
162132 WHEN 43 THEN fvl125.meaning
162133 WHEN 44 THEN fvl135.meaning
162134
162135 ELSE null
162136 END source_meaning
162137 FROM xla_events_gt xet
162138 , AP_INVOICE_EXTRACT_DETAILS_V l1
162139 , AP_PO_HEADERS_EXTRACT_V l3
162140 , ZX_AP_DEF_TAX_EXTRACT_V l5
162141 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
162142 , fnd_lookup_values fvl22
162143 , fnd_lookup_values fvl33
162144 , fnd_lookup_values fvl79
162145 , fnd_lookup_values fvl95
162146 , fnd_lookup_values fvl125
162147 , fnd_lookup_values fvl135
162148 , (select rownum r from all_objects where rownum <= 45 and owner = p_apps_owner)
162149 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
162150 AND xet.event_class_code = C_EVENT_CLASS_CODE
162151 AND l1.event_id = xet.event_id
162152 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'
162153 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
162154 AND fvl22.view_application_id(+) = 201
162155 AND fvl22.language(+) = USERENV('LANG')
162156 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
162157 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
162158 AND fvl33.view_application_id(+) = 200
162159 AND fvl33.language(+) = USERENV('LANG')
162160 AND fvl79.lookup_type(+) = 'YES_NO'
162161 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
162162 AND fvl79.view_application_id(+) = 0
162163 AND fvl79.language(+) = USERENV('LANG')
162164 AND fvl95.lookup_type(+) = 'YES_NO'
162165 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
162166 AND fvl95.view_application_id(+) = 0
162167 AND fvl95.language(+) = USERENV('LANG')
162171 AND fvl125.language(+) = USERENV('LANG')
162168 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
162169 AND fvl125.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
162170 AND fvl125.view_application_id(+) = 0
162172 AND fvl135.lookup_type(+) = 'YES_NO'
162173 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
162174 AND fvl135.view_application_id(+) = 0
162175 AND fvl135.language(+) = USERENV('LANG')
162176
162177 )
162178 ;
162179 --
162180 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162181
162182 trace
162183 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
162184 ,p_level => C_LEVEL_STATEMENT
162185 ,p_module => l_log_module);
162186
162187 END IF;
162188
162189
162190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162191 trace
162192 (p_msg => 'END of insert_sources_232'
162193 ,p_level => C_LEVEL_PROCEDURE
162194 ,p_module => l_log_module);
162195 END IF;
162196 EXCEPTION
162197 WHEN xla_exceptions_pkg.application_exception THEN
162198 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
162199 trace
162200 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
162201 ,p_level => C_LEVEL_EXCEPTION
162202 ,p_module => l_log_module);
162203 END IF;
162204 RAISE;
162205 WHEN OTHERS THEN
162206 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
162207 trace
162208 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
162209 ,p_level => C_LEVEL_EXCEPTION
162210 ,p_module => l_log_module);
162211 END IF;
162212 xla_exceptions_pkg.raise_message
162213 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_232');
162214 END insert_sources_232;
162215 --
162216
162217 ---------------------------------------
162218 --
162219 -- PRIVATE FUNCTION
162220 -- EventClass_232
162221 --
162222 ----------------------------------------
162223 --
162224 FUNCTION EventClass_232
162225 (p_application_id IN NUMBER
162226 ,p_base_ledger_id IN NUMBER
162227 ,p_target_ledger_id IN NUMBER
162228 ,p_language IN VARCHAR2
162229 ,p_currency_code IN VARCHAR2
162230 ,p_sla_ledger_id IN NUMBER
162231 ,p_pad_start_date IN DATE
162232 ,p_pad_end_date IN DATE
162233 ,p_primary_ledger_id IN NUMBER)
162234 RETURN BOOLEAN IS
162235 --
162236 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
162237 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
162238
162239 l_calculate_acctd_flag VARCHAR2(1) :='N';
162240 l_calculate_g_l_flag VARCHAR2(1) :='N';
162241 --
162242 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162243 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162244 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162245 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162246 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162247 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162248 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162249 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162250 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162251 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162252 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162253 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162254 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162255 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162256 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162257 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162258 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162259 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162260 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162261 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162262 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162263 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162264 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
162265 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162266 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
162267 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
162268
162269 l_event_id NUMBER;
162270 l_previous_event_id NUMBER;
162271 l_first_event_id NUMBER;
162272 l_last_event_id NUMBER;
162273
162274 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
162275 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
162276 --
162277 --
162278 l_result BOOLEAN := TRUE;
162279 l_rows NUMBER := 1000;
162280 l_event_type_name VARCHAR2(80) := 'All';
162281 l_event_class_name VARCHAR2(80) := 'Prepayments';
162282 l_description VARCHAR2(4000);
162283 l_transaction_reversal NUMBER;
162284 l_ae_header_id NUMBER;
162285 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
162286 l_log_module VARCHAR2(240);
162287 --
162288 l_acct_reversal_source VARCHAR2(30);
162289 l_trx_reversal_source VARCHAR2(30);
162290
162294 --
162291 l_continue_with_lines BOOLEAN := TRUE;
162292 --
162293 l_acc_rev_gl_date_source DATE; -- 4262811
162295 type t_array_event_id is table of number index by binary_integer;
162296
162297 l_rec_array_event t_rec_array_event;
162298 l_null_rec_array_event t_rec_array_event;
162299 l_array_ae_header_id xla_number_array_type;
162300 l_actual_flag VARCHAR2(1) := NULL;
162301 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
162302 l_balance_type_code VARCHAR2(1) :=NULL;
162303 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
162304
162305 --
162306 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
162307 --
162308
162309 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
162310 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
162311 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
162312 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
162313 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
162314 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
162315 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
162316 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
162317 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
162318 TYPE t_array_source_31 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_BUILD_PREPAY_ACCOUNTS_FLAG%TYPE INDEX BY BINARY_INTEGER;
162319 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
162320 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
162321 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
162322 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
162323 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
162324 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
162325 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
162326 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
162327 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
162328 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162329 TYPE t_array_source_163 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_SOURCE%TYPE INDEX BY BINARY_INTEGER;
162330 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
162331
162332 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
162333 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162334 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162335 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
162336 TYPE t_array_source_32 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.PO_NUMBER%TYPE INDEX BY BINARY_INTEGER;
162337 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
162338 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162339 TYPE t_array_source_45 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
162340 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162341 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
162342 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
162343 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
162344 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162345 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162346 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
162347 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
162348 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162349 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
162350 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
162351 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162352 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
162353 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162354 TYPE t_array_source_73 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
162355 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
162356 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162357 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
162361 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
162358 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
162359 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
162360 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162362 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162363 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162364 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162365 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162366 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162367 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162368 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
162369 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162370 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
162371 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162372 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
162373 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162374 TYPE t_array_source_125 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
162375 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
162376 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PROJECT_ID%TYPE INDEX BY BINARY_INTEGER;
162377
162378 l_array_source_3 t_array_source_3;
162379 l_array_source_4 t_array_source_4;
162380 l_array_source_5 t_array_source_5;
162381 l_array_source_6 t_array_source_6;
162382 l_array_source_7 t_array_source_7;
162383 l_array_source_8 t_array_source_8;
162384 l_array_source_15 t_array_source_15;
162385 l_array_source_15_meaning t_array_lookup_meaning;
162386 l_array_source_20 t_array_source_20;
162387 l_array_source_23 t_array_source_23;
162388 l_array_source_31 t_array_source_31;
162389 l_array_source_31_meaning t_array_lookup_meaning;
162390 l_array_source_34 t_array_source_34;
162391 l_array_source_47 t_array_source_47;
162392 l_array_source_47_meaning t_array_lookup_meaning;
162393 l_array_source_57 t_array_source_57;
162394 l_array_source_66 t_array_source_66;
162395 l_array_source_80 t_array_source_80;
162396 l_array_source_81 t_array_source_81;
162397 l_array_source_82 t_array_source_82;
162398 l_array_source_136 t_array_source_136;
162399 l_array_source_137 t_array_source_137;
162400 l_array_source_138 t_array_source_138;
162401 l_array_source_163 t_array_source_163;
162402 l_array_source_168 t_array_source_168;
162403
162404 l_array_source_1 t_array_source_1;
162405 l_array_source_21 t_array_source_21;
162406 l_array_source_22 t_array_source_22;
162407 l_array_source_22_meaning t_array_lookup_meaning;
162408 l_array_source_30 t_array_source_30;
162409 l_array_source_32 t_array_source_32;
162410 l_array_source_33 t_array_source_33;
162411 l_array_source_33_meaning t_array_lookup_meaning;
162412 l_array_source_43 t_array_source_43;
162413 l_array_source_45 t_array_source_45;
162414 l_array_source_49 t_array_source_49;
162415 l_array_source_50 t_array_source_50;
162416 l_array_source_52 t_array_source_52;
162417 l_array_source_54 t_array_source_54;
162418 l_array_source_56 t_array_source_56;
162419 l_array_source_63 t_array_source_63;
162420 l_array_source_64 t_array_source_64;
162421 l_array_source_65 t_array_source_65;
162422 l_array_source_67 t_array_source_67;
162423 l_array_source_68 t_array_source_68;
162424 l_array_source_69 t_array_source_69;
162425 l_array_source_70 t_array_source_70;
162426 l_array_source_71 t_array_source_71;
162427 l_array_source_72 t_array_source_72;
162428 l_array_source_73 t_array_source_73;
162429 l_array_source_74 t_array_source_74;
162430 l_array_source_75 t_array_source_75;
162431 l_array_source_76 t_array_source_76;
162432 l_array_source_77 t_array_source_77;
162433 l_array_source_78 t_array_source_78;
162434 l_array_source_79 t_array_source_79;
162435 l_array_source_79_meaning t_array_lookup_meaning;
162436 l_array_source_83 t_array_source_83;
162437 l_array_source_84 t_array_source_84;
162438 l_array_source_85 t_array_source_85;
162439 l_array_source_86 t_array_source_86;
162440 l_array_source_87 t_array_source_87;
162441 l_array_source_88 t_array_source_88;
162442 l_array_source_89 t_array_source_89;
162443 l_array_source_90 t_array_source_90;
162444 l_array_source_91 t_array_source_91;
162445 l_array_source_92 t_array_source_92;
162446 l_array_source_93 t_array_source_93;
162447 l_array_source_94 t_array_source_94;
162448 l_array_source_95 t_array_source_95;
162449 l_array_source_95_meaning t_array_lookup_meaning;
162450 l_array_source_125 t_array_source_125;
162451 l_array_source_125_meaning t_array_lookup_meaning;
162452 l_array_source_135 t_array_source_135;
162453 l_array_source_135_meaning t_array_lookup_meaning;
162454 l_array_source_146 t_array_source_146;
162455
162456 --
162457 CURSOR header_cur
162461 xet.entity_id
162458 IS
162459 SELECT /*+ leading(xet) cardinality(xet,1) */
162460 -- Event Class Code: PREPAYMENTS
162462 ,xet.legal_entity_id
162463 ,xet.entity_code
162464 ,xet.transaction_number
162465 ,xet.event_id
162466 ,xet.event_class_code
162467 ,xet.event_type_code
162468 ,xet.event_number
162469 ,xet.event_date
162470 ,xet.transaction_date
162471 ,xet.reference_num_1
162472 ,xet.reference_num_2
162473 ,xet.reference_num_3
162474 ,xet.reference_num_4
162475 ,xet.reference_char_1
162476 ,xet.reference_char_2
162477 ,xet.reference_char_3
162478 ,xet.reference_char_4
162479 ,xet.reference_date_1
162480 ,xet.reference_date_2
162481 ,xet.reference_date_3
162482 ,xet.reference_date_4
162483 ,xet.event_created_by
162484 ,xet.budgetary_control_flag
162485 , h2.INV_TRANSACTION_NUMBER source_3
162486 , h2.AI_INVOICE_DATE source_4
162487 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
162488 , h2.DOC_SEQUENCE_NAME source_6
162489 , h2.INV_DOC_SEQUENCE_VALUE source_7
162490 , h2.AI_DESCRIPTION source_8
162491 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
162492 , fvl15.meaning source_15_meaning
162493 , h4.ASP_RATE_VAR_GAIN_CCID source_20
162494 , h4.ASP_RATE_VAR_LOSS_CCID source_23
162495 , h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG source_31
162496 , fvl31.meaning source_31_meaning
162497 , h2.AI_ACCTS_PAY_CCID source_34
162498 , h4.ASP_AUTO_OFFSET_FLAG source_47
162499 , fvl47.meaning source_47_meaning
162500 , h2.AI_INVOICE_ID source_57
162501 , h2.AI_INVOICE_CURRENCY_CODE source_66
162502 , h2.AI_VENDOR_ID source_80
162503 , h2.AI_VENDOR_SITE_ID source_81
162504 , h2.THIRD_PARTY_TYPE source_82
162505 , h2.INV_EXCHANGE_DATE source_136
162506 , h2.INV_EXCHANGE_RATE source_137
162507 , h2.INV_EXCHANGE_RATE_TYPE source_138
162508 , h2.AI_SOURCE source_163
162509 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
162510 FROM xla_events_gt xet
162511 , AP_INVOICE_EXTRACT_HEADER_V h2
162512 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
162513 , fnd_lookup_values fvl15
162514 , fnd_lookup_values fvl31
162515 , fnd_lookup_values fvl47
162516 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
162517 and xet.event_class_code = C_EVENT_CLASS_CODE
162518 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
162519 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
162520 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
162521 AND fvl15.view_application_id(+) = 200
162522 AND fvl15.language(+) = USERENV('LANG')
162523 AND fvl31.lookup_type(+) = 'YES_NO'
162524 AND fvl31.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
162525 AND fvl31.view_application_id(+) = 0
162526 AND fvl31.language(+) = USERENV('LANG')
162527 AND fvl47.lookup_type(+) = 'YES_NO'
162528 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
162529 AND fvl47.view_application_id(+) = 0
162530 AND fvl47.language(+) = USERENV('LANG')
162531
162532 ORDER BY event_id
162533 ;
162534
162535
162536 --
162537 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
162538 IS
162539 SELECT /*+ leading(xet) cardinality(xet,1) */
162540 -- Event Class Code: PREPAYMENTS
162541 xet.entity_id
162542 ,xet.legal_entity_id
162543 ,xet.entity_code
162544 ,xet.transaction_number
162545 ,xet.event_id
162546 ,xet.event_class_code
162547 ,xet.event_type_code
162548 ,xet.event_number
162549 ,xet.event_date
162550 ,xet.transaction_date
162551 ,xet.reference_num_1
162552 ,xet.reference_num_2
162553 ,xet.reference_num_3
162554 ,xet.reference_num_4
162555 ,xet.reference_char_1
162556 ,xet.reference_char_2
162557 ,xet.reference_char_3
162558 ,xet.reference_char_4
162559 ,xet.reference_date_1
162560 ,xet.reference_date_2
162561 ,xet.reference_date_3
162562 ,xet.reference_date_4
162563 ,xet.event_created_by
162564 ,xet.budgetary_control_flag
162565 , l1.LINE_NUMBER
162566 , l1.AID_DESCRIPTION source_1
162567 , l1.INV_DIST_BASE_AMOUNT source_21
162568 , l1.RELATED_INV_DIST_DEST_TYPE source_22
162569 , fvl22.meaning source_22_meaning
162570 , l1.AID_DIST_CCID source_30
162571 , l3.PO_NUMBER source_32
162572 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
162573 , fvl33.meaning source_33_meaning
162574 , l1.AWT_RELATED_DIST_ACCOUNT source_43
162575 , l1.POD_CCID source_45
162576 , l1.SELF_ASSESSED_TAX_ACCOUNT source_49
162577 , l1.ASAT_LIAB_CCID source_50
162578 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
162579 , l1.DISTRIBUTION_LINK_TYPE source_54
162580 , l1.ALLOC_TO_MAIN_DIST_ID source_56
162581 , l1.AID_INVOICE_DIST_ID source_63
162582 , l1.UPG_ENC_CR_CCID source_64
162583 , l1.UPG_ENC_CR_AMT source_65
162584 , l1.UPG_ENC_CR_BASE_AMT source_67
162585 , l1.UPG_ENC_DR_CCID source_68
162586 , l1.UPG_ENC_DR_AMT source_69
162587 , l1.UPG_ENC_DR_BASE_AMT source_70
162588 , l1.UPG_AP_ENCUM_OPTION source_71
162589 , l1.AID_AMOUNT source_72
162590 , l3.POH_RATE_DATE source_73
162591 , l3.POH_RATE source_74
162592 , l3.POH_RATE_TYPE source_75
162593 , l1.DEFERRED_END_DATE source_76
162594 , l1.DEFERRED_OPTION source_77
162595 , l1.DEFERRED_START_DATE source_78
162596 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
162597 , fvl79.meaning source_79_meaning
162598 , l1.AID_PARENT_REVERSAL_ID source_83
162599 , l1.AID_STAT_AMOUNT source_84
162600 , l5.TAX_LINE_ID source_85
162601 , l6.REC_NREC_TAX_DIST_ID source_86
162602 , l1.SUMMARY_TAX_LINE_ID source_87
162603 , l1.UPG_CR_ENC_TYPE_ID source_88
162607 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
162604 , l1.UPG_DR_ENC_TYPE_ID source_89
162605 , l1.BUS_FLOW_AP_APP_ID source_90
162606 , l1.BUS_FLOW_INV_DIST_TYPE source_91
162608 , l1.BUS_FLOW_INV_DIST_ID source_93
162609 , l1.BUS_FLOW_INV_ID source_94
162610 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_95
162611 , fvl95.meaning source_95_meaning
162612 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_125
162613 , fvl125.meaning source_125_meaning
162614 , l1.SELF_ASSESSED_TAX_FLAG source_135
162615 , fvl135.meaning source_135_meaning
162616 , l1.AID_PROJECT_ID source_146
162617 FROM xla_events_gt xet
162618 , AP_INVOICE_EXTRACT_DETAILS_V l1
162619 , AP_PO_HEADERS_EXTRACT_V l3
162620 , ZX_AP_DEF_TAX_EXTRACT_V l5
162621 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
162622 , fnd_lookup_values fvl22
162623 , fnd_lookup_values fvl33
162624 , fnd_lookup_values fvl79
162625 , fnd_lookup_values fvl95
162626 , fnd_lookup_values fvl125
162627 , fnd_lookup_values fvl135
162628 WHERE xet.event_id between x_first_event_id and x_last_event_id
162629 and xet.event_date between p_pad_start_date and p_pad_end_date
162630 and xet.event_class_code = C_EVENT_CLASS_CODE
162631 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
162632 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'
162633 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
162634 AND fvl22.view_application_id(+) = 201
162635 AND fvl22.language(+) = USERENV('LANG')
162636 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
162637 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
162638 AND fvl33.view_application_id(+) = 200
162639 AND fvl33.language(+) = USERENV('LANG')
162640 AND fvl79.lookup_type(+) = 'YES_NO'
162641 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
162642 AND fvl79.view_application_id(+) = 0
162643 AND fvl79.language(+) = USERENV('LANG')
162644 AND fvl95.lookup_type(+) = 'YES_NO'
162645 AND fvl95.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
162646 AND fvl95.view_application_id(+) = 0
162647 AND fvl95.language(+) = USERENV('LANG')
162648 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
162649 AND fvl125.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
162650 AND fvl125.view_application_id(+) = 0
162651 AND fvl125.language(+) = USERENV('LANG')
162652 AND fvl135.lookup_type(+) = 'YES_NO'
162653 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
162654 AND fvl135.view_application_id(+) = 0
162655 AND fvl135.language(+) = USERENV('LANG')
162656 ;
162657
162658 --
162659 BEGIN
162660 IF g_log_enabled THEN
162661 l_log_module := C_DEFAULT_MODULE||'.EventClass_232';
162662 END IF;
162663 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162664 trace
162665 (p_msg => 'BEGIN of EventClass_232'
162666 ,p_level => C_LEVEL_PROCEDURE
162667 ,p_module => l_log_module);
162668 END IF;
162669
162670 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162671 trace
162672 (p_msg => 'p_application_id = '||p_application_id||
162673 ' - p_base_ledger_id = '||p_base_ledger_id||
162674 ' - p_target_ledger_id = '||p_target_ledger_id||
162675 ' - p_language = '||p_language||
162676 ' - p_currency_code = '||p_currency_code||
162677 ' - p_sla_ledger_id = '||p_sla_ledger_id
162678 ,p_level => C_LEVEL_STATEMENT
162679 ,p_module => l_log_module);
162680 END IF;
162681 --
162682 -- initialze arrays
162683 --
162684 g_array_event.DELETE;
162685 l_rec_array_event := l_null_rec_array_event;
162686 --
162687 --------------------------------------
162688 -- 4262811 Initialze MPA Line Number
162689 --------------------------------------
162690 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
162691
162692 --
162693
162694 --
162695 OPEN header_cur;
162696 --
162697 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162698 trace
162699 (p_msg => 'SQL - FETCH header_cur'
162700 ,p_level => C_LEVEL_STATEMENT
162701 ,p_module => l_log_module);
162702 END IF;
162703 --
162704 LOOP
162705 FETCH header_cur BULK COLLECT INTO
162706 l_array_entity_id
162707 , l_array_legal_entity_id
162708 , l_array_entity_code
162709 , l_array_transaction_num
162710 , l_array_event_id
162711 , l_array_class_code
162712 , l_array_event_type
162713 , l_array_event_number
162714 , l_array_event_date
162715 , l_array_transaction_date
162716 , l_array_reference_num_1
162717 , l_array_reference_num_2
162718 , l_array_reference_num_3
162719 , l_array_reference_num_4
162720 , l_array_reference_char_1
162721 , l_array_reference_char_2
162722 , l_array_reference_char_3
162723 , l_array_reference_char_4
162724 , l_array_reference_date_1
162725 , l_array_reference_date_2
162726 , l_array_reference_date_3
162727 , l_array_reference_date_4
162728 , l_array_event_created_by
162729 , l_array_budgetary_control_flag
162730 , l_array_source_3
162731 , l_array_source_4
162732 , l_array_source_5
162733 , l_array_source_6
162734 , l_array_source_7
162735 , l_array_source_8
162736 , l_array_source_15
162737 , l_array_source_15_meaning
162738 , l_array_source_20
162739 , l_array_source_23
162740 , l_array_source_31
162741 , l_array_source_31_meaning
162742 , l_array_source_34
162743 , l_array_source_47
162747 , l_array_source_80
162744 , l_array_source_47_meaning
162745 , l_array_source_57
162746 , l_array_source_66
162748 , l_array_source_81
162749 , l_array_source_82
162750 , l_array_source_136
162751 , l_array_source_137
162752 , l_array_source_138
162753 , l_array_source_163
162754 , l_array_source_168
162755 LIMIT l_rows;
162756 --
162757 IF (C_LEVEL_EVENT >= g_log_level) THEN
162758 trace
162759 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
162760 ,p_level => C_LEVEL_EVENT
162761 ,p_module => l_log_module);
162762 END IF;
162763 --
162764 EXIT WHEN l_array_entity_id.COUNT = 0;
162765
162766 -- initialize arrays
162767 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
162768 XLA_AE_LINES_PKG.g_rec_lines := NULL;
162769
162770 --
162771 -- Bug 4458708
162772 --
162773 XLA_AE_LINES_PKG.g_LineNumber := 0;
162774
162775
162776 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
162777 g_last_hdr_idx := l_array_event_id.LAST;
162778 --
162779 -- loop for the headers. Each iteration is for each header extract row
162780 -- fetched in header cursor
162781 --
162782 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
162783
162784 --
162785 -- set event info as cache for other routines to refer event attributes
162786 --
162787 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
162788 (p_application_id => p_application_id
162789 ,p_primary_ledger_id => p_primary_ledger_id
162790 ,p_base_ledger_id => p_base_ledger_id
162791 ,p_target_ledger_id => p_target_ledger_id
162792 ,p_entity_id => l_array_entity_id(hdr_idx)
162793 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
162794 ,p_entity_code => l_array_entity_code(hdr_idx)
162795 ,p_transaction_num => l_array_transaction_num(hdr_idx)
162796 ,p_event_id => l_array_event_id(hdr_idx)
162797 ,p_event_class_code => l_array_class_code(hdr_idx)
162798 ,p_event_type_code => l_array_event_type(hdr_idx)
162799 ,p_event_number => l_array_event_number(hdr_idx)
162800 ,p_event_date => l_array_event_date(hdr_idx)
162801 ,p_transaction_date => l_array_transaction_date(hdr_idx)
162802 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
162803 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
162804 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
162805 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
162806 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
162807 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
162808 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
162809 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
162810 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
162811 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
162812 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
162813 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
162814 ,p_event_created_by => l_array_event_created_by(hdr_idx)
162815 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
162816
162817 --
162818 -- set the status of entry to C_VALID (0)
162819 --
162820 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
162821
162822 --
162823 -- initialize a row for ae header
162824 --
162825 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
162826
162827 l_event_id := l_array_event_id(hdr_idx);
162828
162829 --
162830 -- storing the hdr_idx for event. May be used by line cursor.
162831 --
162832 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
162833
162834 --
162835 -- store sources from header extract. This can be improved to
162836 -- store only those sources from header extract that may be used in lines
162837 --
162838
162839 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
162840 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
162841 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
162842 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
162843 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
162844 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
162845 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
162846 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
162847 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
162848 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
162849 g_array_event(l_event_id).array_value_char('source_31') := l_array_source_31(hdr_idx);
162850 g_array_event(l_event_id).array_value_char('source_31_meaning') := l_array_source_31_meaning(hdr_idx);
162851 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
162852 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
162853 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
162854 g_array_event(l_event_id).array_value_num('source_57') := l_array_source_57(hdr_idx);
162855 g_array_event(l_event_id).array_value_char('source_66') := l_array_source_66(hdr_idx);
162856 g_array_event(l_event_id).array_value_num('source_80') := l_array_source_80(hdr_idx);
162857 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
162858 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
162859 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
162863 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
162860 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
162861 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
162862 g_array_event(l_event_id).array_value_char('source_163') := l_array_source_163(hdr_idx);
162864
162865 --
162866 -- initilaize the status of ae headers for diffrent balance types
162867 -- the status is initialised to C_NOT_CREATED (2)
162868 --
162869 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162870 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162871 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162872
162873 --
162874 -- call api to validate and store accounting attributes for header
162875 --
162876
162877 ------------------------------------------------------------
162878 -- Accrual Reversal : to get date for Standard Source (NONE)
162879 ------------------------------------------------------------
162880 l_acc_rev_gl_date_source := NULL;
162881
162882 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
162883 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
162884 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
162885 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
162886 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
162887 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
162888 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
162889 l_rec_acct_attrs.array_date_value(4) :=
162890 xla_ae_sources_pkg.GetSystemSourceDate(
162891 p_source_code => 'XLA_EVENT_DATE'
162892 , p_source_type_code => 'Y'
162893 , p_source_application_id => 602
162894 );
162895
162896
162897 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
162898
162899 XLA_AE_HEADER_PKG.SetJeCategoryName;
162900
162901 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
162902 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
162903 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
162904 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
162905 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
162906
162907
162908 --
162909 xla_ae_header_pkg.SetHdrDescription(
162910 p_description => Description_2 (
162911 p_application_id => p_application_id
162912 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
162913 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
162914 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
162915 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
162916 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
162917 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
162918 )
162919 );
162920 --
162921
162922 -- No header level analytical criteria
162923
162924 --
162925 --accounting attribute enhancement, bug 3612931
162926 --
162927 l_trx_reversal_source := SUBSTR(NULL, 1,30);
162928
162929 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
162930 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
162931
162932 xla_accounting_err_pkg.build_message
162933 (p_appli_s_name => 'XLA'
162934 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
162935 ,p_token_1 => 'ACCT_ATTR_NAME'
162936 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
162937 ,p_token_2 => 'PRODUCT_NAME'
162938 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
162939 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
162940 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
162941 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
162942
162943 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
162944 --
162945 -- following sets the accounting attributes needed to reverse
162946 -- accounting for a distributeion
162947 --
162948 xla_ae_lines_pkg.SetTrxReversalAttrs
162949 (p_event_id => l_event_id
162950 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
162951 ,p_trx_reversal_source => l_trx_reversal_source);
162952
162953 END IF;
162954
162955
162956 ----------------------------------------------------------------
162957 -- 4262811 - update the header statuses to invalid in need be
162958 ----------------------------------------------------------------
162959 --
162960 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
162961
162962
162963 -----------------------------------------------
162964 -- No accrual reversal for the event class/type
162965 -----------------------------------------------
162966 ----------------------------------------------------------------
162967
162968 --
162969 -- this ends the header loop iteration for one bulk fetch
162970 --
162971 END LOOP;
162972
162973 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
162974 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
162975
162976 --
162977 -- insert dummy rows into lines gt table that were created due to
162978 -- transaction reversals
162979 --
162980 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
162981 l_result := XLA_AE_LINES_PKG.InsertLines;
162985 -- reset the temp_line_num for each set of events fetched from header
162982 END IF;
162983
162984 --
162986 -- cursor rather than doing it for each new event in line cursor
162987 -- Bug 3939231
162988 --
162989 xla_ae_lines_pkg.g_temp_line_num := 0;
162990
162991
162992
162993 --
162994 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
162995 --
162996 --
162997 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162998
162999 trace
163000 (p_msg => 'SQL - FETCH line_cur'
163001 ,p_level => C_LEVEL_STATEMENT
163002 ,p_module => l_log_module);
163003
163004 END IF;
163005 --
163006 --
163007 LOOP
163008 --
163009 FETCH line_cur BULK COLLECT INTO
163010 l_array_entity_id
163011 , l_array_legal_entity_id
163012 , l_array_entity_code
163013 , l_array_transaction_num
163014 , l_array_event_id
163015 , l_array_class_code
163016 , l_array_event_type
163017 , l_array_event_number
163018 , l_array_event_date
163019 , l_array_transaction_date
163020 , l_array_reference_num_1
163021 , l_array_reference_num_2
163022 , l_array_reference_num_3
163023 , l_array_reference_num_4
163024 , l_array_reference_char_1
163025 , l_array_reference_char_2
163026 , l_array_reference_char_3
163027 , l_array_reference_char_4
163028 , l_array_reference_date_1
163029 , l_array_reference_date_2
163030 , l_array_reference_date_3
163031 , l_array_reference_date_4
163032 , l_array_event_created_by
163033 , l_array_budgetary_control_flag
163034 , l_array_extract_line_num
163035 , l_array_source_1
163036 , l_array_source_21
163037 , l_array_source_22
163038 , l_array_source_22_meaning
163039 , l_array_source_30
163040 , l_array_source_32
163041 , l_array_source_33
163042 , l_array_source_33_meaning
163043 , l_array_source_43
163044 , l_array_source_45
163045 , l_array_source_49
163046 , l_array_source_50
163047 , l_array_source_52
163048 , l_array_source_54
163049 , l_array_source_56
163050 , l_array_source_63
163051 , l_array_source_64
163052 , l_array_source_65
163053 , l_array_source_67
163054 , l_array_source_68
163055 , l_array_source_69
163056 , l_array_source_70
163057 , l_array_source_71
163058 , l_array_source_72
163059 , l_array_source_73
163060 , l_array_source_74
163061 , l_array_source_75
163062 , l_array_source_76
163063 , l_array_source_77
163064 , l_array_source_78
163065 , l_array_source_79
163066 , l_array_source_79_meaning
163067 , l_array_source_83
163068 , l_array_source_84
163069 , l_array_source_85
163070 , l_array_source_86
163071 , l_array_source_87
163072 , l_array_source_88
163073 , l_array_source_89
163074 , l_array_source_90
163075 , l_array_source_91
163076 , l_array_source_92
163077 , l_array_source_93
163078 , l_array_source_94
163079 , l_array_source_95
163080 , l_array_source_95_meaning
163081 , l_array_source_125
163082 , l_array_source_125_meaning
163083 , l_array_source_135
163084 , l_array_source_135_meaning
163085 , l_array_source_146
163086 LIMIT l_rows;
163087
163088 --
163089 IF (C_LEVEL_EVENT >= g_log_level) THEN
163090 trace
163091 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
163092 ,p_level => C_LEVEL_EVENT
163093 ,p_module => l_log_module);
163094 END IF;
163095 --
163096 EXIT WHEN l_array_entity_id.count = 0;
163097
163098 XLA_AE_LINES_PKG.g_rec_lines := null;
163099
163100 --
163101 -- Bug 4458708
163102 --
163103 XLA_AE_LINES_PKG.g_LineNumber := 0;
163104 --
163105 --
163106
163107 FOR Idx IN 1..l_array_event_id.count LOOP
163108 --
163109 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
163110 --
163111 l_event_id := l_array_event_id(idx); -- 5648433
163112
163113 --
163114 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
163115 --
163116
163117 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
163118 (g_array_event(l_event_id).array_value_num('header_index'))
163119 ,'N'
163120 ) <> 'Y'
163121 THEN
163122 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
163123 trace
163124 (p_msg => 'Trancaction revesal option is not Y '
163125 ,p_level => C_LEVEL_STATEMENT
163126 ,p_module => l_log_module);
163127 END IF;
163128
163129 --
163130 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
163131 --
163132 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
163133 --
163134 -- set event info as cache for other routines to refer event attributes
163135 --
163136
163137 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
163138 l_previous_event_id := l_event_id;
163139
163140 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
163141 (p_application_id => p_application_id
163142 ,p_primary_ledger_id => p_primary_ledger_id
163143 ,p_base_ledger_id => p_base_ledger_id
163144 ,p_target_ledger_id => p_target_ledger_id
163145 ,p_entity_id => l_array_entity_id(Idx)
163146 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
163150 ,p_event_class_code => l_array_class_code(Idx)
163147 ,p_entity_code => l_array_entity_code(Idx)
163148 ,p_transaction_num => l_array_transaction_num(Idx)
163149 ,p_event_id => l_array_event_id(Idx)
163151 ,p_event_type_code => l_array_event_type(Idx)
163152 ,p_event_number => l_array_event_number(Idx)
163153 ,p_event_date => l_array_event_date(Idx)
163154 ,p_transaction_date => l_array_transaction_date(Idx)
163155 ,p_reference_num_1 => l_array_reference_num_1(Idx)
163156 ,p_reference_num_2 => l_array_reference_num_2(Idx)
163157 ,p_reference_num_3 => l_array_reference_num_3(Idx)
163158 ,p_reference_num_4 => l_array_reference_num_4(Idx)
163159 ,p_reference_char_1 => l_array_reference_char_1(Idx)
163160 ,p_reference_char_2 => l_array_reference_char_2(Idx)
163161 ,p_reference_char_3 => l_array_reference_char_3(Idx)
163162 ,p_reference_char_4 => l_array_reference_char_4(Idx)
163163 ,p_reference_date_1 => l_array_reference_date_1(Idx)
163164 ,p_reference_date_2 => l_array_reference_date_2(Idx)
163165 ,p_reference_date_3 => l_array_reference_date_3(Idx)
163166 ,p_reference_date_4 => l_array_reference_date_4(Idx)
163167 ,p_event_created_by => l_array_event_created_by(Idx)
163168 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
163169 --
163170 END IF;
163171
163172
163173
163174 --
163175 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
163176
163177 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
163178
163179 IF l_continue_with_lines THEN
163180 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
163181 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
163182
163183 xla_accounting_err_pkg.build_message
163184 (p_appli_s_name => 'XLA'
163185 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
163186 ,p_token_1 => 'LINE_NUMBER'
163187 ,p_value_1 => l_array_extract_line_num(Idx)
163188 ,p_token_2 => 'PRODUCT_NAME'
163189 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
163190 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
163191 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
163192 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
163193
163194 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
163195 --
163196 -- following sets the accounting attributes needed to reverse
163197 -- accounting for a distributeion
163198 --
163199
163200 --
163201 -- 5217187
163202 --
163203 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
163204 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
163205 g_array_event(l_event_id).array_value_num('header_index'));
163206 --
163207 --
163208
163209 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
163210 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
163211 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
163212 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_63(Idx);
163213 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
163214 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
163215 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
163216 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_64(Idx);
163217 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
163218 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_65(Idx);
163219 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
163220 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_66');
163221 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
163222 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_67(Idx);
163223 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
163224 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_68(Idx);
163225 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
163226 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_69(Idx);
163227 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
163228 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_66');
163229 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
163230 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_70(Idx);
163231 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
163232 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_71(Idx);
163233 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
163234 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_82');
163235 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
163236 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_83(Idx);
163237 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
163238 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_54(Idx);
163239 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
163240 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_85(Idx);
163241 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
163242 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_86(Idx);
163246 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_88(Idx);
163243 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
163244 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_87(Idx);
163245 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
163247 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
163248 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_89(Idx);
163249
163250
163251 xla_ae_lines_pkg.SetAcctReversalAttrs
163252 (p_event_id => l_event_id
163253 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
163254 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163255 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
163256 END IF;
163257
163258 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
163259 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
163260
163261 --
163262 AcctLineType_49 (
163263 p_application_id => p_application_id
163264 ,p_event_id => l_event_id
163265 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163266 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163267 ,p_actual_flag => l_actual_flag
163268 ,p_balance_type_code => l_balance_type_code
163269 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163270
163271 , p_source_1 => l_array_source_1(Idx)
163272 , p_source_21 => l_array_source_21(Idx)
163273 , p_source_30 => l_array_source_30(Idx)
163274 , p_source_33 => l_array_source_33(Idx)
163275 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163276 , p_source_52 => l_array_source_52(Idx)
163277 , p_source_54 => l_array_source_54(Idx)
163278 , p_source_56 => l_array_source_56(Idx)
163279 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163280 , p_source_63 => l_array_source_63(Idx)
163281 , p_source_64 => l_array_source_64(Idx)
163282 , p_source_65 => l_array_source_65(Idx)
163283 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163284 , p_source_67 => l_array_source_67(Idx)
163285 , p_source_68 => l_array_source_68(Idx)
163286 , p_source_69 => l_array_source_69(Idx)
163287 , p_source_70 => l_array_source_70(Idx)
163288 , p_source_71 => l_array_source_71(Idx)
163289 , p_source_72 => l_array_source_72(Idx)
163290 , p_source_73 => l_array_source_73(Idx)
163291 , p_source_74 => l_array_source_74(Idx)
163292 , p_source_75 => l_array_source_75(Idx)
163293 , p_source_76 => l_array_source_76(Idx)
163294 , p_source_77 => l_array_source_77(Idx)
163295 , p_source_78 => l_array_source_78(Idx)
163296 , p_source_79 => l_array_source_79(Idx)
163297 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163298 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163299 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163300 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163301 , p_source_83 => l_array_source_83(Idx)
163302 , p_source_84 => l_array_source_84(Idx)
163303 , p_source_85 => l_array_source_85(Idx)
163304 , p_source_86 => l_array_source_86(Idx)
163305 , p_source_87 => l_array_source_87(Idx)
163306 , p_source_88 => l_array_source_88(Idx)
163307 , p_source_89 => l_array_source_89(Idx)
163308 , p_source_90 => l_array_source_90(Idx)
163309 , p_source_91 => l_array_source_91(Idx)
163310 , p_source_92 => l_array_source_92(Idx)
163311 , p_source_93 => l_array_source_93(Idx)
163312 , p_source_94 => l_array_source_94(Idx)
163313 );
163314 If(l_balance_type_code = 'A') THEN
163315 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163316 END IF;
163317
163318 --
163319
163320
163321 --
163322 AcctLineType_53 (
163323 p_application_id => p_application_id
163324 ,p_event_id => l_event_id
163325 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163326 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163327 ,p_actual_flag => l_actual_flag
163328 ,p_balance_type_code => l_balance_type_code
163329 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163330
163331 , p_source_1 => l_array_source_1(Idx)
163332 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163333 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163334 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163335 , p_source_21 => l_array_source_21(Idx)
163336 , p_source_22 => l_array_source_22(Idx)
163337 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163338 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163339 , p_source_30 => l_array_source_30(Idx)
163340 , p_source_33 => l_array_source_33(Idx)
163341 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163342 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163343 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163344 , p_source_52 => l_array_source_52(Idx)
163345 , p_source_54 => l_array_source_54(Idx)
163346 , p_source_56 => l_array_source_56(Idx)
163347 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163348 , p_source_63 => l_array_source_63(Idx)
163349 , p_source_64 => l_array_source_64(Idx)
163350 , p_source_65 => l_array_source_65(Idx)
163351 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163352 , p_source_67 => l_array_source_67(Idx)
163353 , p_source_68 => l_array_source_68(Idx)
163354 , p_source_69 => l_array_source_69(Idx)
163355 , p_source_70 => l_array_source_70(Idx)
163356 , p_source_71 => l_array_source_71(Idx)
163357 , p_source_76 => l_array_source_76(Idx)
163358 , p_source_77 => l_array_source_77(Idx)
163359 , p_source_78 => l_array_source_78(Idx)
163360 , p_source_79 => l_array_source_79(Idx)
163361 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163362 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163363 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163364 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163368 , p_source_86 => l_array_source_86(Idx)
163365 , p_source_83 => l_array_source_83(Idx)
163366 , p_source_84 => l_array_source_84(Idx)
163367 , p_source_85 => l_array_source_85(Idx)
163369 , p_source_87 => l_array_source_87(Idx)
163370 , p_source_88 => l_array_source_88(Idx)
163371 , p_source_89 => l_array_source_89(Idx)
163372 , p_source_90 => l_array_source_90(Idx)
163373 , p_source_91 => l_array_source_91(Idx)
163374 , p_source_92 => l_array_source_92(Idx)
163375 , p_source_93 => l_array_source_93(Idx)
163376 , p_source_94 => l_array_source_94(Idx)
163377 );
163378 If(l_balance_type_code = 'A') THEN
163379 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163380 END IF;
163381
163382 --
163383
163384
163385 --
163386 AcctLineType_57 (
163387 p_application_id => p_application_id
163388 ,p_event_id => l_event_id
163389 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163390 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163391 ,p_actual_flag => l_actual_flag
163392 ,p_balance_type_code => l_balance_type_code
163393 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163394
163395 , p_source_1 => l_array_source_1(Idx)
163396 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163397 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163398 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163399 , p_source_21 => l_array_source_21(Idx)
163400 , p_source_22 => l_array_source_22(Idx)
163401 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163402 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163403 , p_source_30 => l_array_source_30(Idx)
163404 , p_source_33 => l_array_source_33(Idx)
163405 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163406 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163407 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163408 , p_source_52 => l_array_source_52(Idx)
163409 , p_source_54 => l_array_source_54(Idx)
163410 , p_source_56 => l_array_source_56(Idx)
163411 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163412 , p_source_63 => l_array_source_63(Idx)
163413 , p_source_64 => l_array_source_64(Idx)
163414 , p_source_65 => l_array_source_65(Idx)
163415 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163416 , p_source_67 => l_array_source_67(Idx)
163417 , p_source_68 => l_array_source_68(Idx)
163418 , p_source_69 => l_array_source_69(Idx)
163419 , p_source_70 => l_array_source_70(Idx)
163420 , p_source_71 => l_array_source_71(Idx)
163421 , p_source_76 => l_array_source_76(Idx)
163422 , p_source_77 => l_array_source_77(Idx)
163423 , p_source_78 => l_array_source_78(Idx)
163424 , p_source_79 => l_array_source_79(Idx)
163425 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163426 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163427 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163428 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163429 , p_source_83 => l_array_source_83(Idx)
163430 , p_source_84 => l_array_source_84(Idx)
163431 , p_source_85 => l_array_source_85(Idx)
163432 , p_source_86 => l_array_source_86(Idx)
163433 , p_source_87 => l_array_source_87(Idx)
163434 , p_source_88 => l_array_source_88(Idx)
163435 , p_source_89 => l_array_source_89(Idx)
163436 , p_source_90 => l_array_source_90(Idx)
163437 , p_source_91 => l_array_source_91(Idx)
163438 , p_source_92 => l_array_source_92(Idx)
163439 , p_source_93 => l_array_source_93(Idx)
163440 , p_source_94 => l_array_source_94(Idx)
163441 , p_source_95 => l_array_source_95(Idx)
163442 , p_source_95_meaning => l_array_source_95_meaning(Idx)
163443 );
163444 If(l_balance_type_code = 'A') THEN
163445 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163446 END IF;
163447
163448 --
163449
163450
163451 --
163452 AcctLineType_98 (
163453 p_application_id => p_application_id
163454 ,p_event_id => l_event_id
163455 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163456 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163457 ,p_actual_flag => l_actual_flag
163458 ,p_balance_type_code => l_balance_type_code
163459 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163460
163461 , p_source_1 => l_array_source_1(Idx)
163462 , p_source_21 => l_array_source_21(Idx)
163463 , p_source_30 => l_array_source_30(Idx)
163464 , p_source_33 => l_array_source_33(Idx)
163465 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163466 , p_source_52 => l_array_source_52(Idx)
163467 , p_source_54 => l_array_source_54(Idx)
163468 , p_source_56 => l_array_source_56(Idx)
163469 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163470 , p_source_63 => l_array_source_63(Idx)
163471 , p_source_64 => l_array_source_64(Idx)
163472 , p_source_65 => l_array_source_65(Idx)
163473 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163474 , p_source_67 => l_array_source_67(Idx)
163475 , p_source_68 => l_array_source_68(Idx)
163476 , p_source_69 => l_array_source_69(Idx)
163477 , p_source_70 => l_array_source_70(Idx)
163478 , p_source_71 => l_array_source_71(Idx)
163479 , p_source_72 => l_array_source_72(Idx)
163480 , p_source_76 => l_array_source_76(Idx)
163481 , p_source_77 => l_array_source_77(Idx)
163482 , p_source_78 => l_array_source_78(Idx)
163483 , p_source_79 => l_array_source_79(Idx)
163484 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163485 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163486 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163487 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163488 , p_source_83 => l_array_source_83(Idx)
163489 , p_source_84 => l_array_source_84(Idx)
163490 , p_source_85 => l_array_source_85(Idx)
163491 , p_source_86 => l_array_source_86(Idx)
163492 , p_source_87 => l_array_source_87(Idx)
163496 , p_source_91 => l_array_source_91(Idx)
163493 , p_source_88 => l_array_source_88(Idx)
163494 , p_source_89 => l_array_source_89(Idx)
163495 , p_source_90 => l_array_source_90(Idx)
163497 , p_source_92 => l_array_source_92(Idx)
163498 , p_source_93 => l_array_source_93(Idx)
163499 , p_source_94 => l_array_source_94(Idx)
163500 , p_source_125 => l_array_source_125(Idx)
163501 , p_source_125_meaning => l_array_source_125_meaning(Idx)
163502 , p_source_135 => l_array_source_135(Idx)
163503 , p_source_135_meaning => l_array_source_135_meaning(Idx)
163504 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163505 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163506 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163507 );
163508 If(l_balance_type_code = 'A') THEN
163509 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163510 END IF;
163511
163512 --
163513
163514
163515 --
163516 AcctLineType_108 (
163517 p_application_id => p_application_id
163518 ,p_event_id => l_event_id
163519 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163520 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163521 ,p_actual_flag => l_actual_flag
163522 ,p_balance_type_code => l_balance_type_code
163523 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163524
163525 , p_source_1 => l_array_source_1(Idx)
163526 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163527 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163528 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163529 , p_source_21 => l_array_source_21(Idx)
163530 , p_source_22 => l_array_source_22(Idx)
163531 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163532 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163533 , p_source_30 => l_array_source_30(Idx)
163534 , p_source_33 => l_array_source_33(Idx)
163535 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163536 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163537 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163538 , p_source_52 => l_array_source_52(Idx)
163539 , p_source_54 => l_array_source_54(Idx)
163540 , p_source_56 => l_array_source_56(Idx)
163541 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163542 , p_source_63 => l_array_source_63(Idx)
163543 , p_source_64 => l_array_source_64(Idx)
163544 , p_source_65 => l_array_source_65(Idx)
163545 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163546 , p_source_67 => l_array_source_67(Idx)
163547 , p_source_68 => l_array_source_68(Idx)
163548 , p_source_69 => l_array_source_69(Idx)
163549 , p_source_70 => l_array_source_70(Idx)
163550 , p_source_71 => l_array_source_71(Idx)
163551 , p_source_72 => l_array_source_72(Idx)
163552 , p_source_76 => l_array_source_76(Idx)
163553 , p_source_77 => l_array_source_77(Idx)
163554 , p_source_78 => l_array_source_78(Idx)
163555 , p_source_79 => l_array_source_79(Idx)
163556 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163557 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163558 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163559 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163560 , p_source_83 => l_array_source_83(Idx)
163561 , p_source_84 => l_array_source_84(Idx)
163562 , p_source_85 => l_array_source_85(Idx)
163563 , p_source_86 => l_array_source_86(Idx)
163564 , p_source_87 => l_array_source_87(Idx)
163565 , p_source_88 => l_array_source_88(Idx)
163566 , p_source_89 => l_array_source_89(Idx)
163567 , p_source_90 => l_array_source_90(Idx)
163568 , p_source_91 => l_array_source_91(Idx)
163569 , p_source_92 => l_array_source_92(Idx)
163570 , p_source_93 => l_array_source_93(Idx)
163571 , p_source_94 => l_array_source_94(Idx)
163572 , p_source_95 => l_array_source_95(Idx)
163573 , p_source_95_meaning => l_array_source_95_meaning(Idx)
163574 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163575 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163576 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163577 );
163578 If(l_balance_type_code = 'A') THEN
163579 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163580 END IF;
163581
163582 --
163583
163584
163585 --
163586 AcctLineType_117 (
163587 p_application_id => p_application_id
163588 ,p_event_id => l_event_id
163589 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163590 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163591 ,p_actual_flag => l_actual_flag
163592 ,p_balance_type_code => l_balance_type_code
163593 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163594
163595 , p_source_1 => l_array_source_1(Idx)
163596 , p_source_21 => l_array_source_21(Idx)
163597 , p_source_30 => l_array_source_30(Idx)
163598 , p_source_33 => l_array_source_33(Idx)
163599 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163600 , p_source_52 => l_array_source_52(Idx)
163601 , p_source_54 => l_array_source_54(Idx)
163602 , p_source_56 => l_array_source_56(Idx)
163603 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163604 , p_source_63 => l_array_source_63(Idx)
163605 , p_source_64 => l_array_source_64(Idx)
163606 , p_source_65 => l_array_source_65(Idx)
163607 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163608 , p_source_67 => l_array_source_67(Idx)
163609 , p_source_68 => l_array_source_68(Idx)
163610 , p_source_69 => l_array_source_69(Idx)
163611 , p_source_70 => l_array_source_70(Idx)
163612 , p_source_71 => l_array_source_71(Idx)
163613 , p_source_72 => l_array_source_72(Idx)
163614 , p_source_76 => l_array_source_76(Idx)
163615 , p_source_77 => l_array_source_77(Idx)
163616 , p_source_78 => l_array_source_78(Idx)
163617 , p_source_79 => l_array_source_79(Idx)
163621 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163618 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163619 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163620 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163622 , p_source_83 => l_array_source_83(Idx)
163623 , p_source_84 => l_array_source_84(Idx)
163624 , p_source_85 => l_array_source_85(Idx)
163625 , p_source_86 => l_array_source_86(Idx)
163626 , p_source_87 => l_array_source_87(Idx)
163627 , p_source_88 => l_array_source_88(Idx)
163628 , p_source_89 => l_array_source_89(Idx)
163629 , p_source_90 => l_array_source_90(Idx)
163630 , p_source_91 => l_array_source_91(Idx)
163631 , p_source_92 => l_array_source_92(Idx)
163632 , p_source_93 => l_array_source_93(Idx)
163633 , p_source_94 => l_array_source_94(Idx)
163634 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163635 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163636 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163637 , p_source_146 => l_array_source_146(Idx)
163638 );
163639 If(l_balance_type_code = 'A') THEN
163640 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163641 END IF;
163642
163643 --
163644
163645
163646 --
163647 AcctLineType_139 (
163648 p_application_id => p_application_id
163649 ,p_event_id => l_event_id
163650 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163651 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163652 ,p_actual_flag => l_actual_flag
163653 ,p_balance_type_code => l_balance_type_code
163654 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163655
163656 , p_source_1 => l_array_source_1(Idx)
163657 , p_source_21 => l_array_source_21(Idx)
163658 , p_source_30 => l_array_source_30(Idx)
163659 , p_source_33 => l_array_source_33(Idx)
163660 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163661 , p_source_52 => l_array_source_52(Idx)
163662 , p_source_54 => l_array_source_54(Idx)
163663 , p_source_56 => l_array_source_56(Idx)
163664 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163665 , p_source_63 => l_array_source_63(Idx)
163666 , p_source_64 => l_array_source_64(Idx)
163667 , p_source_65 => l_array_source_65(Idx)
163668 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163669 , p_source_67 => l_array_source_67(Idx)
163670 , p_source_68 => l_array_source_68(Idx)
163671 , p_source_69 => l_array_source_69(Idx)
163672 , p_source_70 => l_array_source_70(Idx)
163673 , p_source_71 => l_array_source_71(Idx)
163674 , p_source_72 => l_array_source_72(Idx)
163675 , p_source_76 => l_array_source_76(Idx)
163676 , p_source_77 => l_array_source_77(Idx)
163677 , p_source_78 => l_array_source_78(Idx)
163678 , p_source_79 => l_array_source_79(Idx)
163679 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163680 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163681 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163682 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163683 , p_source_83 => l_array_source_83(Idx)
163684 , p_source_84 => l_array_source_84(Idx)
163685 , p_source_85 => l_array_source_85(Idx)
163686 , p_source_86 => l_array_source_86(Idx)
163687 , p_source_87 => l_array_source_87(Idx)
163688 , p_source_88 => l_array_source_88(Idx)
163689 , p_source_89 => l_array_source_89(Idx)
163690 , p_source_90 => l_array_source_90(Idx)
163691 , p_source_91 => l_array_source_91(Idx)
163692 , p_source_92 => l_array_source_92(Idx)
163693 , p_source_93 => l_array_source_93(Idx)
163694 , p_source_94 => l_array_source_94(Idx)
163695 , p_source_95 => l_array_source_95(Idx)
163696 , p_source_95_meaning => l_array_source_95_meaning(Idx)
163697 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163698 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163699 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163700 );
163701 If(l_balance_type_code = 'A') THEN
163702 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163703 END IF;
163704
163705 --
163706
163707
163708 --
163709 AcctLineType_156 (
163710 p_application_id => p_application_id
163711 ,p_event_id => l_event_id
163712 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163713 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163714 ,p_actual_flag => l_actual_flag
163715 ,p_balance_type_code => l_balance_type_code
163716 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163717
163718 , p_source_1 => l_array_source_1(Idx)
163719 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163720 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163721 , p_source_21 => l_array_source_21(Idx)
163722 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
163723 , p_source_52 => l_array_source_52(Idx)
163724 , p_source_54 => l_array_source_54(Idx)
163725 , p_source_56 => l_array_source_56(Idx)
163726 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163727 , p_source_63 => l_array_source_63(Idx)
163728 , p_source_64 => l_array_source_64(Idx)
163729 , p_source_65 => l_array_source_65(Idx)
163730 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163731 , p_source_67 => l_array_source_67(Idx)
163732 , p_source_68 => l_array_source_68(Idx)
163733 , p_source_69 => l_array_source_69(Idx)
163734 , p_source_70 => l_array_source_70(Idx)
163735 , p_source_71 => l_array_source_71(Idx)
163736 , p_source_72 => l_array_source_72(Idx)
163737 , p_source_76 => l_array_source_76(Idx)
163738 , p_source_77 => l_array_source_77(Idx)
163739 , p_source_78 => l_array_source_78(Idx)
163740 , p_source_79 => l_array_source_79(Idx)
163741 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163742 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163746 , p_source_84 => l_array_source_84(Idx)
163743 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163744 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163745 , p_source_83 => l_array_source_83(Idx)
163747 , p_source_85 => l_array_source_85(Idx)
163748 , p_source_86 => l_array_source_86(Idx)
163749 , p_source_87 => l_array_source_87(Idx)
163750 , p_source_88 => l_array_source_88(Idx)
163751 , p_source_89 => l_array_source_89(Idx)
163752 , p_source_90 => l_array_source_90(Idx)
163753 , p_source_91 => l_array_source_91(Idx)
163754 , p_source_92 => l_array_source_92(Idx)
163755 , p_source_93 => l_array_source_93(Idx)
163756 , p_source_94 => l_array_source_94(Idx)
163757 , p_source_135 => l_array_source_135(Idx)
163758 , p_source_135_meaning => l_array_source_135_meaning(Idx)
163759 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163760 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163761 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163762 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
163763 );
163764 If(l_balance_type_code = 'A') THEN
163765 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163766 END IF;
163767
163768 --
163769
163770
163771 --
163772 AcctLineType_157 (
163773 p_application_id => p_application_id
163774 ,p_event_id => l_event_id
163775 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163776 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163777 ,p_actual_flag => l_actual_flag
163778 ,p_balance_type_code => l_balance_type_code
163779 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163780
163781 , p_source_1 => l_array_source_1(Idx)
163782 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163783 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163784 , p_source_21 => l_array_source_21(Idx)
163785 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
163786 , p_source_52 => l_array_source_52(Idx)
163787 , p_source_54 => l_array_source_54(Idx)
163788 , p_source_56 => l_array_source_56(Idx)
163789 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163790 , p_source_63 => l_array_source_63(Idx)
163791 , p_source_64 => l_array_source_64(Idx)
163792 , p_source_65 => l_array_source_65(Idx)
163793 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163794 , p_source_67 => l_array_source_67(Idx)
163795 , p_source_68 => l_array_source_68(Idx)
163796 , p_source_69 => l_array_source_69(Idx)
163797 , p_source_70 => l_array_source_70(Idx)
163798 , p_source_71 => l_array_source_71(Idx)
163799 , p_source_72 => l_array_source_72(Idx)
163800 , p_source_76 => l_array_source_76(Idx)
163801 , p_source_77 => l_array_source_77(Idx)
163802 , p_source_78 => l_array_source_78(Idx)
163803 , p_source_79 => l_array_source_79(Idx)
163804 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163805 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163806 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163807 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163808 , p_source_83 => l_array_source_83(Idx)
163809 , p_source_84 => l_array_source_84(Idx)
163810 , p_source_85 => l_array_source_85(Idx)
163811 , p_source_86 => l_array_source_86(Idx)
163812 , p_source_87 => l_array_source_87(Idx)
163813 , p_source_88 => l_array_source_88(Idx)
163814 , p_source_89 => l_array_source_89(Idx)
163815 , p_source_90 => l_array_source_90(Idx)
163816 , p_source_91 => l_array_source_91(Idx)
163817 , p_source_92 => l_array_source_92(Idx)
163818 , p_source_93 => l_array_source_93(Idx)
163819 , p_source_94 => l_array_source_94(Idx)
163820 , p_source_135 => l_array_source_135(Idx)
163821 , p_source_135_meaning => l_array_source_135_meaning(Idx)
163822 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163823 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163824 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163825 , p_source_146 => l_array_source_146(Idx)
163826 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
163827 );
163828 If(l_balance_type_code = 'A') THEN
163829 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163830 END IF;
163831
163832 --
163833
163834
163835 --
163836 AcctLineType_158 (
163837 p_application_id => p_application_id
163838 ,p_event_id => l_event_id
163839 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163840 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163841 ,p_actual_flag => l_actual_flag
163842 ,p_balance_type_code => l_balance_type_code
163843 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163844
163845 , p_source_1 => l_array_source_1(Idx)
163846 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163847 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163848 , p_source_21 => l_array_source_21(Idx)
163849 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
163850 , p_source_52 => l_array_source_52(Idx)
163851 , p_source_54 => l_array_source_54(Idx)
163852 , p_source_56 => l_array_source_56(Idx)
163853 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163854 , p_source_63 => l_array_source_63(Idx)
163855 , p_source_64 => l_array_source_64(Idx)
163856 , p_source_65 => l_array_source_65(Idx)
163857 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163858 , p_source_67 => l_array_source_67(Idx)
163859 , p_source_68 => l_array_source_68(Idx)
163860 , p_source_69 => l_array_source_69(Idx)
163861 , p_source_70 => l_array_source_70(Idx)
163862 , p_source_71 => l_array_source_71(Idx)
163863 , p_source_72 => l_array_source_72(Idx)
163864 , p_source_76 => l_array_source_76(Idx)
163865 , p_source_77 => l_array_source_77(Idx)
163866 , p_source_78 => l_array_source_78(Idx)
163870 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163867 , p_source_79 => l_array_source_79(Idx)
163868 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163869 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163871 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163872 , p_source_83 => l_array_source_83(Idx)
163873 , p_source_84 => l_array_source_84(Idx)
163874 , p_source_85 => l_array_source_85(Idx)
163875 , p_source_86 => l_array_source_86(Idx)
163876 , p_source_87 => l_array_source_87(Idx)
163877 , p_source_88 => l_array_source_88(Idx)
163878 , p_source_89 => l_array_source_89(Idx)
163879 , p_source_90 => l_array_source_90(Idx)
163880 , p_source_91 => l_array_source_91(Idx)
163881 , p_source_92 => l_array_source_92(Idx)
163882 , p_source_93 => l_array_source_93(Idx)
163883 , p_source_94 => l_array_source_94(Idx)
163884 , p_source_135 => l_array_source_135(Idx)
163885 , p_source_135_meaning => l_array_source_135_meaning(Idx)
163886 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163887 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163888 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163889 , p_source_163 => g_array_event(l_event_id).array_value_char('source_163')
163890 );
163891 If(l_balance_type_code = 'A') THEN
163892 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163893 END IF;
163894
163895 --
163896
163897
163898 --
163899 AcctLineType_171 (
163900 p_application_id => p_application_id
163901 ,p_event_id => l_event_id
163902 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163903 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163904 ,p_actual_flag => l_actual_flag
163905 ,p_balance_type_code => l_balance_type_code
163906 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163907
163908 , p_source_1 => l_array_source_1(Idx)
163909 , p_source_21 => l_array_source_21(Idx)
163910 , p_source_30 => l_array_source_30(Idx)
163911 , p_source_33 => l_array_source_33(Idx)
163912 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163913 , p_source_52 => l_array_source_52(Idx)
163914 , p_source_54 => l_array_source_54(Idx)
163915 , p_source_56 => l_array_source_56(Idx)
163916 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163917 , p_source_63 => l_array_source_63(Idx)
163918 , p_source_64 => l_array_source_64(Idx)
163919 , p_source_65 => l_array_source_65(Idx)
163920 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163921 , p_source_67 => l_array_source_67(Idx)
163922 , p_source_68 => l_array_source_68(Idx)
163923 , p_source_69 => l_array_source_69(Idx)
163924 , p_source_70 => l_array_source_70(Idx)
163925 , p_source_71 => l_array_source_71(Idx)
163926 , p_source_72 => l_array_source_72(Idx)
163927 , p_source_76 => l_array_source_76(Idx)
163928 , p_source_77 => l_array_source_77(Idx)
163929 , p_source_78 => l_array_source_78(Idx)
163930 , p_source_79 => l_array_source_79(Idx)
163931 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163932 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163933 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163934 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163935 , p_source_83 => l_array_source_83(Idx)
163936 , p_source_84 => l_array_source_84(Idx)
163937 , p_source_85 => l_array_source_85(Idx)
163938 , p_source_86 => l_array_source_86(Idx)
163939 , p_source_87 => l_array_source_87(Idx)
163940 , p_source_88 => l_array_source_88(Idx)
163941 , p_source_89 => l_array_source_89(Idx)
163942 , p_source_90 => l_array_source_90(Idx)
163943 , p_source_91 => l_array_source_91(Idx)
163944 , p_source_92 => l_array_source_92(Idx)
163945 , p_source_93 => l_array_source_93(Idx)
163946 , p_source_94 => l_array_source_94(Idx)
163947 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
163948 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
163949 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
163950 , p_source_146 => l_array_source_146(Idx)
163951 );
163952 If(l_balance_type_code = 'A') THEN
163953 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163954 END IF;
163955
163956 --
163957
163958
163959 --
163960 AcctLineType_178 (
163961 p_application_id => p_application_id
163962 ,p_event_id => l_event_id
163963 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163964 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163965 ,p_actual_flag => l_actual_flag
163966 ,p_balance_type_code => l_balance_type_code
163967 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163968
163969 , p_source_1 => l_array_source_1(Idx)
163970 , p_source_21 => l_array_source_21(Idx)
163971 , p_source_30 => l_array_source_30(Idx)
163972 , p_source_33 => l_array_source_33(Idx)
163973 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163974 , p_source_52 => l_array_source_52(Idx)
163975 , p_source_54 => l_array_source_54(Idx)
163976 , p_source_56 => l_array_source_56(Idx)
163977 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
163978 , p_source_63 => l_array_source_63(Idx)
163979 , p_source_64 => l_array_source_64(Idx)
163980 , p_source_65 => l_array_source_65(Idx)
163981 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
163982 , p_source_67 => l_array_source_67(Idx)
163983 , p_source_68 => l_array_source_68(Idx)
163984 , p_source_69 => l_array_source_69(Idx)
163985 , p_source_70 => l_array_source_70(Idx)
163986 , p_source_71 => l_array_source_71(Idx)
163987 , p_source_72 => l_array_source_72(Idx)
163988 , p_source_76 => l_array_source_76(Idx)
163989 , p_source_77 => l_array_source_77(Idx)
163990 , p_source_78 => l_array_source_78(Idx)
163991 , p_source_79 => l_array_source_79(Idx)
163992 , p_source_79_meaning => l_array_source_79_meaning(Idx)
163993 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
163997 , p_source_84 => l_array_source_84(Idx)
163994 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163995 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
163996 , p_source_83 => l_array_source_83(Idx)
163998 , p_source_85 => l_array_source_85(Idx)
163999 , p_source_86 => l_array_source_86(Idx)
164000 , p_source_87 => l_array_source_87(Idx)
164001 , p_source_88 => l_array_source_88(Idx)
164002 , p_source_89 => l_array_source_89(Idx)
164003 , p_source_90 => l_array_source_90(Idx)
164004 , p_source_91 => l_array_source_91(Idx)
164005 , p_source_92 => l_array_source_92(Idx)
164006 , p_source_93 => l_array_source_93(Idx)
164007 , p_source_94 => l_array_source_94(Idx)
164008 , p_source_95 => l_array_source_95(Idx)
164009 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164010 , p_source_135 => l_array_source_135(Idx)
164011 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164012 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164013 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164014 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164015 );
164016 If(l_balance_type_code = 'A') THEN
164017 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164018 END IF;
164019
164020 --
164021
164022
164023 --
164024 AcctLineType_179 (
164025 p_application_id => p_application_id
164026 ,p_event_id => l_event_id
164027 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164028 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164029 ,p_actual_flag => l_actual_flag
164030 ,p_balance_type_code => l_balance_type_code
164031 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164032
164033 , p_source_1 => l_array_source_1(Idx)
164034 , p_source_21 => l_array_source_21(Idx)
164035 , p_source_30 => l_array_source_30(Idx)
164036 , p_source_33 => l_array_source_33(Idx)
164037 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164038 , p_source_52 => l_array_source_52(Idx)
164039 , p_source_54 => l_array_source_54(Idx)
164040 , p_source_56 => l_array_source_56(Idx)
164041 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164042 , p_source_63 => l_array_source_63(Idx)
164043 , p_source_64 => l_array_source_64(Idx)
164044 , p_source_65 => l_array_source_65(Idx)
164045 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164046 , p_source_67 => l_array_source_67(Idx)
164047 , p_source_68 => l_array_source_68(Idx)
164048 , p_source_69 => l_array_source_69(Idx)
164049 , p_source_70 => l_array_source_70(Idx)
164050 , p_source_71 => l_array_source_71(Idx)
164051 , p_source_72 => l_array_source_72(Idx)
164052 , p_source_73 => l_array_source_73(Idx)
164053 , p_source_74 => l_array_source_74(Idx)
164054 , p_source_75 => l_array_source_75(Idx)
164055 , p_source_76 => l_array_source_76(Idx)
164056 , p_source_77 => l_array_source_77(Idx)
164057 , p_source_78 => l_array_source_78(Idx)
164058 , p_source_79 => l_array_source_79(Idx)
164059 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164060 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164061 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164062 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164063 , p_source_83 => l_array_source_83(Idx)
164064 , p_source_84 => l_array_source_84(Idx)
164065 , p_source_85 => l_array_source_85(Idx)
164066 , p_source_86 => l_array_source_86(Idx)
164067 , p_source_87 => l_array_source_87(Idx)
164068 , p_source_88 => l_array_source_88(Idx)
164069 , p_source_89 => l_array_source_89(Idx)
164070 , p_source_90 => l_array_source_90(Idx)
164071 , p_source_91 => l_array_source_91(Idx)
164072 , p_source_92 => l_array_source_92(Idx)
164073 , p_source_93 => l_array_source_93(Idx)
164074 , p_source_94 => l_array_source_94(Idx)
164075 , p_source_95 => l_array_source_95(Idx)
164076 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164077 , p_source_135 => l_array_source_135(Idx)
164078 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164079 );
164080 If(l_balance_type_code = 'A') THEN
164081 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164082 END IF;
164083
164084 --
164085
164086
164087 --
164088 AcctLineType_181 (
164089 p_application_id => p_application_id
164090 ,p_event_id => l_event_id
164091 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164092 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164093 ,p_actual_flag => l_actual_flag
164094 ,p_balance_type_code => l_balance_type_code
164095 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164096
164097 , p_source_1 => l_array_source_1(Idx)
164098 , p_source_21 => l_array_source_21(Idx)
164099 , p_source_30 => l_array_source_30(Idx)
164100 , p_source_31 => g_array_event(l_event_id).array_value_char('source_31')
164101 , p_source_31_meaning => g_array_event(l_event_id).array_value_char('source_31_meaning')
164102 , p_source_32 => l_array_source_32(Idx)
164103 , p_source_33 => l_array_source_33(Idx)
164104 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164105 , p_source_45 => l_array_source_45(Idx)
164106 , p_source_52 => l_array_source_52(Idx)
164107 , p_source_54 => l_array_source_54(Idx)
164108 , p_source_56 => l_array_source_56(Idx)
164109 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164110 , p_source_63 => l_array_source_63(Idx)
164111 , p_source_64 => l_array_source_64(Idx)
164112 , p_source_65 => l_array_source_65(Idx)
164113 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164114 , p_source_67 => l_array_source_67(Idx)
164115 , p_source_68 => l_array_source_68(Idx)
164116 , p_source_69 => l_array_source_69(Idx)
164117 , p_source_70 => l_array_source_70(Idx)
164118 , p_source_71 => l_array_source_71(Idx)
164119 , p_source_72 => l_array_source_72(Idx)
164120 , p_source_76 => l_array_source_76(Idx)
164121 , p_source_77 => l_array_source_77(Idx)
164125 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164122 , p_source_78 => l_array_source_78(Idx)
164123 , p_source_79 => l_array_source_79(Idx)
164124 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164126 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164127 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164128 , p_source_83 => l_array_source_83(Idx)
164129 , p_source_84 => l_array_source_84(Idx)
164130 , p_source_85 => l_array_source_85(Idx)
164131 , p_source_86 => l_array_source_86(Idx)
164132 , p_source_87 => l_array_source_87(Idx)
164133 , p_source_88 => l_array_source_88(Idx)
164134 , p_source_89 => l_array_source_89(Idx)
164135 , p_source_90 => l_array_source_90(Idx)
164136 , p_source_91 => l_array_source_91(Idx)
164137 , p_source_92 => l_array_source_92(Idx)
164138 , p_source_93 => l_array_source_93(Idx)
164139 , p_source_94 => l_array_source_94(Idx)
164140 , p_source_95 => l_array_source_95(Idx)
164141 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164142 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164143 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164144 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164145 );
164146 If(l_balance_type_code = 'A') THEN
164147 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164148 END IF;
164149
164150 --
164151
164152
164153 --
164154 AcctLineType_186 (
164155 p_application_id => p_application_id
164156 ,p_event_id => l_event_id
164157 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164158 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164159 ,p_actual_flag => l_actual_flag
164160 ,p_balance_type_code => l_balance_type_code
164161 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164162
164163 , p_source_1 => l_array_source_1(Idx)
164164 , p_source_21 => l_array_source_21(Idx)
164165 , p_source_30 => l_array_source_30(Idx)
164166 , p_source_33 => l_array_source_33(Idx)
164167 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164168 , p_source_52 => l_array_source_52(Idx)
164169 , p_source_54 => l_array_source_54(Idx)
164170 , p_source_56 => l_array_source_56(Idx)
164171 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164172 , p_source_63 => l_array_source_63(Idx)
164173 , p_source_64 => l_array_source_64(Idx)
164174 , p_source_65 => l_array_source_65(Idx)
164175 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164176 , p_source_67 => l_array_source_67(Idx)
164177 , p_source_68 => l_array_source_68(Idx)
164178 , p_source_69 => l_array_source_69(Idx)
164179 , p_source_70 => l_array_source_70(Idx)
164180 , p_source_71 => l_array_source_71(Idx)
164181 , p_source_72 => l_array_source_72(Idx)
164182 , p_source_76 => l_array_source_76(Idx)
164183 , p_source_77 => l_array_source_77(Idx)
164184 , p_source_78 => l_array_source_78(Idx)
164185 , p_source_79 => l_array_source_79(Idx)
164186 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164187 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164188 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164189 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164190 , p_source_83 => l_array_source_83(Idx)
164191 , p_source_84 => l_array_source_84(Idx)
164192 , p_source_85 => l_array_source_85(Idx)
164193 , p_source_86 => l_array_source_86(Idx)
164194 , p_source_87 => l_array_source_87(Idx)
164195 , p_source_88 => l_array_source_88(Idx)
164196 , p_source_89 => l_array_source_89(Idx)
164197 , p_source_90 => l_array_source_90(Idx)
164198 , p_source_91 => l_array_source_91(Idx)
164199 , p_source_92 => l_array_source_92(Idx)
164200 , p_source_93 => l_array_source_93(Idx)
164201 , p_source_94 => l_array_source_94(Idx)
164202 , p_source_125 => l_array_source_125(Idx)
164203 , p_source_125_meaning => l_array_source_125_meaning(Idx)
164204 , p_source_135 => l_array_source_135(Idx)
164205 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164206 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164207 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164208 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164209 );
164210 If(l_balance_type_code = 'A') THEN
164211 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164212 END IF;
164213
164214 --
164215
164216
164217 --
164218 AcctLineType_191 (
164219 p_application_id => p_application_id
164220 ,p_event_id => l_event_id
164221 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164222 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164223 ,p_actual_flag => l_actual_flag
164224 ,p_balance_type_code => l_balance_type_code
164225 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164226
164227 , p_source_1 => l_array_source_1(Idx)
164228 , p_source_21 => l_array_source_21(Idx)
164229 , p_source_33 => l_array_source_33(Idx)
164230 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164231 , p_source_49 => l_array_source_49(Idx)
164232 , p_source_52 => l_array_source_52(Idx)
164233 , p_source_54 => l_array_source_54(Idx)
164234 , p_source_56 => l_array_source_56(Idx)
164235 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164236 , p_source_63 => l_array_source_63(Idx)
164237 , p_source_64 => l_array_source_64(Idx)
164238 , p_source_65 => l_array_source_65(Idx)
164239 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164240 , p_source_67 => l_array_source_67(Idx)
164241 , p_source_68 => l_array_source_68(Idx)
164242 , p_source_69 => l_array_source_69(Idx)
164243 , p_source_70 => l_array_source_70(Idx)
164244 , p_source_71 => l_array_source_71(Idx)
164245 , p_source_72 => l_array_source_72(Idx)
164246 , p_source_76 => l_array_source_76(Idx)
164247 , p_source_77 => l_array_source_77(Idx)
164248 , p_source_78 => l_array_source_78(Idx)
164252 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164249 , p_source_79 => l_array_source_79(Idx)
164250 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164251 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164253 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164254 , p_source_83 => l_array_source_83(Idx)
164255 , p_source_84 => l_array_source_84(Idx)
164256 , p_source_85 => l_array_source_85(Idx)
164257 , p_source_86 => l_array_source_86(Idx)
164258 , p_source_87 => l_array_source_87(Idx)
164259 , p_source_88 => l_array_source_88(Idx)
164260 , p_source_89 => l_array_source_89(Idx)
164261 , p_source_90 => l_array_source_90(Idx)
164262 , p_source_91 => l_array_source_91(Idx)
164263 , p_source_92 => l_array_source_92(Idx)
164264 , p_source_93 => l_array_source_93(Idx)
164265 , p_source_94 => l_array_source_94(Idx)
164266 , p_source_95 => l_array_source_95(Idx)
164267 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164268 , p_source_135 => l_array_source_135(Idx)
164269 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164270 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164271 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164272 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164273 );
164274 If(l_balance_type_code = 'A') THEN
164275 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164276 END IF;
164277
164278 --
164279
164280
164281 --
164282 AcctLineType_195 (
164283 p_application_id => p_application_id
164284 ,p_event_id => l_event_id
164285 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164286 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164287 ,p_actual_flag => l_actual_flag
164288 ,p_balance_type_code => l_balance_type_code
164289 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164290
164291 , p_source_1 => l_array_source_1(Idx)
164292 , p_source_21 => l_array_source_21(Idx)
164293 , p_source_33 => l_array_source_33(Idx)
164294 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164295 , p_source_49 => l_array_source_49(Idx)
164296 , p_source_52 => l_array_source_52(Idx)
164297 , p_source_54 => l_array_source_54(Idx)
164298 , p_source_56 => l_array_source_56(Idx)
164299 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164300 , p_source_63 => l_array_source_63(Idx)
164301 , p_source_64 => l_array_source_64(Idx)
164302 , p_source_65 => l_array_source_65(Idx)
164303 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164304 , p_source_67 => l_array_source_67(Idx)
164305 , p_source_68 => l_array_source_68(Idx)
164306 , p_source_69 => l_array_source_69(Idx)
164307 , p_source_70 => l_array_source_70(Idx)
164308 , p_source_71 => l_array_source_71(Idx)
164309 , p_source_72 => l_array_source_72(Idx)
164310 , p_source_76 => l_array_source_76(Idx)
164311 , p_source_77 => l_array_source_77(Idx)
164312 , p_source_78 => l_array_source_78(Idx)
164313 , p_source_79 => l_array_source_79(Idx)
164314 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164315 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164316 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164317 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164318 , p_source_83 => l_array_source_83(Idx)
164319 , p_source_84 => l_array_source_84(Idx)
164320 , p_source_85 => l_array_source_85(Idx)
164321 , p_source_86 => l_array_source_86(Idx)
164322 , p_source_87 => l_array_source_87(Idx)
164323 , p_source_88 => l_array_source_88(Idx)
164324 , p_source_89 => l_array_source_89(Idx)
164325 , p_source_90 => l_array_source_90(Idx)
164326 , p_source_91 => l_array_source_91(Idx)
164327 , p_source_92 => l_array_source_92(Idx)
164328 , p_source_93 => l_array_source_93(Idx)
164329 , p_source_94 => l_array_source_94(Idx)
164330 , p_source_135 => l_array_source_135(Idx)
164331 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164332 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164333 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164334 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164335 );
164336 If(l_balance_type_code = 'A') THEN
164337 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164338 END IF;
164339
164340 --
164341
164342
164343 --
164344 AcctLineType_202 (
164345 p_application_id => p_application_id
164346 ,p_event_id => l_event_id
164347 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164348 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164349 ,p_actual_flag => l_actual_flag
164350 ,p_balance_type_code => l_balance_type_code
164351 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164352
164353 , p_source_1 => l_array_source_1(Idx)
164354 , p_source_21 => l_array_source_21(Idx)
164355 , p_source_33 => l_array_source_33(Idx)
164356 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164357 , p_source_50 => l_array_source_50(Idx)
164358 , p_source_52 => l_array_source_52(Idx)
164359 , p_source_54 => l_array_source_54(Idx)
164360 , p_source_56 => l_array_source_56(Idx)
164361 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164362 , p_source_63 => l_array_source_63(Idx)
164363 , p_source_64 => l_array_source_64(Idx)
164364 , p_source_65 => l_array_source_65(Idx)
164365 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164366 , p_source_67 => l_array_source_67(Idx)
164367 , p_source_68 => l_array_source_68(Idx)
164368 , p_source_69 => l_array_source_69(Idx)
164369 , p_source_70 => l_array_source_70(Idx)
164370 , p_source_71 => l_array_source_71(Idx)
164371 , p_source_72 => l_array_source_72(Idx)
164372 , p_source_76 => l_array_source_76(Idx)
164373 , p_source_77 => l_array_source_77(Idx)
164374 , p_source_78 => l_array_source_78(Idx)
164375 , p_source_79 => l_array_source_79(Idx)
164379 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164376 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164377 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164378 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164380 , p_source_83 => l_array_source_83(Idx)
164381 , p_source_84 => l_array_source_84(Idx)
164382 , p_source_85 => l_array_source_85(Idx)
164383 , p_source_86 => l_array_source_86(Idx)
164384 , p_source_87 => l_array_source_87(Idx)
164385 , p_source_88 => l_array_source_88(Idx)
164386 , p_source_89 => l_array_source_89(Idx)
164387 , p_source_90 => l_array_source_90(Idx)
164388 , p_source_91 => l_array_source_91(Idx)
164389 , p_source_92 => l_array_source_92(Idx)
164390 , p_source_93 => l_array_source_93(Idx)
164391 , p_source_94 => l_array_source_94(Idx)
164392 , p_source_135 => l_array_source_135(Idx)
164393 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164394 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164395 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164396 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164397 );
164398 If(l_balance_type_code = 'A') THEN
164399 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164400 END IF;
164401
164402 --
164403
164404
164405 --
164406 AcctLineType_203 (
164407 p_application_id => p_application_id
164408 ,p_event_id => l_event_id
164409 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164410 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164411 ,p_actual_flag => l_actual_flag
164412 ,p_balance_type_code => l_balance_type_code
164413 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164414
164415 , p_source_1 => l_array_source_1(Idx)
164416 , p_source_21 => l_array_source_21(Idx)
164417 , p_source_33 => l_array_source_33(Idx)
164418 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164419 , p_source_49 => l_array_source_49(Idx)
164420 , p_source_52 => l_array_source_52(Idx)
164421 , p_source_54 => l_array_source_54(Idx)
164422 , p_source_56 => l_array_source_56(Idx)
164423 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164424 , p_source_63 => l_array_source_63(Idx)
164425 , p_source_64 => l_array_source_64(Idx)
164426 , p_source_65 => l_array_source_65(Idx)
164427 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164428 , p_source_67 => l_array_source_67(Idx)
164429 , p_source_68 => l_array_source_68(Idx)
164430 , p_source_69 => l_array_source_69(Idx)
164431 , p_source_70 => l_array_source_70(Idx)
164432 , p_source_71 => l_array_source_71(Idx)
164433 , p_source_72 => l_array_source_72(Idx)
164434 , p_source_73 => l_array_source_73(Idx)
164435 , p_source_74 => l_array_source_74(Idx)
164436 , p_source_75 => l_array_source_75(Idx)
164437 , p_source_76 => l_array_source_76(Idx)
164438 , p_source_77 => l_array_source_77(Idx)
164439 , p_source_78 => l_array_source_78(Idx)
164440 , p_source_79 => l_array_source_79(Idx)
164441 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164442 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164443 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164444 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164445 , p_source_83 => l_array_source_83(Idx)
164446 , p_source_84 => l_array_source_84(Idx)
164447 , p_source_85 => l_array_source_85(Idx)
164448 , p_source_86 => l_array_source_86(Idx)
164449 , p_source_87 => l_array_source_87(Idx)
164450 , p_source_88 => l_array_source_88(Idx)
164451 , p_source_89 => l_array_source_89(Idx)
164452 , p_source_90 => l_array_source_90(Idx)
164453 , p_source_91 => l_array_source_91(Idx)
164454 , p_source_92 => l_array_source_92(Idx)
164455 , p_source_93 => l_array_source_93(Idx)
164456 , p_source_94 => l_array_source_94(Idx)
164457 , p_source_95 => l_array_source_95(Idx)
164458 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164459 , p_source_135 => l_array_source_135(Idx)
164460 , p_source_135_meaning => l_array_source_135_meaning(Idx)
164461 );
164462 If(l_balance_type_code = 'A') THEN
164463 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164464 END IF;
164465
164466 --
164467
164468
164469 --
164470 AcctLineType_211 (
164471 p_application_id => p_application_id
164472 ,p_event_id => l_event_id
164473 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164474 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164475 ,p_actual_flag => l_actual_flag
164476 ,p_balance_type_code => l_balance_type_code
164477 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164478
164479 , p_source_1 => l_array_source_1(Idx)
164480 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
164481 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
164482 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
164483 , p_source_21 => l_array_source_21(Idx)
164484 , p_source_22 => l_array_source_22(Idx)
164485 , p_source_22_meaning => l_array_source_22_meaning(Idx)
164486 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
164487 , p_source_30 => l_array_source_30(Idx)
164488 , p_source_33 => l_array_source_33(Idx)
164489 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164490 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
164491 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
164492 , p_source_52 => l_array_source_52(Idx)
164493 , p_source_54 => l_array_source_54(Idx)
164494 , p_source_56 => l_array_source_56(Idx)
164495 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164496 , p_source_63 => l_array_source_63(Idx)
164497 , p_source_64 => l_array_source_64(Idx)
164498 , p_source_65 => l_array_source_65(Idx)
164499 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164500 , p_source_67 => l_array_source_67(Idx)
164504 , p_source_71 => l_array_source_71(Idx)
164501 , p_source_68 => l_array_source_68(Idx)
164502 , p_source_69 => l_array_source_69(Idx)
164503 , p_source_70 => l_array_source_70(Idx)
164505 , p_source_72 => l_array_source_72(Idx)
164506 , p_source_76 => l_array_source_76(Idx)
164507 , p_source_77 => l_array_source_77(Idx)
164508 , p_source_78 => l_array_source_78(Idx)
164509 , p_source_79 => l_array_source_79(Idx)
164510 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164511 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164512 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164513 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164514 , p_source_83 => l_array_source_83(Idx)
164515 , p_source_84 => l_array_source_84(Idx)
164516 , p_source_85 => l_array_source_85(Idx)
164517 , p_source_86 => l_array_source_86(Idx)
164518 , p_source_87 => l_array_source_87(Idx)
164519 , p_source_88 => l_array_source_88(Idx)
164520 , p_source_89 => l_array_source_89(Idx)
164521 , p_source_90 => l_array_source_90(Idx)
164522 , p_source_91 => l_array_source_91(Idx)
164523 , p_source_92 => l_array_source_92(Idx)
164524 , p_source_93 => l_array_source_93(Idx)
164525 , p_source_94 => l_array_source_94(Idx)
164526 , p_source_95 => l_array_source_95(Idx)
164527 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164528 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164529 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164530 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164531 );
164532 If(l_balance_type_code = 'A') THEN
164533 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164534 END IF;
164535
164536 --
164537
164538
164539 --
164540 AcctLineType_215 (
164541 p_application_id => p_application_id
164542 ,p_event_id => l_event_id
164543 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164544 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164545 ,p_actual_flag => l_actual_flag
164546 ,p_balance_type_code => l_balance_type_code
164547 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164548
164549 , p_source_1 => l_array_source_1(Idx)
164550 , p_source_21 => l_array_source_21(Idx)
164551 , p_source_30 => l_array_source_30(Idx)
164552 , p_source_33 => l_array_source_33(Idx)
164553 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164554 , p_source_52 => l_array_source_52(Idx)
164555 , p_source_54 => l_array_source_54(Idx)
164556 , p_source_56 => l_array_source_56(Idx)
164557 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164558 , p_source_63 => l_array_source_63(Idx)
164559 , p_source_64 => l_array_source_64(Idx)
164560 , p_source_65 => l_array_source_65(Idx)
164561 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164562 , p_source_67 => l_array_source_67(Idx)
164563 , p_source_68 => l_array_source_68(Idx)
164564 , p_source_69 => l_array_source_69(Idx)
164565 , p_source_70 => l_array_source_70(Idx)
164566 , p_source_71 => l_array_source_71(Idx)
164567 , p_source_72 => l_array_source_72(Idx)
164568 , p_source_76 => l_array_source_76(Idx)
164569 , p_source_77 => l_array_source_77(Idx)
164570 , p_source_78 => l_array_source_78(Idx)
164571 , p_source_79 => l_array_source_79(Idx)
164572 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164573 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164574 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164575 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164576 , p_source_83 => l_array_source_83(Idx)
164577 , p_source_84 => l_array_source_84(Idx)
164578 , p_source_85 => l_array_source_85(Idx)
164579 , p_source_86 => l_array_source_86(Idx)
164580 , p_source_87 => l_array_source_87(Idx)
164581 , p_source_88 => l_array_source_88(Idx)
164582 , p_source_89 => l_array_source_89(Idx)
164583 , p_source_90 => l_array_source_90(Idx)
164584 , p_source_91 => l_array_source_91(Idx)
164585 , p_source_92 => l_array_source_92(Idx)
164586 , p_source_93 => l_array_source_93(Idx)
164587 , p_source_94 => l_array_source_94(Idx)
164588 , p_source_95 => l_array_source_95(Idx)
164589 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164590 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164591 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164592 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164593 );
164594 If(l_balance_type_code = 'A') THEN
164595 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164596 END IF;
164597
164598 --
164599
164600
164601 --
164602 AcctLineType_219 (
164603 p_application_id => p_application_id
164604 ,p_event_id => l_event_id
164605 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164606 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164607 ,p_actual_flag => l_actual_flag
164608 ,p_balance_type_code => l_balance_type_code
164609 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164610
164611 , p_source_1 => l_array_source_1(Idx)
164612 , p_source_21 => l_array_source_21(Idx)
164613 , p_source_30 => l_array_source_30(Idx)
164614 , p_source_33 => l_array_source_33(Idx)
164615 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164616 , p_source_52 => l_array_source_52(Idx)
164617 , p_source_54 => l_array_source_54(Idx)
164618 , p_source_56 => l_array_source_56(Idx)
164619 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164620 , p_source_63 => l_array_source_63(Idx)
164621 , p_source_64 => l_array_source_64(Idx)
164622 , p_source_65 => l_array_source_65(Idx)
164623 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164624 , p_source_67 => l_array_source_67(Idx)
164625 , p_source_68 => l_array_source_68(Idx)
164626 , p_source_69 => l_array_source_69(Idx)
164627 , p_source_70 => l_array_source_70(Idx)
164628 , p_source_71 => l_array_source_71(Idx)
164632 , p_source_78 => l_array_source_78(Idx)
164629 , p_source_72 => l_array_source_72(Idx)
164630 , p_source_76 => l_array_source_76(Idx)
164631 , p_source_77 => l_array_source_77(Idx)
164633 , p_source_79 => l_array_source_79(Idx)
164634 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164635 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164636 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164637 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164638 , p_source_83 => l_array_source_83(Idx)
164639 , p_source_84 => l_array_source_84(Idx)
164640 , p_source_85 => l_array_source_85(Idx)
164641 , p_source_86 => l_array_source_86(Idx)
164642 , p_source_87 => l_array_source_87(Idx)
164643 , p_source_88 => l_array_source_88(Idx)
164644 , p_source_89 => l_array_source_89(Idx)
164645 , p_source_90 => l_array_source_90(Idx)
164646 , p_source_91 => l_array_source_91(Idx)
164647 , p_source_92 => l_array_source_92(Idx)
164648 , p_source_93 => l_array_source_93(Idx)
164649 , p_source_94 => l_array_source_94(Idx)
164650 , p_source_95 => l_array_source_95(Idx)
164651 , p_source_95_meaning => l_array_source_95_meaning(Idx)
164652 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164653 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164654 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164655 );
164656 If(l_balance_type_code = 'A') THEN
164657 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164658 END IF;
164659
164660 --
164661
164662
164663 --
164664 AcctLineType_225 (
164665 p_application_id => p_application_id
164666 ,p_event_id => l_event_id
164667 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164668 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164669 ,p_actual_flag => l_actual_flag
164670 ,p_balance_type_code => l_balance_type_code
164671 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164672
164673 , p_source_1 => l_array_source_1(Idx)
164674 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
164675 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
164676 , p_source_21 => l_array_source_21(Idx)
164677 , p_source_30 => l_array_source_30(Idx)
164678 , p_source_33 => l_array_source_33(Idx)
164679 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164680 , p_source_43 => l_array_source_43(Idx)
164681 , p_source_52 => l_array_source_52(Idx)
164682 , p_source_54 => l_array_source_54(Idx)
164683 , p_source_56 => l_array_source_56(Idx)
164684 , p_source_57 => g_array_event(l_event_id).array_value_num('source_57')
164685 , p_source_63 => l_array_source_63(Idx)
164686 , p_source_64 => l_array_source_64(Idx)
164687 , p_source_65 => l_array_source_65(Idx)
164688 , p_source_66 => g_array_event(l_event_id).array_value_char('source_66')
164689 , p_source_67 => l_array_source_67(Idx)
164690 , p_source_68 => l_array_source_68(Idx)
164691 , p_source_69 => l_array_source_69(Idx)
164692 , p_source_70 => l_array_source_70(Idx)
164693 , p_source_71 => l_array_source_71(Idx)
164694 , p_source_72 => l_array_source_72(Idx)
164695 , p_source_76 => l_array_source_76(Idx)
164696 , p_source_77 => l_array_source_77(Idx)
164697 , p_source_78 => l_array_source_78(Idx)
164698 , p_source_79 => l_array_source_79(Idx)
164699 , p_source_79_meaning => l_array_source_79_meaning(Idx)
164700 , p_source_80 => g_array_event(l_event_id).array_value_num('source_80')
164701 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164702 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
164703 , p_source_83 => l_array_source_83(Idx)
164704 , p_source_84 => l_array_source_84(Idx)
164705 , p_source_85 => l_array_source_85(Idx)
164706 , p_source_86 => l_array_source_86(Idx)
164707 , p_source_87 => l_array_source_87(Idx)
164708 , p_source_88 => l_array_source_88(Idx)
164709 , p_source_89 => l_array_source_89(Idx)
164710 , p_source_90 => l_array_source_90(Idx)
164711 , p_source_91 => l_array_source_91(Idx)
164712 , p_source_92 => l_array_source_92(Idx)
164713 , p_source_93 => l_array_source_93(Idx)
164714 , p_source_94 => l_array_source_94(Idx)
164715 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
164716 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
164717 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
164718 );
164719 If(l_balance_type_code = 'A') THEN
164720 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164721 END IF;
164722
164723 --
164724
164725 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
164726 -- or secondary ledger that has different currency with primary
164727 -- or alc that is calculated by sla
164728 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
164729 (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'))
164730
164731 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
164732 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
164733 AND (l_actual_flag = 'A')) THEN
164734 XLA_AE_LINES_PKG.CreateGainOrLossLines(
164735 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
164736 ,p_application_id => p_application_id
164737 ,p_amb_context_code => 'DEFAULT'
164738 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
164739 ,p_event_class_code => C_EVENT_CLASS_CODE
164740 ,p_event_type_code => C_EVENT_TYPE_CODE
164741
164742 ,p_gain_ccid => -1
164743 ,p_loss_ccid => -1
164744
164745 ,p_actual_flag => l_actual_flag
164746 ,p_enc_flag => null
164747 ,p_actual_g_l_ref => l_actual_gain_loss_ref
164751 END IF;
164748 ,p_enc_g_l_ref => null
164749 );
164750 END IF;
164752 END IF;
164753
164754 ELSE
164755 --
164756 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
164757 --
164758 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164759 trace
164760 (p_msg => 'Trancaction revesal option is Y'
164761 ,p_level => C_LEVEL_STATEMENT
164762 ,p_module => l_log_module);
164763 END IF;
164764 END IF;
164765
164766 END LOOP;
164767 l_result := XLA_AE_LINES_PKG.InsertLines ;
164768 end loop;
164769 close line_cur;
164770
164771
164772 --
164773 -- insert headers into xla_ae_headers_gt table
164774 --
164775 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
164776
164777 -- insert into errors table here.
164778
164779 END LOOP;
164780
164781 --
164782 -- 4865292
164783 --
164784 -- Compare g_hdr_extract_count with event count in
164785 -- CreateHeadersAndLines.
164786 --
164787 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
164788
164789 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164790 trace (p_msg => '# rows extracted from header extract objects '
164791 || ' (running total): '
164792 || g_hdr_extract_count
164793 ,p_level => C_LEVEL_STATEMENT
164794 ,p_module => l_log_module);
164795 END IF;
164796
164797 CLOSE header_cur;
164798 --
164799
164800 --
164801 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164802 trace
164803 (p_msg => 'END of EventClass_232'
164804 ,p_level => C_LEVEL_PROCEDURE
164805 ,p_module => l_log_module);
164806 END IF;
164807 --
164808 RETURN l_result;
164809 EXCEPTION
164810 WHEN xla_exceptions_pkg.application_exception THEN
164811
164812 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164813
164814
164815 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164816
164817 RAISE;
164818
164819 WHEN NO_DATA_FOUND THEN
164820
164821 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164822 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164823
164824 FOR header_record IN header_cur
164825 LOOP
164826 l_array_header_events(header_record.event_id) := header_record.event_id;
164827 END LOOP;
164828
164829 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
164830 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
164831
164832 fnd_file.put_line(fnd_file.LOG, ' ');
164833 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
164834 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
164835 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
164836
164837 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
164838 LOOP
164839 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
164840 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
164841 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
164842 END IF;
164843 END LOOP;
164844
164845 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
164846 fnd_file.put_line(fnd_file.LOG, ' ');
164847
164848
164849 xla_exceptions_pkg.raise_message
164850 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_232');
164851
164852
164853 WHEN OTHERS THEN
164854 xla_exceptions_pkg.raise_message
164855 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_232');
164856 END EventClass_232;
164857 --
164858
164859 ---------------------------------------
164860 --
164861 -- PRIVATE PROCEDURE
164862 -- insert_sources_233
164863 --
164864 ----------------------------------------
164865 --
164866 PROCEDURE insert_sources_233(
164867 p_target_ledger_id IN NUMBER
164868 , p_language IN VARCHAR2
164869 , p_sla_ledger_id IN NUMBER
164870 , p_pad_start_date IN DATE
164871 , p_pad_end_date IN DATE
164872 )
164873 IS
164874
164875 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
164876 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
164877 p_apps_owner VARCHAR2(30);
164878 l_log_module VARCHAR2(240);
164879 BEGIN
164880 IF g_log_enabled THEN
164881 l_log_module := C_DEFAULT_MODULE||'.insert_sources_233';
164882 END IF;
164883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164884
164885 trace
164886 (p_msg => 'BEGIN of insert_sources_233'
164887 ,p_level => C_LEVEL_PROCEDURE
164888 ,p_module => l_log_module);
164889
164890 END IF;
164891
164892 -- select APPS owner
164893 SELECT oracle_username
164894 INTO p_apps_owner
164895 FROM fnd_oracle_userid
164896 WHERE read_only_flag = 'U'
164897 ;
164898
164899 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164900 trace
164901 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
164902 ' - p_language = '||p_language||
164903 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
164904 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
164905 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
164906 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
164910
164907 ,p_level => C_LEVEL_STATEMENT
164908 ,p_module => l_log_module);
164909 END IF;
164911
164912 --
164913 INSERT INTO xla_diag_sources --hdr2
164914 (
164915 event_id
164916 , ledger_id
164917 , sla_ledger_id
164918 , description_language
164919 , object_name
164920 , object_type_code
164921 , line_number
164922 , source_application_id
164923 , source_type_code
164924 , source_code
164925 , source_value
164926 , source_meaning
164927 , created_by
164928 , creation_date
164929 , last_update_date
164930 , last_updated_by
164931 , last_update_login
164932 , program_update_date
164933 , program_application_id
164934 , program_id
164935 , request_id
164936 )
164937 SELECT
164938 event_id
164939 , p_target_ledger_id
164940 , p_sla_ledger_id
164941 , p_language
164942 , object_name
164943 , object_type_code
164944 , line_number
164945 , source_application_id
164946 , source_type_code
164947 , source_code
164948 , SUBSTR(source_value ,1,1996)
164949 , SUBSTR(source_meaning ,1,200)
164950 , xla_environment_pkg.g_Usr_Id
164951 , TRUNC(SYSDATE)
164952 , TRUNC(SYSDATE)
164953 , xla_environment_pkg.g_Usr_Id
164954 , xla_environment_pkg.g_Login_Id
164955 , TRUNC(SYSDATE)
164956 , xla_environment_pkg.g_Prog_Appl_Id
164957 , xla_environment_pkg.g_Prog_Id
164958 , xla_environment_pkg.g_Req_Id
164959 FROM (
164960 SELECT xet.event_id event_id
164961 , 0 line_number
164962 , CASE r
164963 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164964 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164965 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164966 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164967 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164968 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164969 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164970 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164971 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164972 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164973 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164974 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164975 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164976 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164977 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164978 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164979 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164980 WHEN 18 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164981 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164982 WHEN 20 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164983 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164984 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164985 WHEN 23 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164986 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164987 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164988 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164989 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164990 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164991 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164992 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164993 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164994 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164995 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164996 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164997 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164998 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164999 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165000 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165001
165002 ELSE null
165003 END object_name
165004 , CASE r
165005 WHEN 1 THEN 'HEADER'
165006 WHEN 2 THEN 'HEADER'
165007 WHEN 3 THEN 'HEADER'
165008 WHEN 4 THEN 'HEADER'
165009 WHEN 5 THEN 'HEADER'
165010 WHEN 6 THEN 'HEADER'
165011 WHEN 7 THEN 'HEADER'
165012 WHEN 8 THEN 'HEADER'
165013 WHEN 9 THEN 'HEADER'
165014 WHEN 10 THEN 'HEADER'
165015 WHEN 11 THEN 'HEADER'
165016 WHEN 12 THEN 'HEADER'
165017 WHEN 13 THEN 'HEADER'
165018 WHEN 14 THEN 'HEADER'
165019 WHEN 15 THEN 'HEADER'
165020 WHEN 16 THEN 'HEADER'
165021 WHEN 17 THEN 'HEADER'
165022 WHEN 18 THEN 'HEADER'
165023 WHEN 19 THEN 'HEADER'
165024 WHEN 20 THEN 'HEADER'
165025 WHEN 21 THEN 'HEADER'
165026 WHEN 22 THEN 'HEADER'
165027 WHEN 23 THEN 'HEADER'
165028 WHEN 24 THEN 'HEADER'
165029 WHEN 25 THEN 'HEADER'
165030 WHEN 26 THEN 'HEADER'
165031 WHEN 27 THEN 'HEADER'
165032 WHEN 28 THEN 'HEADER'
165033 WHEN 29 THEN 'HEADER'
165034 WHEN 30 THEN 'HEADER'
165035 WHEN 31 THEN 'HEADER'
165036 WHEN 32 THEN 'HEADER'
165037 WHEN 33 THEN 'HEADER'
165038 WHEN 34 THEN 'HEADER'
165039 WHEN 35 THEN 'HEADER'
165043
165040 WHEN 36 THEN 'HEADER'
165041 WHEN 37 THEN 'HEADER'
165042 WHEN 38 THEN 'HEADER'
165044 ELSE null
165045 END object_type_code
165046 , CASE r
165047 WHEN 1 THEN '200'
165048 WHEN 2 THEN '200'
165049 WHEN 3 THEN '200'
165050 WHEN 4 THEN '200'
165051 WHEN 5 THEN '200'
165052 WHEN 6 THEN '200'
165053 WHEN 7 THEN '200'
165054 WHEN 8 THEN '200'
165055 WHEN 9 THEN '200'
165056 WHEN 10 THEN '200'
165057 WHEN 11 THEN '200'
165058 WHEN 12 THEN '200'
165059 WHEN 13 THEN '200'
165060 WHEN 14 THEN '200'
165061 WHEN 15 THEN '200'
165062 WHEN 16 THEN '200'
165063 WHEN 17 THEN '200'
165064 WHEN 18 THEN '200'
165065 WHEN 19 THEN '200'
165066 WHEN 20 THEN '200'
165067 WHEN 21 THEN '200'
165068 WHEN 22 THEN '200'
165069 WHEN 23 THEN '200'
165070 WHEN 24 THEN '200'
165071 WHEN 25 THEN '200'
165072 WHEN 26 THEN '200'
165073 WHEN 27 THEN '200'
165074 WHEN 28 THEN '200'
165075 WHEN 29 THEN '200'
165076 WHEN 30 THEN '200'
165077 WHEN 31 THEN '200'
165078 WHEN 32 THEN '200'
165079 WHEN 33 THEN '200'
165080 WHEN 34 THEN '200'
165081 WHEN 35 THEN '200'
165082 WHEN 36 THEN '200'
165083 WHEN 37 THEN '200'
165084 WHEN 38 THEN '200'
165085
165086 ELSE null
165087 END source_application_id
165088 , 'S' source_type_code
165089 , CASE r
165090 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
165091 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
165092 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
165093 WHEN 4 THEN 'AC_CHECK_DATE'
165094 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
165095 WHEN 6 THEN 'AC_CURRENCY_CODE'
165096 WHEN 7 THEN 'CGAC_BANK_CHARGES_CCID'
165097 WHEN 8 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
165098 WHEN 9 THEN 'CGAC_BANK_ERRORS_CCID'
165099 WHEN 10 THEN 'CGAC_AP_ASSET_CCID'
165100 WHEN 11 THEN 'FSP_DISC_TAKEN_CCID'
165101 WHEN 12 THEN 'ASP_DISCOUNT_DIST_METHOD'
165102 WHEN 13 THEN 'ASP_INTEREST_CCID'
165103 WHEN 14 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
165104 WHEN 15 THEN 'CGAC_GAIN_CCID'
165105 WHEN 16 THEN 'ASP_GAIN_CCID'
165106 WHEN 17 THEN 'CGAC_LOSS_CCID'
165107 WHEN 18 THEN 'ASP_LOSS_CCID'
165108 WHEN 19 THEN 'ASP_DISC_TAKEN_CCID'
165109 WHEN 20 THEN 'ASP_AUTO_OFFSET_FLAG'
165110 WHEN 21 THEN 'ASP_ROUNDING_ERROR_CCID'
165111 WHEN 22 THEN 'THIRD_PARTY_TYPE'
165112 WHEN 23 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
165113 WHEN 24 THEN 'APH_BANK_CURRENCY_CODE'
165114 WHEN 25 THEN 'APH_BANK_TO_BASE_XRATE_DATE'
165115 WHEN 26 THEN 'APH_BANK_TO_BASE_XRATE'
165116 WHEN 27 THEN 'APH_BANK_TO_BASE_XRATE_TYPE'
165117 WHEN 28 THEN 'AC_VENDOR_ID'
165118 WHEN 29 THEN 'AC_VENDOR_SITE_ID'
165119 WHEN 30 THEN 'AC_CHECK_ID'
165120 WHEN 31 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
165121 WHEN 32 THEN 'AC_FUTURE_PAY_DUE_DATE'
165122 WHEN 33 THEN 'AC_EXCHANGE_DATE'
165123 WHEN 34 THEN 'AC_EXCHANGE_RATE'
165124 WHEN 35 THEN 'AC_EXCHANGE_RATE_TYPE'
165125 WHEN 36 THEN 'PAYMENT_TYPE'
165126 WHEN 37 THEN 'AC_DOC_CATEGORY_CODE'
165127 WHEN 38 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
165128
165129 ELSE null
165130 END source_code
165131 , CASE r
165132 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
165133 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
165134 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
165135 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
165136 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
165137 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
165138 WHEN 7 THEN TO_CHAR(h2.CGAC_BANK_CHARGES_CCID)
165139 WHEN 8 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
165140 WHEN 9 THEN TO_CHAR(h2.CGAC_BANK_ERRORS_CCID)
165141 WHEN 10 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
165142 WHEN 11 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
165143 WHEN 12 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
165144 WHEN 13 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
165145 WHEN 14 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
165146 WHEN 15 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
165147 WHEN 16 THEN TO_CHAR(h3.ASP_GAIN_CCID)
165148 WHEN 17 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
165149 WHEN 18 THEN TO_CHAR(h3.ASP_LOSS_CCID)
165150 WHEN 19 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
165151 WHEN 20 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
165152 WHEN 21 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
165153 WHEN 22 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
165154 WHEN 23 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
165155 WHEN 24 THEN TO_CHAR(h2.APH_BANK_CURRENCY_CODE)
165159 WHEN 28 THEN TO_CHAR(h2.AC_VENDOR_ID)
165156 WHEN 25 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_DATE)
165157 WHEN 26 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE)
165158 WHEN 27 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_TYPE)
165160 WHEN 29 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
165161 WHEN 30 THEN TO_CHAR(h2.AC_CHECK_ID)
165162 WHEN 31 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
165163 WHEN 32 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
165164 WHEN 33 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
165165 WHEN 34 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
165166 WHEN 35 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
165167 WHEN 36 THEN TO_CHAR(h2.PAYMENT_TYPE)
165168 WHEN 37 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
165169 WHEN 38 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
165170
165171 ELSE null
165172 END source_value
165173 , CASE r
165174 WHEN 8 THEN fvl15.meaning
165175 WHEN 12 THEN fvl19.meaning
165176 WHEN 20 THEN fvl47.meaning
165177 WHEN 31 THEN fvl113.meaning
165178 WHEN 36 THEN fvl122.meaning
165179
165180 ELSE null
165181 END source_meaning
165182 FROM xla_events_gt xet
165183 , AP_PAYMENT_EXTRACT_HEADER_V h2
165184 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
165185 , fnd_lookup_values fvl15
165186 , fnd_lookup_values fvl19
165187 , fnd_lookup_values fvl47
165188 , fnd_lookup_values fvl113
165189 , fnd_lookup_values fvl122
165190 ,(select rownum r from all_objects where rownum <= 38 and owner = p_apps_owner)
165191 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
165192 AND xet.event_class_code = C_EVENT_CLASS_CODE
165193 AND h2.event_id = xet.event_id
165194 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
165195 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
165196 AND fvl15.view_application_id(+) = 200
165197 AND fvl15.language(+) = USERENV('LANG')
165198 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
165199 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
165200 AND fvl19.view_application_id(+) = 200
165201 AND fvl19.language(+) = USERENV('LANG')
165202 AND fvl47.lookup_type(+) = 'YES_NO'
165203 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
165204 AND fvl47.view_application_id(+) = 0
165205 AND fvl47.language(+) = USERENV('LANG')
165206 AND fvl113.lookup_type(+) = 'YES_NO'
165207 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
165208 AND fvl113.view_application_id(+) = 0
165209 AND fvl113.language(+) = USERENV('LANG')
165210 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
165211 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
165212 AND fvl122.view_application_id(+) = 200
165213 AND fvl122.language(+) = USERENV('LANG')
165214
165215 )
165216 ;
165217 --
165218 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165219
165220 trace
165221 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
165222 ,p_level => C_LEVEL_STATEMENT
165223 ,p_module => l_log_module);
165224
165225 END IF;
165226 --
165227
165228
165229
165230 --
165231 INSERT INTO xla_diag_sources --line2
165232 (
165233 event_id
165234 , ledger_id
165235 , sla_ledger_id
165236 , description_language
165237 , object_name
165238 , object_type_code
165239 , line_number
165240 , source_application_id
165241 , source_type_code
165242 , source_code
165243 , source_value
165244 , source_meaning
165245 , created_by
165246 , creation_date
165247 , last_update_date
165248 , last_updated_by
165249 , last_update_login
165250 , program_update_date
165251 , program_application_id
165252 , program_id
165253 , request_id
165254 )
165255 SELECT event_id
165256 , p_target_ledger_id
165257 , p_sla_ledger_id
165258 , p_language
165259 , object_name
165260 , object_type_code
165261 , line_number
165262 , source_application_id
165263 , source_type_code
165264 , source_code
165265 , SUBSTR(source_value,1,1996)
165266 , SUBSTR(source_meaning ,1,200)
165267 , xla_environment_pkg.g_Usr_Id
165268 , TRUNC(SYSDATE)
165269 , TRUNC(SYSDATE)
165270 , xla_environment_pkg.g_Usr_Id
165271 , xla_environment_pkg.g_Login_Id
165272 , TRUNC(SYSDATE)
165273 , xla_environment_pkg.g_Prog_Appl_Id
165274 , xla_environment_pkg.g_Prog_Id
165275 , xla_environment_pkg.g_Req_Id
165276 FROM (
165277 SELECT xet.event_id event_id
165278 , l1.line_number line_number
165279 , CASE r
165280 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165281 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165282 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165283 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165284 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165285 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165286 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165287 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165288 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165289 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165290 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165294 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165291 WHEN 12 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165292 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165293 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165295 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165296 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165297 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165298 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165299 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165300 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165301 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165302 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165303 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165304 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165305 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165306 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165307 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165308 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165309 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165310 WHEN 31 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165311 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165312 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165313 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165314 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165315 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165316 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165317 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165318 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165319 WHEN 40 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165320 WHEN 41 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165321 WHEN 42 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165322
165323 ELSE null
165324 END object_name
165325 , CASE r
165326 WHEN 1 THEN 'LINE'
165327 WHEN 2 THEN 'LINE'
165328 WHEN 3 THEN 'LINE'
165329 WHEN 4 THEN 'LINE'
165330 WHEN 5 THEN 'LINE'
165331 WHEN 6 THEN 'LINE'
165332 WHEN 7 THEN 'LINE'
165333 WHEN 8 THEN 'LINE'
165334 WHEN 9 THEN 'LINE'
165335 WHEN 10 THEN 'LINE'
165336 WHEN 11 THEN 'LINE'
165337 WHEN 12 THEN 'LINE'
165338 WHEN 13 THEN 'LINE'
165339 WHEN 14 THEN 'LINE'
165340 WHEN 15 THEN 'LINE'
165341 WHEN 16 THEN 'LINE'
165342 WHEN 17 THEN 'LINE'
165343 WHEN 18 THEN 'LINE'
165344 WHEN 19 THEN 'LINE'
165345 WHEN 20 THEN 'LINE'
165346 WHEN 21 THEN 'LINE'
165347 WHEN 22 THEN 'LINE'
165348 WHEN 23 THEN 'LINE'
165349 WHEN 24 THEN 'LINE'
165350 WHEN 25 THEN 'LINE'
165351 WHEN 26 THEN 'LINE'
165352 WHEN 27 THEN 'LINE'
165353 WHEN 28 THEN 'LINE'
165354 WHEN 29 THEN 'LINE'
165355 WHEN 30 THEN 'LINE'
165356 WHEN 31 THEN 'LINE'
165357 WHEN 32 THEN 'LINE'
165358 WHEN 33 THEN 'LINE'
165359 WHEN 34 THEN 'LINE'
165360 WHEN 35 THEN 'LINE'
165361 WHEN 36 THEN 'LINE'
165362 WHEN 37 THEN 'LINE'
165363 WHEN 38 THEN 'LINE'
165364 WHEN 39 THEN 'LINE'
165365 WHEN 40 THEN 'LINE'
165366 WHEN 41 THEN 'LINE'
165367 WHEN 42 THEN 'LINE'
165368
165369 ELSE null
165370 END object_type_code
165371 , CASE r
165372 WHEN 1 THEN '200'
165373 WHEN 2 THEN '200'
165374 WHEN 3 THEN '200'
165375 WHEN 4 THEN '200'
165376 WHEN 5 THEN '200'
165377 WHEN 6 THEN '200'
165378 WHEN 7 THEN '200'
165379 WHEN 8 THEN '200'
165380 WHEN 9 THEN '200'
165381 WHEN 10 THEN '200'
165382 WHEN 11 THEN '200'
165383 WHEN 12 THEN '200'
165384 WHEN 13 THEN '200'
165385 WHEN 14 THEN '200'
165386 WHEN 15 THEN '200'
165387 WHEN 16 THEN '200'
165388 WHEN 17 THEN '200'
165389 WHEN 18 THEN '200'
165390 WHEN 19 THEN '200'
165391 WHEN 20 THEN '200'
165392 WHEN 21 THEN '200'
165393 WHEN 22 THEN '200'
165394 WHEN 23 THEN '200'
165395 WHEN 24 THEN '200'
165396 WHEN 25 THEN '200'
165397 WHEN 26 THEN '200'
165398 WHEN 27 THEN '200'
165399 WHEN 28 THEN '200'
165400 WHEN 29 THEN '200'
165401 WHEN 30 THEN '200'
165402 WHEN 31 THEN '200'
165403 WHEN 32 THEN '200'
165404 WHEN 33 THEN '200'
165405 WHEN 34 THEN '200'
165406 WHEN 35 THEN '200'
165407 WHEN 36 THEN '200'
165408 WHEN 37 THEN '200'
165409 WHEN 38 THEN '200'
165410 WHEN 39 THEN '200'
165411 WHEN 40 THEN '200'
165412 WHEN 41 THEN '200'
165413 WHEN 42 THEN '200'
165414
165415 ELSE null
165419 WHEN 1 THEN 'AID_DIST_CCID'
165416 END source_application_id
165417 , 'S' source_type_code
165418 , CASE r
165420 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
165421 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
165422 WHEN 4 THEN 'POD_CCID'
165423 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
165424 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
165425 WHEN 7 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
165426 WHEN 8 THEN 'DISTRIBUTION_LINK_TYPE'
165427 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
165428 WHEN 10 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
165429 WHEN 11 THEN 'TAX_LINE_ID'
165430 WHEN 12 THEN 'SUMMARY_TAX_LINE_ID'
165431 WHEN 13 THEN 'BUS_FLOW_AP_APP_ID'
165432 WHEN 14 THEN 'BUS_FLOW_INV_DIST_TYPE'
165433 WHEN 15 THEN 'BUS_FLOW_INV_ENTITY_CODE'
165434 WHEN 16 THEN 'BUS_FLOW_INV_DIST_ID'
165435 WHEN 17 THEN 'BUS_FLOW_INV_ID'
165436 WHEN 18 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
165437 WHEN 19 THEN 'APHD_AMOUNT'
165438 WHEN 20 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
165439 WHEN 21 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
165440 WHEN 22 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
165441 WHEN 23 THEN 'BUS_FLOW_PAYMENT_ID'
165442 WHEN 24 THEN 'APHD_PAYMENT_HIST_DIST_ID'
165443 WHEN 25 THEN 'APHD_CLEARING_BASE_AMT'
165444 WHEN 26 THEN 'APHD_REV_PAY_HIST_DIST_ID'
165445 WHEN 27 THEN 'APHD_PAYMENT_BASE_AMT'
165446 WHEN 28 THEN 'APHD_INVOICE_BASE_AMT'
165447 WHEN 29 THEN 'BUS_FLOW_PAYMENT_MAT_DIST_ID'
165448 WHEN 30 THEN 'APHD_MATURED_BASE_AMOUNT'
165449 WHEN 31 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
165450 WHEN 32 THEN 'INV_EXCHANGE_DATE'
165451 WHEN 33 THEN 'INV_EXCHANGE_RATE'
165452 WHEN 34 THEN 'INV_EXCHANGE_RATE_TYPE'
165453 WHEN 35 THEN 'INV_CLR_GAIN_LOSS_INDICATOR'
165454 WHEN 36 THEN 'INV_CLR_BASE_AMT_DIFF'
165455 WHEN 37 THEN 'MAT_CLR_GAIN_LOSS_INDICATOR'
165456 WHEN 38 THEN 'MAT_CLR_BASE_AMT_DIFF'
165457 WHEN 39 THEN 'PMT_CLR_GAIN_LOSS_INDICATOR'
165458 WHEN 40 THEN 'PMT_CLR_BASE_AMT_DIFF'
165459 WHEN 41 THEN 'AI_INVOICE_TYPE_PAID'
165460 WHEN 42 THEN 'AWT_AT_PMT_TIME'
165461
165462 ELSE null
165463 END source_code
165464 , CASE r
165465 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
165466 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
165467 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
165468 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
165469 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
165470 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
165471 WHEN 7 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
165472 WHEN 8 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
165473 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
165474 WHEN 10 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
165475 WHEN 11 THEN TO_CHAR(l4.TAX_LINE_ID)
165476 WHEN 12 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
165477 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
165478 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
165479 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
165480 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
165481 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
165482 WHEN 18 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
165483 WHEN 19 THEN TO_CHAR(l1.APHD_AMOUNT)
165484 WHEN 20 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
165485 WHEN 21 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
165486 WHEN 22 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
165487 WHEN 23 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
165488 WHEN 24 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
165489 WHEN 25 THEN TO_CHAR(l1.APHD_CLEARING_BASE_AMT)
165490 WHEN 26 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
165491 WHEN 27 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
165492 WHEN 28 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
165493 WHEN 29 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_MAT_DIST_ID)
165494 WHEN 30 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
165495 WHEN 31 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
165496 WHEN 32 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
165497 WHEN 33 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
165498 WHEN 34 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
165499 WHEN 35 THEN TO_CHAR(l1.INV_CLR_GAIN_LOSS_INDICATOR)
165500 WHEN 36 THEN TO_CHAR(l1.INV_CLR_BASE_AMT_DIFF)
165501 WHEN 37 THEN TO_CHAR(l1.MAT_CLR_GAIN_LOSS_INDICATOR)
165502 WHEN 38 THEN TO_CHAR(l1.MAT_CLR_BASE_AMT_DIFF)
165503 WHEN 39 THEN TO_CHAR(l1.PMT_CLR_GAIN_LOSS_INDICATOR)
165504 WHEN 40 THEN TO_CHAR(l1.PMT_CLR_BASE_AMT_DIFF)
165505 WHEN 41 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
165506 WHEN 42 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
165507
165508 ELSE null
165509 END source_value
165510 , CASE r
165511 WHEN 2 THEN fvl33.meaning
165512 WHEN 10 THEN fvl79.meaning
165513 WHEN 18 THEN fvl97.meaning
165514 WHEN 31 THEN fvl125.meaning
165515 WHEN 41 THEN fvl160.meaning
165516 WHEN 42 THEN fvl161.meaning
165517
165518 ELSE null
165522 , ZX_AP_DEF_TAX_EXTRACT_V l4
165519 END source_meaning
165520 FROM xla_events_gt xet
165521 , AP_PAYMENT_EXTRACT_DETAILS_V l1
165523 , fnd_lookup_values fvl33
165524 , fnd_lookup_values fvl79
165525 , fnd_lookup_values fvl97
165526 , fnd_lookup_values fvl125
165527 , fnd_lookup_values fvl160
165528 , fnd_lookup_values fvl161
165529 , (select rownum r from all_objects where rownum <= 42 and owner = p_apps_owner)
165530 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
165531 AND xet.event_class_code = C_EVENT_CLASS_CODE
165532 AND l1.event_id = xet.event_id
165533 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
165534 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
165535 AND fvl33.view_application_id(+) = 200
165536 AND fvl33.language(+) = USERENV('LANG')
165537 AND fvl79.lookup_type(+) = 'YES_NO'
165538 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
165539 AND fvl79.view_application_id(+) = 0
165540 AND fvl79.language(+) = USERENV('LANG')
165541 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
165542 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
165543 AND fvl97.view_application_id(+) = 200
165544 AND fvl97.language(+) = USERENV('LANG')
165545 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
165546 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
165547 AND fvl125.view_application_id(+) = 0
165548 AND fvl125.language(+) = USERENV('LANG')
165549 AND fvl160.lookup_type(+) = 'INVOICE TYPE'
165550 AND fvl160.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
165551 AND fvl160.view_application_id(+) = 200
165552 AND fvl160.language(+) = USERENV('LANG')
165553 AND fvl161.lookup_type(+) = 'YES_NO'
165554 AND fvl161.lookup_code(+) = l1.AWT_AT_PMT_TIME
165555 AND fvl161.view_application_id(+) = 0
165556 AND fvl161.language(+) = USERENV('LANG')
165557
165558 )
165559 ;
165560 --
165561 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165562
165563 trace
165564 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
165565 ,p_level => C_LEVEL_STATEMENT
165566 ,p_module => l_log_module);
165567
165568 END IF;
165569
165570
165571 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165572 trace
165573 (p_msg => 'END of insert_sources_233'
165574 ,p_level => C_LEVEL_PROCEDURE
165575 ,p_module => l_log_module);
165576 END IF;
165577 EXCEPTION
165578 WHEN xla_exceptions_pkg.application_exception THEN
165579 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165580 trace
165581 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165582 ,p_level => C_LEVEL_EXCEPTION
165583 ,p_module => l_log_module);
165584 END IF;
165585 RAISE;
165586 WHEN OTHERS THEN
165587 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165588 trace
165589 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165590 ,p_level => C_LEVEL_EXCEPTION
165591 ,p_module => l_log_module);
165592 END IF;
165593 xla_exceptions_pkg.raise_message
165594 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_233');
165595 END insert_sources_233;
165596 --
165597
165598 ---------------------------------------
165599 --
165600 -- PRIVATE FUNCTION
165601 -- EventClass_233
165602 --
165603 ----------------------------------------
165604 --
165605 FUNCTION EventClass_233
165606 (p_application_id IN NUMBER
165607 ,p_base_ledger_id IN NUMBER
165608 ,p_target_ledger_id IN NUMBER
165609 ,p_language IN VARCHAR2
165610 ,p_currency_code IN VARCHAR2
165611 ,p_sla_ledger_id IN NUMBER
165612 ,p_pad_start_date IN DATE
165613 ,p_pad_end_date IN DATE
165614 ,p_primary_ledger_id IN NUMBER)
165615 RETURN BOOLEAN IS
165616 --
165617 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
165618 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
165619
165620 l_calculate_acctd_flag VARCHAR2(1) :='N';
165621 l_calculate_g_l_flag VARCHAR2(1) :='N';
165622 --
165623 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165624 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165625 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165626 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165627 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165628 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165629 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165630 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165631 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165632 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165633 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165634 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165635 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165636 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165637 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165638 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165639 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165643 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165640 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165641 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165642 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165644 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165645 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
165646 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165647 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165648 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165649
165650 l_event_id NUMBER;
165651 l_previous_event_id NUMBER;
165652 l_first_event_id NUMBER;
165653 l_last_event_id NUMBER;
165654
165655 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
165656 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
165657 --
165658 --
165659 l_result BOOLEAN := TRUE;
165660 l_rows NUMBER := 1000;
165661 l_event_type_name VARCHAR2(80) := 'All';
165662 l_event_class_name VARCHAR2(80) := 'Reconciled Payments';
165663 l_description VARCHAR2(4000);
165664 l_transaction_reversal NUMBER;
165665 l_ae_header_id NUMBER;
165666 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
165667 l_log_module VARCHAR2(240);
165668 --
165669 l_acct_reversal_source VARCHAR2(30);
165670 l_trx_reversal_source VARCHAR2(30);
165671
165672 l_continue_with_lines BOOLEAN := TRUE;
165673 --
165674 l_acc_rev_gl_date_source DATE; -- 4262811
165675 --
165676 type t_array_event_id is table of number index by binary_integer;
165677
165678 l_rec_array_event t_rec_array_event;
165679 l_null_rec_array_event t_rec_array_event;
165680 l_array_ae_header_id xla_number_array_type;
165681 l_actual_flag VARCHAR2(1) := NULL;
165682 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
165683 l_balance_type_code VARCHAR2(1) :=NULL;
165684 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
165685
165686 --
165687 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
165688 --
165689
165690 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
165691 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
165692 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
165693 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
165694 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
165695 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165696 TYPE t_array_source_14 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_CHARGES_CCID%TYPE INDEX BY BINARY_INTEGER;
165697 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
165698 TYPE t_array_source_16 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_ERRORS_CCID%TYPE INDEX BY BINARY_INTEGER;
165699 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
165700 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165701 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
165702 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
165703 TYPE t_array_source_29 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
165704 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165705 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165706 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165707 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165708 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165709 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
165710 TYPE t_array_source_48 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
165711 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
165712 TYPE t_array_source_96 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
165713 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165714 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_DATE%TYPE INDEX BY BINARY_INTEGER;
165715 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE%TYPE INDEX BY BINARY_INTEGER;
165716 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165717 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
165718 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
165719 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_ID%TYPE INDEX BY BINARY_INTEGER;
165720 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165721 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
165725 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
165722 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165723 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165724 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165726 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
165727 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
165728
165729 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
165730 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165731 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165732 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
165733 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165734 TYPE t_array_source_51 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
165735 TYPE t_array_source_52 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
165736 TYPE t_array_source_54 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
165737 TYPE t_array_source_66 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165738 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165739 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165740 TYPE t_array_source_87 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165741 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
165742 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165743 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
165744 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165745 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
165746 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165747 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165748 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165749 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
165750 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165751 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
165752 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165753 TYPE t_array_source_108 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_CLEARING_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165754 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165755 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165756 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165757 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_MAT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165758 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165759 TYPE t_array_source_125 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
165760 TYPE t_array_source_136 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165761 TYPE t_array_source_137 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165762 TYPE t_array_source_138 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165763 TYPE t_array_source_148 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165764 TYPE t_array_source_149 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165765 TYPE t_array_source_153 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165766 TYPE t_array_source_154 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165767 TYPE t_array_source_156 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165768 TYPE t_array_source_157 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165769 TYPE t_array_source_160 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
165770 TYPE t_array_source_161 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
165771
165772 l_array_source_6 t_array_source_6;
165773 l_array_source_9 t_array_source_9;
165774 l_array_source_10 t_array_source_10;
165775 l_array_source_11 t_array_source_11;
165776 l_array_source_12 t_array_source_12;
165777 l_array_source_13 t_array_source_13;
165778 l_array_source_14 t_array_source_14;
165779 l_array_source_15 t_array_source_15;
165780 l_array_source_15_meaning t_array_lookup_meaning;
165781 l_array_source_16 t_array_source_16;
165782 l_array_source_17 t_array_source_17;
165783 l_array_source_18 t_array_source_18;
165784 l_array_source_19 t_array_source_19;
165788 l_array_source_36 t_array_source_36;
165785 l_array_source_19_meaning t_array_lookup_meaning;
165786 l_array_source_28 t_array_source_28;
165787 l_array_source_29 t_array_source_29;
165789 l_array_source_37 t_array_source_37;
165790 l_array_source_38 t_array_source_38;
165791 l_array_source_39 t_array_source_39;
165792 l_array_source_44 t_array_source_44;
165793 l_array_source_47 t_array_source_47;
165794 l_array_source_47_meaning t_array_lookup_meaning;
165795 l_array_source_48 t_array_source_48;
165796 l_array_source_82 t_array_source_82;
165797 l_array_source_96 t_array_source_96;
165798 l_array_source_104 t_array_source_104;
165799 l_array_source_105 t_array_source_105;
165800 l_array_source_106 t_array_source_106;
165801 l_array_source_107 t_array_source_107;
165802 l_array_source_109 t_array_source_109;
165803 l_array_source_110 t_array_source_110;
165804 l_array_source_112 t_array_source_112;
165805 l_array_source_113 t_array_source_113;
165806 l_array_source_113_meaning t_array_lookup_meaning;
165807 l_array_source_114 t_array_source_114;
165808 l_array_source_117 t_array_source_117;
165809 l_array_source_118 t_array_source_118;
165810 l_array_source_119 t_array_source_119;
165811 l_array_source_122 t_array_source_122;
165812 l_array_source_122_meaning t_array_lookup_meaning;
165813 l_array_source_170 t_array_source_170;
165814 l_array_source_171 t_array_source_171;
165815
165816 l_array_source_30 t_array_source_30;
165817 l_array_source_33 t_array_source_33;
165818 l_array_source_33_meaning t_array_lookup_meaning;
165819 l_array_source_43 t_array_source_43;
165820 l_array_source_45 t_array_source_45;
165821 l_array_source_46 t_array_source_46;
165822 l_array_source_51 t_array_source_51;
165823 l_array_source_52 t_array_source_52;
165824 l_array_source_54 t_array_source_54;
165825 l_array_source_66 t_array_source_66;
165826 l_array_source_79 t_array_source_79;
165827 l_array_source_79_meaning t_array_lookup_meaning;
165828 l_array_source_85 t_array_source_85;
165829 l_array_source_87 t_array_source_87;
165830 l_array_source_90 t_array_source_90;
165831 l_array_source_91 t_array_source_91;
165832 l_array_source_92 t_array_source_92;
165833 l_array_source_93 t_array_source_93;
165834 l_array_source_94 t_array_source_94;
165835 l_array_source_97 t_array_source_97;
165836 l_array_source_97_meaning t_array_lookup_meaning;
165837 l_array_source_98 t_array_source_98;
165838 l_array_source_99 t_array_source_99;
165839 l_array_source_100 t_array_source_100;
165840 l_array_source_101 t_array_source_101;
165841 l_array_source_102 t_array_source_102;
165842 l_array_source_103 t_array_source_103;
165843 l_array_source_108 t_array_source_108;
165844 l_array_source_111 t_array_source_111;
165845 l_array_source_115 t_array_source_115;
165846 l_array_source_116 t_array_source_116;
165847 l_array_source_120 t_array_source_120;
165848 l_array_source_121 t_array_source_121;
165849 l_array_source_125 t_array_source_125;
165850 l_array_source_125_meaning t_array_lookup_meaning;
165851 l_array_source_136 t_array_source_136;
165852 l_array_source_137 t_array_source_137;
165853 l_array_source_138 t_array_source_138;
165854 l_array_source_148 t_array_source_148;
165855 l_array_source_149 t_array_source_149;
165856 l_array_source_153 t_array_source_153;
165857 l_array_source_154 t_array_source_154;
165858 l_array_source_156 t_array_source_156;
165859 l_array_source_157 t_array_source_157;
165860 l_array_source_160 t_array_source_160;
165861 l_array_source_160_meaning t_array_lookup_meaning;
165862 l_array_source_161 t_array_source_161;
165863 l_array_source_161_meaning t_array_lookup_meaning;
165864
165865 --
165866 CURSOR header_cur
165867 IS
165868 SELECT /*+ leading(xet) cardinality(xet,1) */
165869 -- Event Class Code: RECONCILED PAYMENTS
165870 xet.entity_id
165871 ,xet.legal_entity_id
165872 ,xet.entity_code
165873 ,xet.transaction_number
165874 ,xet.event_id
165875 ,xet.event_class_code
165876 ,xet.event_type_code
165877 ,xet.event_number
165878 ,xet.event_date
165879 ,xet.transaction_date
165880 ,xet.reference_num_1
165881 ,xet.reference_num_2
165882 ,xet.reference_num_3
165883 ,xet.reference_num_4
165884 ,xet.reference_char_1
165885 ,xet.reference_char_2
165886 ,xet.reference_char_3
165887 ,xet.reference_char_4
165888 ,xet.reference_date_1
165889 ,xet.reference_date_2
165890 ,xet.reference_date_3
165891 ,xet.reference_date_4
165892 ,xet.event_created_by
165893 ,xet.budgetary_control_flag
165894 , h2.DOC_SEQUENCE_NAME source_6
165895 , h2.AC_DOC_SEQUENCE_VALUE source_9
165896 , h2.PAYMENT_TRANSACTION_NUMBER source_10
165897 , h2.AC_CHECK_DATE source_11
165898 , h2.CBA_BANK_ACCOUNT_NAME source_12
165899 , h2.AC_CURRENCY_CODE source_13
165900 , h2.CGAC_BANK_CHARGES_CCID source_14
165901 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
165902 , fvl15.meaning source_15_meaning
165903 , h2.CGAC_BANK_ERRORS_CCID source_16
165904 , h2.CGAC_AP_ASSET_CCID source_17
165905 , h3.FSP_DISC_TAKEN_CCID source_18
165906 , h3.ASP_DISCOUNT_DIST_METHOD source_19
165907 , fvl19.meaning source_19_meaning
165908 , h3.ASP_INTEREST_CCID source_28
165909 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_29
165910 , h2.CGAC_GAIN_CCID source_36
165911 , h3.ASP_GAIN_CCID source_37
165912 , h2.CGAC_LOSS_CCID source_38
165913 , h3.ASP_LOSS_CCID source_39
165917 , h3.ASP_ROUNDING_ERROR_CCID source_48
165914 , h3.ASP_DISC_TAKEN_CCID source_44
165915 , h3.ASP_AUTO_OFFSET_FLAG source_47
165916 , fvl47.meaning source_47_meaning
165918 , h2.THIRD_PARTY_TYPE source_82
165919 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_96
165920 , h2.APH_BANK_CURRENCY_CODE source_104
165921 , h2.APH_BANK_TO_BASE_XRATE_DATE source_105
165922 , h2.APH_BANK_TO_BASE_XRATE source_106
165923 , h2.APH_BANK_TO_BASE_XRATE_TYPE source_107
165924 , h2.AC_VENDOR_ID source_109
165925 , h2.AC_VENDOR_SITE_ID source_110
165926 , h2.AC_CHECK_ID source_112
165927 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
165928 , fvl113.meaning source_113_meaning
165929 , h2.AC_FUTURE_PAY_DUE_DATE source_114
165930 , h2.AC_EXCHANGE_DATE source_117
165931 , h2.AC_EXCHANGE_RATE source_118
165932 , h2.AC_EXCHANGE_RATE_TYPE source_119
165933 , h2.PAYMENT_TYPE source_122
165934 , fvl122.meaning source_122_meaning
165935 , h2.AC_DOC_CATEGORY_CODE source_170
165936 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
165937 FROM xla_events_gt xet
165938 , AP_PAYMENT_EXTRACT_HEADER_V h2
165939 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
165940 , fnd_lookup_values fvl15
165941 , fnd_lookup_values fvl19
165942 , fnd_lookup_values fvl47
165943 , fnd_lookup_values fvl113
165944 , fnd_lookup_values fvl122
165945 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
165946 and xet.event_class_code = C_EVENT_CLASS_CODE
165947 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
165948 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
165949 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
165950 AND fvl15.view_application_id(+) = 200
165951 AND fvl15.language(+) = USERENV('LANG')
165952 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
165953 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
165954 AND fvl19.view_application_id(+) = 200
165955 AND fvl19.language(+) = USERENV('LANG')
165956 AND fvl47.lookup_type(+) = 'YES_NO'
165957 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
165958 AND fvl47.view_application_id(+) = 0
165959 AND fvl47.language(+) = USERENV('LANG')
165960 AND fvl113.lookup_type(+) = 'YES_NO'
165961 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
165962 AND fvl113.view_application_id(+) = 0
165963 AND fvl113.language(+) = USERENV('LANG')
165964 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
165965 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
165966 AND fvl122.view_application_id(+) = 200
165967 AND fvl122.language(+) = USERENV('LANG')
165968
165969 ORDER BY event_id
165970 ;
165971
165972
165973 --
165974 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
165975 IS
165976 SELECT /*+ leading(xet) cardinality(xet,1) */
165977 -- Event Class Code: RECONCILED PAYMENTS
165978 xet.entity_id
165979 ,xet.legal_entity_id
165980 ,xet.entity_code
165981 ,xet.transaction_number
165982 ,xet.event_id
165983 ,xet.event_class_code
165984 ,xet.event_type_code
165985 ,xet.event_number
165986 ,xet.event_date
165987 ,xet.transaction_date
165988 ,xet.reference_num_1
165989 ,xet.reference_num_2
165990 ,xet.reference_num_3
165991 ,xet.reference_num_4
165992 ,xet.reference_char_1
165993 ,xet.reference_char_2
165994 ,xet.reference_char_3
165995 ,xet.reference_char_4
165996 ,xet.reference_date_1
165997 ,xet.reference_date_2
165998 ,xet.reference_date_3
165999 ,xet.reference_date_4
166000 ,xet.event_created_by
166001 ,xet.budgetary_control_flag
166002 , l1.LINE_NUMBER
166003 , l1.AID_DIST_CCID source_30
166004 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
166005 , fvl33.meaning source_33_meaning
166006 , l1.AWT_RELATED_DIST_ACCOUNT source_43
166007 , l1.POD_CCID source_45
166008 , l1.PO_VARIANCE_ACCOUNT source_46
166009 , l4.TAX_ACCOUNT_CCID source_51
166010 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
166011 , l1.DISTRIBUTION_LINK_TYPE source_54
166012 , l1.AI_INVOICE_CURRENCY_CODE source_66
166013 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
166014 , fvl79.meaning source_79_meaning
166015 , l4.TAX_LINE_ID source_85
166016 , l4.SUMMARY_TAX_LINE_ID source_87
166017 , l1.BUS_FLOW_AP_APP_ID source_90
166018 , l1.BUS_FLOW_INV_DIST_TYPE source_91
166019 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
166020 , l1.BUS_FLOW_INV_DIST_ID source_93
166021 , l1.BUS_FLOW_INV_ID source_94
166022 , l1.APHD_PAY_DIST_LOOKUP_CODE source_97
166023 , fvl97.meaning source_97_meaning
166024 , l1.APHD_AMOUNT source_98
166025 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_99
166026 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_100
166027 , l1.BUS_FLOW_PAYMENT_DIST_ID source_101
166028 , l1.BUS_FLOW_PAYMENT_ID source_102
166029 , l1.APHD_PAYMENT_HIST_DIST_ID source_103
166030 , l1.APHD_CLEARING_BASE_AMT source_108
166031 , l1.APHD_REV_PAY_HIST_DIST_ID source_111
166032 , l1.APHD_PAYMENT_BASE_AMT source_115
166033 , l1.APHD_INVOICE_BASE_AMT source_116
166034 , l1.BUS_FLOW_PAYMENT_MAT_DIST_ID source_120
166035 , l1.APHD_MATURED_BASE_AMOUNT source_121
166036 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_125
166037 , fvl125.meaning source_125_meaning
166038 , l1.INV_EXCHANGE_DATE source_136
166039 , l1.INV_EXCHANGE_RATE source_137
166040 , l1.INV_EXCHANGE_RATE_TYPE source_138
166041 , l1.INV_CLR_GAIN_LOSS_INDICATOR source_148
166042 , l1.INV_CLR_BASE_AMT_DIFF source_149
166043 , l1.MAT_CLR_GAIN_LOSS_INDICATOR source_153
166044 , l1.MAT_CLR_BASE_AMT_DIFF source_154
166045 , l1.PMT_CLR_GAIN_LOSS_INDICATOR source_156
166049 , l1.AWT_AT_PMT_TIME source_161
166046 , l1.PMT_CLR_BASE_AMT_DIFF source_157
166047 , l1.AI_INVOICE_TYPE_PAID source_160
166048 , fvl160.meaning source_160_meaning
166050 , fvl161.meaning source_161_meaning
166051 FROM xla_events_gt xet
166052 , AP_PAYMENT_EXTRACT_DETAILS_V l1
166053 , ZX_AP_DEF_TAX_EXTRACT_V l4
166054 , fnd_lookup_values fvl33
166055 , fnd_lookup_values fvl79
166056 , fnd_lookup_values fvl97
166057 , fnd_lookup_values fvl125
166058 , fnd_lookup_values fvl160
166059 , fnd_lookup_values fvl161
166060 WHERE xet.event_id between x_first_event_id and x_last_event_id
166061 and xet.event_date between p_pad_start_date and p_pad_end_date
166062 and xet.event_class_code = C_EVENT_CLASS_CODE
166063 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
166064 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
166065 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
166066 AND fvl33.view_application_id(+) = 200
166067 AND fvl33.language(+) = USERENV('LANG')
166068 AND fvl79.lookup_type(+) = 'YES_NO'
166069 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
166070 AND fvl79.view_application_id(+) = 0
166071 AND fvl79.language(+) = USERENV('LANG')
166072 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
166073 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
166074 AND fvl97.view_application_id(+) = 200
166075 AND fvl97.language(+) = USERENV('LANG')
166076 AND fvl125.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
166077 AND fvl125.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
166078 AND fvl125.view_application_id(+) = 0
166079 AND fvl125.language(+) = USERENV('LANG')
166080 AND fvl160.lookup_type(+) = 'INVOICE TYPE'
166081 AND fvl160.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
166082 AND fvl160.view_application_id(+) = 200
166083 AND fvl160.language(+) = USERENV('LANG')
166084 AND fvl161.lookup_type(+) = 'YES_NO'
166085 AND fvl161.lookup_code(+) = l1.AWT_AT_PMT_TIME
166086 AND fvl161.view_application_id(+) = 0
166087 AND fvl161.language(+) = USERENV('LANG')
166088 ;
166089
166090 --
166091 BEGIN
166092 IF g_log_enabled THEN
166093 l_log_module := C_DEFAULT_MODULE||'.EventClass_233';
166094 END IF;
166095 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166096 trace
166097 (p_msg => 'BEGIN of EventClass_233'
166098 ,p_level => C_LEVEL_PROCEDURE
166099 ,p_module => l_log_module);
166100 END IF;
166101
166102 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166103 trace
166104 (p_msg => 'p_application_id = '||p_application_id||
166105 ' - p_base_ledger_id = '||p_base_ledger_id||
166106 ' - p_target_ledger_id = '||p_target_ledger_id||
166107 ' - p_language = '||p_language||
166108 ' - p_currency_code = '||p_currency_code||
166109 ' - p_sla_ledger_id = '||p_sla_ledger_id
166110 ,p_level => C_LEVEL_STATEMENT
166111 ,p_module => l_log_module);
166112 END IF;
166113 --
166114 -- initialze arrays
166115 --
166116 g_array_event.DELETE;
166117 l_rec_array_event := l_null_rec_array_event;
166118 --
166119 --------------------------------------
166120 -- 4262811 Initialze MPA Line Number
166121 --------------------------------------
166122 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
166123
166124 --
166125
166126 --
166127 OPEN header_cur;
166128 --
166129 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166130 trace
166131 (p_msg => 'SQL - FETCH header_cur'
166132 ,p_level => C_LEVEL_STATEMENT
166133 ,p_module => l_log_module);
166134 END IF;
166135 --
166136 LOOP
166137 FETCH header_cur BULK COLLECT INTO
166138 l_array_entity_id
166139 , l_array_legal_entity_id
166140 , l_array_entity_code
166141 , l_array_transaction_num
166142 , l_array_event_id
166143 , l_array_class_code
166144 , l_array_event_type
166145 , l_array_event_number
166146 , l_array_event_date
166147 , l_array_transaction_date
166148 , l_array_reference_num_1
166149 , l_array_reference_num_2
166150 , l_array_reference_num_3
166151 , l_array_reference_num_4
166152 , l_array_reference_char_1
166153 , l_array_reference_char_2
166154 , l_array_reference_char_3
166155 , l_array_reference_char_4
166156 , l_array_reference_date_1
166157 , l_array_reference_date_2
166158 , l_array_reference_date_3
166159 , l_array_reference_date_4
166160 , l_array_event_created_by
166161 , l_array_budgetary_control_flag
166162 , l_array_source_6
166163 , l_array_source_9
166164 , l_array_source_10
166165 , l_array_source_11
166166 , l_array_source_12
166167 , l_array_source_13
166168 , l_array_source_14
166169 , l_array_source_15
166170 , l_array_source_15_meaning
166171 , l_array_source_16
166172 , l_array_source_17
166173 , l_array_source_18
166174 , l_array_source_19
166175 , l_array_source_19_meaning
166176 , l_array_source_28
166177 , l_array_source_29
166178 , l_array_source_36
166179 , l_array_source_37
166180 , l_array_source_38
166181 , l_array_source_39
166182 , l_array_source_44
166183 , l_array_source_47
166184 , l_array_source_47_meaning
166185 , l_array_source_48
166186 , l_array_source_82
166187 , l_array_source_96
166188 , l_array_source_104
166189 , l_array_source_105
166190 , l_array_source_106
166191 , l_array_source_107
166195 , l_array_source_113
166192 , l_array_source_109
166193 , l_array_source_110
166194 , l_array_source_112
166196 , l_array_source_113_meaning
166197 , l_array_source_114
166198 , l_array_source_117
166199 , l_array_source_118
166200 , l_array_source_119
166201 , l_array_source_122
166202 , l_array_source_122_meaning
166203 , l_array_source_170
166204 , l_array_source_171
166205 LIMIT l_rows;
166206 --
166207 IF (C_LEVEL_EVENT >= g_log_level) THEN
166208 trace
166209 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
166210 ,p_level => C_LEVEL_EVENT
166211 ,p_module => l_log_module);
166212 END IF;
166213 --
166214 EXIT WHEN l_array_entity_id.COUNT = 0;
166215
166216 -- initialize arrays
166217 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
166218 XLA_AE_LINES_PKG.g_rec_lines := NULL;
166219
166220 --
166221 -- Bug 4458708
166222 --
166223 XLA_AE_LINES_PKG.g_LineNumber := 0;
166224
166225
166226 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
166227 g_last_hdr_idx := l_array_event_id.LAST;
166228 --
166229 -- loop for the headers. Each iteration is for each header extract row
166230 -- fetched in header cursor
166231 --
166232 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
166233
166234 --
166235 -- set event info as cache for other routines to refer event attributes
166236 --
166237 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166238 (p_application_id => p_application_id
166239 ,p_primary_ledger_id => p_primary_ledger_id
166240 ,p_base_ledger_id => p_base_ledger_id
166241 ,p_target_ledger_id => p_target_ledger_id
166242 ,p_entity_id => l_array_entity_id(hdr_idx)
166243 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
166244 ,p_entity_code => l_array_entity_code(hdr_idx)
166245 ,p_transaction_num => l_array_transaction_num(hdr_idx)
166246 ,p_event_id => l_array_event_id(hdr_idx)
166247 ,p_event_class_code => l_array_class_code(hdr_idx)
166248 ,p_event_type_code => l_array_event_type(hdr_idx)
166249 ,p_event_number => l_array_event_number(hdr_idx)
166250 ,p_event_date => l_array_event_date(hdr_idx)
166251 ,p_transaction_date => l_array_transaction_date(hdr_idx)
166252 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
166253 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
166254 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
166255 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
166256 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
166257 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
166258 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
166259 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
166260 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
166261 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
166262 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
166263 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
166264 ,p_event_created_by => l_array_event_created_by(hdr_idx)
166265 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
166266
166267 --
166268 -- set the status of entry to C_VALID (0)
166269 --
166270 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166271
166272 --
166273 -- initialize a row for ae header
166274 --
166275 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
166276
166277 l_event_id := l_array_event_id(hdr_idx);
166278
166279 --
166280 -- storing the hdr_idx for event. May be used by line cursor.
166281 --
166282 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
166283
166284 --
166285 -- store sources from header extract. This can be improved to
166286 -- store only those sources from header extract that may be used in lines
166287 --
166288
166289 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
166290 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
166291 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
166292 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
166293 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
166294 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
166295 g_array_event(l_event_id).array_value_num('source_14') := l_array_source_14(hdr_idx);
166296 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
166297 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
166298 g_array_event(l_event_id).array_value_num('source_16') := l_array_source_16(hdr_idx);
166299 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
166300 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
166301 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
166302 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
166303 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
166304 g_array_event(l_event_id).array_value_char('source_29') := l_array_source_29(hdr_idx);
166305 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
166306 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
166307 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
166308 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
166312 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
166309 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
166310 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
166311 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
166313 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
166314 g_array_event(l_event_id).array_value_char('source_96') := l_array_source_96(hdr_idx);
166315 g_array_event(l_event_id).array_value_char('source_104') := l_array_source_104(hdr_idx);
166316 g_array_event(l_event_id).array_value_date('source_105') := l_array_source_105(hdr_idx);
166317 g_array_event(l_event_id).array_value_num('source_106') := l_array_source_106(hdr_idx);
166318 g_array_event(l_event_id).array_value_char('source_107') := l_array_source_107(hdr_idx);
166319 g_array_event(l_event_id).array_value_num('source_109') := l_array_source_109(hdr_idx);
166320 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
166321 g_array_event(l_event_id).array_value_num('source_112') := l_array_source_112(hdr_idx);
166322 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
166323 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
166324 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
166325 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
166326 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
166327 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
166328 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
166329 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
166330 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
166331 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
166332
166333 --
166334 -- initilaize the status of ae headers for diffrent balance types
166335 -- the status is initialised to C_NOT_CREATED (2)
166336 --
166337 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166338 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166339 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166340
166341 --
166342 -- call api to validate and store accounting attributes for header
166343 --
166344
166345 ------------------------------------------------------------
166346 -- Accrual Reversal : to get date for Standard Source (NONE)
166347 ------------------------------------------------------------
166348 l_acc_rev_gl_date_source := NULL;
166349
166350 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
166351 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
166352 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
166353 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
166354 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
166355 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
166356 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
166357 l_rec_acct_attrs.array_date_value(4) :=
166358 xla_ae_sources_pkg.GetSystemSourceDate(
166359 p_source_code => 'XLA_EVENT_DATE'
166360 , p_source_type_code => 'Y'
166361 , p_source_application_id => 602
166362 );
166363
166364
166365 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
166366
166367 XLA_AE_HEADER_PKG.SetJeCategoryName;
166368
166369 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
166370 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
166371 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
166372 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
166373 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
166374
166375
166376 --
166377 xla_ae_header_pkg.SetHdrDescription(
166378 p_description => Description_3 (
166379 p_application_id => p_application_id
166380 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
166381 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
166382 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
166383 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
166384 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
166385 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166386 )
166387 );
166388 --
166389
166390 -- No header level analytical criteria
166391
166392 --
166393 --accounting attribute enhancement, bug 3612931
166394 --
166395 l_trx_reversal_source := SUBSTR(NULL, 1,30);
166396
166397 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
166398 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166399
166400 xla_accounting_err_pkg.build_message
166401 (p_appli_s_name => 'XLA'
166402 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
166403 ,p_token_1 => 'ACCT_ATTR_NAME'
166404 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
166405 ,p_token_2 => 'PRODUCT_NAME'
166406 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166407 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166408 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166412 --
166409 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166410
166411 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
166413 -- following sets the accounting attributes needed to reverse
166414 -- accounting for a distributeion
166415 --
166416 xla_ae_lines_pkg.SetTrxReversalAttrs
166417 (p_event_id => l_event_id
166418 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
166419 ,p_trx_reversal_source => l_trx_reversal_source);
166420
166421 END IF;
166422
166423
166424 ----------------------------------------------------------------
166425 -- 4262811 - update the header statuses to invalid in need be
166426 ----------------------------------------------------------------
166427 --
166428 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
166429
166430
166431 -----------------------------------------------
166432 -- No accrual reversal for the event class/type
166433 -----------------------------------------------
166434 ----------------------------------------------------------------
166435
166436 --
166437 -- this ends the header loop iteration for one bulk fetch
166438 --
166439 END LOOP;
166440
166441 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
166442 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
166443
166444 --
166445 -- insert dummy rows into lines gt table that were created due to
166446 -- transaction reversals
166447 --
166448 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
166449 l_result := XLA_AE_LINES_PKG.InsertLines;
166450 END IF;
166451
166452 --
166453 -- reset the temp_line_num for each set of events fetched from header
166454 -- cursor rather than doing it for each new event in line cursor
166455 -- Bug 3939231
166456 --
166457 xla_ae_lines_pkg.g_temp_line_num := 0;
166458
166459
166460
166461 --
166462 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
166463 --
166464 --
166465 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166466
166467 trace
166468 (p_msg => 'SQL - FETCH line_cur'
166469 ,p_level => C_LEVEL_STATEMENT
166470 ,p_module => l_log_module);
166471
166472 END IF;
166473 --
166474 --
166475 LOOP
166476 --
166477 FETCH line_cur BULK COLLECT INTO
166478 l_array_entity_id
166479 , l_array_legal_entity_id
166480 , l_array_entity_code
166481 , l_array_transaction_num
166482 , l_array_event_id
166483 , l_array_class_code
166484 , l_array_event_type
166485 , l_array_event_number
166486 , l_array_event_date
166487 , l_array_transaction_date
166488 , l_array_reference_num_1
166489 , l_array_reference_num_2
166490 , l_array_reference_num_3
166491 , l_array_reference_num_4
166492 , l_array_reference_char_1
166493 , l_array_reference_char_2
166494 , l_array_reference_char_3
166495 , l_array_reference_char_4
166496 , l_array_reference_date_1
166497 , l_array_reference_date_2
166498 , l_array_reference_date_3
166499 , l_array_reference_date_4
166500 , l_array_event_created_by
166501 , l_array_budgetary_control_flag
166502 , l_array_extract_line_num
166503 , l_array_source_30
166504 , l_array_source_33
166505 , l_array_source_33_meaning
166506 , l_array_source_43
166507 , l_array_source_45
166508 , l_array_source_46
166509 , l_array_source_51
166510 , l_array_source_52
166511 , l_array_source_54
166512 , l_array_source_66
166513 , l_array_source_79
166514 , l_array_source_79_meaning
166515 , l_array_source_85
166516 , l_array_source_87
166517 , l_array_source_90
166518 , l_array_source_91
166519 , l_array_source_92
166520 , l_array_source_93
166521 , l_array_source_94
166522 , l_array_source_97
166523 , l_array_source_97_meaning
166524 , l_array_source_98
166525 , l_array_source_99
166526 , l_array_source_100
166527 , l_array_source_101
166528 , l_array_source_102
166529 , l_array_source_103
166530 , l_array_source_108
166531 , l_array_source_111
166532 , l_array_source_115
166533 , l_array_source_116
166534 , l_array_source_120
166535 , l_array_source_121
166536 , l_array_source_125
166537 , l_array_source_125_meaning
166538 , l_array_source_136
166539 , l_array_source_137
166540 , l_array_source_138
166541 , l_array_source_148
166542 , l_array_source_149
166543 , l_array_source_153
166544 , l_array_source_154
166545 , l_array_source_156
166546 , l_array_source_157
166547 , l_array_source_160
166548 , l_array_source_160_meaning
166549 , l_array_source_161
166550 , l_array_source_161_meaning
166551 LIMIT l_rows;
166552
166553 --
166554 IF (C_LEVEL_EVENT >= g_log_level) THEN
166555 trace
166556 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
166557 ,p_level => C_LEVEL_EVENT
166558 ,p_module => l_log_module);
166559 END IF;
166560 --
166561 EXIT WHEN l_array_entity_id.count = 0;
166562
166563 XLA_AE_LINES_PKG.g_rec_lines := null;
166564
166565 --
166566 -- Bug 4458708
166567 --
166568 XLA_AE_LINES_PKG.g_LineNumber := 0;
166569 --
166570 --
166571
166572 FOR Idx IN 1..l_array_event_id.count LOOP
166573 --
166577
166574 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
166575 --
166576 l_event_id := l_array_event_id(idx); -- 5648433
166578 --
166579 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
166580 --
166581
166582 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
166583 (g_array_event(l_event_id).array_value_num('header_index'))
166584 ,'N'
166585 ) <> 'Y'
166586 THEN
166587 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166588 trace
166589 (p_msg => 'Trancaction revesal option is not Y '
166590 ,p_level => C_LEVEL_STATEMENT
166591 ,p_module => l_log_module);
166592 END IF;
166593
166594 --
166595 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
166596 --
166597 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166598 --
166599 -- set event info as cache for other routines to refer event attributes
166600 --
166601
166602 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
166603 l_previous_event_id := l_event_id;
166604
166605 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166606 (p_application_id => p_application_id
166607 ,p_primary_ledger_id => p_primary_ledger_id
166608 ,p_base_ledger_id => p_base_ledger_id
166609 ,p_target_ledger_id => p_target_ledger_id
166610 ,p_entity_id => l_array_entity_id(Idx)
166611 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
166612 ,p_entity_code => l_array_entity_code(Idx)
166613 ,p_transaction_num => l_array_transaction_num(Idx)
166614 ,p_event_id => l_array_event_id(Idx)
166615 ,p_event_class_code => l_array_class_code(Idx)
166616 ,p_event_type_code => l_array_event_type(Idx)
166617 ,p_event_number => l_array_event_number(Idx)
166618 ,p_event_date => l_array_event_date(Idx)
166619 ,p_transaction_date => l_array_transaction_date(Idx)
166620 ,p_reference_num_1 => l_array_reference_num_1(Idx)
166621 ,p_reference_num_2 => l_array_reference_num_2(Idx)
166622 ,p_reference_num_3 => l_array_reference_num_3(Idx)
166623 ,p_reference_num_4 => l_array_reference_num_4(Idx)
166624 ,p_reference_char_1 => l_array_reference_char_1(Idx)
166625 ,p_reference_char_2 => l_array_reference_char_2(Idx)
166626 ,p_reference_char_3 => l_array_reference_char_3(Idx)
166627 ,p_reference_char_4 => l_array_reference_char_4(Idx)
166628 ,p_reference_date_1 => l_array_reference_date_1(Idx)
166629 ,p_reference_date_2 => l_array_reference_date_2(Idx)
166630 ,p_reference_date_3 => l_array_reference_date_3(Idx)
166631 ,p_reference_date_4 => l_array_reference_date_4(Idx)
166632 ,p_event_created_by => l_array_event_created_by(Idx)
166633 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
166634 --
166635 END IF;
166636
166637
166638
166639 --
166640 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
166641
166642 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
166643
166644 IF l_continue_with_lines THEN
166645 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
166646 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166647
166648 xla_accounting_err_pkg.build_message
166649 (p_appli_s_name => 'XLA'
166650 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
166651 ,p_token_1 => 'LINE_NUMBER'
166652 ,p_value_1 => l_array_extract_line_num(Idx)
166653 ,p_token_2 => 'PRODUCT_NAME'
166654 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166655 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166656 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166657 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166658
166659 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
166660 --
166661 -- following sets the accounting attributes needed to reverse
166662 -- accounting for a distributeion
166663 --
166664
166665 --
166666 -- 5217187
166667 --
166668 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
166669 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
166670 g_array_event(l_event_id).array_value_num('header_index'));
166671 --
166672 --
166673
166674 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
166675 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
166676 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
166677 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_103(Idx);
166678 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
166679 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
166680 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
166681 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_82');
166682 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
166683 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_111(Idx);
166684 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
166685 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_54(Idx);
166686 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
166690 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
166687 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_85(Idx);
166688 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
166689 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_85(Idx);
166691 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_87(Idx);
166692
166693
166694 xla_ae_lines_pkg.SetAcctReversalAttrs
166695 (p_event_id => l_event_id
166696 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
166697 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166698 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
166699 END IF;
166700
166701 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
166702 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
166703
166704 --
166705 AcctLineType_58 (
166706 p_application_id => p_application_id
166707 ,p_event_id => l_event_id
166708 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166709 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166710 ,p_actual_flag => l_actual_flag
166711 ,p_balance_type_code => l_balance_type_code
166712 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166713
166714 , p_source_14 => g_array_event(l_event_id).array_value_num('source_14')
166715 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166716 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166717 , p_source_30 => l_array_source_30(Idx)
166718 , p_source_52 => l_array_source_52(Idx)
166719 , p_source_54 => l_array_source_54(Idx)
166720 , p_source_79 => l_array_source_79(Idx)
166721 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166722 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166723 , p_source_85 => l_array_source_85(Idx)
166724 , p_source_87 => l_array_source_87(Idx)
166725 , p_source_90 => l_array_source_90(Idx)
166726 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166727 , p_source_97 => l_array_source_97(Idx)
166728 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166729 , p_source_98 => l_array_source_98(Idx)
166730 , p_source_99 => l_array_source_99(Idx)
166731 , p_source_100 => l_array_source_100(Idx)
166732 , p_source_101 => l_array_source_101(Idx)
166733 , p_source_102 => l_array_source_102(Idx)
166734 , p_source_103 => l_array_source_103(Idx)
166735 , p_source_104 => g_array_event(l_event_id).array_value_char('source_104')
166736 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
166737 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
166738 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
166739 , p_source_108 => l_array_source_108(Idx)
166740 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
166741 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166742 , p_source_111 => l_array_source_111(Idx)
166743 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
166744 );
166745 If(l_balance_type_code = 'A') THEN
166746 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166747 END IF;
166748
166749 --
166750
166751
166752 --
166753 AcctLineType_59 (
166754 p_application_id => p_application_id
166755 ,p_event_id => l_event_id
166756 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166757 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166758 ,p_actual_flag => l_actual_flag
166759 ,p_balance_type_code => l_balance_type_code
166760 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166761
166762 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166763 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166764 , p_source_16 => g_array_event(l_event_id).array_value_num('source_16')
166765 , p_source_30 => l_array_source_30(Idx)
166766 , p_source_52 => l_array_source_52(Idx)
166767 , p_source_54 => l_array_source_54(Idx)
166768 , p_source_79 => l_array_source_79(Idx)
166769 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166770 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166771 , p_source_85 => l_array_source_85(Idx)
166772 , p_source_87 => l_array_source_87(Idx)
166773 , p_source_90 => l_array_source_90(Idx)
166774 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166775 , p_source_97 => l_array_source_97(Idx)
166776 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166777 , p_source_98 => l_array_source_98(Idx)
166778 , p_source_99 => l_array_source_99(Idx)
166779 , p_source_100 => l_array_source_100(Idx)
166780 , p_source_101 => l_array_source_101(Idx)
166781 , p_source_102 => l_array_source_102(Idx)
166782 , p_source_103 => l_array_source_103(Idx)
166783 , p_source_104 => g_array_event(l_event_id).array_value_char('source_104')
166784 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
166785 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
166786 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
166787 , p_source_108 => l_array_source_108(Idx)
166788 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
166789 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166790 , p_source_111 => l_array_source_111(Idx)
166791 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
166792 );
166793 If(l_balance_type_code = 'A') THEN
166794 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166795 END IF;
166796
166797 --
166798
166799
166800 --
166801 AcctLineType_60 (
166802 p_application_id => p_application_id
166803 ,p_event_id => l_event_id
166804 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166805 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166806 ,p_actual_flag => l_actual_flag
166807 ,p_balance_type_code => l_balance_type_code
166808 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166809
166813 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
166810 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166811 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166812 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166814 , p_source_52 => l_array_source_52(Idx)
166815 , p_source_54 => l_array_source_54(Idx)
166816 , p_source_79 => l_array_source_79(Idx)
166817 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166818 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166819 , p_source_85 => l_array_source_85(Idx)
166820 , p_source_87 => l_array_source_87(Idx)
166821 , p_source_90 => l_array_source_90(Idx)
166822 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166823 , p_source_97 => l_array_source_97(Idx)
166824 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166825 , p_source_98 => l_array_source_98(Idx)
166826 , p_source_99 => l_array_source_99(Idx)
166827 , p_source_100 => l_array_source_100(Idx)
166828 , p_source_101 => l_array_source_101(Idx)
166829 , p_source_102 => l_array_source_102(Idx)
166830 , p_source_103 => l_array_source_103(Idx)
166831 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
166832 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
166833 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
166834 , p_source_108 => l_array_source_108(Idx)
166835 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
166836 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166837 , p_source_111 => l_array_source_111(Idx)
166838 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
166839 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
166840 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
166841 );
166842 If(l_balance_type_code = 'A') THEN
166843 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166844 END IF;
166845
166846 --
166847
166848
166849 --
166850 AcctLineType_61 (
166851 p_application_id => p_application_id
166852 ,p_event_id => l_event_id
166853 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166854 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166855 ,p_actual_flag => l_actual_flag
166856 ,p_balance_type_code => l_balance_type_code
166857 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166858
166859 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166860 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166861 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166862 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
166863 , p_source_52 => l_array_source_52(Idx)
166864 , p_source_54 => l_array_source_54(Idx)
166865 , p_source_79 => l_array_source_79(Idx)
166866 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166867 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166868 , p_source_85 => l_array_source_85(Idx)
166869 , p_source_87 => l_array_source_87(Idx)
166870 , p_source_90 => l_array_source_90(Idx)
166871 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166872 , p_source_97 => l_array_source_97(Idx)
166873 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166874 , p_source_98 => l_array_source_98(Idx)
166875 , p_source_99 => l_array_source_99(Idx)
166876 , p_source_100 => l_array_source_100(Idx)
166877 , p_source_101 => l_array_source_101(Idx)
166878 , p_source_102 => l_array_source_102(Idx)
166879 , p_source_103 => l_array_source_103(Idx)
166880 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
166881 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
166882 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
166883 , p_source_108 => l_array_source_108(Idx)
166884 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
166885 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166886 , p_source_111 => l_array_source_111(Idx)
166887 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
166888 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
166889 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
166890 );
166891 If(l_balance_type_code = 'A') THEN
166892 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166893 END IF;
166894
166895 --
166896
166897
166898 --
166899 AcctLineType_62 (
166900 p_application_id => p_application_id
166901 ,p_event_id => l_event_id
166902 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166903 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166904 ,p_actual_flag => l_actual_flag
166905 ,p_balance_type_code => l_balance_type_code
166906 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166907
166908 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166909 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
166910 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
166911 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
166912 , p_source_52 => l_array_source_52(Idx)
166913 , p_source_54 => l_array_source_54(Idx)
166914 , p_source_79 => l_array_source_79(Idx)
166915 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166916 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166917 , p_source_85 => l_array_source_85(Idx)
166918 , p_source_87 => l_array_source_87(Idx)
166919 , p_source_90 => l_array_source_90(Idx)
166920 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166921 , p_source_97 => l_array_source_97(Idx)
166922 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166923 , p_source_98 => l_array_source_98(Idx)
166924 , p_source_99 => l_array_source_99(Idx)
166928 , p_source_103 => l_array_source_103(Idx)
166925 , p_source_100 => l_array_source_100(Idx)
166926 , p_source_101 => l_array_source_101(Idx)
166927 , p_source_102 => l_array_source_102(Idx)
166929 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
166930 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
166931 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
166932 , p_source_108 => l_array_source_108(Idx)
166933 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
166934 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166935 , p_source_111 => l_array_source_111(Idx)
166936 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
166937 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
166938 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
166939 );
166940 If(l_balance_type_code = 'A') THEN
166941 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166942 END IF;
166943
166944 --
166945
166946
166947 --
166948 AcctLineType_63 (
166949 p_application_id => p_application_id
166950 ,p_event_id => l_event_id
166951 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166952 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166953 ,p_actual_flag => l_actual_flag
166954 ,p_balance_type_code => l_balance_type_code
166955 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166956
166957 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166958 , p_source_52 => l_array_source_52(Idx)
166959 , p_source_54 => l_array_source_54(Idx)
166960 , p_source_79 => l_array_source_79(Idx)
166961 , p_source_79_meaning => l_array_source_79_meaning(Idx)
166962 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
166963 , p_source_85 => l_array_source_85(Idx)
166964 , p_source_87 => l_array_source_87(Idx)
166965 , p_source_90 => l_array_source_90(Idx)
166966 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
166967 , p_source_97 => l_array_source_97(Idx)
166968 , p_source_97_meaning => l_array_source_97_meaning(Idx)
166969 , p_source_98 => l_array_source_98(Idx)
166970 , p_source_99 => l_array_source_99(Idx)
166971 , p_source_100 => l_array_source_100(Idx)
166972 , p_source_101 => l_array_source_101(Idx)
166973 , p_source_102 => l_array_source_102(Idx)
166974 , p_source_103 => l_array_source_103(Idx)
166975 , p_source_111 => l_array_source_111(Idx)
166976 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
166977 , p_source_115 => l_array_source_115(Idx)
166978 );
166979 If(l_balance_type_code = 'A') THEN
166980 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166981 END IF;
166982
166983 --
166984
166985
166986 --
166987 AcctLineType_64 (
166988 p_application_id => p_application_id
166989 ,p_event_id => l_event_id
166990 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166991 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166992 ,p_actual_flag => l_actual_flag
166993 ,p_balance_type_code => l_balance_type_code
166994 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166995
166996 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166997 , p_source_52 => l_array_source_52(Idx)
166998 , p_source_54 => l_array_source_54(Idx)
166999 , p_source_79 => l_array_source_79(Idx)
167000 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167001 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167002 , p_source_85 => l_array_source_85(Idx)
167003 , p_source_87 => l_array_source_87(Idx)
167004 , p_source_90 => l_array_source_90(Idx)
167005 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167006 , p_source_97 => l_array_source_97(Idx)
167007 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167008 , p_source_98 => l_array_source_98(Idx)
167009 , p_source_99 => l_array_source_99(Idx)
167010 , p_source_100 => l_array_source_100(Idx)
167011 , p_source_101 => l_array_source_101(Idx)
167012 , p_source_102 => l_array_source_102(Idx)
167013 , p_source_103 => l_array_source_103(Idx)
167014 , p_source_111 => l_array_source_111(Idx)
167015 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167016 , p_source_116 => l_array_source_116(Idx)
167017 );
167018 If(l_balance_type_code = 'A') THEN
167019 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167020 END IF;
167021
167022 --
167023
167024
167025 --
167026 AcctLineType_67 (
167027 p_application_id => p_application_id
167028 ,p_event_id => l_event_id
167029 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167030 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167031 ,p_actual_flag => l_actual_flag
167032 ,p_balance_type_code => l_balance_type_code
167033 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167034
167035 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167036 , p_source_52 => l_array_source_52(Idx)
167037 , p_source_54 => l_array_source_54(Idx)
167038 , p_source_79 => l_array_source_79(Idx)
167039 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167040 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167041 , p_source_85 => l_array_source_85(Idx)
167042 , p_source_87 => l_array_source_87(Idx)
167043 , p_source_90 => l_array_source_90(Idx)
167044 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167045 , p_source_97 => l_array_source_97(Idx)
167046 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167047 , p_source_98 => l_array_source_98(Idx)
167048 , p_source_99 => l_array_source_99(Idx)
167049 , p_source_100 => l_array_source_100(Idx)
167050 , p_source_102 => l_array_source_102(Idx)
167051 , p_source_103 => l_array_source_103(Idx)
167052 , p_source_111 => l_array_source_111(Idx)
167053 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167054 , p_source_120 => l_array_source_120(Idx)
167058 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167055 , p_source_121 => l_array_source_121(Idx)
167056 );
167057 If(l_balance_type_code = 'A') THEN
167059 END IF;
167060
167061 --
167062
167063
167064 --
167065 AcctLineType_93 (
167066 p_application_id => p_application_id
167067 ,p_event_id => l_event_id
167068 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167069 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167070 ,p_actual_flag => l_actual_flag
167071 ,p_balance_type_code => l_balance_type_code
167072 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167073
167074 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167075 , p_source_33 => l_array_source_33(Idx)
167076 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167077 , p_source_51 => l_array_source_51(Idx)
167078 , p_source_52 => l_array_source_52(Idx)
167079 , p_source_54 => l_array_source_54(Idx)
167080 , p_source_79 => l_array_source_79(Idx)
167081 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167082 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167083 , p_source_85 => l_array_source_85(Idx)
167084 , p_source_87 => l_array_source_87(Idx)
167085 , p_source_90 => l_array_source_90(Idx)
167086 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167087 , p_source_97 => l_array_source_97(Idx)
167088 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167089 , p_source_98 => l_array_source_98(Idx)
167090 , p_source_99 => l_array_source_99(Idx)
167091 , p_source_100 => l_array_source_100(Idx)
167092 , p_source_101 => l_array_source_101(Idx)
167093 , p_source_102 => l_array_source_102(Idx)
167094 , p_source_103 => l_array_source_103(Idx)
167095 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167096 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167097 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167098 , p_source_108 => l_array_source_108(Idx)
167099 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167100 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167101 , p_source_111 => l_array_source_111(Idx)
167102 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167103 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167104 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167105 , p_source_125 => l_array_source_125(Idx)
167106 , p_source_125_meaning => l_array_source_125_meaning(Idx)
167107 );
167108 If(l_balance_type_code = 'A') THEN
167109 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167110 END IF;
167111
167112 --
167113
167114
167115 --
167116 AcctLineType_94 (
167117 p_application_id => p_application_id
167118 ,p_event_id => l_event_id
167119 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167120 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167121 ,p_actual_flag => l_actual_flag
167122 ,p_balance_type_code => l_balance_type_code
167123 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167124
167125 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167126 , p_source_33 => l_array_source_33(Idx)
167127 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167128 , p_source_52 => l_array_source_52(Idx)
167129 , p_source_54 => l_array_source_54(Idx)
167130 , p_source_79 => l_array_source_79(Idx)
167131 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167132 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167133 , p_source_85 => l_array_source_85(Idx)
167134 , p_source_87 => l_array_source_87(Idx)
167135 , p_source_90 => l_array_source_90(Idx)
167136 , p_source_93 => l_array_source_93(Idx)
167137 , p_source_94 => l_array_source_94(Idx)
167138 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167139 , p_source_97 => l_array_source_97(Idx)
167140 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167141 , p_source_98 => l_array_source_98(Idx)
167142 , p_source_99 => l_array_source_99(Idx)
167143 , p_source_100 => l_array_source_100(Idx)
167144 , p_source_103 => l_array_source_103(Idx)
167145 , p_source_111 => l_array_source_111(Idx)
167146 , p_source_116 => l_array_source_116(Idx)
167147 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167148 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167149 , p_source_125 => l_array_source_125(Idx)
167150 , p_source_125_meaning => l_array_source_125_meaning(Idx)
167151 );
167152 If(l_balance_type_code = 'A') THEN
167153 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167154 END IF;
167155
167156 --
167157
167158
167159 --
167160 AcctLineType_102 (
167161 p_application_id => p_application_id
167162 ,p_event_id => l_event_id
167163 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167164 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167165 ,p_actual_flag => l_actual_flag
167166 ,p_balance_type_code => l_balance_type_code
167167 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167168
167169 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167170 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167171 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
167172 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
167173 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
167174 , p_source_30 => l_array_source_30(Idx)
167175 , p_source_33 => l_array_source_33(Idx)
167176 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167177 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
167178 , p_source_45 => l_array_source_45(Idx)
167179 , p_source_46 => l_array_source_46(Idx)
167180 , p_source_52 => l_array_source_52(Idx)
167181 , p_source_54 => l_array_source_54(Idx)
167185 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167182 , p_source_66 => l_array_source_66(Idx)
167183 , p_source_79 => l_array_source_79(Idx)
167184 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167186 , p_source_85 => l_array_source_85(Idx)
167187 , p_source_87 => l_array_source_87(Idx)
167188 , p_source_90 => l_array_source_90(Idx)
167189 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167190 , p_source_97 => l_array_source_97(Idx)
167191 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167192 , p_source_98 => l_array_source_98(Idx)
167193 , p_source_99 => l_array_source_99(Idx)
167194 , p_source_100 => l_array_source_100(Idx)
167195 , p_source_101 => l_array_source_101(Idx)
167196 , p_source_102 => l_array_source_102(Idx)
167197 , p_source_103 => l_array_source_103(Idx)
167198 , p_source_108 => l_array_source_108(Idx)
167199 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167200 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167201 , p_source_111 => l_array_source_111(Idx)
167202 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167203 , p_source_136 => l_array_source_136(Idx)
167204 , p_source_137 => l_array_source_137(Idx)
167205 , p_source_138 => l_array_source_138(Idx)
167206 );
167207 If(l_balance_type_code = 'A') THEN
167208 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167209 END IF;
167210
167211 --
167212
167213
167214 --
167215 AcctLineType_110 (
167216 p_application_id => p_application_id
167217 ,p_event_id => l_event_id
167218 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167219 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167220 ,p_actual_flag => l_actual_flag
167221 ,p_balance_type_code => l_balance_type_code
167222 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167223
167224 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167225 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167226 , p_source_30 => l_array_source_30(Idx)
167227 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
167228 , p_source_52 => l_array_source_52(Idx)
167229 , p_source_54 => l_array_source_54(Idx)
167230 , p_source_66 => l_array_source_66(Idx)
167231 , p_source_79 => l_array_source_79(Idx)
167232 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167233 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167234 , p_source_85 => l_array_source_85(Idx)
167235 , p_source_87 => l_array_source_87(Idx)
167236 , p_source_90 => l_array_source_90(Idx)
167237 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167238 , p_source_97 => l_array_source_97(Idx)
167239 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167240 , p_source_98 => l_array_source_98(Idx)
167241 , p_source_99 => l_array_source_99(Idx)
167242 , p_source_100 => l_array_source_100(Idx)
167243 , p_source_101 => l_array_source_101(Idx)
167244 , p_source_102 => l_array_source_102(Idx)
167245 , p_source_103 => l_array_source_103(Idx)
167246 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167247 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167248 , p_source_111 => l_array_source_111(Idx)
167249 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167250 , p_source_116 => l_array_source_116(Idx)
167251 , p_source_136 => l_array_source_136(Idx)
167252 , p_source_137 => l_array_source_137(Idx)
167253 , p_source_138 => l_array_source_138(Idx)
167254 );
167255 If(l_balance_type_code = 'A') THEN
167256 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167257 END IF;
167258
167259 --
167260
167261
167262 --
167263 AcctLineType_122 (
167264 p_application_id => p_application_id
167265 ,p_event_id => l_event_id
167266 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167267 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167268 ,p_actual_flag => l_actual_flag
167269 ,p_balance_type_code => l_balance_type_code
167270 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167271
167272 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167273 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167274 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167275 , p_source_30 => l_array_source_30(Idx)
167276 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167277 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167278 , p_source_52 => l_array_source_52(Idx)
167279 , p_source_54 => l_array_source_54(Idx)
167280 , p_source_79 => l_array_source_79(Idx)
167281 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167282 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167283 , p_source_85 => l_array_source_85(Idx)
167284 , p_source_87 => l_array_source_87(Idx)
167285 , p_source_90 => l_array_source_90(Idx)
167286 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167287 , p_source_97 => l_array_source_97(Idx)
167288 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167289 , p_source_98 => l_array_source_98(Idx)
167290 , p_source_99 => l_array_source_99(Idx)
167291 , p_source_100 => l_array_source_100(Idx)
167292 , p_source_101 => l_array_source_101(Idx)
167293 , p_source_102 => l_array_source_102(Idx)
167294 , p_source_103 => l_array_source_103(Idx)
167295 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167296 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167297 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167298 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167299 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167300 , p_source_111 => l_array_source_111(Idx)
167301 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167302 , p_source_148 => l_array_source_148(Idx)
167306 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167303 , p_source_149 => l_array_source_149(Idx)
167304 );
167305 If(l_balance_type_code = 'A') THEN
167307 END IF;
167308
167309 --
167310
167311
167312 --
167313 AcctLineType_123 (
167314 p_application_id => p_application_id
167315 ,p_event_id => l_event_id
167316 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167317 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167318 ,p_actual_flag => l_actual_flag
167319 ,p_balance_type_code => l_balance_type_code
167320 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167321
167322 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167323 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167324 , p_source_30 => l_array_source_30(Idx)
167325 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167326 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167327 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167328 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167329 , p_source_52 => l_array_source_52(Idx)
167330 , p_source_54 => l_array_source_54(Idx)
167331 , p_source_79 => l_array_source_79(Idx)
167332 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167333 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167334 , p_source_85 => l_array_source_85(Idx)
167335 , p_source_87 => l_array_source_87(Idx)
167336 , p_source_90 => l_array_source_90(Idx)
167337 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167338 , p_source_97 => l_array_source_97(Idx)
167339 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167340 , p_source_98 => l_array_source_98(Idx)
167341 , p_source_99 => l_array_source_99(Idx)
167342 , p_source_100 => l_array_source_100(Idx)
167343 , p_source_101 => l_array_source_101(Idx)
167344 , p_source_102 => l_array_source_102(Idx)
167345 , p_source_103 => l_array_source_103(Idx)
167346 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167347 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167348 , p_source_111 => l_array_source_111(Idx)
167349 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167350 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167351 , p_source_149 => l_array_source_149(Idx)
167352 );
167353 If(l_balance_type_code = 'A') THEN
167354 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167355 END IF;
167356
167357 --
167358
167359
167360 --
167361 AcctLineType_128 (
167362 p_application_id => p_application_id
167363 ,p_event_id => l_event_id
167364 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167365 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167366 ,p_actual_flag => l_actual_flag
167367 ,p_balance_type_code => l_balance_type_code
167368 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167369
167370 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167371 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167372 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167373 , p_source_30 => l_array_source_30(Idx)
167374 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167375 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167376 , p_source_52 => l_array_source_52(Idx)
167377 , p_source_54 => l_array_source_54(Idx)
167378 , p_source_79 => l_array_source_79(Idx)
167379 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167380 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167381 , p_source_85 => l_array_source_85(Idx)
167382 , p_source_87 => l_array_source_87(Idx)
167383 , p_source_90 => l_array_source_90(Idx)
167384 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167385 , p_source_97 => l_array_source_97(Idx)
167386 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167387 , p_source_98 => l_array_source_98(Idx)
167388 , p_source_99 => l_array_source_99(Idx)
167389 , p_source_100 => l_array_source_100(Idx)
167390 , p_source_101 => l_array_source_101(Idx)
167391 , p_source_102 => l_array_source_102(Idx)
167392 , p_source_103 => l_array_source_103(Idx)
167393 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167394 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167395 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167396 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167397 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167398 , p_source_111 => l_array_source_111(Idx)
167399 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167400 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167401 , p_source_153 => l_array_source_153(Idx)
167402 , p_source_154 => l_array_source_154(Idx)
167403 );
167404 If(l_balance_type_code = 'A') THEN
167405 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167406 END IF;
167407
167408 --
167409
167410
167411 --
167412 AcctLineType_130 (
167413 p_application_id => p_application_id
167414 ,p_event_id => l_event_id
167415 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167416 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167417 ,p_actual_flag => l_actual_flag
167418 ,p_balance_type_code => l_balance_type_code
167419 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167420
167421 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167422 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167423 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167424 , p_source_30 => l_array_source_30(Idx)
167425 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167426 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167430 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167427 , p_source_52 => l_array_source_52(Idx)
167428 , p_source_54 => l_array_source_54(Idx)
167429 , p_source_79 => l_array_source_79(Idx)
167431 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167432 , p_source_85 => l_array_source_85(Idx)
167433 , p_source_87 => l_array_source_87(Idx)
167434 , p_source_90 => l_array_source_90(Idx)
167435 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167436 , p_source_97 => l_array_source_97(Idx)
167437 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167438 , p_source_98 => l_array_source_98(Idx)
167439 , p_source_99 => l_array_source_99(Idx)
167440 , p_source_100 => l_array_source_100(Idx)
167441 , p_source_101 => l_array_source_101(Idx)
167442 , p_source_102 => l_array_source_102(Idx)
167443 , p_source_103 => l_array_source_103(Idx)
167444 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167445 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167446 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167447 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167448 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167449 , p_source_111 => l_array_source_111(Idx)
167450 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167451 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167452 , p_source_156 => l_array_source_156(Idx)
167453 , p_source_157 => l_array_source_157(Idx)
167454 );
167455 If(l_balance_type_code = 'A') THEN
167456 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167457 END IF;
167458
167459 --
167460
167461
167462 --
167463 AcctLineType_134 (
167464 p_application_id => p_application_id
167465 ,p_event_id => l_event_id
167466 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167467 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167468 ,p_actual_flag => l_actual_flag
167469 ,p_balance_type_code => l_balance_type_code
167470 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167471
167472 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167473 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
167474 , p_source_29 => g_array_event(l_event_id).array_value_char('source_29')
167475 , p_source_30 => l_array_source_30(Idx)
167476 , p_source_33 => l_array_source_33(Idx)
167477 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167478 , p_source_52 => l_array_source_52(Idx)
167479 , p_source_54 => l_array_source_54(Idx)
167480 , p_source_79 => l_array_source_79(Idx)
167481 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167482 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167483 , p_source_85 => l_array_source_85(Idx)
167484 , p_source_87 => l_array_source_87(Idx)
167485 , p_source_90 => l_array_source_90(Idx)
167486 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167487 , p_source_97 => l_array_source_97(Idx)
167488 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167489 , p_source_98 => l_array_source_98(Idx)
167490 , p_source_99 => l_array_source_99(Idx)
167491 , p_source_100 => l_array_source_100(Idx)
167492 , p_source_101 => l_array_source_101(Idx)
167493 , p_source_102 => l_array_source_102(Idx)
167494 , p_source_103 => l_array_source_103(Idx)
167495 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167496 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167497 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167498 , p_source_108 => l_array_source_108(Idx)
167499 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167500 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167501 , p_source_111 => l_array_source_111(Idx)
167502 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167503 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167504 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167505 , p_source_160 => l_array_source_160(Idx)
167506 , p_source_160_meaning => l_array_source_160_meaning(Idx)
167507 );
167508 If(l_balance_type_code = 'A') THEN
167509 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167510 END IF;
167511
167512 --
167513
167514
167515 --
167516 AcctLineType_143 (
167517 p_application_id => p_application_id
167518 ,p_event_id => l_event_id
167519 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167520 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167521 ,p_actual_flag => l_actual_flag
167522 ,p_balance_type_code => l_balance_type_code
167523 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167524
167525 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167526 , p_source_52 => l_array_source_52(Idx)
167527 , p_source_54 => l_array_source_54(Idx)
167528 , p_source_79 => l_array_source_79(Idx)
167529 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167530 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167531 , p_source_85 => l_array_source_85(Idx)
167532 , p_source_87 => l_array_source_87(Idx)
167533 , p_source_90 => l_array_source_90(Idx)
167534 , p_source_91 => l_array_source_91(Idx)
167535 , p_source_92 => l_array_source_92(Idx)
167536 , p_source_93 => l_array_source_93(Idx)
167537 , p_source_94 => l_array_source_94(Idx)
167538 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167539 , p_source_97 => l_array_source_97(Idx)
167540 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167541 , p_source_98 => l_array_source_98(Idx)
167542 , p_source_103 => l_array_source_103(Idx)
167543 , p_source_111 => l_array_source_111(Idx)
167544 , p_source_116 => l_array_source_116(Idx)
167545 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167549 , p_source_161 => l_array_source_161(Idx)
167546 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167547 , p_source_160 => l_array_source_160(Idx)
167548 , p_source_160_meaning => l_array_source_160_meaning(Idx)
167550 , p_source_161_meaning => l_array_source_161_meaning(Idx)
167551 );
167552 If(l_balance_type_code = 'A') THEN
167553 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167554 END IF;
167555
167556 --
167557
167558
167559 --
167560 AcctLineType_145 (
167561 p_application_id => p_application_id
167562 ,p_event_id => l_event_id
167563 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167564 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167565 ,p_actual_flag => l_actual_flag
167566 ,p_balance_type_code => l_balance_type_code
167567 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167568
167569 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167570 , p_source_52 => l_array_source_52(Idx)
167571 , p_source_54 => l_array_source_54(Idx)
167572 , p_source_79 => l_array_source_79(Idx)
167573 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167574 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167575 , p_source_85 => l_array_source_85(Idx)
167576 , p_source_87 => l_array_source_87(Idx)
167577 , p_source_90 => l_array_source_90(Idx)
167578 , p_source_91 => l_array_source_91(Idx)
167579 , p_source_92 => l_array_source_92(Idx)
167580 , p_source_93 => l_array_source_93(Idx)
167581 , p_source_94 => l_array_source_94(Idx)
167582 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167583 , p_source_97 => l_array_source_97(Idx)
167584 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167585 , p_source_98 => l_array_source_98(Idx)
167586 , p_source_103 => l_array_source_103(Idx)
167587 , p_source_111 => l_array_source_111(Idx)
167588 , p_source_116 => l_array_source_116(Idx)
167589 , p_source_160 => l_array_source_160(Idx)
167590 , p_source_160_meaning => l_array_source_160_meaning(Idx)
167591 );
167592 If(l_balance_type_code = 'A') THEN
167593 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167594 END IF;
167595
167596 --
167597
167598
167599 --
167600 AcctLineType_161 (
167601 p_application_id => p_application_id
167602 ,p_event_id => l_event_id
167603 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167604 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167605 ,p_actual_flag => l_actual_flag
167606 ,p_balance_type_code => l_balance_type_code
167607 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167608
167609 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167610 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167611 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167612 , p_source_30 => l_array_source_30(Idx)
167613 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167614 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167615 , p_source_52 => l_array_source_52(Idx)
167616 , p_source_54 => l_array_source_54(Idx)
167617 , p_source_79 => l_array_source_79(Idx)
167618 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167619 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167620 , p_source_85 => l_array_source_85(Idx)
167621 , p_source_87 => l_array_source_87(Idx)
167622 , p_source_90 => l_array_source_90(Idx)
167623 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167624 , p_source_97 => l_array_source_97(Idx)
167625 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167626 , p_source_98 => l_array_source_98(Idx)
167627 , p_source_99 => l_array_source_99(Idx)
167628 , p_source_100 => l_array_source_100(Idx)
167629 , p_source_101 => l_array_source_101(Idx)
167630 , p_source_102 => l_array_source_102(Idx)
167631 , p_source_103 => l_array_source_103(Idx)
167632 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167633 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167634 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167635 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167636 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167637 , p_source_111 => l_array_source_111(Idx)
167638 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167639 , p_source_148 => l_array_source_148(Idx)
167640 , p_source_149 => l_array_source_149(Idx)
167641 );
167642 If(l_balance_type_code = 'A') THEN
167643 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167644 END IF;
167645
167646 --
167647
167648
167649 --
167650 AcctLineType_162 (
167651 p_application_id => p_application_id
167652 ,p_event_id => l_event_id
167653 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167654 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167655 ,p_actual_flag => l_actual_flag
167656 ,p_balance_type_code => l_balance_type_code
167657 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167658
167659 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167660 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167661 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167662 , p_source_30 => l_array_source_30(Idx)
167663 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167664 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167665 , p_source_52 => l_array_source_52(Idx)
167666 , p_source_54 => l_array_source_54(Idx)
167667 , p_source_79 => l_array_source_79(Idx)
167668 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167669 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167670 , p_source_85 => l_array_source_85(Idx)
167671 , p_source_87 => l_array_source_87(Idx)
167672 , p_source_90 => l_array_source_90(Idx)
167676 , p_source_98 => l_array_source_98(Idx)
167673 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167674 , p_source_97 => l_array_source_97(Idx)
167675 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167677 , p_source_99 => l_array_source_99(Idx)
167678 , p_source_100 => l_array_source_100(Idx)
167679 , p_source_101 => l_array_source_101(Idx)
167680 , p_source_102 => l_array_source_102(Idx)
167681 , p_source_103 => l_array_source_103(Idx)
167682 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167683 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167684 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167685 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167686 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167687 , p_source_111 => l_array_source_111(Idx)
167688 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167689 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167690 , p_source_153 => l_array_source_153(Idx)
167691 , p_source_154 => l_array_source_154(Idx)
167692 );
167693 If(l_balance_type_code = 'A') THEN
167694 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167695 END IF;
167696
167697 --
167698
167699
167700 --
167701 AcctLineType_164 (
167702 p_application_id => p_application_id
167703 ,p_event_id => l_event_id
167704 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167705 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167706 ,p_actual_flag => l_actual_flag
167707 ,p_balance_type_code => l_balance_type_code
167708 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167709
167710 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167711 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167712 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167713 , p_source_30 => l_array_source_30(Idx)
167714 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167715 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167716 , p_source_52 => l_array_source_52(Idx)
167717 , p_source_54 => l_array_source_54(Idx)
167718 , p_source_79 => l_array_source_79(Idx)
167719 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167720 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167721 , p_source_85 => l_array_source_85(Idx)
167722 , p_source_87 => l_array_source_87(Idx)
167723 , p_source_90 => l_array_source_90(Idx)
167724 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167725 , p_source_97 => l_array_source_97(Idx)
167726 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167727 , p_source_98 => l_array_source_98(Idx)
167728 , p_source_99 => l_array_source_99(Idx)
167729 , p_source_100 => l_array_source_100(Idx)
167730 , p_source_101 => l_array_source_101(Idx)
167731 , p_source_102 => l_array_source_102(Idx)
167732 , p_source_103 => l_array_source_103(Idx)
167733 , p_source_105 => g_array_event(l_event_id).array_value_date('source_105')
167734 , p_source_106 => g_array_event(l_event_id).array_value_num('source_106')
167735 , p_source_107 => g_array_event(l_event_id).array_value_char('source_107')
167736 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167737 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167738 , p_source_111 => l_array_source_111(Idx)
167739 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167740 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167741 , p_source_156 => l_array_source_156(Idx)
167742 , p_source_157 => l_array_source_157(Idx)
167743 );
167744 If(l_balance_type_code = 'A') THEN
167745 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167746 END IF;
167747
167748 --
167749
167750
167751 --
167752 AcctLineType_180 (
167753 p_application_id => p_application_id
167754 ,p_event_id => l_event_id
167755 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167756 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167757 ,p_actual_flag => l_actual_flag
167758 ,p_balance_type_code => l_balance_type_code
167759 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167760
167761 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167762 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167763 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167764 , p_source_30 => l_array_source_30(Idx)
167765 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
167766 , p_source_52 => l_array_source_52(Idx)
167767 , p_source_54 => l_array_source_54(Idx)
167768 , p_source_79 => l_array_source_79(Idx)
167769 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167770 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167771 , p_source_85 => l_array_source_85(Idx)
167772 , p_source_87 => l_array_source_87(Idx)
167773 , p_source_90 => l_array_source_90(Idx)
167774 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167775 , p_source_97 => l_array_source_97(Idx)
167776 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167777 , p_source_98 => l_array_source_98(Idx)
167778 , p_source_99 => l_array_source_99(Idx)
167779 , p_source_100 => l_array_source_100(Idx)
167780 , p_source_101 => l_array_source_101(Idx)
167781 , p_source_102 => l_array_source_102(Idx)
167782 , p_source_103 => l_array_source_103(Idx)
167783 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167784 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167785 , p_source_111 => l_array_source_111(Idx)
167786 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167787 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167788 , p_source_115 => l_array_source_115(Idx)
167789 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167793 If(l_balance_type_code = 'A') THEN
167790 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
167791 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
167792 );
167794 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167795 END IF;
167796
167797 --
167798
167799
167800 --
167801 AcctLineType_220 (
167802 p_application_id => p_application_id
167803 ,p_event_id => l_event_id
167804 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167805 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167806 ,p_actual_flag => l_actual_flag
167807 ,p_balance_type_code => l_balance_type_code
167808 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167809
167810 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167811 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167812 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167813 , p_source_30 => l_array_source_30(Idx)
167814 , p_source_43 => l_array_source_43(Idx)
167815 , p_source_52 => l_array_source_52(Idx)
167816 , p_source_54 => l_array_source_54(Idx)
167817 , p_source_79 => l_array_source_79(Idx)
167818 , p_source_79_meaning => l_array_source_79_meaning(Idx)
167819 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
167820 , p_source_85 => l_array_source_85(Idx)
167821 , p_source_87 => l_array_source_87(Idx)
167822 , p_source_90 => l_array_source_90(Idx)
167823 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
167824 , p_source_97 => l_array_source_97(Idx)
167825 , p_source_97_meaning => l_array_source_97_meaning(Idx)
167826 , p_source_98 => l_array_source_98(Idx)
167827 , p_source_99 => l_array_source_99(Idx)
167828 , p_source_100 => l_array_source_100(Idx)
167829 , p_source_101 => l_array_source_101(Idx)
167830 , p_source_102 => l_array_source_102(Idx)
167831 , p_source_103 => l_array_source_103(Idx)
167832 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
167833 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167834 , p_source_111 => l_array_source_111(Idx)
167835 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
167836 , p_source_116 => l_array_source_116(Idx)
167837 , p_source_136 => l_array_source_136(Idx)
167838 , p_source_137 => l_array_source_137(Idx)
167839 , p_source_138 => l_array_source_138(Idx)
167840 , p_source_161 => l_array_source_161(Idx)
167841 , p_source_161_meaning => l_array_source_161_meaning(Idx)
167842 );
167843 If(l_balance_type_code = 'A') THEN
167844 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167845 END IF;
167846
167847 --
167848
167849 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
167850 -- or secondary ledger that has different currency with primary
167851 -- or alc that is calculated by sla
167852 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
167853 (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'))
167854
167855 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
167856 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
167857 AND (l_actual_flag = 'A')) THEN
167858 XLA_AE_LINES_PKG.CreateGainOrLossLines(
167859 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
167860 ,p_application_id => p_application_id
167861 ,p_amb_context_code => 'DEFAULT'
167862 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
167863 ,p_event_class_code => C_EVENT_CLASS_CODE
167864 ,p_event_type_code => C_EVENT_TYPE_CODE
167865
167866 ,p_gain_ccid => -1
167867 ,p_loss_ccid => -1
167868
167869 ,p_actual_flag => l_actual_flag
167870 ,p_enc_flag => null
167871 ,p_actual_g_l_ref => l_actual_gain_loss_ref
167872 ,p_enc_g_l_ref => null
167873 );
167874 END IF;
167875 END IF;
167876 END IF;
167877
167878 ELSE
167879 --
167880 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
167881 --
167882 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
167883 trace
167884 (p_msg => 'Trancaction revesal option is Y'
167885 ,p_level => C_LEVEL_STATEMENT
167886 ,p_module => l_log_module);
167887 END IF;
167888 END IF;
167889
167890 END LOOP;
167891 l_result := XLA_AE_LINES_PKG.InsertLines ;
167892 end loop;
167893 close line_cur;
167894
167895
167896 --
167897 -- insert headers into xla_ae_headers_gt table
167898 --
167899 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
167900
167901 -- insert into errors table here.
167902
167903 END LOOP;
167904
167905 --
167906 -- 4865292
167907 --
167908 -- Compare g_hdr_extract_count with event count in
167909 -- CreateHeadersAndLines.
167910 --
167911 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
167912
167913 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
167914 trace (p_msg => '# rows extracted from header extract objects '
167915 || ' (running total): '
167916 || g_hdr_extract_count
167917 ,p_level => C_LEVEL_STATEMENT
167918 ,p_module => l_log_module);
167919 END IF;
167920
167921 CLOSE header_cur;
167922 --
167923
167924 --
167925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
167926 trace
167927 (p_msg => 'END of EventClass_233'
167928 ,p_level => C_LEVEL_PROCEDURE
167929 ,p_module => l_log_module);
167930 END IF;
167931 --
167932 RETURN l_result;
167936 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
167933 EXCEPTION
167934 WHEN xla_exceptions_pkg.application_exception THEN
167935
167937
167938
167939 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
167940
167941 RAISE;
167942
167943 WHEN NO_DATA_FOUND THEN
167944
167945 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
167946 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
167947
167948 FOR header_record IN header_cur
167949 LOOP
167950 l_array_header_events(header_record.event_id) := header_record.event_id;
167951 END LOOP;
167952
167953 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
167954 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
167955
167956 fnd_file.put_line(fnd_file.LOG, ' ');
167957 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
167958 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
167959 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
167960
167961 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
167962 LOOP
167963 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
167964 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
167965 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
167966 END IF;
167967 END LOOP;
167968
167969 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
167970 fnd_file.put_line(fnd_file.LOG, ' ');
167971
167972
167973 xla_exceptions_pkg.raise_message
167974 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_233');
167975
167976
167977 WHEN OTHERS THEN
167978 xla_exceptions_pkg.raise_message
167979 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_233');
167980 END EventClass_233;
167981 --
167982
167983 ---------------------------------------
167984 --
167985 -- PRIVATE PROCEDURE
167986 -- insert_sources_234
167987 --
167988 ----------------------------------------
167989 --
167990 PROCEDURE insert_sources_234(
167991 p_target_ledger_id IN NUMBER
167992 , p_language IN VARCHAR2
167993 , p_sla_ledger_id IN NUMBER
167994 , p_pad_start_date IN DATE
167995 , p_pad_end_date IN DATE
167996 )
167997 IS
167998
167999 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
168000 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
168001 p_apps_owner VARCHAR2(30);
168002 l_log_module VARCHAR2(240);
168003 BEGIN
168004 IF g_log_enabled THEN
168005 l_log_module := C_DEFAULT_MODULE||'.insert_sources_234';
168006 END IF;
168007 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168008
168009 trace
168010 (p_msg => 'BEGIN of insert_sources_234'
168011 ,p_level => C_LEVEL_PROCEDURE
168012 ,p_module => l_log_module);
168013
168014 END IF;
168015
168016 -- select APPS owner
168017 SELECT oracle_username
168018 INTO p_apps_owner
168019 FROM fnd_oracle_userid
168020 WHERE read_only_flag = 'U'
168021 ;
168022
168023 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168024 trace
168025 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
168026 ' - p_language = '||p_language||
168027 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
168028 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
168029 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
168030 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
168031 ,p_level => C_LEVEL_STATEMENT
168032 ,p_module => l_log_module);
168033 END IF;
168034
168035
168036 --
168037 INSERT INTO xla_diag_sources --hdr2
168038 (
168039 event_id
168040 , ledger_id
168041 , sla_ledger_id
168042 , description_language
168043 , object_name
168044 , object_type_code
168045 , line_number
168046 , source_application_id
168047 , source_type_code
168048 , source_code
168049 , source_value
168050 , source_meaning
168051 , created_by
168052 , creation_date
168053 , last_update_date
168054 , last_updated_by
168055 , last_update_login
168056 , program_update_date
168057 , program_application_id
168058 , program_id
168059 , request_id
168060 )
168061 SELECT
168062 event_id
168063 , p_target_ledger_id
168064 , p_sla_ledger_id
168065 , p_language
168066 , object_name
168067 , object_type_code
168068 , line_number
168069 , source_application_id
168070 , source_type_code
168071 , source_code
168072 , SUBSTR(source_value ,1,1996)
168073 , SUBSTR(source_meaning ,1,200)
168074 , xla_environment_pkg.g_Usr_Id
168075 , TRUNC(SYSDATE)
168076 , TRUNC(SYSDATE)
168077 , xla_environment_pkg.g_Usr_Id
168078 , xla_environment_pkg.g_Login_Id
168079 , TRUNC(SYSDATE)
168080 , xla_environment_pkg.g_Prog_Appl_Id
168081 , xla_environment_pkg.g_Prog_Id
168082 , xla_environment_pkg.g_Req_Id
168083 FROM (
168084 SELECT xet.event_id event_id
168085 , 0 line_number
168086 , CASE r
168087 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168091 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168088 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168089 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168090 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168092 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168093 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168094 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168095 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168096 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168097 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168098 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168099 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168100 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168101 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168102 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168103 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168104 WHEN 18 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168105 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168106 WHEN 20 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168107 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168108 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168109 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168110 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168111 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168112 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168113 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168114 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168115 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168116 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168117 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168118 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168119
168120 ELSE null
168121 END object_name
168122 , CASE r
168123 WHEN 1 THEN 'HEADER'
168124 WHEN 2 THEN 'HEADER'
168125 WHEN 3 THEN 'HEADER'
168126 WHEN 4 THEN 'HEADER'
168127 WHEN 5 THEN 'HEADER'
168128 WHEN 6 THEN 'HEADER'
168129 WHEN 7 THEN 'HEADER'
168130 WHEN 8 THEN 'HEADER'
168131 WHEN 9 THEN 'HEADER'
168132 WHEN 10 THEN 'HEADER'
168133 WHEN 11 THEN 'HEADER'
168134 WHEN 12 THEN 'HEADER'
168135 WHEN 13 THEN 'HEADER'
168136 WHEN 14 THEN 'HEADER'
168137 WHEN 15 THEN 'HEADER'
168138 WHEN 16 THEN 'HEADER'
168139 WHEN 17 THEN 'HEADER'
168140 WHEN 18 THEN 'HEADER'
168141 WHEN 19 THEN 'HEADER'
168142 WHEN 20 THEN 'HEADER'
168143 WHEN 21 THEN 'HEADER'
168144 WHEN 22 THEN 'HEADER'
168145 WHEN 23 THEN 'HEADER'
168146 WHEN 24 THEN 'HEADER'
168147 WHEN 25 THEN 'HEADER'
168148 WHEN 26 THEN 'HEADER'
168149 WHEN 27 THEN 'HEADER'
168150 WHEN 28 THEN 'HEADER'
168151 WHEN 29 THEN 'HEADER'
168152 WHEN 30 THEN 'HEADER'
168153 WHEN 31 THEN 'HEADER'
168154 WHEN 32 THEN 'HEADER'
168155
168156 ELSE null
168157 END object_type_code
168158 , CASE r
168159 WHEN 1 THEN '200'
168160 WHEN 2 THEN '200'
168161 WHEN 3 THEN '200'
168162 WHEN 4 THEN '200'
168163 WHEN 5 THEN '200'
168164 WHEN 6 THEN '200'
168165 WHEN 7 THEN '200'
168166 WHEN 8 THEN '200'
168167 WHEN 9 THEN '200'
168168 WHEN 10 THEN '200'
168169 WHEN 11 THEN '200'
168170 WHEN 12 THEN '200'
168171 WHEN 13 THEN '200'
168172 WHEN 14 THEN '200'
168173 WHEN 15 THEN '200'
168174 WHEN 16 THEN '200'
168175 WHEN 17 THEN '200'
168176 WHEN 18 THEN '200'
168177 WHEN 19 THEN '200'
168178 WHEN 20 THEN '200'
168179 WHEN 21 THEN '200'
168180 WHEN 22 THEN '200'
168181 WHEN 23 THEN '200'
168182 WHEN 24 THEN '200'
168183 WHEN 25 THEN '200'
168184 WHEN 26 THEN '200'
168185 WHEN 27 THEN '200'
168186 WHEN 28 THEN '200'
168187 WHEN 29 THEN '200'
168188 WHEN 30 THEN '200'
168189 WHEN 31 THEN '200'
168190 WHEN 32 THEN '200'
168191
168192 ELSE null
168193 END source_application_id
168194 , 'S' source_type_code
168195 , CASE r
168196 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
168197 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
168198 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
168199 WHEN 4 THEN 'AC_CHECK_DATE'
168200 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
168201 WHEN 6 THEN 'AC_CURRENCY_CODE'
168202 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
168203 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
168204 WHEN 9 THEN 'FSP_DISC_TAKEN_CCID'
168205 WHEN 10 THEN 'ASP_DISCOUNT_DIST_METHOD'
168206 WHEN 11 THEN 'CGAC_CASH_CLEARING_CCID'
168207 WHEN 12 THEN 'CGAC_GAIN_CCID'
168208 WHEN 13 THEN 'ASP_GAIN_CCID'
168212 WHEN 17 THEN 'ASP_AUTO_OFFSET_FLAG'
168209 WHEN 14 THEN 'CGAC_LOSS_CCID'
168210 WHEN 15 THEN 'ASP_LOSS_CCID'
168211 WHEN 16 THEN 'ASP_DISC_TAKEN_CCID'
168213 WHEN 18 THEN 'ASP_ROUNDING_ERROR_CCID'
168214 WHEN 19 THEN 'THIRD_PARTY_TYPE'
168215 WHEN 20 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
168216 WHEN 21 THEN 'AC_VENDOR_ID'
168217 WHEN 22 THEN 'AC_VENDOR_SITE_ID'
168218 WHEN 23 THEN 'AC_CHECK_ID'
168219 WHEN 24 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
168220 WHEN 25 THEN 'AC_FUTURE_PAY_DUE_DATE'
168221 WHEN 26 THEN 'AC_EXCHANGE_DATE'
168222 WHEN 27 THEN 'AC_EXCHANGE_RATE'
168223 WHEN 28 THEN 'AC_EXCHANGE_RATE_TYPE'
168224 WHEN 29 THEN 'PAYMENT_TYPE'
168225 WHEN 30 THEN 'AC_DOC_CATEGORY_CODE'
168226 WHEN 31 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
168227 WHEN 32 THEN 'TRANSAC_REVERSAL_FLAG'
168228
168229 ELSE null
168230 END source_code
168231 , CASE r
168232 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
168233 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
168234 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
168235 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
168236 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
168237 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
168238 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
168239 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
168240 WHEN 9 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
168241 WHEN 10 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
168242 WHEN 11 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
168243 WHEN 12 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
168244 WHEN 13 THEN TO_CHAR(h3.ASP_GAIN_CCID)
168245 WHEN 14 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
168246 WHEN 15 THEN TO_CHAR(h3.ASP_LOSS_CCID)
168247 WHEN 16 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
168248 WHEN 17 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
168249 WHEN 18 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
168250 WHEN 19 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
168251 WHEN 20 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
168252 WHEN 21 THEN TO_CHAR(h2.AC_VENDOR_ID)
168253 WHEN 22 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
168254 WHEN 23 THEN TO_CHAR(h2.AC_CHECK_ID)
168255 WHEN 24 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
168256 WHEN 25 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
168257 WHEN 26 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
168258 WHEN 27 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
168259 WHEN 28 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
168260 WHEN 29 THEN TO_CHAR(h2.PAYMENT_TYPE)
168261 WHEN 30 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
168262 WHEN 31 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
168263 WHEN 32 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
168264
168265 ELSE null
168266 END source_value
168267 , CASE r
168268 WHEN 7 THEN fvl15.meaning
168269 WHEN 10 THEN fvl19.meaning
168270 WHEN 17 THEN fvl47.meaning
168271 WHEN 24 THEN fvl113.meaning
168272 WHEN 29 THEN fvl122.meaning
168273 WHEN 32 THEN fvl172.meaning
168274
168275 ELSE null
168276 END source_meaning
168277 FROM xla_events_gt xet
168278 , AP_PAYMENT_EXTRACT_HEADER_V h2
168279 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
168280 , fnd_lookup_values fvl15
168281 , fnd_lookup_values fvl19
168282 , fnd_lookup_values fvl47
168283 , fnd_lookup_values fvl113
168284 , fnd_lookup_values fvl122
168285 , fnd_lookup_values fvl172
168286 ,(select rownum r from all_objects where rownum <= 32 and owner = p_apps_owner)
168287 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168288 AND xet.event_class_code = C_EVENT_CLASS_CODE
168289 AND h2.event_id = xet.event_id
168290 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
168291 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
168292 AND fvl15.view_application_id(+) = 200
168293 AND fvl15.language(+) = USERENV('LANG')
168294 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
168295 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
168296 AND fvl19.view_application_id(+) = 200
168297 AND fvl19.language(+) = USERENV('LANG')
168298 AND fvl47.lookup_type(+) = 'YES_NO'
168299 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
168300 AND fvl47.view_application_id(+) = 0
168301 AND fvl47.language(+) = USERENV('LANG')
168302 AND fvl113.lookup_type(+) = 'YES_NO'
168303 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
168304 AND fvl113.view_application_id(+) = 0
168305 AND fvl113.language(+) = USERENV('LANG')
168306 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
168307 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
168308 AND fvl122.view_application_id(+) = 200
168309 AND fvl122.language(+) = USERENV('LANG')
168310 AND fvl172.lookup_type(+) = 'YES_NO'
168311 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
168312 AND fvl172.view_application_id(+) = 0
168313 AND fvl172.language(+) = USERENV('LANG')
168314
168315 )
168316 ;
168317 --
168318 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168319
168320 trace
168324
168321 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
168322 ,p_level => C_LEVEL_STATEMENT
168323 ,p_module => l_log_module);
168325 END IF;
168326 --
168327
168328
168329
168330 --
168331 INSERT INTO xla_diag_sources --line2
168332 (
168333 event_id
168334 , ledger_id
168335 , sla_ledger_id
168336 , description_language
168337 , object_name
168338 , object_type_code
168339 , line_number
168340 , source_application_id
168341 , source_type_code
168342 , source_code
168343 , source_value
168344 , source_meaning
168345 , created_by
168346 , creation_date
168347 , last_update_date
168348 , last_updated_by
168349 , last_update_login
168350 , program_update_date
168351 , program_application_id
168352 , program_id
168353 , request_id
168354 )
168355 SELECT event_id
168356 , p_target_ledger_id
168357 , p_sla_ledger_id
168358 , p_language
168359 , object_name
168360 , object_type_code
168361 , line_number
168362 , source_application_id
168363 , source_type_code
168364 , source_code
168365 , SUBSTR(source_value,1,1996)
168366 , SUBSTR(source_meaning ,1,200)
168367 , xla_environment_pkg.g_Usr_Id
168368 , TRUNC(SYSDATE)
168369 , TRUNC(SYSDATE)
168370 , xla_environment_pkg.g_Usr_Id
168371 , xla_environment_pkg.g_Login_Id
168372 , TRUNC(SYSDATE)
168373 , xla_environment_pkg.g_Prog_Appl_Id
168374 , xla_environment_pkg.g_Prog_Id
168375 , xla_environment_pkg.g_Req_Id
168376 FROM (
168377 SELECT xet.event_id event_id
168378 , l1.line_number line_number
168379 , CASE r
168380 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168381 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168382 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168383 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168384 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168385 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168386 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168387 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168388 WHEN 9 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168389 WHEN 10 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
168390 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168391 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168392 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168393 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168394 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168395 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168396 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168397 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168398 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168399 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168400 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168401 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168402 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168403 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168404 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168405 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168406 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168407
168408 ELSE null
168409 END object_name
168410 , CASE r
168411 WHEN 1 THEN 'LINE'
168412 WHEN 2 THEN 'LINE'
168413 WHEN 3 THEN 'LINE'
168414 WHEN 4 THEN 'LINE'
168415 WHEN 5 THEN 'LINE'
168416 WHEN 6 THEN 'LINE'
168417 WHEN 7 THEN 'LINE'
168418 WHEN 8 THEN 'LINE'
168419 WHEN 9 THEN 'LINE'
168420 WHEN 10 THEN 'LINE'
168421 WHEN 11 THEN 'LINE'
168422 WHEN 12 THEN 'LINE'
168423 WHEN 13 THEN 'LINE'
168424 WHEN 14 THEN 'LINE'
168425 WHEN 15 THEN 'LINE'
168426 WHEN 16 THEN 'LINE'
168427 WHEN 17 THEN 'LINE'
168428 WHEN 18 THEN 'LINE'
168429 WHEN 19 THEN 'LINE'
168430 WHEN 20 THEN 'LINE'
168431 WHEN 21 THEN 'LINE'
168432 WHEN 22 THEN 'LINE'
168433 WHEN 23 THEN 'LINE'
168434 WHEN 24 THEN 'LINE'
168435 WHEN 25 THEN 'LINE'
168436 WHEN 26 THEN 'LINE'
168437 WHEN 27 THEN 'LINE'
168438
168439 ELSE null
168440 END object_type_code
168441 , CASE r
168442 WHEN 1 THEN '200'
168443 WHEN 2 THEN '200'
168444 WHEN 3 THEN '200'
168445 WHEN 4 THEN '200'
168446 WHEN 5 THEN '200'
168447 WHEN 6 THEN '200'
168448 WHEN 7 THEN '200'
168449 WHEN 8 THEN '200'
168450 WHEN 9 THEN '200'
168451 WHEN 10 THEN '200'
168452 WHEN 11 THEN '200'
168453 WHEN 12 THEN '200'
168454 WHEN 13 THEN '200'
168455 WHEN 14 THEN '200'
168456 WHEN 15 THEN '200'
168457 WHEN 16 THEN '200'
168458 WHEN 17 THEN '200'
168459 WHEN 18 THEN '200'
168460 WHEN 19 THEN '200'
168461 WHEN 20 THEN '200'
168465 WHEN 24 THEN '200'
168462 WHEN 21 THEN '200'
168463 WHEN 22 THEN '200'
168464 WHEN 23 THEN '200'
168466 WHEN 25 THEN '200'
168467 WHEN 26 THEN '200'
168468 WHEN 27 THEN '200'
168469
168470 ELSE null
168471 END source_application_id
168472 , 'S' source_type_code
168473 , CASE r
168474 WHEN 1 THEN 'AID_DIST_CCID'
168475 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
168476 WHEN 3 THEN 'POD_CCID'
168477 WHEN 4 THEN 'PO_VARIANCE_ACCOUNT'
168478 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
168479 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
168480 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
168481 WHEN 8 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
168482 WHEN 9 THEN 'TAX_LINE_ID'
168483 WHEN 10 THEN 'REC_NREC_TAX_DIST_ID'
168484 WHEN 11 THEN 'SUMMARY_TAX_LINE_ID'
168485 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
168486 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
168487 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
168488 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
168489 WHEN 16 THEN 'BUS_FLOW_INV_ID'
168490 WHEN 17 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
168491 WHEN 18 THEN 'APHD_AMOUNT'
168492 WHEN 19 THEN 'APHD_PAYMENT_HIST_DIST_ID'
168493 WHEN 20 THEN 'APHD_REV_PAY_HIST_DIST_ID'
168494 WHEN 21 THEN 'APHD_PAYMENT_BASE_AMT'
168495 WHEN 22 THEN 'APHD_INVOICE_BASE_AMT'
168496 WHEN 23 THEN 'INV_EXCHANGE_DATE'
168497 WHEN 24 THEN 'INV_EXCHANGE_RATE'
168498 WHEN 25 THEN 'INV_EXCHANGE_RATE_TYPE'
168499 WHEN 26 THEN 'INV_PMT_BASE_AMT_DIFF'
168500 WHEN 27 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
168501
168502 ELSE null
168503 END source_code
168504 , CASE r
168505 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
168506 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
168507 WHEN 3 THEN TO_CHAR(l1.POD_CCID)
168508 WHEN 4 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
168509 WHEN 5 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
168510 WHEN 6 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
168511 WHEN 7 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
168512 WHEN 8 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
168513 WHEN 9 THEN TO_CHAR(l4.TAX_LINE_ID)
168514 WHEN 10 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
168515 WHEN 11 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
168516 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
168517 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
168518 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
168519 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
168520 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
168521 WHEN 17 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
168522 WHEN 18 THEN TO_CHAR(l1.APHD_AMOUNT)
168523 WHEN 19 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
168524 WHEN 20 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
168525 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
168526 WHEN 22 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
168527 WHEN 23 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
168528 WHEN 24 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
168529 WHEN 25 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
168530 WHEN 26 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
168531 WHEN 27 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
168532
168533 ELSE null
168534 END source_value
168535 , CASE r
168536 WHEN 2 THEN fvl33.meaning
168537 WHEN 8 THEN fvl79.meaning
168538 WHEN 17 THEN fvl97.meaning
168539
168540 ELSE null
168541 END source_meaning
168542 FROM xla_events_gt xet
168543 , AP_PAYMENT_EXTRACT_DETAILS_V l1
168544 , ZX_AP_DEF_TAX_EXTRACT_V l4
168545 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
168546 , fnd_lookup_values fvl33
168547 , fnd_lookup_values fvl79
168548 , fnd_lookup_values fvl97
168549 , (select rownum r from all_objects where rownum <= 27 and owner = p_apps_owner)
168550 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168551 AND xet.event_class_code = C_EVENT_CLASS_CODE
168552 AND l1.event_id = xet.event_id
168553 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'
168554 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
168555 AND fvl33.view_application_id(+) = 200
168556 AND fvl33.language(+) = USERENV('LANG')
168557 AND fvl79.lookup_type(+) = 'YES_NO'
168558 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
168559 AND fvl79.view_application_id(+) = 0
168560 AND fvl79.language(+) = USERENV('LANG')
168561 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
168562 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
168563 AND fvl97.view_application_id(+) = 200
168564 AND fvl97.language(+) = USERENV('LANG')
168565
168566 )
168567 ;
168568 --
168569 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168570
168571 trace
168572 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
168573 ,p_level => C_LEVEL_STATEMENT
168577
168574 ,p_module => l_log_module);
168575
168576 END IF;
168578
168579 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168580 trace
168581 (p_msg => 'END of insert_sources_234'
168582 ,p_level => C_LEVEL_PROCEDURE
168583 ,p_module => l_log_module);
168584 END IF;
168585 EXCEPTION
168586 WHEN xla_exceptions_pkg.application_exception THEN
168587 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168588 trace
168589 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168590 ,p_level => C_LEVEL_EXCEPTION
168591 ,p_module => l_log_module);
168592 END IF;
168593 RAISE;
168594 WHEN OTHERS THEN
168595 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168596 trace
168597 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168598 ,p_level => C_LEVEL_EXCEPTION
168599 ,p_module => l_log_module);
168600 END IF;
168601 xla_exceptions_pkg.raise_message
168602 (p_location => 'XLA_00200_AAD_S_000020_PKG.insert_sources_234');
168603 END insert_sources_234;
168604 --
168605
168606 ---------------------------------------
168607 --
168608 -- PRIVATE FUNCTION
168609 -- EventClass_234
168610 --
168611 ----------------------------------------
168612 --
168613 FUNCTION EventClass_234
168614 (p_application_id IN NUMBER
168615 ,p_base_ledger_id IN NUMBER
168616 ,p_target_ledger_id IN NUMBER
168617 ,p_language IN VARCHAR2
168618 ,p_currency_code IN VARCHAR2
168619 ,p_sla_ledger_id IN NUMBER
168620 ,p_pad_start_date IN DATE
168621 ,p_pad_end_date IN DATE
168622 ,p_primary_ledger_id IN NUMBER)
168623 RETURN BOOLEAN IS
168624 --
168625 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
168626 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
168627
168628 l_calculate_acctd_flag VARCHAR2(1) :='N';
168629 l_calculate_g_l_flag VARCHAR2(1) :='N';
168630 --
168631 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168632 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168633 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168634 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168635 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168636 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168637 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168638 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168639 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168640 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168641 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168642 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168643 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168644 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168645 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168646 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168647 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168648 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168649 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168650 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168651 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168652 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168653 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
168654 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168655 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
168656 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
168657
168658 l_event_id NUMBER;
168659 l_previous_event_id NUMBER;
168660 l_first_event_id NUMBER;
168661 l_last_event_id NUMBER;
168662
168663 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
168664 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
168665 --
168666 --
168667 l_result BOOLEAN := TRUE;
168668 l_rows NUMBER := 1000;
168669 l_event_type_name VARCHAR2(80) := 'All';
168670 l_event_class_name VARCHAR2(80) := 'Refunds';
168671 l_description VARCHAR2(4000);
168672 l_transaction_reversal NUMBER;
168673 l_ae_header_id NUMBER;
168674 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
168675 l_log_module VARCHAR2(240);
168676 --
168677 l_acct_reversal_source VARCHAR2(30);
168678 l_trx_reversal_source VARCHAR2(30);
168679
168680 l_continue_with_lines BOOLEAN := TRUE;
168681 --
168682 l_acc_rev_gl_date_source DATE; -- 4262811
168683 --
168684 type t_array_event_id is table of number index by binary_integer;
168685
168686 l_rec_array_event t_rec_array_event;
168687 l_null_rec_array_event t_rec_array_event;
168688 l_array_ae_header_id xla_number_array_type;
168689 l_actual_flag VARCHAR2(1) := NULL;
168690 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
168691 l_balance_type_code VARCHAR2(1) :=NULL;
168692 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
168693
168694 --
168698 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
168695 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
168696 --
168697
168699 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
168700 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
168701 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
168702 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
168703 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
168704 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
168705 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
168706 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
168707 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
168708 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
168709 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
168710 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
168711 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
168712 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
168713 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
168714 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
168715 TYPE t_array_source_48 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
168716 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
168717 TYPE t_array_source_96 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
168718 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
168719 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
168720 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_ID%TYPE INDEX BY BINARY_INTEGER;
168721 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
168722 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
168723 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
168724 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
168725 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
168726 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
168727 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
168728 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
168729 TYPE t_array_source_172 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
168730
168731 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
168732 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
168733 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
168734 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
168735 TYPE t_array_source_52 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
168736 TYPE t_array_source_54 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
168737 TYPE t_array_source_66 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
168738 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
168739 TYPE t_array_source_85 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
168740 TYPE t_array_source_86 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168741 TYPE t_array_source_87 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
168742 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
168743 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
168744 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
168745 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168746 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
168747 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
168748 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
168749 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168750 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168751 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
168752 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
168756 TYPE t_array_source_150 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
168753 TYPE t_array_source_136 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
168754 TYPE t_array_source_137 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
168755 TYPE t_array_source_138 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
168757 TYPE t_array_source_155 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
168758
168759 l_array_source_6 t_array_source_6;
168760 l_array_source_9 t_array_source_9;
168761 l_array_source_10 t_array_source_10;
168762 l_array_source_11 t_array_source_11;
168763 l_array_source_12 t_array_source_12;
168764 l_array_source_13 t_array_source_13;
168765 l_array_source_15 t_array_source_15;
168766 l_array_source_15_meaning t_array_lookup_meaning;
168767 l_array_source_17 t_array_source_17;
168768 l_array_source_18 t_array_source_18;
168769 l_array_source_19 t_array_source_19;
168770 l_array_source_19_meaning t_array_lookup_meaning;
168771 l_array_source_35 t_array_source_35;
168772 l_array_source_36 t_array_source_36;
168773 l_array_source_37 t_array_source_37;
168774 l_array_source_38 t_array_source_38;
168775 l_array_source_39 t_array_source_39;
168776 l_array_source_44 t_array_source_44;
168777 l_array_source_47 t_array_source_47;
168778 l_array_source_47_meaning t_array_lookup_meaning;
168779 l_array_source_48 t_array_source_48;
168780 l_array_source_82 t_array_source_82;
168781 l_array_source_96 t_array_source_96;
168782 l_array_source_109 t_array_source_109;
168783 l_array_source_110 t_array_source_110;
168784 l_array_source_112 t_array_source_112;
168785 l_array_source_113 t_array_source_113;
168786 l_array_source_113_meaning t_array_lookup_meaning;
168787 l_array_source_114 t_array_source_114;
168788 l_array_source_117 t_array_source_117;
168789 l_array_source_118 t_array_source_118;
168790 l_array_source_119 t_array_source_119;
168791 l_array_source_122 t_array_source_122;
168792 l_array_source_122_meaning t_array_lookup_meaning;
168793 l_array_source_170 t_array_source_170;
168794 l_array_source_171 t_array_source_171;
168795 l_array_source_172 t_array_source_172;
168796 l_array_source_172_meaning t_array_lookup_meaning;
168797
168798 l_array_source_30 t_array_source_30;
168799 l_array_source_33 t_array_source_33;
168800 l_array_source_33_meaning t_array_lookup_meaning;
168801 l_array_source_45 t_array_source_45;
168802 l_array_source_46 t_array_source_46;
168803 l_array_source_52 t_array_source_52;
168804 l_array_source_54 t_array_source_54;
168805 l_array_source_66 t_array_source_66;
168806 l_array_source_79 t_array_source_79;
168807 l_array_source_79_meaning t_array_lookup_meaning;
168808 l_array_source_85 t_array_source_85;
168809 l_array_source_86 t_array_source_86;
168810 l_array_source_87 t_array_source_87;
168811 l_array_source_90 t_array_source_90;
168812 l_array_source_91 t_array_source_91;
168813 l_array_source_92 t_array_source_92;
168814 l_array_source_93 t_array_source_93;
168815 l_array_source_94 t_array_source_94;
168816 l_array_source_97 t_array_source_97;
168817 l_array_source_97_meaning t_array_lookup_meaning;
168818 l_array_source_98 t_array_source_98;
168819 l_array_source_103 t_array_source_103;
168820 l_array_source_111 t_array_source_111;
168821 l_array_source_115 t_array_source_115;
168822 l_array_source_116 t_array_source_116;
168823 l_array_source_136 t_array_source_136;
168824 l_array_source_137 t_array_source_137;
168825 l_array_source_138 t_array_source_138;
168826 l_array_source_150 t_array_source_150;
168827 l_array_source_155 t_array_source_155;
168828
168829 --
168830 CURSOR header_cur
168831 IS
168832 SELECT /*+ leading(xet) cardinality(xet,1) */
168833 -- Event Class Code: REFUNDS
168834 xet.entity_id
168835 ,xet.legal_entity_id
168836 ,xet.entity_code
168837 ,xet.transaction_number
168838 ,xet.event_id
168839 ,xet.event_class_code
168840 ,xet.event_type_code
168841 ,xet.event_number
168842 ,xet.event_date
168843 ,xet.transaction_date
168844 ,xet.reference_num_1
168845 ,xet.reference_num_2
168846 ,xet.reference_num_3
168847 ,xet.reference_num_4
168848 ,xet.reference_char_1
168849 ,xet.reference_char_2
168850 ,xet.reference_char_3
168851 ,xet.reference_char_4
168852 ,xet.reference_date_1
168853 ,xet.reference_date_2
168854 ,xet.reference_date_3
168855 ,xet.reference_date_4
168856 ,xet.event_created_by
168857 ,xet.budgetary_control_flag
168858 , h2.DOC_SEQUENCE_NAME source_6
168859 , h2.AC_DOC_SEQUENCE_VALUE source_9
168860 , h2.PAYMENT_TRANSACTION_NUMBER source_10
168861 , h2.AC_CHECK_DATE source_11
168862 , h2.CBA_BANK_ACCOUNT_NAME source_12
168863 , h2.AC_CURRENCY_CODE source_13
168864 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
168865 , fvl15.meaning source_15_meaning
168866 , h2.CGAC_AP_ASSET_CCID source_17
168867 , h3.FSP_DISC_TAKEN_CCID source_18
168868 , h3.ASP_DISCOUNT_DIST_METHOD source_19
168869 , fvl19.meaning source_19_meaning
168870 , h2.CGAC_CASH_CLEARING_CCID source_35
168871 , h2.CGAC_GAIN_CCID source_36
168872 , h3.ASP_GAIN_CCID source_37
168873 , h2.CGAC_LOSS_CCID source_38
168874 , h3.ASP_LOSS_CCID source_39
168875 , h3.ASP_DISC_TAKEN_CCID source_44
168876 , h3.ASP_AUTO_OFFSET_FLAG source_47
168880 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_96
168877 , fvl47.meaning source_47_meaning
168878 , h3.ASP_ROUNDING_ERROR_CCID source_48
168879 , h2.THIRD_PARTY_TYPE source_82
168881 , h2.AC_VENDOR_ID source_109
168882 , h2.AC_VENDOR_SITE_ID source_110
168883 , h2.AC_CHECK_ID source_112
168884 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
168885 , fvl113.meaning source_113_meaning
168886 , h2.AC_FUTURE_PAY_DUE_DATE source_114
168887 , h2.AC_EXCHANGE_DATE source_117
168888 , h2.AC_EXCHANGE_RATE source_118
168889 , h2.AC_EXCHANGE_RATE_TYPE source_119
168890 , h2.PAYMENT_TYPE source_122
168891 , fvl122.meaning source_122_meaning
168892 , h2.AC_DOC_CATEGORY_CODE source_170
168893 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
168894 , h2.TRANSAC_REVERSAL_FLAG source_172
168895 , fvl172.meaning source_172_meaning
168896 FROM xla_events_gt xet
168897 , AP_PAYMENT_EXTRACT_HEADER_V h2
168898 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
168899 , fnd_lookup_values fvl15
168900 , fnd_lookup_values fvl19
168901 , fnd_lookup_values fvl47
168902 , fnd_lookup_values fvl113
168903 , fnd_lookup_values fvl122
168904 , fnd_lookup_values fvl172
168905 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
168906 and xet.event_class_code = C_EVENT_CLASS_CODE
168907 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
168908 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
168909 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
168910 AND fvl15.view_application_id(+) = 200
168911 AND fvl15.language(+) = USERENV('LANG')
168912 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
168913 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
168914 AND fvl19.view_application_id(+) = 200
168915 AND fvl19.language(+) = USERENV('LANG')
168916 AND fvl47.lookup_type(+) = 'YES_NO'
168917 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
168918 AND fvl47.view_application_id(+) = 0
168919 AND fvl47.language(+) = USERENV('LANG')
168920 AND fvl113.lookup_type(+) = 'YES_NO'
168921 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
168922 AND fvl113.view_application_id(+) = 0
168923 AND fvl113.language(+) = USERENV('LANG')
168924 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
168925 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
168926 AND fvl122.view_application_id(+) = 200
168927 AND fvl122.language(+) = USERENV('LANG')
168928 AND fvl172.lookup_type(+) = 'YES_NO'
168929 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
168930 AND fvl172.view_application_id(+) = 0
168931 AND fvl172.language(+) = USERENV('LANG')
168932
168933 ORDER BY event_id
168934 ;
168935
168936
168937 --
168938 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
168939 IS
168940 SELECT /*+ leading(xet) cardinality(xet,1) */
168941 -- Event Class Code: REFUNDS
168942 xet.entity_id
168943 ,xet.legal_entity_id
168944 ,xet.entity_code
168945 ,xet.transaction_number
168946 ,xet.event_id
168947 ,xet.event_class_code
168948 ,xet.event_type_code
168949 ,xet.event_number
168950 ,xet.event_date
168951 ,xet.transaction_date
168952 ,xet.reference_num_1
168953 ,xet.reference_num_2
168954 ,xet.reference_num_3
168955 ,xet.reference_num_4
168956 ,xet.reference_char_1
168957 ,xet.reference_char_2
168958 ,xet.reference_char_3
168959 ,xet.reference_char_4
168960 ,xet.reference_date_1
168961 ,xet.reference_date_2
168962 ,xet.reference_date_3
168963 ,xet.reference_date_4
168964 ,xet.event_created_by
168965 ,xet.budgetary_control_flag
168966 , l1.LINE_NUMBER
168967 , l1.AID_DIST_CCID source_30
168968 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
168969 , fvl33.meaning source_33_meaning
168970 , l1.POD_CCID source_45
168971 , l1.PO_VARIANCE_ACCOUNT source_46
168972 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_52
168973 , l1.DISTRIBUTION_LINK_TYPE source_54
168974 , l1.AI_INVOICE_CURRENCY_CODE source_66
168975 , l1.OVERRIDE_ACCTD_AMT_FLAG source_79
168976 , fvl79.meaning source_79_meaning
168977 , l4.TAX_LINE_ID source_85
168978 , l5.REC_NREC_TAX_DIST_ID source_86
168979 , l4.SUMMARY_TAX_LINE_ID source_87
168980 , l1.BUS_FLOW_AP_APP_ID source_90
168981 , l1.BUS_FLOW_INV_DIST_TYPE source_91
168982 , l1.BUS_FLOW_INV_ENTITY_CODE source_92
168983 , l1.BUS_FLOW_INV_DIST_ID source_93
168984 , l1.BUS_FLOW_INV_ID source_94
168985 , l1.APHD_PAY_DIST_LOOKUP_CODE source_97
168986 , fvl97.meaning source_97_meaning
168987 , l1.APHD_AMOUNT source_98
168988 , l1.APHD_PAYMENT_HIST_DIST_ID source_103
168989 , l1.APHD_REV_PAY_HIST_DIST_ID source_111
168990 , l1.APHD_PAYMENT_BASE_AMT source_115
168991 , l1.APHD_INVOICE_BASE_AMT source_116
168992 , l1.INV_EXCHANGE_DATE source_136
168993 , l1.INV_EXCHANGE_RATE source_137
168994 , l1.INV_EXCHANGE_RATE_TYPE source_138
168995 , l1.INV_PMT_BASE_AMT_DIFF source_150
168996 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_155
168997 FROM xla_events_gt xet
168998 , AP_PAYMENT_EXTRACT_DETAILS_V l1
168999 , ZX_AP_DEF_TAX_EXTRACT_V l4
169000 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
169001 , fnd_lookup_values fvl33
169002 , fnd_lookup_values fvl79
169003 , fnd_lookup_values fvl97
169004 WHERE xet.event_id between x_first_event_id and x_last_event_id
169005 and xet.event_date between p_pad_start_date and p_pad_end_date
169006 and xet.event_class_code = C_EVENT_CLASS_CODE
169007 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
169011 AND fvl33.language(+) = USERENV('LANG')
169008 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'
169009 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
169010 AND fvl33.view_application_id(+) = 200
169012 AND fvl79.lookup_type(+) = 'YES_NO'
169013 AND fvl79.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
169014 AND fvl79.view_application_id(+) = 0
169015 AND fvl79.language(+) = USERENV('LANG')
169016 AND fvl97.lookup_type(+) = 'PAY_DIST_TYPES'
169017 AND fvl97.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
169018 AND fvl97.view_application_id(+) = 200
169019 AND fvl97.language(+) = USERENV('LANG')
169020 ;
169021
169022 --
169023 BEGIN
169024 IF g_log_enabled THEN
169025 l_log_module := C_DEFAULT_MODULE||'.EventClass_234';
169026 END IF;
169027 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169028 trace
169029 (p_msg => 'BEGIN of EventClass_234'
169030 ,p_level => C_LEVEL_PROCEDURE
169031 ,p_module => l_log_module);
169032 END IF;
169033
169034 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169035 trace
169036 (p_msg => 'p_application_id = '||p_application_id||
169037 ' - p_base_ledger_id = '||p_base_ledger_id||
169038 ' - p_target_ledger_id = '||p_target_ledger_id||
169039 ' - p_language = '||p_language||
169040 ' - p_currency_code = '||p_currency_code||
169041 ' - p_sla_ledger_id = '||p_sla_ledger_id
169042 ,p_level => C_LEVEL_STATEMENT
169043 ,p_module => l_log_module);
169044 END IF;
169045 --
169046 -- initialze arrays
169047 --
169048 g_array_event.DELETE;
169049 l_rec_array_event := l_null_rec_array_event;
169050 --
169051 --------------------------------------
169052 -- 4262811 Initialze MPA Line Number
169053 --------------------------------------
169054 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
169055
169056 --
169057
169058 --
169059 OPEN header_cur;
169060 --
169061 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169062 trace
169063 (p_msg => 'SQL - FETCH header_cur'
169064 ,p_level => C_LEVEL_STATEMENT
169065 ,p_module => l_log_module);
169066 END IF;
169067 --
169068 LOOP
169069 FETCH header_cur BULK COLLECT INTO
169070 l_array_entity_id
169071 , l_array_legal_entity_id
169072 , l_array_entity_code
169073 , l_array_transaction_num
169074 , l_array_event_id
169075 , l_array_class_code
169076 , l_array_event_type
169077 , l_array_event_number
169078 , l_array_event_date
169079 , l_array_transaction_date
169080 , l_array_reference_num_1
169081 , l_array_reference_num_2
169082 , l_array_reference_num_3
169083 , l_array_reference_num_4
169084 , l_array_reference_char_1
169085 , l_array_reference_char_2
169086 , l_array_reference_char_3
169087 , l_array_reference_char_4
169088 , l_array_reference_date_1
169089 , l_array_reference_date_2
169090 , l_array_reference_date_3
169091 , l_array_reference_date_4
169092 , l_array_event_created_by
169093 , l_array_budgetary_control_flag
169094 , l_array_source_6
169095 , l_array_source_9
169096 , l_array_source_10
169097 , l_array_source_11
169098 , l_array_source_12
169099 , l_array_source_13
169100 , l_array_source_15
169101 , l_array_source_15_meaning
169102 , l_array_source_17
169103 , l_array_source_18
169104 , l_array_source_19
169105 , l_array_source_19_meaning
169106 , l_array_source_35
169107 , l_array_source_36
169108 , l_array_source_37
169109 , l_array_source_38
169110 , l_array_source_39
169111 , l_array_source_44
169112 , l_array_source_47
169113 , l_array_source_47_meaning
169114 , l_array_source_48
169115 , l_array_source_82
169116 , l_array_source_96
169117 , l_array_source_109
169118 , l_array_source_110
169119 , l_array_source_112
169120 , l_array_source_113
169121 , l_array_source_113_meaning
169122 , l_array_source_114
169123 , l_array_source_117
169124 , l_array_source_118
169125 , l_array_source_119
169126 , l_array_source_122
169127 , l_array_source_122_meaning
169128 , l_array_source_170
169129 , l_array_source_171
169130 , l_array_source_172
169131 , l_array_source_172_meaning
169132 LIMIT l_rows;
169133 --
169134 IF (C_LEVEL_EVENT >= g_log_level) THEN
169135 trace
169136 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
169137 ,p_level => C_LEVEL_EVENT
169138 ,p_module => l_log_module);
169139 END IF;
169140 --
169141 EXIT WHEN l_array_entity_id.COUNT = 0;
169142
169143 -- initialize arrays
169144 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
169145 XLA_AE_LINES_PKG.g_rec_lines := NULL;
169146
169147 --
169148 -- Bug 4458708
169149 --
169150 XLA_AE_LINES_PKG.g_LineNumber := 0;
169151
169152
169153 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
169154 g_last_hdr_idx := l_array_event_id.LAST;
169155 --
169156 -- loop for the headers. Each iteration is for each header extract row
169157 -- fetched in header cursor
169158 --
169159 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
169160
169161 --
169162 -- set event info as cache for other routines to refer event attributes
169163 --
169164 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169168 ,p_target_ledger_id => p_target_ledger_id
169165 (p_application_id => p_application_id
169166 ,p_primary_ledger_id => p_primary_ledger_id
169167 ,p_base_ledger_id => p_base_ledger_id
169169 ,p_entity_id => l_array_entity_id(hdr_idx)
169170 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
169171 ,p_entity_code => l_array_entity_code(hdr_idx)
169172 ,p_transaction_num => l_array_transaction_num(hdr_idx)
169173 ,p_event_id => l_array_event_id(hdr_idx)
169174 ,p_event_class_code => l_array_class_code(hdr_idx)
169175 ,p_event_type_code => l_array_event_type(hdr_idx)
169176 ,p_event_number => l_array_event_number(hdr_idx)
169177 ,p_event_date => l_array_event_date(hdr_idx)
169178 ,p_transaction_date => l_array_transaction_date(hdr_idx)
169179 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
169180 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
169181 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
169182 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
169183 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
169184 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
169185 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
169186 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
169187 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
169188 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
169189 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
169190 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
169191 ,p_event_created_by => l_array_event_created_by(hdr_idx)
169192 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
169193
169194 --
169195 -- set the status of entry to C_VALID (0)
169196 --
169197 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169198
169199 --
169200 -- initialize a row for ae header
169201 --
169202 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
169203
169204 l_event_id := l_array_event_id(hdr_idx);
169205
169206 --
169207 -- storing the hdr_idx for event. May be used by line cursor.
169208 --
169209 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
169210
169211 --
169212 -- store sources from header extract. This can be improved to
169213 -- store only those sources from header extract that may be used in lines
169214 --
169215
169216 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
169217 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
169218 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
169219 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
169220 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
169221 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
169222 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
169223 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
169224 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
169225 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
169226 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
169227 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
169228 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
169229 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
169230 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
169231 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
169232 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
169233 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
169234 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
169235 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
169236 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
169237 g_array_event(l_event_id).array_value_char('source_82') := l_array_source_82(hdr_idx);
169238 g_array_event(l_event_id).array_value_char('source_96') := l_array_source_96(hdr_idx);
169239 g_array_event(l_event_id).array_value_num('source_109') := l_array_source_109(hdr_idx);
169240 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
169241 g_array_event(l_event_id).array_value_num('source_112') := l_array_source_112(hdr_idx);
169242 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
169243 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
169244 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
169245 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
169246 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
169247 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
169248 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
169249 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
169250 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
169251 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
169252 g_array_event(l_event_id).array_value_char('source_172') := l_array_source_172(hdr_idx);
169253 g_array_event(l_event_id).array_value_char('source_172_meaning') := l_array_source_172_meaning(hdr_idx);
169254
169255 --
169256 -- initilaize the status of ae headers for diffrent balance types
169260 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169257 -- the status is initialised to C_NOT_CREATED (2)
169258 --
169259 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169261 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169262
169263 --
169264 -- call api to validate and store accounting attributes for header
169265 --
169266
169267 ------------------------------------------------------------
169268 -- Accrual Reversal : to get date for Standard Source (NONE)
169269 ------------------------------------------------------------
169270 l_acc_rev_gl_date_source := NULL;
169271
169272 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
169273 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
169274 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
169275 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
169276 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
169277 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
169278 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
169279 l_rec_acct_attrs.array_date_value(4) :=
169280 xla_ae_sources_pkg.GetSystemSourceDate(
169281 p_source_code => 'XLA_EVENT_DATE'
169282 , p_source_type_code => 'Y'
169283 , p_source_application_id => 602
169284 );
169285 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
169286 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_172');
169287
169288
169289 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
169290
169291 XLA_AE_HEADER_PKG.SetJeCategoryName;
169292
169293 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
169294 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
169295 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
169296 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
169297 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
169298
169299
169300 --
169301 xla_ae_header_pkg.SetHdrDescription(
169302 p_description => Description_3 (
169303 p_application_id => p_application_id
169304 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
169305 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
169306 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
169307 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
169308 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
169309 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169310 )
169311 );
169312 --
169313
169314 -- No header level analytical criteria
169315
169316 --
169317 --accounting attribute enhancement, bug 3612931
169318 --
169319 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_172'), 1,30);
169320
169321 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
169322 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169323
169324 xla_accounting_err_pkg.build_message
169325 (p_appli_s_name => 'XLA'
169326 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
169327 ,p_token_1 => 'ACCT_ATTR_NAME'
169328 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
169329 ,p_token_2 => 'PRODUCT_NAME'
169330 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169331 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169332 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169333 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169334
169335 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
169336 --
169337 -- following sets the accounting attributes needed to reverse
169338 -- accounting for a distributeion
169339 --
169340 xla_ae_lines_pkg.SetTrxReversalAttrs
169341 (p_event_id => l_event_id
169342 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
169343 ,p_trx_reversal_source => l_trx_reversal_source);
169344
169345 END IF;
169346
169347
169348 ----------------------------------------------------------------
169349 -- 4262811 - update the header statuses to invalid in need be
169350 ----------------------------------------------------------------
169351 --
169352 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
169353
169354
169355 -----------------------------------------------
169356 -- No accrual reversal for the event class/type
169357 -----------------------------------------------
169358 ----------------------------------------------------------------
169359
169360 --
169361 -- this ends the header loop iteration for one bulk fetch
169362 --
169363 END LOOP;
169364
169365 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
169366 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
169367
169368 --
169369 -- insert dummy rows into lines gt table that were created due to
169370 -- transaction reversals
169371 --
169372 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
169373 l_result := XLA_AE_LINES_PKG.InsertLines;
169374 END IF;
169375
169376 --
169377 -- reset the temp_line_num for each set of events fetched from header
169378 -- cursor rather than doing it for each new event in line cursor
169379 -- Bug 3939231
169383
169380 --
169381 xla_ae_lines_pkg.g_temp_line_num := 0;
169382
169384
169385 --
169386 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
169387 --
169388 --
169389 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169390
169391 trace
169392 (p_msg => 'SQL - FETCH line_cur'
169393 ,p_level => C_LEVEL_STATEMENT
169394 ,p_module => l_log_module);
169395
169396 END IF;
169397 --
169398 --
169399 LOOP
169400 --
169401 FETCH line_cur BULK COLLECT INTO
169402 l_array_entity_id
169403 , l_array_legal_entity_id
169404 , l_array_entity_code
169405 , l_array_transaction_num
169406 , l_array_event_id
169407 , l_array_class_code
169408 , l_array_event_type
169409 , l_array_event_number
169410 , l_array_event_date
169411 , l_array_transaction_date
169412 , l_array_reference_num_1
169413 , l_array_reference_num_2
169414 , l_array_reference_num_3
169415 , l_array_reference_num_4
169416 , l_array_reference_char_1
169417 , l_array_reference_char_2
169418 , l_array_reference_char_3
169419 , l_array_reference_char_4
169420 , l_array_reference_date_1
169421 , l_array_reference_date_2
169422 , l_array_reference_date_3
169423 , l_array_reference_date_4
169424 , l_array_event_created_by
169425 , l_array_budgetary_control_flag
169426 , l_array_extract_line_num
169427 , l_array_source_30
169428 , l_array_source_33
169429 , l_array_source_33_meaning
169430 , l_array_source_45
169431 , l_array_source_46
169432 , l_array_source_52
169433 , l_array_source_54
169434 , l_array_source_66
169435 , l_array_source_79
169436 , l_array_source_79_meaning
169437 , l_array_source_85
169438 , l_array_source_86
169439 , l_array_source_87
169440 , l_array_source_90
169441 , l_array_source_91
169442 , l_array_source_92
169443 , l_array_source_93
169444 , l_array_source_94
169445 , l_array_source_97
169446 , l_array_source_97_meaning
169447 , l_array_source_98
169448 , l_array_source_103
169449 , l_array_source_111
169450 , l_array_source_115
169451 , l_array_source_116
169452 , l_array_source_136
169453 , l_array_source_137
169454 , l_array_source_138
169455 , l_array_source_150
169456 , l_array_source_155
169457 LIMIT l_rows;
169458
169459 --
169460 IF (C_LEVEL_EVENT >= g_log_level) THEN
169461 trace
169462 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
169463 ,p_level => C_LEVEL_EVENT
169464 ,p_module => l_log_module);
169465 END IF;
169466 --
169467 EXIT WHEN l_array_entity_id.count = 0;
169468
169469 XLA_AE_LINES_PKG.g_rec_lines := null;
169470
169471 --
169472 -- Bug 4458708
169473 --
169474 XLA_AE_LINES_PKG.g_LineNumber := 0;
169475 --
169476 --
169477
169478 FOR Idx IN 1..l_array_event_id.count LOOP
169479 --
169480 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
169481 --
169482 l_event_id := l_array_event_id(idx); -- 5648433
169483
169484 --
169485 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
169486 --
169487
169488 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
169489 (g_array_event(l_event_id).array_value_num('header_index'))
169490 ,'N'
169491 ) <> 'Y'
169492 THEN
169493 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169494 trace
169495 (p_msg => 'Trancaction revesal option is not Y '
169496 ,p_level => C_LEVEL_STATEMENT
169497 ,p_module => l_log_module);
169498 END IF;
169499
169500 --
169501 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
169502 --
169503 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169504 --
169505 -- set event info as cache for other routines to refer event attributes
169506 --
169507
169508 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
169509 l_previous_event_id := l_event_id;
169510
169511 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169512 (p_application_id => p_application_id
169513 ,p_primary_ledger_id => p_primary_ledger_id
169514 ,p_base_ledger_id => p_base_ledger_id
169515 ,p_target_ledger_id => p_target_ledger_id
169516 ,p_entity_id => l_array_entity_id(Idx)
169517 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
169518 ,p_entity_code => l_array_entity_code(Idx)
169519 ,p_transaction_num => l_array_transaction_num(Idx)
169520 ,p_event_id => l_array_event_id(Idx)
169521 ,p_event_class_code => l_array_class_code(Idx)
169522 ,p_event_type_code => l_array_event_type(Idx)
169523 ,p_event_number => l_array_event_number(Idx)
169524 ,p_event_date => l_array_event_date(Idx)
169525 ,p_transaction_date => l_array_transaction_date(Idx)
169526 ,p_reference_num_1 => l_array_reference_num_1(Idx)
169527 ,p_reference_num_2 => l_array_reference_num_2(Idx)
169528 ,p_reference_num_3 => l_array_reference_num_3(Idx)
169529 ,p_reference_num_4 => l_array_reference_num_4(Idx)
169530 ,p_reference_char_1 => l_array_reference_char_1(Idx)
169531 ,p_reference_char_2 => l_array_reference_char_2(Idx)
169532 ,p_reference_char_3 => l_array_reference_char_3(Idx)
169536 ,p_reference_date_3 => l_array_reference_date_3(Idx)
169533 ,p_reference_char_4 => l_array_reference_char_4(Idx)
169534 ,p_reference_date_1 => l_array_reference_date_1(Idx)
169535 ,p_reference_date_2 => l_array_reference_date_2(Idx)
169537 ,p_reference_date_4 => l_array_reference_date_4(Idx)
169538 ,p_event_created_by => l_array_event_created_by(Idx)
169539 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
169540 --
169541 END IF;
169542
169543
169544
169545 --
169546 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
169547
169548 l_acct_reversal_source := SUBSTR(l_array_source_52(Idx), 1,30);
169549
169550 IF l_continue_with_lines THEN
169551 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
169552 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169553
169554 xla_accounting_err_pkg.build_message
169555 (p_appli_s_name => 'XLA'
169556 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
169557 ,p_token_1 => 'LINE_NUMBER'
169558 ,p_value_1 => l_array_extract_line_num(Idx)
169559 ,p_token_2 => 'PRODUCT_NAME'
169560 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169561 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169562 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169563 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169564
169565 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
169566 --
169567 -- following sets the accounting attributes needed to reverse
169568 -- accounting for a distributeion
169569 --
169570
169571 --
169572 -- 5217187
169573 --
169574 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
169575 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
169576 g_array_event(l_event_id).array_value_num('header_index'));
169577 --
169578 --
169579
169580 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
169581 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_52(Idx);
169582 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
169583 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_103(Idx);
169584 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
169585 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_54(Idx);
169586 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
169587 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_82');
169588 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
169589 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_111(Idx);
169590 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
169591 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_54(Idx);
169592 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
169593 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_85(Idx);
169594 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
169595 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_86(Idx);
169596 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
169597 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_87(Idx);
169598
169599
169600 xla_ae_lines_pkg.SetAcctReversalAttrs
169601 (p_event_id => l_event_id
169602 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
169603 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169604 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
169605 END IF;
169606
169607 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
169608 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
169609
169610 --
169611 AcctLineType_78 (
169612 p_application_id => p_application_id
169613 ,p_event_id => l_event_id
169614 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169615 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169616 ,p_actual_flag => l_actual_flag
169617 ,p_balance_type_code => l_balance_type_code
169618 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169619
169620 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169621 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169622 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
169623 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
169624 , p_source_52 => l_array_source_52(Idx)
169625 , p_source_54 => l_array_source_54(Idx)
169626 , p_source_79 => l_array_source_79(Idx)
169627 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169628 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169629 , p_source_85 => l_array_source_85(Idx)
169630 , p_source_86 => l_array_source_86(Idx)
169631 , p_source_87 => l_array_source_87(Idx)
169632 , p_source_90 => l_array_source_90(Idx)
169633 , p_source_91 => l_array_source_91(Idx)
169634 , p_source_92 => l_array_source_92(Idx)
169635 , p_source_93 => l_array_source_93(Idx)
169636 , p_source_94 => l_array_source_94(Idx)
169637 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169638 , p_source_97 => l_array_source_97(Idx)
169639 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169640 , p_source_98 => l_array_source_98(Idx)
169641 , p_source_103 => l_array_source_103(Idx)
169642 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169643 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169647 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169644 , p_source_111 => l_array_source_111(Idx)
169645 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169646 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169648 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169649 , p_source_115 => l_array_source_115(Idx)
169650 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169651 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169652 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169653 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169654 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169655 );
169656 If(l_balance_type_code = 'A') THEN
169657 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169658 END IF;
169659
169660 --
169661
169662
169663 --
169664 AcctLineType_79 (
169665 p_application_id => p_application_id
169666 ,p_event_id => l_event_id
169667 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169668 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169669 ,p_actual_flag => l_actual_flag
169670 ,p_balance_type_code => l_balance_type_code
169671 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169672
169673 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169674 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169675 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169676 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169677 , p_source_52 => l_array_source_52(Idx)
169678 , p_source_54 => l_array_source_54(Idx)
169679 , p_source_79 => l_array_source_79(Idx)
169680 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169681 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169682 , p_source_85 => l_array_source_85(Idx)
169683 , p_source_86 => l_array_source_86(Idx)
169684 , p_source_87 => l_array_source_87(Idx)
169685 , p_source_90 => l_array_source_90(Idx)
169686 , p_source_91 => l_array_source_91(Idx)
169687 , p_source_92 => l_array_source_92(Idx)
169688 , p_source_93 => l_array_source_93(Idx)
169689 , p_source_94 => l_array_source_94(Idx)
169690 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169691 , p_source_97 => l_array_source_97(Idx)
169692 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169693 , p_source_98 => l_array_source_98(Idx)
169694 , p_source_103 => l_array_source_103(Idx)
169695 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169696 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169697 , p_source_111 => l_array_source_111(Idx)
169698 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169699 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169700 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169701 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169702 , p_source_115 => l_array_source_115(Idx)
169703 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169704 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169705 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169706 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169707 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169708 );
169709 If(l_balance_type_code = 'A') THEN
169710 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169711 END IF;
169712
169713 --
169714
169715
169716 --
169717 AcctLineType_80 (
169718 p_application_id => p_application_id
169719 ,p_event_id => l_event_id
169720 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169721 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169722 ,p_actual_flag => l_actual_flag
169723 ,p_balance_type_code => l_balance_type_code
169724 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169725
169726 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169727 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169728 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169729 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169730 , p_source_52 => l_array_source_52(Idx)
169731 , p_source_54 => l_array_source_54(Idx)
169732 , p_source_79 => l_array_source_79(Idx)
169733 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169734 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169735 , p_source_85 => l_array_source_85(Idx)
169736 , p_source_86 => l_array_source_86(Idx)
169737 , p_source_87 => l_array_source_87(Idx)
169738 , p_source_90 => l_array_source_90(Idx)
169739 , p_source_91 => l_array_source_91(Idx)
169740 , p_source_92 => l_array_source_92(Idx)
169741 , p_source_93 => l_array_source_93(Idx)
169742 , p_source_94 => l_array_source_94(Idx)
169743 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169744 , p_source_97 => l_array_source_97(Idx)
169745 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169746 , p_source_98 => l_array_source_98(Idx)
169747 , p_source_103 => l_array_source_103(Idx)
169748 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169749 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169750 , p_source_111 => l_array_source_111(Idx)
169751 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169752 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169753 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169754 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169755 , p_source_115 => l_array_source_115(Idx)
169759 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169756 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169757 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169758 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169760 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169761 );
169762 If(l_balance_type_code = 'A') THEN
169763 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169764 END IF;
169765
169766 --
169767
169768
169769 --
169770 AcctLineType_81 (
169771 p_application_id => p_application_id
169772 ,p_event_id => l_event_id
169773 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169774 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169775 ,p_actual_flag => l_actual_flag
169776 ,p_balance_type_code => l_balance_type_code
169777 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169778
169779 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169780 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169781 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169782 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169783 , p_source_52 => l_array_source_52(Idx)
169784 , p_source_54 => l_array_source_54(Idx)
169785 , p_source_79 => l_array_source_79(Idx)
169786 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169787 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169788 , p_source_85 => l_array_source_85(Idx)
169789 , p_source_86 => l_array_source_86(Idx)
169790 , p_source_87 => l_array_source_87(Idx)
169791 , p_source_90 => l_array_source_90(Idx)
169792 , p_source_91 => l_array_source_91(Idx)
169793 , p_source_92 => l_array_source_92(Idx)
169794 , p_source_93 => l_array_source_93(Idx)
169795 , p_source_94 => l_array_source_94(Idx)
169796 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169797 , p_source_97 => l_array_source_97(Idx)
169798 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169799 , p_source_98 => l_array_source_98(Idx)
169800 , p_source_103 => l_array_source_103(Idx)
169801 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169802 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169803 , p_source_111 => l_array_source_111(Idx)
169804 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169805 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169806 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169807 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169808 , p_source_116 => l_array_source_116(Idx)
169809 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169810 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169811 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169812 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169813 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169814 );
169815 If(l_balance_type_code = 'A') THEN
169816 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169817 END IF;
169818
169819 --
169820
169821
169822 --
169823 AcctLineType_82 (
169824 p_application_id => p_application_id
169825 ,p_event_id => l_event_id
169826 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169827 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169828 ,p_actual_flag => l_actual_flag
169829 ,p_balance_type_code => l_balance_type_code
169830 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169831
169832 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169833 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169834 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169835 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169836 , p_source_52 => l_array_source_52(Idx)
169837 , p_source_54 => l_array_source_54(Idx)
169838 , p_source_79 => l_array_source_79(Idx)
169839 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169840 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169841 , p_source_85 => l_array_source_85(Idx)
169842 , p_source_86 => l_array_source_86(Idx)
169843 , p_source_87 => l_array_source_87(Idx)
169844 , p_source_90 => l_array_source_90(Idx)
169845 , p_source_91 => l_array_source_91(Idx)
169846 , p_source_92 => l_array_source_92(Idx)
169847 , p_source_93 => l_array_source_93(Idx)
169848 , p_source_94 => l_array_source_94(Idx)
169849 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169850 , p_source_97 => l_array_source_97(Idx)
169851 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169852 , p_source_98 => l_array_source_98(Idx)
169853 , p_source_103 => l_array_source_103(Idx)
169854 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169855 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169856 , p_source_111 => l_array_source_111(Idx)
169857 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169858 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169859 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169860 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169861 , p_source_116 => l_array_source_116(Idx)
169862 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169863 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169864 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169865 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169866 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169867 );
169868 If(l_balance_type_code = 'A') THEN
169872 --
169869 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169870 END IF;
169871
169873
169874
169875 --
169876 AcctLineType_83 (
169877 p_application_id => p_application_id
169878 ,p_event_id => l_event_id
169879 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169880 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169881 ,p_actual_flag => l_actual_flag
169882 ,p_balance_type_code => l_balance_type_code
169883 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169884
169885 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169886 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169887 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
169888 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
169889 , p_source_52 => l_array_source_52(Idx)
169890 , p_source_54 => l_array_source_54(Idx)
169891 , p_source_79 => l_array_source_79(Idx)
169892 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169893 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169894 , p_source_85 => l_array_source_85(Idx)
169895 , p_source_86 => l_array_source_86(Idx)
169896 , p_source_87 => l_array_source_87(Idx)
169897 , p_source_90 => l_array_source_90(Idx)
169898 , p_source_91 => l_array_source_91(Idx)
169899 , p_source_92 => l_array_source_92(Idx)
169900 , p_source_93 => l_array_source_93(Idx)
169901 , p_source_94 => l_array_source_94(Idx)
169902 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169903 , p_source_97 => l_array_source_97(Idx)
169904 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169905 , p_source_98 => l_array_source_98(Idx)
169906 , p_source_103 => l_array_source_103(Idx)
169907 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169908 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169909 , p_source_111 => l_array_source_111(Idx)
169910 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169911 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169912 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169913 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169914 , p_source_116 => l_array_source_116(Idx)
169915 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169916 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169917 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169918 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169919 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169920 );
169921 If(l_balance_type_code = 'A') THEN
169922 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169923 END IF;
169924
169925 --
169926
169927
169928 --
169929 AcctLineType_90 (
169930 p_application_id => p_application_id
169931 ,p_event_id => l_event_id
169932 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169933 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169934 ,p_actual_flag => l_actual_flag
169935 ,p_balance_type_code => l_balance_type_code
169936 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169937
169938 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169939 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
169940 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
169941 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
169942 , p_source_52 => l_array_source_52(Idx)
169943 , p_source_54 => l_array_source_54(Idx)
169944 , p_source_79 => l_array_source_79(Idx)
169945 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169946 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
169947 , p_source_85 => l_array_source_85(Idx)
169948 , p_source_86 => l_array_source_86(Idx)
169949 , p_source_87 => l_array_source_87(Idx)
169950 , p_source_90 => l_array_source_90(Idx)
169951 , p_source_91 => l_array_source_91(Idx)
169952 , p_source_92 => l_array_source_92(Idx)
169953 , p_source_93 => l_array_source_93(Idx)
169954 , p_source_94 => l_array_source_94(Idx)
169955 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
169956 , p_source_97 => l_array_source_97(Idx)
169957 , p_source_97_meaning => l_array_source_97_meaning(Idx)
169958 , p_source_98 => l_array_source_98(Idx)
169959 , p_source_103 => l_array_source_103(Idx)
169960 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
169961 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169962 , p_source_111 => l_array_source_111(Idx)
169963 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
169964 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169965 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169966 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169967 , p_source_115 => l_array_source_115(Idx)
169968 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169969 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169970 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169971 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169972 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169973 );
169974 If(l_balance_type_code = 'A') THEN
169975 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169976 END IF;
169977
169978 --
169979
169980
169981 --
169982 AcctLineType_91 (
169983 p_application_id => p_application_id
169984 ,p_event_id => l_event_id
169985 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169986 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169987 ,p_actual_flag => l_actual_flag
169988 ,p_balance_type_code => l_balance_type_code
169992 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169989 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169990
169991 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169993 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169994 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
169995 , p_source_52 => l_array_source_52(Idx)
169996 , p_source_54 => l_array_source_54(Idx)
169997 , p_source_79 => l_array_source_79(Idx)
169998 , p_source_79_meaning => l_array_source_79_meaning(Idx)
169999 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170000 , p_source_85 => l_array_source_85(Idx)
170001 , p_source_86 => l_array_source_86(Idx)
170002 , p_source_87 => l_array_source_87(Idx)
170003 , p_source_90 => l_array_source_90(Idx)
170004 , p_source_91 => l_array_source_91(Idx)
170005 , p_source_92 => l_array_source_92(Idx)
170006 , p_source_93 => l_array_source_93(Idx)
170007 , p_source_94 => l_array_source_94(Idx)
170008 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170009 , p_source_97 => l_array_source_97(Idx)
170010 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170011 , p_source_98 => l_array_source_98(Idx)
170012 , p_source_103 => l_array_source_103(Idx)
170013 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170014 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170015 , p_source_111 => l_array_source_111(Idx)
170016 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170017 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170018 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170019 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170020 , p_source_115 => l_array_source_115(Idx)
170021 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170022 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170023 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170024 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170025 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170026 );
170027 If(l_balance_type_code = 'A') THEN
170028 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170029 END IF;
170030
170031 --
170032
170033
170034 --
170035 AcctLineType_92 (
170036 p_application_id => p_application_id
170037 ,p_event_id => l_event_id
170038 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170039 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170040 ,p_actual_flag => l_actual_flag
170041 ,p_balance_type_code => l_balance_type_code
170042 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170043
170044 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170045 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170046 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170047 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
170048 , p_source_52 => l_array_source_52(Idx)
170049 , p_source_54 => l_array_source_54(Idx)
170050 , p_source_79 => l_array_source_79(Idx)
170051 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170052 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170053 , p_source_85 => l_array_source_85(Idx)
170054 , p_source_86 => l_array_source_86(Idx)
170055 , p_source_87 => l_array_source_87(Idx)
170056 , p_source_90 => l_array_source_90(Idx)
170057 , p_source_91 => l_array_source_91(Idx)
170058 , p_source_92 => l_array_source_92(Idx)
170059 , p_source_93 => l_array_source_93(Idx)
170060 , p_source_94 => l_array_source_94(Idx)
170061 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170062 , p_source_97 => l_array_source_97(Idx)
170063 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170064 , p_source_98 => l_array_source_98(Idx)
170065 , p_source_103 => l_array_source_103(Idx)
170066 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170067 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170068 , p_source_111 => l_array_source_111(Idx)
170069 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170070 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170071 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170072 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170073 , p_source_115 => l_array_source_115(Idx)
170074 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170075 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170076 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170077 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170078 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170079 );
170080 If(l_balance_type_code = 'A') THEN
170081 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170082 END IF;
170083
170084 --
170085
170086
170087 --
170088 AcctLineType_104 (
170089 p_application_id => p_application_id
170090 ,p_event_id => l_event_id
170091 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170092 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170093 ,p_actual_flag => l_actual_flag
170094 ,p_balance_type_code => l_balance_type_code
170095 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170096
170097 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170098 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170099 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170100 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
170101 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
170105 , p_source_33_meaning => l_array_source_33_meaning(Idx)
170102 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
170103 , p_source_30 => l_array_source_30(Idx)
170104 , p_source_33 => l_array_source_33(Idx)
170106 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
170107 , p_source_45 => l_array_source_45(Idx)
170108 , p_source_46 => l_array_source_46(Idx)
170109 , p_source_52 => l_array_source_52(Idx)
170110 , p_source_54 => l_array_source_54(Idx)
170111 , p_source_79 => l_array_source_79(Idx)
170112 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170113 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170114 , p_source_85 => l_array_source_85(Idx)
170115 , p_source_86 => l_array_source_86(Idx)
170116 , p_source_87 => l_array_source_87(Idx)
170117 , p_source_90 => l_array_source_90(Idx)
170118 , p_source_91 => l_array_source_91(Idx)
170119 , p_source_92 => l_array_source_92(Idx)
170120 , p_source_93 => l_array_source_93(Idx)
170121 , p_source_94 => l_array_source_94(Idx)
170122 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170123 , p_source_97 => l_array_source_97(Idx)
170124 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170125 , p_source_98 => l_array_source_98(Idx)
170126 , p_source_103 => l_array_source_103(Idx)
170127 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170128 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170129 , p_source_111 => l_array_source_111(Idx)
170130 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170131 , p_source_116 => l_array_source_116(Idx)
170132 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170133 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170134 , p_source_136 => l_array_source_136(Idx)
170135 , p_source_137 => l_array_source_137(Idx)
170136 , p_source_138 => l_array_source_138(Idx)
170137 );
170138 If(l_balance_type_code = 'A') THEN
170139 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170140 END IF;
170141
170142 --
170143
170144
170145 --
170146 AcctLineType_112 (
170147 p_application_id => p_application_id
170148 ,p_event_id => l_event_id
170149 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170150 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170151 ,p_actual_flag => l_actual_flag
170152 ,p_balance_type_code => l_balance_type_code
170153 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170154
170155 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170156 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170157 , p_source_30 => l_array_source_30(Idx)
170158 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
170159 , p_source_52 => l_array_source_52(Idx)
170160 , p_source_54 => l_array_source_54(Idx)
170161 , p_source_66 => l_array_source_66(Idx)
170162 , p_source_79 => l_array_source_79(Idx)
170163 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170164 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170165 , p_source_85 => l_array_source_85(Idx)
170166 , p_source_86 => l_array_source_86(Idx)
170167 , p_source_87 => l_array_source_87(Idx)
170168 , p_source_90 => l_array_source_90(Idx)
170169 , p_source_91 => l_array_source_91(Idx)
170170 , p_source_92 => l_array_source_92(Idx)
170171 , p_source_93 => l_array_source_93(Idx)
170172 , p_source_94 => l_array_source_94(Idx)
170173 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170174 , p_source_97 => l_array_source_97(Idx)
170175 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170176 , p_source_98 => l_array_source_98(Idx)
170177 , p_source_103 => l_array_source_103(Idx)
170178 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170179 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170180 , p_source_111 => l_array_source_111(Idx)
170181 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170182 , p_source_116 => l_array_source_116(Idx)
170183 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170184 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170185 , p_source_136 => l_array_source_136(Idx)
170186 , p_source_137 => l_array_source_137(Idx)
170187 , p_source_138 => l_array_source_138(Idx)
170188 );
170189 If(l_balance_type_code = 'A') THEN
170190 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170191 END IF;
170192
170193 --
170194
170195
170196 --
170197 AcctLineType_127 (
170198 p_application_id => p_application_id
170199 ,p_event_id => l_event_id
170200 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170201 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170202 ,p_actual_flag => l_actual_flag
170203 ,p_balance_type_code => l_balance_type_code
170204 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170205
170206 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170207 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170208 , p_source_30 => l_array_source_30(Idx)
170209 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
170210 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
170211 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
170212 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
170213 , p_source_52 => l_array_source_52(Idx)
170214 , p_source_54 => l_array_source_54(Idx)
170215 , p_source_79 => l_array_source_79(Idx)
170216 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170217 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170218 , p_source_85 => l_array_source_85(Idx)
170219 , p_source_86 => l_array_source_86(Idx)
170220 , p_source_87 => l_array_source_87(Idx)
170221 , p_source_90 => l_array_source_90(Idx)
170225 , p_source_94 => l_array_source_94(Idx)
170222 , p_source_91 => l_array_source_91(Idx)
170223 , p_source_92 => l_array_source_92(Idx)
170224 , p_source_93 => l_array_source_93(Idx)
170226 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170227 , p_source_97 => l_array_source_97(Idx)
170228 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170229 , p_source_103 => l_array_source_103(Idx)
170230 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170231 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170232 , p_source_111 => l_array_source_111(Idx)
170233 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170234 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170235 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170236 , p_source_150 => l_array_source_150(Idx)
170237 );
170238 If(l_balance_type_code = 'A') THEN
170239 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170240 END IF;
170241
170242 --
170243
170244
170245 --
170246 AcctLineType_133 (
170247 p_application_id => p_application_id
170248 ,p_event_id => l_event_id
170249 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170250 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170251 ,p_actual_flag => l_actual_flag
170252 ,p_balance_type_code => l_balance_type_code
170253 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170254
170255 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170256 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170257 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170258 , p_source_30 => l_array_source_30(Idx)
170259 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
170260 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
170261 , p_source_52 => l_array_source_52(Idx)
170262 , p_source_54 => l_array_source_54(Idx)
170263 , p_source_79 => l_array_source_79(Idx)
170264 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170265 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170266 , p_source_85 => l_array_source_85(Idx)
170267 , p_source_86 => l_array_source_86(Idx)
170268 , p_source_87 => l_array_source_87(Idx)
170269 , p_source_90 => l_array_source_90(Idx)
170270 , p_source_91 => l_array_source_91(Idx)
170271 , p_source_92 => l_array_source_92(Idx)
170272 , p_source_93 => l_array_source_93(Idx)
170273 , p_source_94 => l_array_source_94(Idx)
170274 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170275 , p_source_97 => l_array_source_97(Idx)
170276 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170277 , p_source_98 => l_array_source_98(Idx)
170278 , p_source_103 => l_array_source_103(Idx)
170279 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170280 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170281 , p_source_111 => l_array_source_111(Idx)
170282 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170283 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170284 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170285 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170286 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170287 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170288 , p_source_150 => l_array_source_150(Idx)
170289 , p_source_155 => l_array_source_155(Idx)
170290 );
170291 If(l_balance_type_code = 'A') THEN
170292 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170293 END IF;
170294
170295 --
170296
170297
170298 --
170299 AcctLineType_160 (
170300 p_application_id => p_application_id
170301 ,p_event_id => l_event_id
170302 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170303 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170304 ,p_actual_flag => l_actual_flag
170305 ,p_balance_type_code => l_balance_type_code
170306 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170307
170308 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170309 , p_source_52 => l_array_source_52(Idx)
170310 , p_source_54 => l_array_source_54(Idx)
170311 , p_source_79 => l_array_source_79(Idx)
170312 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170313 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170314 , p_source_85 => l_array_source_85(Idx)
170315 , p_source_86 => l_array_source_86(Idx)
170316 , p_source_87 => l_array_source_87(Idx)
170317 , p_source_90 => l_array_source_90(Idx)
170318 , p_source_91 => l_array_source_91(Idx)
170319 , p_source_92 => l_array_source_92(Idx)
170320 , p_source_93 => l_array_source_93(Idx)
170321 , p_source_94 => l_array_source_94(Idx)
170322 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170323 , p_source_97 => l_array_source_97(Idx)
170324 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170325 , p_source_98 => l_array_source_98(Idx)
170326 , p_source_103 => l_array_source_103(Idx)
170327 , p_source_111 => l_array_source_111(Idx)
170328 , p_source_116 => l_array_source_116(Idx)
170329 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170330 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170331 );
170332 If(l_balance_type_code = 'A') THEN
170333 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170334 END IF;
170335
170336 --
170337
170338
170339 --
170340 AcctLineType_167 (
170341 p_application_id => p_application_id
170342 ,p_event_id => l_event_id
170343 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170344 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170345 ,p_actual_flag => l_actual_flag
170346 ,p_balance_type_code => l_balance_type_code
170347 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170351 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170348
170349 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170350 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170352 , p_source_30 => l_array_source_30(Idx)
170353 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
170354 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
170355 , p_source_52 => l_array_source_52(Idx)
170356 , p_source_54 => l_array_source_54(Idx)
170357 , p_source_79 => l_array_source_79(Idx)
170358 , p_source_79_meaning => l_array_source_79_meaning(Idx)
170359 , p_source_82 => g_array_event(l_event_id).array_value_char('source_82')
170360 , p_source_85 => l_array_source_85(Idx)
170361 , p_source_86 => l_array_source_86(Idx)
170362 , p_source_87 => l_array_source_87(Idx)
170363 , p_source_90 => l_array_source_90(Idx)
170364 , p_source_91 => l_array_source_91(Idx)
170365 , p_source_92 => l_array_source_92(Idx)
170366 , p_source_93 => l_array_source_93(Idx)
170367 , p_source_94 => l_array_source_94(Idx)
170368 , p_source_96 => g_array_event(l_event_id).array_value_char('source_96')
170369 , p_source_97 => l_array_source_97(Idx)
170370 , p_source_97_meaning => l_array_source_97_meaning(Idx)
170371 , p_source_98 => l_array_source_98(Idx)
170372 , p_source_103 => l_array_source_103(Idx)
170373 , p_source_109 => g_array_event(l_event_id).array_value_num('source_109')
170374 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170375 , p_source_111 => l_array_source_111(Idx)
170376 , p_source_112 => g_array_event(l_event_id).array_value_num('source_112')
170377 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170378 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170379 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170380 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170381 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170382 , p_source_150 => l_array_source_150(Idx)
170383 , p_source_155 => l_array_source_155(Idx)
170384 );
170385 If(l_balance_type_code = 'A') THEN
170386 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170387 END IF;
170388
170389 --
170390
170391 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
170392 -- or secondary ledger that has different currency with primary
170393 -- or alc that is calculated by sla
170394 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
170395 (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'))
170396
170397 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
170398 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
170399 AND (l_actual_flag = 'A')) THEN
170400 XLA_AE_LINES_PKG.CreateGainOrLossLines(
170401 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
170402 ,p_application_id => p_application_id
170403 ,p_amb_context_code => 'DEFAULT'
170404 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
170405 ,p_event_class_code => C_EVENT_CLASS_CODE
170406 ,p_event_type_code => C_EVENT_TYPE_CODE
170407
170408 ,p_gain_ccid => -1
170409 ,p_loss_ccid => -1
170410
170411 ,p_actual_flag => l_actual_flag
170412 ,p_enc_flag => null
170413 ,p_actual_g_l_ref => l_actual_gain_loss_ref
170414 ,p_enc_g_l_ref => null
170415 );
170416 END IF;
170417 END IF;
170418 END IF;
170419
170420 ELSE
170421 --
170422 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
170423 --
170424 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170425 trace
170426 (p_msg => 'Trancaction revesal option is Y'
170427 ,p_level => C_LEVEL_STATEMENT
170428 ,p_module => l_log_module);
170429 END IF;
170430 END IF;
170431
170432 END LOOP;
170433 l_result := XLA_AE_LINES_PKG.InsertLines ;
170434 end loop;
170435 close line_cur;
170436
170437
170438 --
170439 -- insert headers into xla_ae_headers_gt table
170440 --
170441 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
170442
170443 -- insert into errors table here.
170444
170445 END LOOP;
170446
170447 --
170448 -- 4865292
170449 --
170450 -- Compare g_hdr_extract_count with event count in
170451 -- CreateHeadersAndLines.
170452 --
170453 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
170454
170455 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170456 trace (p_msg => '# rows extracted from header extract objects '
170457 || ' (running total): '
170458 || g_hdr_extract_count
170459 ,p_level => C_LEVEL_STATEMENT
170460 ,p_module => l_log_module);
170461 END IF;
170462
170463 CLOSE header_cur;
170464 --
170465
170466 --
170467 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170468 trace
170469 (p_msg => 'END of EventClass_234'
170470 ,p_level => C_LEVEL_PROCEDURE
170471 ,p_module => l_log_module);
170472 END IF;
170473 --
170474 RETURN l_result;
170475 EXCEPTION
170476 WHEN xla_exceptions_pkg.application_exception THEN
170477
170478 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170479
170480
170481 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170482
170483 RAISE;
170484
170485 WHEN NO_DATA_FOUND THEN
170486
170487 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170491 LOOP
170488 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170489
170490 FOR header_record IN header_cur
170492 l_array_header_events(header_record.event_id) := header_record.event_id;
170493 END LOOP;
170494
170495 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
170496 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
170497
170498 fnd_file.put_line(fnd_file.LOG, ' ');
170499 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170500 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
170501 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
170502
170503 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
170504 LOOP
170505 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
170506 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
170507 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
170508 END IF;
170509 END LOOP;
170510
170511 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170512 fnd_file.put_line(fnd_file.LOG, ' ');
170513
170514
170515 xla_exceptions_pkg.raise_message
170516 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_234');
170517
170518
170519 WHEN OTHERS THEN
170520 xla_exceptions_pkg.raise_message
170521 (p_location => 'XLA_00200_AAD_S_000020_PKG.EventClass_234');
170522 END EventClass_234;
170523 --
170524
170525 --
170526 --+============================================+
170527 --| |
170528 --| PRIVATE FUNCTION |
170529 --| |
170530 --+============================================+
170531 --
170532 FUNCTION CreateHeadersAndLines
170533 (p_application_id IN NUMBER
170534 ,p_base_ledger_id IN NUMBER
170535 ,p_target_ledger_id IN NUMBER
170536 ,p_pad_start_date IN DATE
170537 ,p_pad_end_date IN DATE
170538 ,p_primary_ledger_id IN NUMBER)
170539 RETURN BOOLEAN IS
170540 l_created BOOLEAN:=FALSE;
170541 l_event_id NUMBER;
170542 l_event_date DATE;
170543 l_language VARCHAR2(30);
170544 l_currency_code VARCHAR2(30);
170545 l_sla_ledger_id NUMBER;
170546 l_log_module VARCHAR2(240);
170547
170548 BEGIN
170549 --
170550 IF g_log_enabled THEN
170551 l_log_module := C_DEFAULT_MODULE||'.CreateHeadersAndLines';
170552 END IF;
170553 --
170554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170555 trace
170556 (p_msg => 'BEGIN of CreateHeadersAndLines'
170557 ,p_level => C_LEVEL_PROCEDURE
170558 ,p_module => l_log_module);
170559 END IF;
170560
170561 l_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
170562 l_currency_code := xla_ae_journal_entry_pkg.g_cache_ledgers_info.currency_code;
170563 l_sla_ledger_id := xla_ae_journal_entry_pkg.g_cache_ledgers_info.sla_ledger_id;
170564
170565 --
170566 -- initialize array of lines with NULL
170567 --
170568 xla_ae_lines_pkg.SetNullLine;
170569
170570 --
170571 -- initialize header extract count -- Bug 4865292
170572 --
170573 g_hdr_extract_count:= 0;
170574
170575
170576 l_created := EventClass_226(
170577 p_application_id => p_application_id
170578 , p_base_ledger_id => p_base_ledger_id
170579 , p_target_ledger_id => p_target_ledger_id
170580 , p_language => l_language
170581 , p_currency_code => l_currency_code
170582 , p_sla_ledger_id => l_sla_ledger_id
170583 , p_pad_start_date => p_pad_start_date
170584 , p_pad_end_date => p_pad_end_date
170585 , p_primary_ledger_id => p_primary_ledger_id
170586 );
170587
170588
170589
170590 IF ( g_diagnostics_mode ='Y' ) THEN
170591
170592 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170593 trace
170594 (p_msg => 'CALL Transaction Objects Diagnostics'
170595 ,p_level => C_LEVEL_STATEMENT
170596 ,p_module => l_log_module);
170597
170598 END IF;
170599
170600 insert_sources_226(
170601 p_target_ledger_id => p_target_ledger_id
170602 , p_language => l_language
170603 , p_sla_ledger_id => l_sla_ledger_id
170604 , p_pad_start_date => p_pad_start_date
170605 , p_pad_end_date => p_pad_end_date
170606 );
170607
170608 END IF;
170609
170610 l_created := EventClass_227(
170611 p_application_id => p_application_id
170612 , p_base_ledger_id => p_base_ledger_id
170613 , p_target_ledger_id => p_target_ledger_id
170614 , p_language => l_language
170615 , p_currency_code => l_currency_code
170616 , p_sla_ledger_id => l_sla_ledger_id
170617 , p_pad_start_date => p_pad_start_date
170618 , p_pad_end_date => p_pad_end_date
170619 , p_primary_ledger_id => p_primary_ledger_id
170620 );
170621
170622
170623
170624 IF ( g_diagnostics_mode ='Y' ) THEN
170625
170626 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170627 trace
170628 (p_msg => 'CALL Transaction Objects Diagnostics'
170629 ,p_level => C_LEVEL_STATEMENT
170630 ,p_module => l_log_module);
170631
170632 END IF;
170633
170637 , p_sla_ledger_id => l_sla_ledger_id
170634 insert_sources_227(
170635 p_target_ledger_id => p_target_ledger_id
170636 , p_language => l_language
170638 , p_pad_start_date => p_pad_start_date
170639 , p_pad_end_date => p_pad_end_date
170640 );
170641
170642 END IF;
170643
170644 l_created := EventClass_228(
170645 p_application_id => p_application_id
170646 , p_base_ledger_id => p_base_ledger_id
170647 , p_target_ledger_id => p_target_ledger_id
170648 , p_language => l_language
170649 , p_currency_code => l_currency_code
170650 , p_sla_ledger_id => l_sla_ledger_id
170651 , p_pad_start_date => p_pad_start_date
170652 , p_pad_end_date => p_pad_end_date
170653 , p_primary_ledger_id => p_primary_ledger_id
170654 );
170655
170656
170657
170658 IF ( g_diagnostics_mode ='Y' ) THEN
170659
170660 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170661 trace
170662 (p_msg => 'CALL Transaction Objects Diagnostics'
170663 ,p_level => C_LEVEL_STATEMENT
170664 ,p_module => l_log_module);
170665
170666 END IF;
170667
170668 insert_sources_228(
170669 p_target_ledger_id => p_target_ledger_id
170670 , p_language => l_language
170671 , p_sla_ledger_id => l_sla_ledger_id
170672 , p_pad_start_date => p_pad_start_date
170673 , p_pad_end_date => p_pad_end_date
170674 );
170675
170676 END IF;
170677
170678 l_created := EventClass_229(
170679 p_application_id => p_application_id
170680 , p_base_ledger_id => p_base_ledger_id
170681 , p_target_ledger_id => p_target_ledger_id
170682 , p_language => l_language
170683 , p_currency_code => l_currency_code
170684 , p_sla_ledger_id => l_sla_ledger_id
170685 , p_pad_start_date => p_pad_start_date
170686 , p_pad_end_date => p_pad_end_date
170687 , p_primary_ledger_id => p_primary_ledger_id
170688 );
170689
170690
170691
170692 IF ( g_diagnostics_mode ='Y' ) THEN
170693
170694 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170695 trace
170696 (p_msg => 'CALL Transaction Objects Diagnostics'
170697 ,p_level => C_LEVEL_STATEMENT
170698 ,p_module => l_log_module);
170699
170700 END IF;
170701
170702 insert_sources_229(
170703 p_target_ledger_id => p_target_ledger_id
170704 , p_language => l_language
170705 , p_sla_ledger_id => l_sla_ledger_id
170706 , p_pad_start_date => p_pad_start_date
170707 , p_pad_end_date => p_pad_end_date
170708 );
170709
170710 END IF;
170711
170712 l_created := EventClass_230(
170713 p_application_id => p_application_id
170714 , p_base_ledger_id => p_base_ledger_id
170715 , p_target_ledger_id => p_target_ledger_id
170716 , p_language => l_language
170717 , p_currency_code => l_currency_code
170718 , p_sla_ledger_id => l_sla_ledger_id
170719 , p_pad_start_date => p_pad_start_date
170720 , p_pad_end_date => p_pad_end_date
170721 , p_primary_ledger_id => p_primary_ledger_id
170722 );
170723
170724
170725
170726 IF ( g_diagnostics_mode ='Y' ) THEN
170727
170728 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170729 trace
170730 (p_msg => 'CALL Transaction Objects Diagnostics'
170731 ,p_level => C_LEVEL_STATEMENT
170732 ,p_module => l_log_module);
170733
170734 END IF;
170735
170736 insert_sources_230(
170737 p_target_ledger_id => p_target_ledger_id
170738 , p_language => l_language
170739 , p_sla_ledger_id => l_sla_ledger_id
170740 , p_pad_start_date => p_pad_start_date
170741 , p_pad_end_date => p_pad_end_date
170742 );
170743
170744 END IF;
170745
170746 l_created := EventClass_231(
170747 p_application_id => p_application_id
170748 , p_base_ledger_id => p_base_ledger_id
170749 , p_target_ledger_id => p_target_ledger_id
170750 , p_language => l_language
170751 , p_currency_code => l_currency_code
170752 , p_sla_ledger_id => l_sla_ledger_id
170753 , p_pad_start_date => p_pad_start_date
170754 , p_pad_end_date => p_pad_end_date
170755 , p_primary_ledger_id => p_primary_ledger_id
170756 );
170757
170758
170759
170760 IF ( g_diagnostics_mode ='Y' ) THEN
170761
170762 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170763 trace
170764 (p_msg => 'CALL Transaction Objects Diagnostics'
170765 ,p_level => C_LEVEL_STATEMENT
170766 ,p_module => l_log_module);
170767
170768 END IF;
170769
170770 insert_sources_231(
170771 p_target_ledger_id => p_target_ledger_id
170772 , p_language => l_language
170773 , p_sla_ledger_id => l_sla_ledger_id
170774 , p_pad_start_date => p_pad_start_date
170775 , p_pad_end_date => p_pad_end_date
170776 );
170777
170778 END IF;
170779
170783 , p_target_ledger_id => p_target_ledger_id
170780 l_created := EventClass_232(
170781 p_application_id => p_application_id
170782 , p_base_ledger_id => p_base_ledger_id
170784 , p_language => l_language
170785 , p_currency_code => l_currency_code
170786 , p_sla_ledger_id => l_sla_ledger_id
170787 , p_pad_start_date => p_pad_start_date
170788 , p_pad_end_date => p_pad_end_date
170789 , p_primary_ledger_id => p_primary_ledger_id
170790 );
170791
170792
170793
170794 IF ( g_diagnostics_mode ='Y' ) THEN
170795
170796 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170797 trace
170798 (p_msg => 'CALL Transaction Objects Diagnostics'
170799 ,p_level => C_LEVEL_STATEMENT
170800 ,p_module => l_log_module);
170801
170802 END IF;
170803
170804 insert_sources_232(
170805 p_target_ledger_id => p_target_ledger_id
170806 , p_language => l_language
170807 , p_sla_ledger_id => l_sla_ledger_id
170808 , p_pad_start_date => p_pad_start_date
170809 , p_pad_end_date => p_pad_end_date
170810 );
170811
170812 END IF;
170813
170814 l_created := EventClass_233(
170815 p_application_id => p_application_id
170816 , p_base_ledger_id => p_base_ledger_id
170817 , p_target_ledger_id => p_target_ledger_id
170818 , p_language => l_language
170819 , p_currency_code => l_currency_code
170820 , p_sla_ledger_id => l_sla_ledger_id
170821 , p_pad_start_date => p_pad_start_date
170822 , p_pad_end_date => p_pad_end_date
170823 , p_primary_ledger_id => p_primary_ledger_id
170824 );
170825
170826
170827
170828 IF ( g_diagnostics_mode ='Y' ) THEN
170829
170830 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170831 trace
170832 (p_msg => 'CALL Transaction Objects Diagnostics'
170833 ,p_level => C_LEVEL_STATEMENT
170834 ,p_module => l_log_module);
170835
170836 END IF;
170837
170838 insert_sources_233(
170839 p_target_ledger_id => p_target_ledger_id
170840 , p_language => l_language
170841 , p_sla_ledger_id => l_sla_ledger_id
170842 , p_pad_start_date => p_pad_start_date
170843 , p_pad_end_date => p_pad_end_date
170844 );
170845
170846 END IF;
170847
170848 l_created := EventClass_234(
170849 p_application_id => p_application_id
170850 , p_base_ledger_id => p_base_ledger_id
170851 , p_target_ledger_id => p_target_ledger_id
170852 , p_language => l_language
170853 , p_currency_code => l_currency_code
170854 , p_sla_ledger_id => l_sla_ledger_id
170855 , p_pad_start_date => p_pad_start_date
170856 , p_pad_end_date => p_pad_end_date
170857 , p_primary_ledger_id => p_primary_ledger_id
170858 );
170859
170860
170861
170862 IF ( g_diagnostics_mode ='Y' ) THEN
170863
170864 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170865 trace
170866 (p_msg => 'CALL Transaction Objects Diagnostics'
170867 ,p_level => C_LEVEL_STATEMENT
170868 ,p_module => l_log_module);
170869
170870 END IF;
170871
170872 insert_sources_234(
170873 p_target_ledger_id => p_target_ledger_id
170874 , p_language => l_language
170875 , p_sla_ledger_id => l_sla_ledger_id
170876 , p_pad_start_date => p_pad_start_date
170877 , p_pad_end_date => p_pad_end_date
170878 );
170879
170880 END IF;
170881
170882
170883 --
170884 -- Bug 4865292
170885 -- When the number of events and that of header extract do not match,
170886 -- set the no header extract flag to indicate there are some issues
170887 -- in header extract.
170888 --
170889 -- Event count context is set in xla_accounting_pkg.unit_processor.
170890 -- Build_Message for this error is called in xla_accounting_pkg.post_accounting
170891 -- to report it as a general error.
170892 --
170893 IF xla_context_pkg.get_event_count_context <> g_hdr_extract_count
170894 AND xla_context_pkg.get_event_nohdr_context <> 'Y' THEN
170895
170896 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170897 trace
170898 (p_msg => '# of extracted headers and events does not match'
170899 ,p_level => C_LEVEL_STATEMENT
170900 ,p_module => l_log_module);
170901
170902 trace
170903 (p_msg => '# of extracted headers: '
170904 ||g_hdr_extract_count
170905 ,p_level => C_LEVEL_STATEMENT
170906 ,p_module => l_log_module);
170907
170908 trace
170909 (p_msg => '# of events in xla_events_gt: '
170910 ||xla_context_pkg.get_event_count_context
170911 ,p_level => C_LEVEL_STATEMENT
170912 ,p_module => l_log_module);
170913
170914 trace
170915 (p_msg => 'Event No Header Extract Context: '
170916 ||xla_context_pkg.get_event_nohdr_context
170917 ,p_level => C_LEVEL_STATEMENT
170918 ,p_module => l_log_module);
170919
170920 END IF;
170921
170922
170923 xla_context_pkg.set_event_nohdr_context
170924 (p_nohdr_extract_flag => 'Y'
170928 trace
170925 ,p_client_id => sys_context('USERENV','CLIENT_IDENTIFIER'));
170926
170927 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170929 (p_msg => 'No Header Extract Flag is set to Y'
170930 ,p_level => C_LEVEL_STATEMENT
170931 ,p_module => l_log_module);
170932 END IF;
170933
170934 END IF;
170935
170936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170937 trace
170938 (p_msg => 'END of CreateHeadersAndLines'
170939 ,p_level => C_LEVEL_PROCEDURE
170940 ,p_module => l_log_module);
170941 END IF;
170942
170943 RETURN l_created;
170944 EXCEPTION
170945 WHEN xla_exceptions_pkg.application_exception THEN
170946 RAISE;
170947 WHEN OTHERS THEN
170948 xla_exceptions_pkg.raise_message
170949 (p_location => 'XLA_00200_AAD_S_000020_PKG.CreateHeadersAndLines');
170950 END CreateHeadersAndLines;
170951 --
170952 --
170953
170954 --
170955 --+============================================+
170956 --| |
170957 --| PUBLIC FUNCTION |
170958 --| |
170959 --+============================================+
170960 --
170961 FUNCTION CreateJournalEntries
170962 (p_application_id IN NUMBER
170963 ,p_base_ledger_id IN NUMBER
170964 ,p_pad_start_date IN DATE
170965 ,p_pad_end_date IN DATE
170966 ,p_primary_ledger_id IN NUMBER)
170967 RETURN NUMBER IS
170968 l_log_module VARCHAR2(240);
170969 l_array_ledgers xla_accounting_cache_pkg.t_array_ledger_id;
170970 l_temp_result BOOLEAN;
170971 l_result NUMBER;
170972 BEGIN
170973 --
170974 IF g_log_enabled THEN
170975 l_log_module := C_DEFAULT_MODULE||'.CreateJournalEntries';
170976 END IF;
170977 --
170978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170979 trace
170980 (p_msg => 'BEGIN of CreateJournalEntries'||
170981 ' - p_base_ledger_id = '||TO_CHAR(p_base_ledger_id)
170982 ,p_level => C_LEVEL_PROCEDURE
170983 ,p_module => l_log_module);
170984
170985 END IF;
170986
170987 --
170988 g_diagnostics_mode:= xla_accounting_engine_pkg.g_diagnostics_mode;
170989
170990 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170991 trace
170992 (p_msg => 'g_diagnostics_mode = '||g_diagnostics_mode
170993 ,p_level => C_LEVEL_STATEMENT
170994 ,p_module => l_log_module);
170995 END IF;
170996 --
170997 xla_ae_journal_entry_pkg.SetProductAcctDefinition
170998 (p_product_rule_code => 'JA_CN_ACCRUAL'
170999 ,p_product_rule_type_code => 'S'
171000 ,p_product_rule_version => ''
171001 ,p_product_rule_name => 'China Accrual Basis'
171002 ,p_amb_context_code => 'DEFAULT'
171003 );
171004
171005 l_array_ledgers :=
171006 xla_ae_journal_entry_pkg.GetAlternateCurrencyLedger
171007 (p_base_ledger_id => p_base_ledger_id);
171008
171009 FOR Idx IN 1 .. l_array_ledgers.COUNT LOOP
171010 l_temp_result :=
171011 XLA_AE_JOURNAL_ENTRY_PKG.GetLedgersInfo
171012 (p_application_id => p_application_id
171013 ,p_base_ledger_id => p_base_ledger_id
171014 ,p_target_ledger_id => l_array_ledgers(Idx)
171015 ,p_primary_ledger_id => p_primary_ledger_id
171016 ,p_pad_start_date => p_pad_start_date
171017 ,p_pad_end_date => p_pad_end_date);
171018
171019 l_temp_result :=
171020 l_temp_result AND
171021 CreateHeadersAndLines
171022 (p_application_id => p_application_id
171023 ,p_base_ledger_id => p_base_ledger_id
171024 ,p_target_ledger_id => l_array_ledgers(Idx)
171025 ,p_pad_start_date => p_pad_start_date
171026 ,p_pad_end_date => p_pad_end_date
171027 ,p_primary_ledger_id => p_primary_ledger_id
171028 );
171029 END LOOP;
171030
171031
171032 IF (g_diagnostics_mode = 'Y' AND
171033 C_LEVEL_UNEXPECTED >= g_log_level AND
171034 xla_environment_pkg.g_Req_Id IS NOT NULL ) THEN
171035
171036 xla_accounting_dump_pkg.acctg_event_extract_log(
171037 p_application_id => p_application_id
171038 ,p_request_id => xla_environment_pkg.g_Req_Id
171039 );
171040
171041 END IF;
171042
171043 CASE l_temp_result
171044 WHEN TRUE THEN l_result := 0;
171045 ELSE l_result := 2;
171046 END CASE;
171047
171048 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171049 trace
171050 (p_msg => 'return value. = '||TO_CHAR(l_result)
171051 ,p_level => C_LEVEL_PROCEDURE
171052 ,p_module => l_log_module);
171053 trace
171054 (p_msg => 'END of CreateJournalEntries '
171055 ,p_level => C_LEVEL_PROCEDURE
171056 ,p_module => l_log_module);
171057 END IF;
171058
171059 RETURN l_result;
171060 EXCEPTION
171061 WHEN xla_exceptions_pkg.application_exception THEN
171062 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171063 trace
171064 (p_msg => 'ERROR. = '||sqlerrm
171065 ,p_level => C_LEVEL_PROCEDURE
171066 ,p_module => l_log_module);
171067 END IF;
171068 RAISE;
171069 WHEN OTHERS THEN
171070 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171071 trace
171072 (p_msg => 'ERROR. = '||sqlerrm
171073 ,p_level => C_LEVEL_PROCEDURE
171074 ,p_module => l_log_module);
171075 END IF;
171076 xla_exceptions_pkg.raise_message
171077 (p_location => 'XLA_00200_AAD_S_000020_PKG.CreateJournalEntries');
171078 END CreateJournalEntries;
171079 --
171080 --=============================================================================
171081 --
171082 --
171083 --
171084 --
171085 --
171086 --
171087 --
171088 --
171089 --
171090 --
171091 --
171092 --
171093 --
171094 --
171095 --
171096 --
171097 --
171098 --
171099 --
171100 --
171101 --
171102 --
171103 --=============================================================================
171104 --=============================================================================
171105 -- *********** Initialization routine **********
171106 --=============================================================================
171107
171108 BEGIN
171109 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
171110 g_log_enabled := fnd_log.test
171111 (log_level => g_log_level
171112 ,module => C_DEFAULT_MODULE);
171113
171114 IF NOT g_log_enabled THEN
171115 g_log_level := C_LEVEL_LOG_DISABLED;
171116 END IF;
171117 --
171118 END XLA_00200_AAD_S_000020_PKG;
171119 --